Computer Science > Hardware Architecture
[Submitted on 4 Nov 2016 (this version), latest version 10 Sep 2017 (v4)]
Title:Flat ORAM: A Simplified Write-Only Oblivious RAM Construction for Secure Processor Architectures
View PDFAbstract:Oblivious RAM (ORAM) is a cryptographic primitive which obfuscates the access patterns to a storage thereby preventing privacy leakage via access patterns. So far in the current literature only 'fully functional' ORAMs are widely studied which can protect, at a cost of considerable performance penalty, against the strong adversaries who have access to the memory address bus and can monitor all read and write operations. However, for weaker and more common adversaries who can learn the pattern of write accesses only (not reads), a fully functional ORAM turns out to be an overkill, since only write accesses need to be obfuscated. A simple 'write-only' ORAM is sufficient for such adversaries, and, more interestingly, is preferred as it can offer far more performance and energy efficiency than the fully functional ORAM.
In this work, we present Flat ORAM: a simplified and efficient write-only ORAM scheme for secure processors. To the best of our knowledge, this is the first ever proposal of a write-only ORAM tailored for secure processor architectures. The proposed Flat ORAM avoids almost all the redundancy incurred by a Path ORAM, while seamlessly adopting its basic structures (e.g. Position Map, Stash) as well as crucial optimizations proposed over the past decade. Specific to write-only ORAMs, we introduce a new ORAM structure called Occupancy Map (OccMap) which contains memory occupancy information vital for correctness and efficiency of our scheme. Our simulation results show that, on average, Flat ORAM only incurs a moderate slowdown of $2.9\times$ over the insecure DRAM for memory intensive benchmarks among Splash2 and $1.5\times$ for SPEC06. Compared to the closest existing write-only ORAM scheme called HIVE, Flat ORAM offers $\approx50\%$ performance gain and $45$-$65\%$ energy savings on average.
Submission history
From: Syed Kamran Haider [view email][v1] Fri, 4 Nov 2016 23:53:32 UTC (398 KB)
[v2] Mon, 27 Feb 2017 17:12:20 UTC (402 KB)
[v3] Mon, 12 Jun 2017 20:16:48 UTC (402 KB)
[v4] Sun, 10 Sep 2017 09:22:02 UTC (543 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.