Streamlining Integrity Tree Updates for Secure Persistent Non-Volatile Memory
Alexander Freij, Shougang Yuan, Huiyang Zhou, Yan Solihin

TL;DR
This paper addresses the challenge of efficiently updating security structures like Merkle trees in non-volatile memory systems, proposing optimizations that significantly reduce performance overhead while ensuring crash recoverability.
Contribution
It introduces novel optimization techniques for atomic persistence of security metadata in NVMM, improving crash recovery support and reducing overhead.
Findings
Optimizations reduce persistence overhead by up to 50%.
Pipelining and out-of-order writes improve performance.
Proposed methods ensure crash recoverability with minimal impact.
Abstract
Emerging non-volatile main memory (NVMM) is rapidly being integrated into computer systems. However, NVMM is vulnerable to potential data remanence and replay attacks. Established security models including split counter mode encryption and Bonsai Merkle tree (BMT) authentication have been introduced against such data integrity attacks. However, these security methods are not readily compatible with NVMM. Recent works on secure NVMM pointed out the need for data and its metadata, including the counter, the message authentication code (MAC), and the BMT to be persisted atomically. However, memory persistency models have been overlooked for secure NVMM, which is essential for crash recoverability. In this work, we analyze the invariants that need to be ensured in order to support crash recovery for secure NVMM. We highlight that prior research has substantially under-estimated the cost…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Parallel Computing and Optimization Techniques · Security and Verification in Computing
