给芯片第二道加密_绑定UID!

从上篇文章《从编号9527看芯片UID加密》,我们已经了解芯片UID的概念,下面介绍如何使用SmartPRO编程器给芯片第二道加密——绑定UID。

基本思路是使用上位机软件通过编程器读取芯片的 UID,经加密算法运算后生成密钥,下载程序的同时向MCU 的Flash 中某个地址写入密钥;MCU 上电后,首先读取芯片的UID,再通过与上位机相同的加密算法运算后计算出密钥,并与之前写入Flash 中的密钥比较,若相同则继续执行用户程序,否则跳入死循环或执行程序开发者指定的代码。

图1 基本思路
下面列举具体的操作步骤:

1.生成.dll算法文件:在软件SmartPRO烧录器安装目录... \SmartPRO2008 \Programmer\Application里面,用Microsoft Visual Studio系列开发软件下编写加密算法,户只需在工程里面添加自定义的算法,编译生成DLL文件即可。示例如下;

图2 加密算法示例

2.选择待烧录芯片:在SmartPRO 2008软件中,选中需要编程的芯片(带有UID加密功能的芯片);

图3 选择芯片

3.设置UID加密:在“通用配置”中勾选“芯片编号自增”,点击“设置”;

4.加入.dll算法:在弹出的对话框中加载“用户自定义算法”,调入客户自定义的算法dll;

图4 加载dll

5.测试实现效果:以上步骤实施完之后,在数据缓冲区看到带UID的加密行及数据;

图5 加密行测试结果

小伙伴们,是不是很soeasy呀,可以试试这个UID的加密给你的设计“心思”加一把锁吧。