【嵌入式】如何利用芯片的UID加密程序

2023-03-01  本文已影响0人  Blue_Well

在某些产品应用中,需要对产品的固件进行保护,防止竞争对手将芯片的固件读取出来进行复制量产,这里提供一种通过芯片UID加密程序的方法。

具体实现步骤和原理:
因为每个芯片的UID都是唯一的,在批量烧录前,可以先读取芯片中UID并且自定义一种加密方式对UID进行加密,再把这段经过加密的密文写入到芯片内部的Flash或外部的Flash中供程序读取。

例如:芯片的UID为0x1E998A431F34,通过AES128进行加密后得到的密文是49 10 BD D0 F0 FD 4D 19 24 B9 20 05 83 CE DD 0F,烧录时只需要将该密文同步烧录到芯片的特定位置即可。

程序在上电运行时,先把芯片的UID读取出来用同样的方式进行加密,对比写入到特定位置的密文是否一致,一致则可以选择继续往下运行。或者程序在上电运行时,把特定位置的密文读取出来进行解密,对比芯片本身的UID和解密出来的UID是否一致再选择是否往下执行。

通过这种加密方式加密后,即使产品中的固件被其他人读取,也无法在另外的芯片中运行,保证了产品的安全性。

上一篇 下一篇

猜你喜欢

热点阅读