Advertisement

Towards Practical RAM Based Secure Computation

  • Niklas Buescher
  • Alina Weber
  • Stefan Katzenbeisser
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11099)

Abstract

Secure multi-party computation (MPC) protocols are powerful privacy enhancing technologies. Yet, their scalability is limited for data intensive applications due to the circuit computation model. Therefore, RAM based secure computation (RAM-SC) has been proposed, which combines MPC with Oblivious RAM (ORAM). Unfortunately, realizing efficient RAM-SC applications by hand is a tedious and error-prone task, which requires expert knowledge in both cryptographic primitives and circuit design. To make things worse, a multitude of ORAMs with different trade-offs has been proposed. To overcome this entry barrier to RAM-SC, we present a two-fold approach. First, we explore all cost dimensions of relevant ORAMs in various deployment scenarios. Second, we present a fully automatized compilation approach from ANSI-C to RAM-SC. The presented compiler analyzes the input source code and extracts relevant information about the usage patterns of all arrays in the code. The results of the analysis are then used to predict the runtime of suitable ORAMs and to identify the ORAM that achieves minimal runtime. Thus, for the first time, RAM-SC also becomes accessible to non-domain experts.

Notes

Acknowledgements

We thank all anonymous reviewers for their helpful and constructive comments. This work has been co-funded by the German Federal Ministry of Education and Research (BMBF) and the Hessen State Ministry for Higher Education, Research and the Arts (HMWK) within CRISP and by the DFG as part of project E4 within the CRC 1119 CROSSING, and by the DFG as part of project A.1 within the RTG 2050 “Privacy and Trust for Mobile User”.

