从编号9527看芯片UID加密
“武状元到!”“还不趴下!”一下人将唐伯虎按下蹲在地上,双手放在脑后。武状元:小子,从今天开始,你就是华府的低等下人,9527就是你的终身代号。开始做事!
这是大家熟知的”唐伯虎点秋香“里的精彩桥段,但在华府人员管理体系中,每个人都被贴上了一个唯一代号……
那么芯片的终身编号呢,没错就是UID。UID(Unique Identification)是芯片唯一标识码,每个芯片仅有它自己的唯一编码。
芯片UID
有了这个“身份证”,就可以在MCU本身加密功能的基础上,通过绑定芯片内部UID来实现第二道加密。
如用当下非常火的Freescale的kinetis系列芯片,其芯片内部就有80bits的UID。
Kinetis系列UID示例
用SmartPRO 系列编程器实现UID加密
那怎么样加入UID安全机制呢?是否是按照想象中的把序列号读出来,写进程序里,再用程序来校验。但是这样的话每个hex文件都不一样,无疑会给工程师带来无穷无尽的代码调试工作量,而且会生成N个软件版本,这个将非常不利于生产及后面的维护,新的问题又来了。
有没有一种更智能的方式其实现呢?
有,SmartPRO系列编程器能够完美的解决这个问题。
首先:我们了解一下UID安全机制的实现过程;
UID安全机制流程图
其次:SmartPRO 系列烧录器实现流程如下(即上图中的“前期工作”);
编程器实现流程
最后:用编程器的软件来实现复杂的程序版本更替,客户只需要加载自己的算法就可以了。