Single Round-trip Hierarchical ORAM via Succinct Indices
William Holland, Olga Ohrimenko, Anthony Wirth
TL;DR
RankORAM solves the practical adoption gap for Hierarchical ORAM by introducing historicalMembership, a succinct client-side data structure that encodes per-block location recency to enable a single-round-trip access and non-interactive server queries. Replacing expensive cuckoo hash tables with permuted arrays at the server, RankORAM achieves amortized bandwidth $4\log n$ blocks and $\mathcal{O}(n + \sqrt{n}\cdot B)$ private memory, while keeping rebuilds amortized constant rounds. The key contributions are the run-length encoded historicalMembership, an oblivious shuffle variant, and an overall architecture that yields substantial memory savings (up to ~100x in experiments) with competitive bandwidth against state-of-the-art passive ORAMs. This enables practical deployment of secure outsourced storage with minimal client-side memory, making Hierarchical ORAM more scalable in real-world cloud settings.
Abstract
Access patterns to data stored remotely create a side channel that is known to leak information even if the content of the data is encrypted. To protect against access pattern leakage, Oblivious RAM is a cryptographic primitive that obscures the (actual) access trace at the expense of additional access and periodic shuffling of the server's contents. A class of ORAM solutions, known as Hierarchical ORAM, has achieved theoretically \emph{optimal} logarithmic bandwidth overhead. However, to date, Hierarchical ORAMs are seen as only theoretical artifacts. This is because they require a large number of communication round-trips to locate (shuffled) elements at the server and involve complex building blocks such as cuckoo hash tables. To address the limitations of Hierarchical ORAM schemes in practice, we introduce Rank ORAM; the first Hierarchical ORAM that can retrieve data with a single round-trip of communication (as compared to a logarithmic number in previous work). To support non-interactive communication, we introduce a \emph{compressed} client-side data structure that stores, implicitly, the location of each element at the server. In addition, this location metadata enables a simple protocol design that dispenses with the need for complex cuckoo hash tables. Rank ORAM requires asymptotically smaller memory than existing (non-Hierarchical) state-of-the-art practical ORAM schemes (e.g., Ring ORAM) while maintaining comparable bandwidth performance. Our experiments on real network file-system traces demonstrate a reduction in client memory, against existing approaches, of a factor of~$100$. For example, when {outsourcing} a database of $17.5$TB, required client-memory is only $290$MB vs. $40$GB for standard approaches.