References

  1. 1.
    Araki, T., et al.: Optimized honest-majority MPC for malicious adversaries - breaking the 1 billion-gate per second barrier. In: IEEE S&P (2017)Google Scholar
  2. 2.
    Asharov, G., Lindell, Y., Schneider, T., Zohner, M.: More efficient oblivious transfer and extensions for faster secure computation. In: ACM CCS (2013)Google Scholar
  3. 3.
    Bellare, M., Hoang, V.T., Keelveedhi, S., Rogaway, P.: Efficient garbling from a fixed-key blockcipher. In: IEEE S&P (2013)Google Scholar
  4. 4.
    Boyar, J., Peralta, R.: A small depth-16 circuit for the AES S-box. In: Gritzalis, D., Furnell, S., Theoharidou, M. (eds.) SEC 2012. IAICT, vol. 376, pp. 287–298. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-30436-1_24CrossRefGoogle Scholar
  5. 5.
    Boyle, E., Gilboa, N., Ishai, Y.: Function secret sharing. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9057, pp. 337–367. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-46803-6_12CrossRefGoogle Scholar
  6. 6.
    Boyle, E., Chung, K.-M., Pass, R.: Oblivious parallel RAM and applications. In: Kushilevitz, E., Malkin, T. (eds.) TCC 2016. LNCS, vol. 9563, pp. 175–204. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-49099-0_7CrossRefGoogle Scholar
  7. 7.
    Buescher, N., Franz, M., Holzer, A., Veith, H., Katzenbeisser, S.: On compiling Boolean circuits optimized for secure multi-party computation. FMSD 51, 308–331 (2017)zbMATHGoogle Scholar
  8. 8.
    Buescher, N., Katzenbeisser, S.: Faster secure computation through automatic parallelization. In: USENIX Security (2015)Google Scholar
  9. 9.
    Damgård, I., Pastro, V., Smart, N., Zakarias, S.: Multiparty computation from somewhat homomorphic encryption. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 643–662. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-32009-5_38CrossRefGoogle Scholar
  10. 10.
    Doerner, J., Shelat, A.: Scaling ORAM for secure computation. Cryptology ePrint Archive, Report 2017/827 (2017)Google Scholar
  11. 11.
    Doerner, J., Shelat, A.: Scaling ORAM for secure computation. In: ACM CCS (2017)Google Scholar
  12. 12.
    Gentry, C., Goldman, K.A., Halevi, S., Julta, C., Raykova, M., Wichs, D.: Optimizing ORAM and using it efficiently for secure computation. In: De Cristofaro, E., Wright, M. (eds.) PETS 2013. LNCS, vol. 7981, pp. 1–18. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-39077-7_1CrossRefGoogle Scholar
  13. 13.
    Goldreich, O., Micali, S., Wigderson, A.: How to play any mental game or a completeness theorem for protocols with honest majority. In: ACM STOC (1987)Google Scholar
  14. 14.
    Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious RAMs. J. ACM 43, 431–473 (1996)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Gordon, S.D., et al.: Secure two-party computation in sublinear (amortized) time. In: ACM CCS (2012)Google Scholar
  16. 16.
    Henecka, W., Kögl, S., Sadeghi, A.R., Schneider, T., Wehrenberg, I.: TASTY: tool for automating secure two-party computations. In: ACM CCS (2010)Google Scholar
  17. 17.
    Holzer, A., Franz, M., Katzenbeisser, S., Veith, H.: Secure two-party computations in ANSI C. In: ACM CCS (2012)Google Scholar
  18. 18.
    Keller, M., Scholl, P.: Efficient, oblivious data structures for MPC. In: Sarkar, P., Iwata, T. (eds.) ASIACRYPT 2014. LNCS, vol. 8874, pp. 506–525. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-45608-8_27CrossRefGoogle Scholar
  19. 19.
    Kolesnikov, V., Schneider, T.: Improved garbled circuit: free XOR gates and applications. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds.) ICALP 2008. LNCS, vol. 5126, pp. 486–498. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-70583-3_40CrossRefzbMATHGoogle Scholar
  20. 20.
    Kushilevitz, E., Lu, S., Ostrovsky, R.: On the (in)security of hash-based oblivious RAM and a new balancing scheme. In: ACM-SIAM SODA (2012)Google Scholar
  21. 21.
    Liu, C., et al.: GhostRider: a hardware-software system for memory trace oblivious computation. In: ACM ASPLOS (2015)Google Scholar
  22. 22.
    Liu, C., Huang, Y., Shi, E., Katz, J., Hicks, M.W.: Automating efficient RAM-model secure computation. In: IEEE S&P (2014)Google Scholar
  23. 23.
    Liu, C., Wang, X.S., Nayak, K., Huang, Y., Shi, E.: ObliVM: A programming framework for secure computation. In: IEEE S&P (2015)Google Scholar
  24. 24.
    Lu, S., Ostrovsky, R.: Distributed oblivious RAM for secure two-party computation. In: Sahai, A. (ed.) TCC 2013. LNCS, vol. 7785, pp. 377–396. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-36594-2_22CrossRefGoogle Scholar
  25. 25.
    Malkhi, D., Nisan, N., Pinkas, B., Sella, Y.: Fairplay - a secure two-party computation system. In: USENIX Security (2004)Google Scholar
  26. 26.
    Mood, B., Gupta, D., Carter, H., Butler, K.R.B., Traynor, P.: Frigate: a validated, extensible, and efficient compiler and interpreter for secure computation. In: IEEE EuroS&P (2016)Google Scholar
  27. 27.
    Nayak, K., Wang, X. S., Ioannidis, S., Weinsberg, U., Taft, N., Shi, E.: GraphSC: Parallel secure computation made easy. In: IEEE S&P (2015)Google Scholar
  28. 28.
    Pattuk, E., Kantarcioglu, M., Ulusoy, H., Malin, B.: CheapSMC: a framework to minimize secure multiparty computation cost in the cloud. In: Ranise, S., Swarup, V. (eds.) DBSec 2016. LNCS, vol. 9766, pp. 285–294. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-41483-6_20CrossRefGoogle Scholar
  29. 29.
    Stefanov, E., et al.: Path ORAM: an extremely simple oblivious RAM protocol. In: ACM CCS (2013)Google Scholar
  30. 30.
    Wang, X., Chan, T.H.H., Shi, E.: Circuit ORAM: on tightness of the Goldreich-Ostrovsky lower bound. In: ACM CCS (2015)Google Scholar
  31. 31.
    Wang, X.S., Huang, Y., Chan, T.H.H., Shelat, A., Shi, E.: SCORAM: oblivious RAM for secure computation. In: ACM CCS (2014)Google Scholar
  32. 32.
    Yao, A.C.C.: Protocols for secure computations (extended abstract). In: IEEE FOCS (1982)Google Scholar
  33. 33.
    Yao, A.C.C.: How to generate and exchange secrets (extended abstract). In: IEEE FOCS (1986)Google Scholar
  34. 34.
    Zahur, S., Evans, D.: Circuit structures for improving efficiency of security and privacy tools. In: IEEE S&P (2013)Google Scholar
  35. 35.
    Zahur, S., Evans, D.: Obliv-C: a language for extensible data-oblivious computation. Cryptology ePrint Archive, Report 2015/1153 (2015)Google Scholar
  36. 36.
    Zahur, S., Rosulek, M., Evans, D.: Two halves make a whole. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9057, pp. 220–250. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-46803-6_8CrossRefzbMATHGoogle Scholar
  37. 37.
    Zahur, S., et al.: Revisiting square-root ORAM: efficient random access in multi-party computation. In: IEEE S&P (2016)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Niklas Buescher
    • 1
  • Alina Weber
    • 1
  • Stefan Katzenbeisser
    • 1
  1. 1.Technische Universität DarmstadtDarmstadtGermany

Personalised recommendations