非易失内存拥有与传统内存近似的低访问延迟,同时保证系统掉电后数据不会丢失。为保证数据的机密性和完整性,现有的安全非易失内存系统需要额外的完整性机制,引入额外的安全元数据。系统崩溃或断电时,缓存中的最新安全元数据会丢失,导致数据与安全元数据以及安全元数据之间的数据不一致,最终导致系统重启后无法正常运行。
为了解决数据不一致问题,信息存储与光显示功能实验室硕士生石玉洁在华宇教授的指导下,提出了一种用于安全元数据快速恢复及验证的方案,称为Steins。Steins更改了现有SGX完整性树的结构,在不影响其安全性保证的前提下使得完整性树中的节点可以从其子节点中恢复。由于系统在恢复阶段仅需要恢复丢失的数据,Steins在运行阶段便追踪记录脏元数据的地址信息,以实现快速恢复。同时,Steins引入额外可信基,对SGX完整性树每层节点维护一个计数器,记录缓存中该层节点所有的计数器最新值与对应内存中旧版本的差值之和,用于恢复阶段的验证。评测结果表明,相比于最新方案,Steins在支持快速恢复的情况下实现了更高性能的非易失内存系统。
本工作题目为“A High-Performance and Fast-Recovery Scheme for Secure Non-Volatile Memory Systems”论文已被Cluster 2024录用。该工作得到了国家自然科学基金项目(No. 62125202,U22B2022和61821003)的支持。

图1 支持恢复的SIT结构

图2 各方案运行时间对比