启闳半导体科技(江苏)有限公

TsiHon Semicon Technology (JiangSu)Co.,LTD
服务热线:
17621381228
存储器的信息安全防护,記憶體的資訊安全防護,Information Security Protection in Memory
来源: | 作者:LiLi | 发布时间: 2023-10-09 | 367 次浏览 | 分享到:

安全控制器旨在为包括密钥在内的敏感数据提供存储和处理的安全环境,故需要在存储器、CPU 和密码运算等方面提供全方位的安全保护,以应对各种可能的安全攻击。下面介绍存储器的安全防护技术。

1.防嗅探

保护安全控制器中的存储内容免遭微探针嗅探已成共识。人们最初采用的防护方法是将敏感信息植人 ROM,但是攻击者很快发现了获知 ROM 中内容的方法。因此,安全控制器的设计者开始采用更安全的措施,最初采取的应对措施之一是存储器地址加扰。但是,攻击者很快就克服了这个障碍,可以利用计算机程序从加扰存储信息转储中重组明文。因此,简单的地址加扰又普遍被存储器及内部总线加密取代,从而针对嗅探以及反向工程筑起真正有效的的防护篱笆。为防止攻士者利用测试端口进行攻击,在生产时一般还会将安全控制器的测试端口电路破坏。

采用屏蔽层也是一种普遍的防嗅探方法。在20世纪90 年代,覆盖整个芯片表面的主动屏蔽措施开始普及,屏蔽层还可以对非法访问和物理攻击进行很好的防范。安全控制器设计者也可以考虑信号的重新布线,如隐藏关键的信号线或将关键的信号线布放在芯片底层,能增加微探针嗅探的难度,还可以为安全存储区提供 PIN 保护,以防止非法访问。

2.防数据残留分析

为防止对安全控制器中存储器的数据残留进行分析,安全控制器设计者及其安全应用的开发者应遵循如下的设计准则。

(1)不在静态 RAM 中长时间存储密钥、PIN 以及其他敏感数据,经常变换它们的存储位 置,并且将原位置的值清零。

(2)在安全控制器中设置温度传感器,检测到额定低温时启动保护状态,执行保护操作。

(3)往EEPROM 和 Flash 中写人任何敏感信息前,先用随机数循环擦写10~100次,以消除使用新单元所引起的任何可检测到的影响。

(4)在擦除敏感数据之前对 EEPROM、Flash 的相应单元用随机数编程,以消除可检测到的剩余电荷的影响,

(5)注意有些非易失性存储器,在擦除敏感数据之后还会在特定的区域留下这些敏感数据的副本。

(6)使用最新的最高密度的存储器,因为最新的存储技术通常使得数据恢复更加困难

(7)使用合适的加密方法,使得从被擦除存储单元中恢复数据变得更加困难。对于安全控制器中的安全应用程序,最理想的状态是控制器中的每个存储器都处于其保护之下

3.防故障注入攻击

安全控制器必须考虑防止攻击者针对其中存储器的故障注入攻击。有一种最初的防御措施直到今天仍在用于低端安全产品,这就是奇偶校验保护,即对于每部分存储器内容 (比如:1字节)都要额外加上1个校验位,用来检验位总和是奇还是偶。显而易见,奇偶校验保护的水平是非常低的,其成功率只有50%左右,也就是约有一半的攻击会获得成功,所以人们不会满足于这种安全保护方式

硬件支持的安全抓取(Secured Fetching)机制是另一种保护存储器免遭故障注入攻击的方式。安全抓取通常是指存储器内容在提供给 CPU 的过程中,在被处理之前进行完整性校验。这些措施有许多种设计实施的可能性,譬如在高安全性的芯片中使用算术错误探测码,不仅能对一位或多位错误进行错误探测,而且还具有错误纠正功能。在设计并实施安全抓取机制时应注意安全控制器的运算性能和安全性的平衡,另外存储器内容在 CPU 中被处理的过程也应该得到保护,否则安全抓取机制对于防御某些攻击就毫无意义。

使用防篡改传感器及安全熔丝,可以防止某些针对存储器的故障注入攻击。使用多个熔丝比使用单个熔丝更有利于提高存储器的安全性,可以将多个熔丝间的距离设置得相对较大,使得故障注入攻击非常难以实施;还可以给安全熔丝设两个单元,只有当两个单元都处于熔断状态时才屏蔽掉熔丝,以进一步增强熔丝的安全性。

双轨逻辑设计也可以用于防止故障注入政击。譬如:一种方法是在数据线上使用双轨逻辑,信号0或1不再是单根线上的高或低电压,而是一对线上信号的组合,如0可能是 LH,1 可能是HL;使用自同步双轨逻辑时 LL 表示静止,HH 是多余的状态,故可以把 HH用作错误信号。这个信号可以通过防篡改传感器获得,一旦出现HH 信号将导致元器件锁定,阻止敏感信息的输出。为了获得成功,攻击者必须同时注入两个失效状态,才能使得传输线的状态从 LH 切换到HL,否则将导致传输线瞬间进入 HH 状态并立即触发报警。