首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将安全密钥存储在嵌入式设备的内存中

将安全密钥存储在嵌入式设备的内存中
EN

Cryptography用户
提问于 2015-11-03 16:38:14
回答 1查看 1.5K关注 0票数 1

我正在开发一个嵌入式设备,它可以发送/接收数据,并以密文模式(加密模式)存储数据。现在,存储密钥的最佳方法是什么(我使用了ARM皮质M系列MCU)?

  1. 将密钥存储在SRAM存储器中,在每个引导序列中将密钥注入嵌入式MCU,并将它们存储在SRAM存储器中。这是我认为最好的方式,然后当MCU感觉渗透(用篡改传感器或.)它可以快速擦除SRAM,并自动复位。缺点:如果攻击者成功地通过篡改和访问设备,SRAM内存有多安全(与代码挖掘相比)。我在MCU中找不到这个内存的任何安全能力。
  2. 生成密钥,并将其存储在flash存储器中,在单片机编程中实现。单片机flash存储器的支持CRP (代码读取保护)阻止了代码挖掘,并借助其内部AES引擎和RNG (随机数生成)引擎,可以对闪存进行随机密钥加密,并将随机密钥存储在一次可编程存储器-a 128位加密存储器中,在代码执行过程中使用RNG密钥对闪存进行解码,并访问初始密钥和代码。缺点:密钥存储在非易失性内存中,篡改者将是无用的,攻击者有大量时间来挖掘密钥。
  3. 将密钥存储在EEPROM存储器中,结合以上2种方法,将密钥存储在非易失性存储器中,但当篡改者感觉到穿透EEPROM是可擦除的。我认为LPC18S57FBD208(拥有1MB闪存、180 m3、136 to、16 to和我需要驱动7“TFT和AES 128位密码引擎的TFT控制器)还有其他更好的建议吗?

第2部分:我也使用类似CLRC663的PCD (接近耦合设备或读卡器)来读取射频识别标签。PCD与单片机之间的连接是基于SPI的,由于它们之间存在不安全和未加密的连接,每个攻击者都可以嗅探连接,并实现用于读写RFID标签的密钥。你对此有何建议?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2015-11-05 01:57:42

在RAM中存储密钥的一个问题是,有一些攻击涉及擦除闪存以解锁设备,然后使用调试器复制RAM内容。内部EEPROM的问题与RAM相同,除非您能够锁定它。外部EEPROM更糟糕,除非您对此进行加密。

我的方法是将密钥存储在闪存中,然后锁定处理器的锁以禁用调试访问。如果可能的话,为每个设备使用一个单独的密钥。如果你把钥匙复制到ram上,确保它在完成时被重写了。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/30281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档