Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2382196.2382278acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

Secure two-party computations in ANSI C

Published: 16 October 2012 Publication History

Abstract

The practical application of Secure Two-Party Computation is hindered by the difficulty to implement secure computation protocols. While recent work has proposed very simple programming languages which can be used to specify secure computations, it is still difficult for practitioners to use them, and cumbersome to translate existing source code into this format. Similarly, the manual construction of two-party computation protocols, in particular ones based on the approach of garbled circuits, is labor intensive and error-prone.
The central contribution of the current paper is a tool which achieves Secure Two-Party Computation for ANSI C. Our work is based on a combination of model checking techniques and two-party computation based on garbled circuits. Our key insight is a nonstandard use of the bit-precise model checker CBMC which enables us to translate C programs into equivalent Boolean circuits. To this end, we modify the standard CBMC translation from programs into Boolean formulas whose variables correspond to the memory bits manipulated by the program. As CBMC attempts to minimize the size of the formulas, the circuits obtained by our tool chain are also size efficient; to improve the efficiency of the garbled circuit evaluation, we perform optimizations on the circuits. Experimental results with the new tool CBMC-GC demonstrate the practical usefulness of our approach.

References

[1]
VIFF, the Virtual Ideal Functionality Framework. http://viff.dk/.
[2]
T. Ball, R. Majumdar, T. Millstein, and S. K. Rajamani. Automatic Predicate Abstraction of C Programs. In Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, PLDI '01, pages 203--213. ACM Press, 2001.
[3]
M. Barni, P. Failla, V. Kolesnikov, R. Lazzeretti, A.-R. Sadeghi, and T. Schneider. Secure Evaluation of Private Linear Branching Programs with Medical Applications. In Proceedings of the 14th European Conference on Research in Computer Security, ESORICS'09, pages 424--439. Springer, 2009.
[4]
A. Ben-David, N. Nisan, and B. Pinkas. FairplayMP: A System for Secure Multi-Party Computation. In Proceedings of the 15th ACM Conference on Computer and Communications Security, CCS '08, pages 17--21. ACM, 2008.
[5]
D. Beyer, T. A. Henzinger, R. Jhala, and R. Majumdar. The software model checker Blast: Applications to software engineering. International Journal on Software Tools for Technology Transfer, 9(5-6):505--525, October 2007.
[6]
A. Biere, A. Cimatti, E. M. Clarke, and Y. Zhu. Symbolic Model Checking without BDDs. In Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems, TACAS '99, pages 193--207. Springer, 1999.
[7]
A. Biere, M. Heule, H. van Maaren, and T. Walsh, editors. Handbook of Satisfiability, volume 185 of Frontiers in Artificial Intelligence and Applications. IOS Press, 2009.
[8]
D. Bogdanov, S. Laur, and J. Willemson. Sharemind: A Framework for Fast Privacy-Preserving Computations. In Proceedings of the 13th European Symposium on Research in Computer Security: Computer Security, ESORICS '08, pages 192--206. Springer, 2008.
[9]
P. Bogetoft, I. Damgård, T. Jakobsen, K. Nielsen, J. Pagter, and T. Toft. A Practical Implementation of Secure Auctions Based on Multiparty Integer Computation. In Proceedings of the 10th International Conference on Financial Cryptography and Data Security, FC '06, pages 142--147. Springer, 2006.
[10]
E. Clarke, D. Kroening, and F. Lerda. A Tool for Checking ANSI-C Programs. In Proceedings of the 10th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS '04, pages 168--176. Springer, 2004.
[11]
E. Clarke, D. Kroening, and K. Yorav. Behavioral Consistency of C and Verilog Programs using Bounded Model Checking. In Proceedings of the 40th annual Design Automation Conference, DAC '03, pages 368--371. ACM, 2003.
[12]
E. Clarke, D. Kroening, and K. Yorav. Behavioral Consistency of C and Verilog Programs using Bounded Model Checking. Technical Report Carnegie Mellon University-CS-03-126, Carnegie Mellon University, School of Computer Science, 2003.
[13]
E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-Guided Abstraction Refinement. In Proceedings of the 12th International Conference on Computer Aided Verification, CAV '00, pages 154--169. Springer, 2000.
[14]
P. Cousot, R. Cousot, J. Feret, L. Mauborgne, A. Miné, D. Monniaux, and X. Rival. The ASTRÉE analyzer. In Proceedings of the 14th European Conference on Programming Languages and Systems, ESOP '05, pages 21--30. Springer, 2005.
[15]
R. Cramer, I. Damgård, and J. B. Nielsen. Multiparty Computation from Threshold Homomorphic Encryption. In Proceedings of the International Conference on the Theory and Application of Cryptographic Techniques: Advances in Cryptology, EUROCRYPT '01, pages 280--299, 2001.
[16]
Z. Erkin, M. Franz, J. Guajardo, S. Katzenbeisser, I. Lagendijk, and T. Toft. Privacy-Preserving Face Recognition. In Proceedings of the 9th International Symposium on Privacy Enhancing Technologies, PETS '09, pages 235--253. Springer, 2009.
[17]
M. K. Ganai, A. Gupta, and P. Ashar. DiVer: SAT-Based Model Checking Platform for Verifying Large Scale Systems. In Proceedings of the 11th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS'05, pages 575--580. Springer, 2005.
[18]
B. Goethals, S. Laur, H. Lipmaa, and T. Mielikainen. On Private Scalar Product Computation for Privacy-Preserving Data Mining. In Proceedings of the 7th International Conference on Information Security and Cryptology, ICISC'04, pages 104--120. Springer, 2004.
[19]
W. Henecka, S. Kögl, A.-R. Sadeghi, T. Schneider, and I. Wehrenberg. TASTY: Tool for Automating Secure Two-partY computations. In Proceedings of the 17th ACM conference on Computer and communications security, CCS '10, pages 451--462. ACM, 2010.
[20]
Y. Huang, D. Evans, J. Katz, and L. Malka. Faster Secure Two-Party Computation Using Garbled Circuits. In Proceedings of the 20th USENIX Security Symposium, USENIX '11, 2011.
[21]
G. Jagannathan and R. N. Wright. Privacy-Preserving Distributed k-Means Clustering over Arbitrarily Partitioned Data. In Proceedings of the eleventh ACM SIGKDD International Conference on Knowledge Discovery in Data Mining, KDD '05, pages 593--599. ACM, 2005.
[22]
A. Karatsuba and Y. Ofman. Multiplication of Many-Digital Numbers by Automatic Computers. In Doklady Akad. Nauk SSSR, Vol. 145, Translation in Physics-Doklady, 7 (1963), pp. 595--596, 1962.
[23]
J. Katz and L. Malka. Constant-Round Private Function Evaluation with Linear Complexity. In Proceedings of the 17th International Conference on the Theory and Application of Cryptology and Information Security, ASIACRYPT '11, pages 556--571. Springer, 2011.
[24]
V. Kolesnikov, A.-R. Sadeghi, and T. Schneider. Improved Garbled Circuit Building Blocks and Applications to Auctions and Computing Minima. In Proceedings of the 8th International Conference on Cryptology and Network Security, CANS '09, pages 1--20. Springer, 2009.
[25]
V. Kolesnikov and T. Schneider. A Practical Universal Circuit Construction and Secure Evaluation of Private Functions. In Proceedings of the 12th International Conference on Financial Cryptography and Data Security, FC '08, pages 83--97. Springer, 2008.
[26]
V. Kolesnikov and T. Schneider. Improved Garbled Circuit: Free XOR Gates and Applications. In Proceedings of the 35th International Colloquium on Automata, Languages and Programming, Part II, ICALP '08, pages 486--498. Springer, 2008.
[27]
Y. Lindell and B. Pinkas. A Proof of Security of Yao's Protocol for Two-Party Computation. Journal of Cryptology, 22:161--188, April 2009.
[28]
L. Malka. VMCrypt: Modular Software Architecture for Scalable Secure Computation. In Proceedings of the 18th ACM Conference on Computer and Communications Security, CCS '11, pages 715--724. ACM, 2011.
[29]
D. Malkhi, N. Nisan, B. Pinkas, and Y. Sella. Fairplay -- A Secure Two-Party Computation System. In Proceedings of the 13th Conference on USENIX Security Symposium, SSYM'04, pages 20--20. USENIX Association, 2004.
[30]
B. Pinkas, T. Schneider, N. P. Smart, and S. C. Williams. Secure Two-Party Computation Is Practical. In Proceedings of the 15th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology, ASIACRYPT '09, pages 250--267. Springer, 2009.
[31]
A. C.-C. Yao. Protocols for Secure Computations (Extended Abstract). In Proceedings of the 23rd Annual Symposium on Foundations of Computer Science, FOCS '82, pages 160--164. IEEE Computer Society, 1982.
[32]
A. C.-C. Yao. How to Generate and Exchange Secrets. In Proceedings of the 27th Annual Symposium on Foundations of Computer Science, FOCS '86, pages 162--167. IEEE Computer Society, 1986.

