从编号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 系列烧录器实现流程如下(即上图中的“前期工作”);

编程器实现流程

最后:用编程器的软件来实现复杂的程序版本更替,客户只需要加载自己的算法就可以了。