skip to main content
10.1145/2694344.2694353acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

Freecursive ORAM: [Nearly] Free Recursion and Integrity Verification for Position-based Oblivious RAM

Published:14 March 2015Publication History

ABSTRACT

Oblivious RAM (ORAM) is a cryptographic primitive that hides memory access patterns as seen by untrusted storage. Recently, ORAM has been architected into secure processors. A big challenge for hardware ORAM schemes is how to efficiently manage the Position Map (PosMap), a central component in modern ORAM algorithms. Implemented naively, the PosMap causes ORAM to be fundamentally unscalable in terms of on-chip area. On the other hand, a technique called Recursive ORAM fixes the area problem yet significantly increases ORAM's performance overhead.

To address this challenge, we propose three new mechanisms. We propose a new ORAM structure called the PosMap Lookaside Buffer (PLB) and PosMap compression techniques to reduce the performance overhead from Recursive ORAM empirically (the latter also improves the construction asymptotically). Through simulation, we show that these techniques reduce the memory bandwidth overhead needed to support recursion by 95%, reduce overall ORAM bandwidth by 37% and improve overall SPEC benchmark performance by 1.27x. We then show how our PosMap compression techniques further facilitate an extremely efficient integrity verification scheme for ORAM which we call PosMap MAC (PMMAC). For a practical parameterization, PMMAC reduces the amount of hashing needed for integrity checking by >= 68x relative to prior schemes and introduces only 7% performance overhead.

We prototype our mechanisms in hardware and report area and clock frequency for a complete ORAM design post-synthesis and post-layout using an ASIC flow in a 32~nm commercial process. With 2 DRAM channels, the design post-layout runs at 1~GHz and has a total area of .47~mm2. Depending on PLB-specific parameters, the PLB accounts for 10% to 26% area. PMMAC costs 12% of total design area. Our work is the first to prototype Recursive ORAM or ORAM with any integrity scheme in hardware.

