所以... 我们的器件最终位于仅最终用户可访问的位置。 我们需要提供在现场执行固件更新的能力、而不会影响代码安全性。
用户接收到固件的 Intel hex 文件、该文件已使用修改后的 RNG 中的固定假随机序列与所有数据区域进行异或重写。 我们在器件中有一个引导加载程序、在接收到传入的固件映像时对其进行解扰。 不可能有很多更新... 因此、如果有人想要计算 RNG 序列、则不会有太多的样本需要使用。
我们接下来将配置 DCSM 区域1、以保护所有 RAM、闪存和 JTAG 访问。
我们是否遗漏了任何东西? 这显然不是很好的安全性、但我们只是想使它变得足够困难、使我们的客户不可能尝试复制我们的产品。