Intel最新提出的eADR机制可以在系统掉电时将片上缓存区域的数据持久化到片下的非易失内存中。然而在系统掉电时,内存控制器中的加密引擎由于掉电以及缺少安全元数据而不工作。在eADR系统中,此时片上的明文数据会在未加密的情况下进入片下的非安全区域,这引起了数据安全问题。
图1 Sepencr的整体架构
为了解决上述问题,武汉光电国家研究中心华宇教授课题组提出了低开销的数据加密方案,称为Sepencr,如图1所示。Sepencr在内存控制器中提前生成一次性秘钥垫。在系统断电时,缓存中的明文数据与提前生成的一次性秘钥垫异或来进行加密。生成的密文随后被持久化到片下的非易失内存中。如图2所示,相较于不提供加密保证的基于eADR的非易失内存系统,Sepencr执行时间的平均开销为4%。
图2 Sepencr在各个负载下的写流量
武汉光电国家研究中心华宇教授为论文通讯作者,其博士生黄建明为第一作者。