Abstract | ||
---|---|---|
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. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1145/2749469.2750413 | International Symposium on Computer Architecture |
Keywords | Field | DocType |
PrORAM,oblivious RAM,access pattern,untrusted storage system,redundancy,multiple random access,data prefetching technique,memory latency,DRAM based system,memory bandwidth,prefetch request,ORAM locality,ORAM internal structure,data locality,dynamic ORAM prefetching technique,dynamic prefetcher for ORAM,design space,memory intensive benchmark,Splash2,SPEC06 workload,performance gain,DBMS benchmark,static super block scheme | Oblivious ram,Power management,Locality,Memory bandwidth,Computer data storage,Computer science,Parallel computing,Real-time computing,Redundancy (engineering),Instruction prefetch,Operating system,CAS latency | Conference |
Volume | Issue | ISSN |
43 | 3S | 0163-5964 |
Citations | PageRank | References |
12 | 0.61 | 30 |
Authors | ||
7 |
Name | Order | Citations | PageRank |
---|---|---|---|
Xiangyao Yu | 1 | 270 | 16.17 |
Syed Kamran Haider | 2 | 34 | 7.31 |
Ling Ren | 3 | 193 | 11.37 |
Christopher W. Fletcher | 4 | 493 | 31.92 |
Albert Kwon | 5 | 188 | 9.83 |
Marten Van Dijk | 6 | 2875 | 242.07 |
Srinivas Devadas | 7 | 8606 | 1146.30 |