Trusted hardware's freshness guarantee ensures that an adversary cannot replay an old value in response to a memory read request. They rely on maintaining a version number for each cache block and ensuring their integrity using a Merkle tree. However, these existing solutions protect only a small amount of main memory (few MBs), as the extraneous memory accesses to the Merkle tree increase prohibitively with the protected memory size. We present Toleo, which uses trusted smart memory connected through a secure CXL IDE network to safely store version numbers. Toleo eliminates the need for an unscalable Merkle tree to protect the integrity of version numbers by instead using smart memory as the root of trust. Additionally, Toleo ensures version confidentiality which enables stealth versions that reduce the version storage overhead in half. Furthermore, in the absence of Merkle tree imposed constraints, we effectively exploit version locality at page granularity to compress version number by a factor of 240. These space optimizations make it feasible for one 168 GB Toleo smart memory device to provide freshness to a 28 TB CXL-expanded main memory pool in a rack server for a negligible performance overhead. We analyze the benefits of Toleo using several privacy-sensitive genomics, graph, generative AI, and database workloads.
翻译:可信硬件的新鲜度保障确保攻击者无法在响应内存读取请求时重放旧值。现有方案依赖为每个缓存块维护版本号,并通过默克尔树确保其完整性。然而,这些方案仅能保护少量主内存(数MB级别),因为随着受保护内存容量的增加,访问默克尔树产生的额外内存开销会急剧上升。本文提出Toleo系统,其通过安全的CXL IDE网络连接可信智能内存来安全存储版本号。Toleo通过将智能内存作为信任根,消除了对不可扩展的默克尔树来保护版本号完整性的依赖。此外,Toleo确保版本机密性,实现了可削减半数版本存储开销的隐形版本机制。更重要的是,在摆脱默克尔树约束后,我们有效利用页面粒度的版本局部性,将版本号压缩240倍。这些空间优化使得单个168GB的Toleo智能内存设备能够以可忽略的性能开销,为机架服务器中28TB的CXL扩展主内存池提供新鲜度保障。我们通过多个隐私敏感的基因组学、图计算、生成式AI及数据库工作负载分析了Toleo的优势。