A New Way to Think About Secure Computation: Language-based Secure Computation

Florian Kerschbaum

2007

Abstract

Assume two parties, Alice and Bob, want to compute a joint function, but they want to keep their inputs private. This problem setting and its solutions are known as secure computation. General solutions to secure computation require the construction of a binary circuit for the function to be computed. This paper proposes the concept of language-based secure computation. Instead of constructing a binary circuit program code is directly translated into a secure computation protocol. This concept is compared to the approaches for language-based information-flow security and many connections between the two approaches are identified. The major challenge in this translation is the secure translation of the program’s control-flow without leaking private information via a timing channel. The paper presents a method for translating an if statement with a secret branching condition that may not be known to any party. Furthermore, that protocol can be optimized using trusted computing, such that the overall performance of a program executed as a secure computation protocol can be greatly improved.

References

  1. J. Agat. Transforming out timing leaks. Proceedings of the ACM Symposium on Principles of programming languages, 2000.
  2. J. Agat, and D. Sands. On Confidentiality and Algorithms. Proceedings of the IEEE Symposium on Security and Privacy, 2001.
  3. Z. Benenson, F. Gärtner, and D. Kesdogan. Secure Multi-Party Computation with Security Modules. Proceedings of SICHERHEIT, 2005.
  4. M. Ben-Or, and A. Wigderson. Completeness theorems for non-cryptographic fault-tolerant distributed computation. Proceedings of the 20th ACM symposium on theory of computing, 1988.
  5. D. Brumley, and D. Boneh. Remote Timing Attacks Are Practical. Proceedings of the USENIX security symposium, 2003.
  6. D. Denning. A lattice model of secure information flow. Communications of the ACM 19(5), 1976.
  7. C. Fournet, and A. Gordon. Stack Inspection: Theory and Variants. Proceedings of the 29th ACM symposium on principles of programming languages, 2002.
  8. O. Goldreich. Secure Multi-party Computation. Available at www.wisdom.weizmann.ac.il/˜oded/pp.html, 2002.
  9. S. Goldwasser. Multi party computations: past and present. Proceedings of the 16th ACM symposium on principles of distributed computing, 1997.
  10. O. Goldreich, S. Micali, and A. Wigderson. How to play any mental game. Proceedings of the 19th ACM conference on theory of computing, 1987.
  11. O. Goldreich, and R. Ostrovsky. Software protection and simulation on oblivious RAMs. Journal of the ACM, 1996.
  12. J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996.
  13. P. Kocher. Timings attacks on implementations of Diffie-Hellman, RSA, DSS and other systems. Proceedings of CRYPTO, 1996.
  14. Y. Lindell, and B. Pinkas. Privacy Preserving Data Mining. Proceedings of CRYPTO, 2000.
  15. D. Malkhi, N. Nisan, B. Pinkas, and Y. Sella. Fairplay - A Secure Two-party Computation System. Proceedings of the USENIX security symposium, 2004.
  16. A. Myers. JFlow: Practical Mostly-Static Information Flow Control. Proceedings of the ACM Symposium on Principles of Programming Languages, 1999.
  17. G. Necula, and P. Lee. Safe Kernel Extensions Without Run-Time Checking. Proceedings of USENIX Symposium on Operating Systems Design and Implementation, 1996.
  18. O. Rabin. How to exchange secrets by oblivious transfer. Technical Memo TR-81, Aiken Computation Laboratory, 1981.
  19. A. Sabelfeld, and H. Mantel. Static confidentiality enforcement for distributed programs. Proceedings of the Symposium on Static Analysis, 2002.
  20. A. Sabelfeld, and A. Myers. Language-Based Information-Flow Security. IEEE Journal on selected areas in communications 21(1), 2003.
  21. D. Volpano, G. Smith, and C. Irvine. A sound type system for secure flow analysis. Journal of Computer Security 4(3), 1996.
  22. C. Wang, J. Davidson, J. Hill, and J. Knight. Protection of Software-based Survivability Mechanisms. Proceedings of the international conference of dependable systems and networks, 2001.
  23. A. Yao. Protocols for Secure Computations. Proceedings of the IEEE Symposium on foundations of computer science 23, 1982.
  24. S. Zdancewic, L. Zheng, N. Nystrom, and A. Myers. Secure program partitioning. ACM Transactions on Computer Systems 20(3), 2002.
Download


Paper Citation


in Harvard Style

Kerschbaum F. (2007). A New Way to Think About Secure Computation: Language-based Secure Computation . In Proceedings of the 5th International Workshop on Security in Information Systems - Volume 1: WOSIS, (ICEIS 2007) ISBN 978-972-8865-96-2, pages 33-42. DOI: 10.5220/0002423300330042


in Bibtex Style

@conference{wosis07,
author={Florian Kerschbaum},
title={A New Way to Think About Secure Computation: Language-based Secure Computation},
booktitle={Proceedings of the 5th International Workshop on Security in Information Systems - Volume 1: WOSIS, (ICEIS 2007)},
year={2007},
pages={33-42},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002423300330042},
isbn={978-972-8865-96-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Workshop on Security in Information Systems - Volume 1: WOSIS, (ICEIS 2007)
TI - A New Way to Think About Secure Computation: Language-based Secure Computation
SN - 978-972-8865-96-2
AU - Kerschbaum F.
PY - 2007
SP - 33
EP - 42
DO - 10.5220/0002423300330042