Oblivious RAM (ORAM) is a provable secure primitive to prevent access pattern leakage on the memory bus. By randomly remapping the data blocks and accessing redundant blocks, ORAM prevents access pattern leakage through obfuscation. Byte-addressable non-volatile memory (NVM) is considered as the candidate for main memory due to its better scalability, competitive performance, and persistent data store. While there is much prior work focusing on improving ORAM's performance on the conventional DRAM-based memory system, when the memory technology shifts to use NVM, ensuring an efficient crash-consistent ORAM is needed for security, correctness, and performance. Directly using traditional software-based crash consistency support for ORAM system is not only expensive but also insecure. In this work, we study how to persist ORAM construction with an NVM-based memory system. To support crash consistency without damaging ORAM system security and compromising the performance, we propose PS-ORAM. PS-ORAM consists of a novel ORAM controller design and a set of ORAM access protocols that support crash consistency. We evaluate PS-ORAM with the system without crash consistency support, non-recursive and recursive PS-ORAM only incurs 4.29% and 3.65% additional performance overhead. The results show that PS-ORAM not only supports effective crash consistency with minimal performance and hardware overhead but also is friendly to NVM lifetime.
翻译:内存( ORAM) 是防止内存总线上存取模式泄漏的可靠可靠原始文件 。 ORAM 通过随机重新绘制数据区块和访问冗余区块, 通过随机地重新绘制数据区块和访问冗余区块, 防止存取模式渗漏 。 位式可处理的非挥发性内存( NVM) 因其可缩放性、 竞争性性能和耐久数据存储系统而被视为主内存( NIM) 的候选对象 。 虽然先前有许多工作侧重于改进 ORAM 在常规的DRAM 友好内存系统中的性能, 当内存技术转向使用内存内存内存时, 以确保安全、 正确性和性能需要高效的崩溃兼容性 ORAM 。 直接使用传统的基于软件的崩溃性能一致性支持 ORAM 系统不仅费用昂贵, 也不安全。 在这项工作中, PS-RAMS-O 继续使用基于内存性能性能的 ORAMO 。 我们用 PS- RARMS- 进行额外的性能性评估, 。