PrORAM
Oblivious RAM (ORAM) is an established technique to hide the access pattern to an untrusted storage system. With ORAM, a curious adversary cannot tell what address the user is accessing when observing the bits moving between the user and the storage system. All existing ORAM schemes achieve obliviou...
Main Authors: | , , , , , , |
---|---|
Other Authors: | |
Format: | Article |
Language: | en_US |
Published: |
Association for Computing Machinery
2018
|
Online Access: | http://hdl.handle.net/1721.1/113047 https://orcid.org/0000-0003-4317-3457 https://orcid.org/0000-0003-3437-7570 https://orcid.org/0000-0003-1467-2150 https://orcid.org/0000-0001-8253-7714 |
_version_ | 1826205639083294720 |
---|---|
author | Haider, Syed Kamran van Dijk, Marten Yu, Xiangyao Ren, Ling Fletcher, Christopher Wardlaw Kwon, Albert Hyukjae Devadas, Srinivas |
author2 | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory |
author_facet | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Haider, Syed Kamran van Dijk, Marten Yu, Xiangyao Ren, Ling Fletcher, Christopher Wardlaw Kwon, Albert Hyukjae Devadas, Srinivas |
author_sort | Haider, Syed Kamran |
collection | MIT |
description | Oblivious RAM (ORAM) is an established technique to hide the access pattern to an untrusted storage system. With ORAM, a curious adversary cannot tell what address the user is accessing when observing the bits moving between the user and the storage system. All existing ORAM schemes achieve obliviousness by adding redundancy to the storage system, i.e., each access is turned into multiple random accesses. Such redundancy incurs a large performance overhead.
Although traditional data prefetching techniques successfully hide memory latency in DRAM based systems, it turns out that they do not work well for ORAM because ORAM does not have enough memory bandwidth available for issuing prefetch requests. In this paper, we exploit ORAM locality by taking advantage of the ORAM internal structures. While it might seem apparent that obliviousness and locality are two contradictory concepts, we challenge this intuition by exploiting data locality in ORAM without sacrificing security. In particular, we propose a dynamic ORAM prefetching technique called PrORAM (Dynamic Prefetcher for ORAM) and comprehensively explore its design space. PrORAM detects data locality in programs at runtime, and exploits the locality without leaking any information on the access pattern.
Our simulation results show that with PrORAM, the performance of ORAM can be significantly improved. PrORAM achieves an average performance gain of 20% over the baseline ORAM for memory intensive benchmarks among Splash2 and 5.5% for SPEC06 workloads. The performance gain for YCSB and TPCC in DBMS benchmarks is 23.6% and 5% respectively. On average, PrORAM offers twice the performance gain than that offered by a static super block scheme. |
first_indexed | 2024-09-23T13:16:17Z |
format | Article |
id | mit-1721.1/113047 |
institution | Massachusetts Institute of Technology |
language | en_US |
last_indexed | 2024-09-23T13:16:17Z |
publishDate | 2018 |
publisher | Association for Computing Machinery |
record_format | dspace |
spelling | mit-1721.1/1130472022-10-01T14:10:08Z PrORAM Haider, Syed Kamran van Dijk, Marten Yu, Xiangyao Ren, Ling Fletcher, Christopher Wardlaw Kwon, Albert Hyukjae Devadas, Srinivas Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Yu, Xiangyao Ren, Ling Fletcher, Christopher Wardlaw Kwon, Albert Hyukjae Devadas, Srinivas Oblivious RAM (ORAM) is an established technique to hide the access pattern to an untrusted storage system. With ORAM, a curious adversary cannot tell what address the user is accessing when observing the bits moving between the user and the storage system. All existing ORAM schemes achieve obliviousness by adding redundancy to the storage system, i.e., each access is turned into multiple random accesses. Such redundancy incurs a large performance overhead. Although traditional data prefetching techniques successfully hide memory latency in DRAM based systems, it turns out that they do not work well for ORAM because ORAM does not have enough memory bandwidth available for issuing prefetch requests. In this paper, we exploit ORAM locality by taking advantage of the ORAM internal structures. While it might seem apparent that obliviousness and locality are two contradictory concepts, we challenge this intuition by exploiting data locality in ORAM without sacrificing security. In particular, we propose a dynamic ORAM prefetching technique called PrORAM (Dynamic Prefetcher for ORAM) and comprehensively explore its design space. PrORAM detects data locality in programs at runtime, and exploits the locality without leaking any information on the access pattern. Our simulation results show that with PrORAM, the performance of ORAM can be significantly improved. PrORAM achieves an average performance gain of 20% over the baseline ORAM for memory intensive benchmarks among Splash2 and 5.5% for SPEC06 workloads. The performance gain for YCSB and TPCC in DBMS benchmarks is 23.6% and 5% respectively. On average, PrORAM offers twice the performance gain than that offered by a static super block scheme. National Science Foundation (U.S.) Qatar Computing Research Institute 2018-01-10T19:06:51Z 2018-01-10T19:06:51Z 2015-06 Article http://purl.org/eprint/type/ConferencePaper 978-1-4503-3402-0 http://hdl.handle.net/1721.1/113047 Yu, Xiangyao, et al. "PrORAM: Dynamic Prefetcher for Oblivious RAM." ACM SIGARCH Computer Architecture News - ISCA'15, 13-17 June 2015, Portland, Oregon, ACM Press, 2015, pp. 616–28. https://orcid.org/0000-0003-4317-3457 https://orcid.org/0000-0003-3437-7570 https://orcid.org/0000-0003-1467-2150 https://orcid.org/0000-0001-8253-7714 en_US http://dx.doi.org/10.1145/2749469.2750413 Proceedings of the 42nd Annual International Symposium on Computer Architecture - ISCA '15 Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery MIT Web Domain |
spellingShingle | Haider, Syed Kamran van Dijk, Marten Yu, Xiangyao Ren, Ling Fletcher, Christopher Wardlaw Kwon, Albert Hyukjae Devadas, Srinivas PrORAM |
title | PrORAM |
title_full | PrORAM |
title_fullStr | PrORAM |
title_full_unstemmed | PrORAM |
title_short | PrORAM |
title_sort | proram |
url | http://hdl.handle.net/1721.1/113047 https://orcid.org/0000-0003-4317-3457 https://orcid.org/0000-0003-3437-7570 https://orcid.org/0000-0003-1467-2150 https://orcid.org/0000-0001-8253-7714 |
work_keys_str_mv | AT haidersyedkamran proram AT vandijkmarten proram AT yuxiangyao proram AT renling proram AT fletcherchristopherwardlaw proram AT kwonalberthyukjae proram AT devadassrinivas proram |