给芯片第二道加密_绑定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的加密给你的设计“心思”加一把锁吧。