Knowledge inference for optimizing secure multi-party computation

In secure multi-party computation, mutually distrusting parties cooperatively compute functions of their private data; in the process, they only learn certain results as per the protocol (e.g., the final output). The realization of these protocols uses cryptographic techniques to avoid leaking information between the parties. A protocol for a secure computation can sometimes be optimized without changing its security guarantee: when the parties can use their private data and the revealed output to infer the values of other data, then this other data need not be concealed from them via cryptography. In the context of automatically optimizing secure multi-party computation, we define two related problems, knowledge inference and constructive knowledge inference. In both problems, we attempt to automatically discover when and if intermediate variables in a protocol will (eventually) be known to the parties involved in the computation. We formally state the two problems and describe our solutions. We show that our approach is sound, and further, we characterize its completeness properties. We present a preliminary experimental evaluation of our approach.

[1]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[2]  Sumit Gulwani,et al.  Program analysis as constraint solving , 2008, PLDI '08.

[3]  François Pottier,et al.  Information flow inference for ML , 2003, TOPL.

[4]  Yan Huang,et al.  Privacy-Preserving Applications on Smartphones , 2011, HotSec.

[5]  Silvio Micali,et al.  How to play ANY mental game , 1987, STOC.

[6]  Andrew C. Myers,et al.  Language-based information-flow security , 2003, IEEE J. Sel. Areas Commun..

[7]  Pedro R. D'Argenio,et al.  Secure information flow by self-composition , 2004, Proceedings. 17th IEEE Computer Security Foundations Workshop, 2004..

[8]  Jonathan Katz,et al.  Faster Secure Two-Party Computation Using Garbled Circuits , 2011, USENIX Security Symposium.

[9]  Michael R. Clarkson,et al.  Hyperproperties , 2008, 2008 21st IEEE Computer Security Foundations Symposium.

[10]  Florian Kerschbaum,et al.  Automatically optimizing secure computation , 2011, CCS '11.

[11]  Andrew C. Myers,et al.  Untrusted hosts and confidentiality , 2001, SOSP.

[12]  Benny Pinkas,et al.  Secure Computation of the k th-Ranked Element , 2004, EUROCRYPT.

[13]  Stephen Chong,et al.  Required Information Release , 2010, 2010 23rd IEEE Computer Security Foundations Symposium.

[14]  Sumit Gulwani,et al.  Program verification using templates over predicate abstraction , 2009, PLDI '09.

[15]  Benny Pinkas,et al.  FairplayMP: a system for secure multi-party computation , 2008, CCS.

[16]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[17]  Benny Pinkas,et al.  Fairplay - Secure Two-Party Computation System , 2004, USENIX Security Symposium.

[18]  Andrew C. Myers,et al.  A Model for Delimited Information Release , 2003, ISSS.

[19]  Patrick Cousot,et al.  Static determination of dynamic properties of programs , 1976 .

[20]  Silvio Micali,et al.  The round complexity of secure protocols , 1990, STOC '90.

[21]  A. Yao,et al.  Fair exchange with a semi-trusted third party (extended abstract) , 1997, CCS '97.

[22]  David L. Dill,et al.  A Decision Procedure for Bit-Vectors and Arrays , 2007, CAV.