在做一个项目,单片机型号是msp430fr5992,虽然JTAG提供了8字节的密码保护,BSL也要求32字节的密码验证,这个虽然可以简单阻止通过常规手段对程序的读取,但是如果别人使用“开盖”的方式读取你的程序时,这两种保护手段都会失效。
最近在网上查了一下,觉得利用单片机的唯一ID码(同一个型号的不同单片机要不一样)加密比较可靠,当然不能用简单的if来验证密码,要用解密后的值和唯一ID做运算,再将结果应用到程序的各个关键计算部位,即使别人对你的产品进行了“开盖”窃取程序,他不把所有的反汇编程序都读懂,就很难跳过你的保密逻辑,仿制出的产品精度也会降低。
请问msp430fr5992有唯一ID吗?如果没有那么msp430系列有具备唯一ID的芯片吗?(也有人推荐外挂一个具备唯一ID的芯片,然后读取这个芯片的ID当做430单片机的唯一ID使用。这种方案其实有点问题,别人只需要使用一个小体积并且廉价的单片机模拟这个芯片给你输出ID 就可以了)
如果有人知道更好的加密方式请留言告知一下,谢谢!!
再问一句,如果msp430fr5992有唯一ID ,从哪读取?再次感谢!!
灰小子:
任何破解都是有成本的,只要通过加密使得破解成本接近或超过新开发的成本就可以。
msp430fr5992本身没有唯一id。不过在烧写固件的时候,有些上位机允许加入自己的唯一id
user4461879:
回复 灰小子:
是啊,利用芯片唯一ID就是为了增加破解成本。烧写固件的时候用上位机软件写入的唯一ID起不到加密作用,别人只要把你的所有FRAM读走就可以了。写入其他同型号单片机照样可以正常运行。