|
关键词:
加密芯片 , 防盗版 , 防抄板 , 加密方案
因为主MCU比较容易被破解所以才使用加密芯片,那么主MCU开发时也可以通过以下的一些小技巧来增加主芯片被分析破解的难度,比如: - 主MCU访问ID或随机数因子时,尽量不要使用常量直接访问目的地址,可以使用一个假地址再通过变量异或、加减或其他算法来得到目的地址,以防止破解者轻易找到这个地址来窜改。
- 程序里确保每次产生的随机数只能使用一次,使用后随机数失效,下次要使用随机数必须重新产生;程序对收到的外设发来的随机数做一定次数的缓存,如果随机数有重复,做一些特殊处理,防反复跟踪解析。可参考《浅谈加密芯片的一种破解方法和对应加密方案改进设计》
- 秘钥值尽量不要连续存放在一个常量或变量数组里,尽量分开存放,使用前通过一些算法计算再组成正确的秘钥值。
- 主MCU程序做完整性校验,完整性校验绑定UID,防止主MCU程序被破解者破解得到后窜改来跟踪、分析、破解。上面讲的破解方法就是利用主MCU没有做程序完整性校验来固定ID和随机数从而轻易破解的,如果有完整性校验,破解难度就会增加。
- 设计加密方案时尽量不要使用判断正确就继续执行错误就报错这种简单的判断逻辑,可以设计成错误后继续执行,只是在后续执行过程中在不特定的地方出不特定的错误。
- 加密方案里使用的一些校验算法、加解密算法等,尽量不是用标准算法,可以使用这些算法的变异算法。
|
|