Cited By

View all
  • (2024)Privacy-Preserving DijkstraAdvances in Cryptology – CRYPTO 202410.1007/978-3-031-68400-5_3(74-110)Online publication date: 16-Aug-2024
  • (2023)Silph: A Framework for Scalable and Accurate Generation of Hybrid MPC Protocols2023 IEEE Symposium on Security and Privacy (SP)10.1109/SP46215.2023.10179397(848-863)Online publication date: May-2023
  • (2022)Proving UNSAT in Zero KnowledgeProceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security10.1145/3548606.3559373(2203-2217)Online publication date: 7-Nov-2022
  • Show More Cited By

Index Terms

  1. Secure two-party computations in ANSI C

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CCS '12: Proceedings of the 2012 ACM conference on Computer and communications security
    October 2012
    1088 pages
    ISBN:9781450316514
    DOI:10.1145/2382196
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 16 October 2012

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. compilers
    2. model checking
    3. privacy
    4. secure computations

    Qualifiers

    • Research-article

    Conference

    CCS'12
    Sponsor:
    CCS'12: the ACM Conference on Computer and Communications Security
    October 16 - 18, 2012
    North Carolina, Raleigh, USA

    Acceptance Rates

    Overall Acceptance Rate 1,261 of 6,999 submissions, 18%

    Upcoming Conference

    CCS '24
    ACM SIGSAC Conference on Computer and Communications Security
    October 14 - 18, 2024
    Salt Lake City , UT , USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)33
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 11 Sep 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Privacy-Preserving DijkstraAdvances in Cryptology – CRYPTO 202410.1007/978-3-031-68400-5_3(74-110)Online publication date: 16-Aug-2024
    • (2023)Silph: A Framework for Scalable and Accurate Generation of Hybrid MPC Protocols2023 IEEE Symposium on Security and Privacy (SP)10.1109/SP46215.2023.10179397(848-863)Online publication date: May-2023
    • (2022)Proving UNSAT in Zero KnowledgeProceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security10.1145/3548606.3559373(2203-2217)Online publication date: 7-Nov-2022
    • (2022)CirC: Compiler infrastructure for proof systems, software verification, and more2022 IEEE Symposium on Security and Privacy (SP)10.1109/SP46214.2022.9833782(2248-2266)Online publication date: May-2022
    • (2022)SecFloat: Accurate Floating-Point meets Secure 2-Party Computation2022 IEEE Symposium on Security and Privacy (SP)10.1109/SP46214.2022.9833697(576-595)Online publication date: May-2022
    • (2022)PoS4MPC: Automated Security Policy Synthesis for Secure Multi-party ComputationComputer Aided Verification10.1007/978-3-031-13185-1_19(385-406)Online publication date: 7-Aug-2022
    • (2021)HACCLE: metaprogramming for secure multi-party computationProceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3486609.3487205(130-143)Online publication date: 17-Oct-2021
    • (2021)Privacy-Preserving Randomized Controlled TrialsProceedings of the 2021 on Cloud Computing Security Workshop10.1145/3474123.3486764(59-69)Online publication date: 15-Nov-2021
    • (2021)Oblivious Linear Group Actions and ApplicationsProceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security10.1145/3460120.3484584(630-650)Online publication date: 12-Nov-2021
    • (2021)SiRnn: A Math Library for Secure RNN Inference2021 IEEE Symposium on Security and Privacy (SP)10.1109/SP40001.2021.00086(1003-1020)Online publication date: May-2021
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media