Tianji: Securing a Practical Asynchronous Multi-User ORAM

Oblivious Random Access Machines (ORAMs) allow cloud users to access remote data without leaking access patterns. Current ORAM solutions achieve this goal at expense of either increasing bandwidth consumption by a factor of <inline-formula><tex-math notation="LaTeX">$O(\log N)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>O</mml:mi><mml:mo>(</mml:mo><mml:mo form="prefix">log</mml:mo><mml:mi>N</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="wang-ieq1-3241184.gif"/></alternatives></inline-formula>, where <inline-formula><tex-math notation="LaTeX">$N$</tex-math><alternatives><mml:math><mml:mi>N</mml:mi></mml:math><inline-graphic xlink:href="wang-ieq2-3241184.gif"/></alternatives></inline-formula> is the number of data blocks, or relying on homomorphic encryption for bandwidth amplification reduction to <inline-formula><tex-math notation="LaTeX">$O(1)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>O</mml:mi><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="wang-ieq3-3241184.gif"/></alternatives></inline-formula>. Furthermore, most ORAMs are only effective for a single user, while the solutions for multi-user scenarios often induce security or performance problems. This article introduces <italic>Tianji</italic> — an asynchronous multi-user Shamir-based ORAM system — which supports asynchronous network access scenarios for multiple users with improved security and performance. <italic>Tianji</italic> is implemented on top of <italic>S<inline-formula><tex-math notation="LaTeX">$^{3}$</tex-math><alternatives><mml:math><mml:msup><mml:mrow/><mml:mn>3</mml:mn></mml:msup></mml:math><inline-graphic xlink:href="wang-ieq4-3241184.gif"/></alternatives></inline-formula>ORAM<inline-formula><tex-math notation="LaTeX">$^+$</tex-math><alternatives><mml:math><mml:msup><mml:mrow/><mml:mo>+</mml:mo></mml:msup></mml:math><inline-graphic xlink:href="wang-ieq5-3241184.gif"/></alternatives></inline-formula></italic>—an extension of the state-of-the-art Shamir-based S<inline-formula><tex-math notation="LaTeX">$^{3}$</tex-math><alternatives><mml:math><mml:msup><mml:mrow/><mml:mn>3</mml:mn></mml:msup></mml:math><inline-graphic xlink:href="wang-ieq6-3241184.gif"/></alternatives></inline-formula>ORAM with a new non-eviction data write-back scheme to achieve <inline-formula><tex-math notation="LaTeX">$O(1)$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>O</mml:mi><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="wang-ieq7-3241184.gif"/></alternatives></inline-formula> consumption in both bandwidth amplification and storage capacity. Our experimental results show that the proposed <italic>Tianji</italic> with <italic>S<inline-formula><tex-math notation="LaTeX">$^{3}$</tex-math><alternatives><mml:math><mml:msup><mml:mrow/><mml:mn>3</mml:mn></mml:msup></mml:math><inline-graphic xlink:href="wang-ieq8-3241184.gif"/></alternatives></inline-formula>ORAM<inline-formula><tex-math notation="LaTeX">$^+$</tex-math><alternatives><mml:math><mml:msup><mml:mrow/><mml:mo>+</mml:mo></mml:msup></mml:math><inline-graphic xlink:href="wang-ieq9-3241184.gif"/></alternatives></inline-formula></italic> can significantly outperform the state-of-the-art multi-user <italic>TaoStore</italic> in terms of access latency and client scalability. Additionally, its average response time is relatively stable when client loads increase.

[1]  Rujia Wang,et al.  Multi-Range Supported Oblivious RAM for Efficient Block Data Retrieval , 2020, 2020 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[2]  Hao Chen,et al.  Onion Ring ORAM: Efficient Constant Bandwidth Oblivious RAM from (Leveled) TFHE , 2019, IACR Cryptol. ePrint Arch..

[3]  Radu Sion,et al.  ConcurORAM: High-Throughput Stateless Parallel Multi-Client ORAM , 2018, NDSS.

[4]  Sarvar Patel,et al.  PanORAMa: Oblivious RAM with Logarithmic Overhead , 2018, 2018 IEEE 59th Annual Symposium on Foundations of Computer Science (FOCS).

[5]  Matei Zaharia,et al.  ObliDB: Oblivious Query Processing using Hardware Enclaves , 2017 .

[6]  Jinsheng Zhang,et al.  TSKT-ORAM: A Two-Server k-ary Tree Oblivious RAM without Homomorphic Encryption , 2017, Future Internet.

[7]  Satish Narayanasamy,et al.  InvisiMem: Smart memory defenses for memory bus side channel , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[8]  Sanjam Garg,et al.  TWORAM: Efficient Oblivious RAM in Two Rounds with Applications to Searchable Encryption , 2016, CRYPTO.

[9]  Amr El Abbadi,et al.  TaoStore: Overcoming Asynchronicity in Oblivious Data Storage , 2016, 2016 IEEE Symposium on Security and Privacy (SP).

[10]  Elaine Shi,et al.  Onion ORAM: A Constant Bandwidth Blowup Oblivious RAM , 2016, TCC.

[11]  Yiran Chen,et al.  Fork Path: Improving efficiency of ORAM by removing redundant memory accesses , 2015, 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

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

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

[14]  Marten van Dijk,et al.  Path ORAM: an extremely simple oblivious RAM protocol , 2012, IACR Cryptol. ePrint Arch..

[15]  Elaine Shi,et al.  ObliviStore: High Performance Oblivious Cloud Storage , 2013, 2013 IEEE Symposium on Security and Privacy.

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

[17]  Elaine Shi,et al.  Oblivious RAM with O((logN)3) Worst-Case Cost , 2011, ASIACRYPT.

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

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

[20]  Benny Pinkas,et al.  Oblivious RAM Revisited , 2010, CRYPTO.

[21]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

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

[23]  Adi Shamir,et al.  How to share a secret , 1979, CACM.

[24]  Jinsheng Zhang,et al.  KT-ORAM: A Bandwidth-efficient ORAM Built on K-ary Tree of PIR Nodes , 2014, IACR Cryptol. ePrint Arch..

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

[26]  Ian Goldberg,et al.  Improving the Robustness of Private Information Retrieval , 2007 .