References

  1. Open cores. http://opencores.org/.Google ScholarGoogle Scholar
  2. D. Apon, J. Katz, E. Shi, and A. Thiruvengadam. Verifiable oblivious storage. In PKC. 2014.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Bellare, R. Canetti, and H. Krawczyk. Keying hash functions for message authentication. In CRYPTO, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Boneh, D. Mazieres, and R. A. Popa. Remote oblivious storage: Making oblivious RAM practical. Manuscript, http://dspace.mit.edu/bitstream/handle/1721.1/62006/MIT-CSAIL-TR-2011-0%18.pdf, 2011.Google ScholarGoogle Scholar
  5. I. Damgård, S. Meldgaard, and J. B. Nielsen. Perfectly secure oblivious RAM without random oracles. In TCC, 2011.Google ScholarGoogle ScholarCross RefCross Ref
  6. C. Fletcher, L. Ren, X. Yu, M. Van Dijk, O. Khan, and S. Devadas. Suppressing the oblivious ram timing channel while making information leakage and program efficiency trade-offs. In HPCA, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  7. C. Fletcher, M. van Dijk, and S. Devadas. Secure Processor Architecture for Encrypted Computation on Untrusted Programs. In STC, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Gentry, K. A. Goldman, S. Halevi, C. S. Jutla, M. Raykova, and D. Wichs. Optimizing oram and using it efficiently for secure computation. In PET, 2013.Google ScholarGoogle Scholar
  9. O. Goldreich. Towards a theory of software protection and simulation on oblivious rams. In STOC, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. O. Goldreich, S. Goldwasser, and S. Micali. How to construct random functions. Journal of the ACM, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. O. Goldreich and R. Ostrovsky. Software protection and simulation on oblivious rams. In Journal of the ACM, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. T. Goodrich, M. Mitzenmacher, O. Ohrimenko, and R. Tamassia. Oblivious ram simulation with efficient worst-case access overhead. In CCSW, New York, NY, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. T. Goodrich, M. Mitzenmacher, O. Ohrimenko, and R. Tamassia. Practical oblivious storage. In CODASPY, New York, NY, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. T. Goodrich, M. Mitzenmacher, O. Ohrimenko, and R. Tamassia. Privacy-preserving group data access via stateless oblivious RAM simulation. In SODA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. L. Henning. Spec cpu2006 benchmark descriptions. Computer Architecture News, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Islam, M. Kuzu, and M. Kantarcioglu. Access pattern disclosure on searchable encryption: Ramification, attack and mitigation. In NDSS, 2012.Google ScholarGoogle Scholar
  17. H. Krawczyk. The order of encryption and authentication for protecting communications (or: How secure is ssl?). In CRYPTO, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. E. Kushilevitz, S. Lu, and R. Ostrovsky. On the (in) security of hash-based oblivious ram and a new balancing scheme. In SODA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. H. Lipmaa, P. Rogaway, and D. Wagner. Comments to NIST concerning AES-modes of operations: CTR-mode encryption. In Symmetric Key Block Cipher Modes of Operation Workshop, 2000.Google ScholarGoogle Scholar
  20. C. Liu, M. Hicks, and E. Shi. Memory trace oblivious program execution. In CSF, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Maas, E. Love, E. Stefanov, M. Tiwari, E. Shi, K. Asanovic, J. Kubiatowicz, and D. Song. Phantom: Practical oblivious computation in a secure processor. In CCS, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. E. Miller, H. Kasture, G. Kurian, C. G. III, N. Beckmann, C. Celio, J. Eastep, and A. Agarwal. Graphite: A Distributed Parallel Simulator for Multicores. In HPCA, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  23. R. Ostrovsky. Efficient computation on oblivious rams. In STOC, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. Ostrovsky and V. Shoup. Private information storage (extended abstract). In STOC, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. L. Ren, C. Fletcher, X. Yu, M. van Dijk, and S. Devadas. Integrity verification for path oblivious-ram. In HPCA, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  26. L. Ren, X. Yu, C. Fletcher, M. van Dijk, and S. Devadas. Design space exploration and optimization of path oblivious ram in secure processors. In ISCA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. B. Rogers, S. Chhabra, M. Prvulovic, and Y. Solihin. Using address independent seed encryption and bonsai merkle trees to make secure processors os- and performance-friendly. In MICRO, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. P. Rosenfeld, E. Cooper-Balis, and B. Jacob. Dramsim2: A cycle accurate memory system simulator. Computer Architecture Letters, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. L. F. G. Sarmenta, M. van Dijk, C. W. O'Donnell, J. Rhodes, and S. Devadas. Virtual Monotonic Counters and Count-Limited Objects using a TPM without a Trusted OS. In STC, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. E. Shi, T.-H. H. Chan, E. Stefanov, and M. Li. Oblivious ram with o((log n)^3) worst-case cost. In Asiacrypt, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. E. Stefanov and E. Shi. Oblivistore: High performance oblivious cloud storage. In S&P, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. E. Stefanov, E. Shi, and D. Song. Towards practical oblivious RAM. In NDSS, 2012.Google ScholarGoogle Scholar
  33. E. Stefanov, M. van Dijk, E. Shi, C. Fletcher, L. Ren, X. Yu, and S. Devadas. Path oram: An extremely simple oblivious ram protocol. volume abs/1202.5150, 2012.Google ScholarGoogle Scholar
  34. E. Stefanov, M. van Dijk, E. Shi, C. Fletcher, L. Ren, X. Yu, and S. Devadas. Path oram: An extremely simple oblivious ram protocol. In CCS, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. X. Wang, K. Nayak, C. Liu, E. Shi, E. Stefanov, and Y. Huang. Oblivious data structures. IACR, 2014.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. P. Williams and R. Sion. Single round access privacy on outsourced storage. In CCS, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. C. Yan, D. Englender, M. Prvulovic, B. Rogers, and Y. Solihin. Improving cost, performance, and security of memory encryption and authentication. Computer Architecture News, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. X. Yu, C. W. Fletcher, L. Ren, M. van Dijk, and S. Devadas. Generalized external interaction with tamper-resistant hardware with bounded information leakage. In CCSW, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. X. Zhuang, T. Zhang, and S. Pande. HIDE: an infrastructure for efficiently protecting information leakage on the address bus. In ASPLOS, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Freecursive ORAM: [Nearly] Free Recursion and Integrity Verification for Position-based Oblivious RAM

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ASPLOS '15: Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems
      March 2015
      720 pages
      ISBN:9781450328357
      DOI:10.1145/2694344

      Copyright © 2015 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 14 March 2015

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      ASPLOS '15 Paper Acceptance Rate48of287submissions,17%Overall Acceptance Rate535of2,713submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader