Unied RAW Path Oblivious RAM
Ling Ren · 2014
Oblivious RAM (ORAM) is a cryptographic primitive that conceals memory access patterns to untrusted storage. Its applications include oblivious cloud storage, trusted processors, software protection, secure multi-party computation, and so on. This thesis improves the state-of-the-art Path ORAM in several aspects. On the theoretical side, we improve Path ORAM’s memory bandwidth overhead by a factor of O(log logN) when the block size is small. With this improvement, Path ORAM is asymptotically the most efficient ORAM construction with constant or polylogarithmic client storage under any block size. Our technique to achieve this improvement involves using pseudorandom functions to compress the position map, a central component in Path ORAM and other position-based ORAMs. With small block size, managing the position map has huge overhead and is Path ORAM’s performance bottleneck. Our technique reduces this overhead. On the practical side, we propose Unified ORAM with a position map lookaside buffer to utilize locality in real-world applications, while preserving access pattern privacy. We also propose a new variant of Path ORAM named RAW Path ORAM, which achieves a constant factor reduction in memory bandwidth and encryption overhead. It also features a much simpler proof for correctness compared with Path ORAM. Combining our techniques results in a roughly 2× improvement in ORAM bandwidth, and over 1.43× speedup on SPEC benchmarks. We also study how to efficiently verify the integrity of ORAM. Besides some customized optimizations for Path ORAM and RAW Path ORAM, we present a novel integrity verification scheme that works for any position-based ORAM and achieves an asymptotic reduction in hashing overhead over prior solutions. Thesis Supervisor: Srinivas Devadas Title: Professor of Electrical Engineering and Computer Science