Leqian Zheng, Zheng Zhang, Wentao Dong, Yao Zhang, Ye Wu, Cong Wang
{"title":"H$_2$O$_2$RAM: A High-Performance Hierarchical Doubly Oblivious RAM","authors":"Leqian Zheng, Zheng Zhang, Wentao Dong, Yao Zhang, Ye Wu, Cong Wang","doi":"arxiv-2409.07167","DOIUrl":null,"url":null,"abstract":"The combination of Oblivious RAM (ORAM) with Trusted Execution Environments\n(TEE) has found numerous real-world applications due to their complementary\nnature. TEEs alleviate the performance bottlenecks of ORAM, such as network\nbandwidth and roundtrip latency, and ORAM provides general-purpose protection\nfor TEE applications against attacks exploiting memory access patterns. The\ndefining property of this combination, which sets it apart from traditional\nORAM designs, is its ability to ensure that memory accesses, both inside and\noutside of TEEs, are made oblivious, thus termed doubly oblivious RAM\n(O$_2$RAM). Efforts to develop O$_2$RAM with enhanced performance are ongoing. In this work, we propose H$_2$O$_2$RAM, a high-performance doubly oblivious\nRAM construction. The distinguishing feature of our approach, compared to the\nexisting tree-based doubly oblivious designs, is its first adoption of the\nhierarchical framework that enjoys inherently better data locality and\nparallelization. While the latest hierarchical solution, FutORAMa, achieves\nconcrete efficiency in the classic client-server model by leveraging a relaxed\nassumption of sublinear-sized client-side private memory, adapting it to our\nscenario poses challenges due to the conflict between this relaxed assumption\nand our doubly oblivious requirement. To this end, we introduce several new\nefficient oblivious components to build a high-performance hierarchical\nO$_2$RAM (H$_2$O$_2$RAM). We implement our design and evaluate it on various\nscenarios. The results indicate that H$_2$O$_2$RAM reduces execution time by up\nto $\\sim 10^3$ times and saves memory usage by $5\\sim44$ times compared to\nstate-of-the-art solutions.","PeriodicalId":501332,"journal":{"name":"arXiv - CS - Cryptography and Security","volume":"44 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Cryptography and Security","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.07167","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The combination of Oblivious RAM (ORAM) with Trusted Execution Environments
(TEE) has found numerous real-world applications due to their complementary
nature. TEEs alleviate the performance bottlenecks of ORAM, such as network
bandwidth and roundtrip latency, and ORAM provides general-purpose protection
for TEE applications against attacks exploiting memory access patterns. The
defining property of this combination, which sets it apart from traditional
ORAM designs, is its ability to ensure that memory accesses, both inside and
outside of TEEs, are made oblivious, thus termed doubly oblivious RAM
(O$_2$RAM). Efforts to develop O$_2$RAM with enhanced performance are ongoing. In this work, we propose H$_2$O$_2$RAM, a high-performance doubly oblivious
RAM construction. The distinguishing feature of our approach, compared to the
existing tree-based doubly oblivious designs, is its first adoption of the
hierarchical framework that enjoys inherently better data locality and
parallelization. While the latest hierarchical solution, FutORAMa, achieves
concrete efficiency in the classic client-server model by leveraging a relaxed
assumption of sublinear-sized client-side private memory, adapting it to our
scenario poses challenges due to the conflict between this relaxed assumption
and our doubly oblivious requirement. To this end, we introduce several new
efficient oblivious components to build a high-performance hierarchical
O$_2$RAM (H$_2$O$_2$RAM). We implement our design and evaluate it on various
scenarios. The results indicate that H$_2$O$_2$RAM reduces execution time by up
to $\sim 10^3$ times and saves memory usage by $5\sim44$ times compared to
state-of-the-art solutions.