非易失性存储器(NVM),如PRAM或STT-MRAM,通常被采用为便携式嵌入式系统的主存储器。 非易失性引发了一个针对物理攻击的安全问题,即内存提取和快照造成的漏洞。然而,简单地对NVM进行加密会降低存储器的性能(高能耗、短寿命),因为典型的加密会导致雪崩效应,而大多数NVM都会受到内存写入操作的影响。
相关论文以题为“ NVM-Shelf: Secure Hybrid Encryption with Less Flip for Non-Volatile Memory ”与2020年08月13发表在《 Electronics 》上。
将非易失性存储器(NVM)作为便携式计算机系统中的主要存储器的趋势带来了一个安全问题。 人们普遍认为,NVM(如STT-MRAM、PRAM)的非易失性可以提高系统的整体性能。然而,NVM比易失性DRAM更容易受到攻击,因为NVM即使在系统关闭后也会维持数据。这个问题遇到了物理攻击:一旦物理获得设备,即使被盗设备有密码保护,攻击者也可以通过在专门的攻击系统中安装内存模块并执行内存转储,轻松提取NVM中存储的数据。
防范物理攻击的一个简单的解决方案是用对称密钥算法对内存中的所有数据进行加密,文献中称为批量加密或整体加密,批量加密是在暂停电源时对内存中的所有数据进行加密,整体加密是对每次内存写入操作进行数据加密。遗憾的是,标准加密的随机化特性会造成雪崩效应,增加翻转位数影响存储器的能耗和寿命。 减少翻转惩罚是一个至关重要的问题,因为比特翻转会增加能耗,并降低NVM中内存单元的耐久性。
块状密码模式
ECB模式下的块密码是对报文中的块进行加密的一种简单方法。如图1所示,将报文分成若干块,每个块分别用密文算法进行加密。 ECB模式的漏洞是相同的明文块被加密成相同的密文块。这说明ECB模式不能保证IND-CPA的安全性,即攻击者可以区分同一报文的密文块。
但是,ECB模式满足IND-DCPA,在该模式下,除了两个区块是等价的,没有更多的信息被泄露。大多数的NVM加密方案都利用了ECB模式,因为它很简单,不需要任何额外的内存空间。在研究人员的方案中,研究人员用ECB模式对惰性数据块进行加密,同时在处理器区域安全地维护一个对称密钥。
图1.电子密码本(ECB)模式下的块状密码。
CTR模式是流密码的一个代表性例子。 在CTR模式下,使用伪随机函数(PRF)生成相应的XOR密钥流对信息进行加密,如图2所示。加密时,随机选择一个非ce(IV),并与每个块的不同计数器值相结合。PRF接收非ce、计数器和对称密钥作为输入,然后输出一个伪随机密钥流。
然后,通过对密钥流进行XOR,对消息进行加密。假设PRF生成一个统一的字符串,输入不同,CTR模式可以保证语义的安全性。一些研究提出采用CTR模式,用物理地址作为计数器。在研究人员的方案中,他们在用地址、非ce和全局密钥对活动数据进行加密时采用CTR模式。
图2.计数器(CTR)模式下的块密码。
具有两种模式的NVM-shelf至少提供了IND-DCPA的安全性:惰性块采用ECB模式提供了IND-DCPA的安全性,活性块采用CTR模式提供了IND-CPA的安全性。请注意,研究人员主要关注的是有源块,所以惰性块可以采用任何加密方式。这说明,如果采用IND-CPA安全方案加密,也可以在惰性区块中获得IND-CPA的安全性。
图3是NVM-shelf的整体轮廓,用于内存写入。当请求NVM写入时,研究人员通过利用标志表来识别对应的块是否为活动块。如果块是惰性的,则用ECB模式进行加密。如果块是活动的,研究人员使用修改后的CTR模式,其中密钥流是由伪随机函数(PRF)生成的,地址、nonce和全局密钥作为输入。
研究人员利用内存写入的时间戳作为非ce:时间戳表保存着写入的时间戳,当数据被刷新到内存时,时间戳将被更新。在内存读取的情况下,解密的操作与加密过程相反:惰性块通过ECB模式解密,活动块通过从时间戳表中获取非ce并重新生成密钥流来解密。
图3.非易失性存储器(NVM)-架写的整体轮廓。
结论
在本文中,研究人员提出了NVM-shelf:一种针对非易失性存储器的少翻转的安全混合加密技术,这是一种保障非易失性主存储器(NVMM)安全的加密方案。 NVM-shelf通过对写密集型数据进行分类,并对写密集型数据应用容许翻转的流密码,可以减少加密的雪崩效应造成的翻转惩罚。实验结果表明,通过修改缓存硬件,更新周期为1 μs、时间戳缓存为1.75 KB的NVM-shelf与不加密方式相比,获得的翻转惩罚小于3%。
Security-Aware Scratch Pad Memory编译器,这是一个SPM感知编译器,在基于SPM的系统中应用NVM-shelf框架。研究人员的SA-SPM编译器是第一个能够在基于SPM的系统中管理和加密所有内存区域(即堆、堆、代码和静态变量)的方法。实验结果表明,与SA-SPM编译器集成的NVM-shelf与整个加密相比,减少了31.8%的翻转惩罚。
作为未来的工作,NVM-shelf框架及其仿真可以扩展到真正的基于NVM的物联网设备中,通过在实时系统中实现缓存硬件或SPM软件。