MCU防盗版之编程注意事项

嵌入式通用MCU多数不具备安全防护机制,因此越来越多的人采用MCU + 加密芯片的方案来实现对MCU中代码的保护。这里有个误区,使用加密芯片并不会直接对MCU中代码做加密防护,只是多了一道防破解的功能,而加密芯片中的加密二字是个概念,主要因为其在产品中起到了防护作用,且自身有加密功能,故简称加密芯片。
本次针对已经使用了加密芯片的用户做特别说明,要想达到更安全的效果,一定不能忽略MCU端的编程细节。加密芯片作为从设备,会接收MCU发出的指令并返回相应的数据。不论加密芯片返回的数据是否进行了线路加密,但在MCU端处理后最终都将以“明文”形态出现,这就要求编程者小心使用该“明文”。应注意以下细节:
1、“明文”不要存储在连续的内存地址上
2、“明文”尽量参与更多的程序处理环节
3、如果可以,“明文”要做到每次变化
4、“明文”使用完成后要马上销毁,不在内存中存留。销毁的方法有很多种,例如将“明文”重新赋值,变成新的干扰数据,或者重新置零。否则容易被跟踪窃取。有很多盗版人员都是通过这种方法对MCU进行带电分析,从ram中获取到很多重要数据,从而实现了对MCU的破解。

发布了4 篇原创文章 · 获赞 0 · 访问量 698

猜你喜欢

转载自blog.csdn.net/zntsbkhhh/article/details/103161604