A Practical Oblivious Map Data Structure with Secure Deletion and History Independence

We present a new oblivious RAM that supports variable-sized storage blocks (vORAM), which is the first ORAM to allow varying block sizes without trivial padding. We also present a new history-independent data structure (a HIRB tree) that can be stored within a vORAM. Together, this construction provides an efficient and practical oblivious data structure (ODS) for a key/value map, and goes further to provide an additional privacy guarantee as compared to prior ODS maps: even upon client compromise, deleted data and the history of old operations remain hidden to the attacker. We implement and measure the performance of our system using Amazon Web Services, and the single-operation time for a realistic database (up to 256K entries) is less than 1 second. This represents a 100x speed-up compared to the current best oblivious map data structure (which provides neither secure deletion nor history independence) by Wang et al. (CCS 14).

[1]  Daniel Golovin,et al.  The B-Skip-List: A Simpler Uniquely Represented Alternative to B-Trees , 2010, ArXiv.

[2]  Hubert Ritzdorf,et al.  Secure data deletion from persistent media , 2013, CCS.

[3]  Randal C. Burns,et al.  Secure deletion for a versioning file system , 2005, FAST'05.

[4]  Marianne Winslett,et al.  Deleting index entries from compliance storage , 2008, EDBT '08.

[5]  Srdjan Capkun,et al.  On Secure Data Deletion , 2014, IEEE Secur. Priv..

[6]  Radu Sion,et al.  Practical Foundations of History Independence , 2016, IEEE Transactions on Information Forensics and Security.

[7]  Srinivas Devadas,et al.  Enhancing Oblivious RAM Performance Using Dynamic Prefetching , 2014, IACR Cryptol. ePrint Arch..

[8]  Tao Zhang,et al.  HIDE: an infrastructure for efficiently protecting information leakage on the address bus , 2004, ASPLOS XI.

[9]  Elaine Shi,et al.  Towards Practical Oblivious RAM , 2011, NDSS.

[10]  Moni Naor,et al.  Anti-persistence: history independent data structures , 2001, STOC '01.

[11]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[12]  Murat Kantarcioglu,et al.  Access Pattern disclosure on Searchable Encryption: Ramification, Attack and Mitigation , 2012, NDSS.

[13]  Kartik Nayak,et al.  Oblivious Data Structures , 2014, IACR Cryptol. ePrint Arch..

[14]  Christine Bauer,et al.  PRE-PRINT VERSION , 2017 .

[15]  Chinya V. Ravishankar,et al.  Compromising privacy in precise query protocols , 2013, EDBT '13.

[16]  Markus Jakobsson,et al.  How to Forget a Secret , 1999, STACS.

[17]  Ling Ren,et al.  Path ORAM , 2012, J. ACM.

[18]  Guy E. Blelloch,et al.  Strongly History-Independent Hashing with Applications , 2007, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[19]  Rafail Ostrovsky,et al.  Software protection and simulation on oblivious RAMs , 1996, JACM.

[20]  Daniele Micciancio,et al.  Oblivious data structures: applications to cryptography , 1997, STOC '97.

[21]  Daniel Golovin,et al.  B-Treaps: A Uniquely Represented Alternative to B-Trees , 2009, ICALP.

[22]  Rafail Ostrovsky,et al.  On the (in)security of hash-based oblivious RAM and a new balancing scheme , 2012, SODA.

[23]  Marina Blanton,et al.  Data-oblivious graph algorithms for secure computation and outsourcing , 2013, ASIA CCS '13.

[24]  W. Hoeffding Probability Inequalities for sums of Bounded Random Variables , 1963 .

[25]  Moni Naor,et al.  History-Independent Cuckoo Hashing , 2008, ICALP.

[26]  Elaine Shi,et al.  Constants Count: Practical Improvements to Oblivious RAM , 2015, USENIX Security Symposium.

[27]  Elaine Shi,et al.  Burst ORAM: Minimizing ORAM Response Times for Bursty Access Patterns , 2014, USENIX Security Symposium.

[28]  Michael T. Goodrich,et al.  Privacy-preserving group data access via stateless oblivious RAM simulation , 2011, SODA.

[29]  Yan Huang,et al.  Practicing Oblivious Access on Cloud Storage: the Gap, the Fallacy, and the New Way Forward , 2015, CCS.

[30]  John C. Mitchell,et al.  Data-Oblivious Data Structures , 2014, STACS.

[31]  Tarik Moataz,et al.  Constant Communication ORAM with Small Blocksize , 2015, CCS.

[32]  Richard J. Lipton,et al.  A Revocable Backup System , 1996, USENIX Security Symposium.

[33]  Edwin S. Hong,et al.  Characterizing History Independent Data Structures , 2002, Algorithmica.

[34]  Isabelle Peretz,et al.  The Biological Foundations of Music: Insights from Congenital Amusia , 2013 .

[35]  Joshua Schiffman,et al.  Shroud: ensuring private access to large-scale data in the data center , 2013, FAST.

[36]  Radu Sion,et al.  Ficklebase: Looking into the future to erase the past , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[37]  Yehuda Lindell,et al.  Introduction to Modern Cryptography , 2004 .

[38]  D. Golovin,et al.  Linear Equations Modulo 2 and the L1 Diameter of Convex Bodies , 2007, FOCS 2007.

[39]  Ivan Damgård,et al.  Perfectly Secure Oblivious RAM Without Random Oracles , 2011, IACR Cryptol. ePrint Arch..

[40]  Srdjan Capkun,et al.  SoK: Secure Data Deletion , 2013, 2013 IEEE Symposium on Security and Privacy.

[41]  Erez Petrank,et al.  Lower and upper bounds on obtaining history independence , 2006, Inf. Comput..