一般来说,我会通过在ROM映像中放置一些独特且随机的内容并将其用作种子来加密EEPROM内容以停止提取并在图像模块之后重新编程.
一个明显的缺陷似乎是,这并没有停止以一个空白的替换EEPROM外部芯片的形式篡改...哦看起来回到第一次使用状态,让我们要求钥匙保存!
选择组件对我来说不是一个选项,硬件平台已经定义.EEPROM在器件的使用寿命期间被编程为配置和状态改变,因此断开擦除线也是不可行的.
我正在寻求关于可能的解决方案的意见,以防止假冒(第一次运行)状态的伪造,因为这将允许保存敏感数据和解锁设备的功能.
我相信分组密码(ECB模式)足以保护敏感数据,可能在顶部!这种方法连同多份副本,腌制一种而不是另一种,应该使得花钱和时间来应对这些措施在经济上是不值得的.
一些想法:如果通过"防止修改"意味着你可以检测到这种篡改,那么你可以
在整个eeprom上生成校验和,只有在校验和正常时启动你的应用程序
使用提供唯一号码的附加芯片,使用该号码加密eeprom的内容
将所有信息存储在eeprom中的多个位置(如果您只想检测更改,则两次,如果要检测并拒绝篡改值,则使用三次,并使用'仍然正确'的值)
但是如果你想首先防止篡改,你必须使用机械防护装置 - 热胶整个芯片,锁住你的pcb的外壳,......