打印
[ARM入门]

MCU防盗之编程注意事项

[复制链接]
692|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yaoyao8212|  楼主 | 2020-2-12 11:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yaoyao8212 于 2020-2-12 14:58 编辑

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

使用特权

评论回复

相关帖子

沙发
yaoyao8212|  楼主 | 2020-2-12 15:00 | 只看该作者
大家可以参考加密芯片RJGT102,实现对MCU的保护.

使用特权

评论回复
板凳
airwill| | 2020-2-18 21:54 | 只看该作者
及时销毁明文, 这个确实很重要

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

23

帖子

0

粉丝