Survey: Secure Composition of Multiparty Protocols Yehuda Lindell IBM T.J. Watson Secure Multiparty Computation A set of parties with private inputs. Parties wish to jointly compute a function of their inputs so that certain security properties (like privacy and correctness) are preserved. E.g., secure elections, auctions… Properties must be ensured even if some of the parties maliciously attack the protocol. Secure Computation Tasks Examples: Authentication protocols Online payments Auctions Elections Privacy preserving data mining Essentially any task… Defining Security Security is formulated by comparing a real protocol execution to an ideal execution with a trusted party [GMW,GL,Be,MR,Ca]: Real model: parties run a real protocol with no trusted help. Ideal model: parties send inputs to a trusted party, who computes the function for them. A protocol is secure if any attack on a real protocol can be carried out in the ideal model. Since no attacks can be carried out in the ideal model, security is implied. The Real Model x y Protocol output Protocol output The Ideal Model x y x f1(x,y) f1(x,y) y f2(x,y) f2(x,y) The Security Definition: For every real adversary A there exists an adversary S Computational Indistinguishability: every probabilistic Protocol polynomial-time observer that receives the input/output interaction distribution of the honest parties and the adversary, outputs 1 upon receiving the distribution generated in IDEAL with negligibly close probability to when it is generated REAL. Trustedinparty REAL IDEAL Meaning of the Definition Interpretation 1: Security in the ideal model is absolute. Since no attacks are possible in the ideal model, we obtain that the same is also true of the real model. Interpretation 2: Anything that an adversary could have learned/done in the real model, it could have also learned/done in the ideal model. Note: real and ideal adversaries have same complexity. Properties of the Definition Privacy: The ideal-model adversary cannot learn more about the honest party’s input than what is revealed by the function output. Thus, the same is true of the real-model adversary. Otherwise, the REAL and IDEAL could be easily distinguished. Correctness: In the ideal model, the function is always computed correctly. Thus, the same is true in the real-model. Otherwise, the REAL and IDEAL could be easily distinguished. Others: For example, independence of inputs Feasibility Results A fundamental theorem: any multi-party problem can be securely computed: Computational setting: for any number of corruptions and assuming trapdoor permutations [Y86,GMW87] Information theoretic setting: for a 2/3 majority (or regular majority given a broadcast channel) [BGW88,CCD88,RB89,B89] In summary: any distributed task can be carried out securely! What’s Left? Wide-ranging feasibility results already achieved. As we have seen, any distributed computing task can be carried out in a secure way! But, these results all considered a standalone model of computation… The Classic Stand-Alone Model Alice Bob One set of parties executing a single protocol in isolation. Stand-Alone? Doesn’t realistically model the modern network setting. Rather: Security Under Composition Alice Bob Many parties running many different protocol executions. Concurrent Composition Many protocol executions are run at the same time (with arbitrary scheduling of messages). In modern network settings: Secure protocols are run many times, by the same and different users Many different secure protocols are run at the same time Secure protocols are run alongside insecure protocols All of the above are loosely categorized as “concurrent composition”. Composition can also be considered for the sequential and parallel cases. Here we focus on the concurrent case only. Research on Concurrent Composition Initial works looked at specific problems, and specific security properties: Witness indistinguishability [FS90] Non-malleability [DDN91] Zero knowledge [DNS98], followed by [KPR98, RK99, R00, KP01, CKPR01, B01, PRS02] and much more… There have been many later works on a variety of problems (e.g., oblivious transfer [GM00], key exchange [CK02], authenticated Byzantine agreement [LLR02]). General Feasibility? The above-mentioned work all considered a very limited type of composition: The same protocol running many times and where parties have “fixed roles”. In addition, the above all considered specific tasks (and not general feasibility for secure multiparty computation). A Research Project in Progress Understand the feasibility of obtaining security under concurrent composition: Formalize security in a setting where many different protocols are executed concurrently Provide answers to the question of whether or not security can be achieved in this setting, and under what assumptions. Construct secure protocols, where possible. Restating the Project Aim Background: It has been shown that security in the stand-alone setting does not imply security under protocol composition. Therefore, the feasibility results of the late 80’s do not hold in this setting. Fundamental question: Is it possible to achieve security in the setting of protocol composition, and if yes, for what problems and under what assumptions? Concurrent General Composition A secure protocol runs together with arbitrary network activity. Arbitrary network activity The arbitrary network activity can include both secure and insecure protocols Realistically models setting of modern networks. Secure protocol interaction Security: General Composition Arbitrary network activity Arbitrary network activity adversary A Secure protocol interactions REAL Trusted party IDEAL Security: General Composition Arbitrary network activity Arbitrary network activity adversary A Secure protocol interactions REAL adversary S Trusted party IDEAL Security: General Composition Arbitrary network activity Arbitrary network activity adversary A Secure protocol interactions REAL adversary S Trusted party IDEAL Step 1: Formalizations of Security Aim: provide a definition with which it is possible to prove the security of protocols under concurrent general composition Preferably, the definition should relate to a standalone setting, and security under composition should be derived via a composition theorem First rigorous definition (and composition theorem) provided in [PW00] Considered the case that a secure protocol is run once in an arbitrary network (system) Security in the General Case Universal composability (UC-security) [Ca01]: Considers the case that secure protocols are run any polynomial number of times in an arbitrary network As with previous work, the definition relates to a “stand-alone setting”, and is accompanied by a “composition theorem” Theorem: any protocol that is UC-secure remains secure under concurrent general composition Note: UC is a definition of security, the security goal is that of concurrent general composition. Feasibility of UC Security The Good News: Theorem 1: Assuming that a majority of the parties are honest, there exists a UC-secure protocol for any multiparty functionality [C01]. Theorem 2: In the common reference string model*, there exists a UC-secure protocol for essentially any multiparty functionality and for any number of corrupted parties [CLOS02]. *In the common reference string model, a string is chosen according to a predetermined distribution and posted on a “secure” bulletin board. Feasibility of UC Security Recall: any protocol that is UC-secure, is secure under concurrent general composition. Therefore, security under concurrent general composition (and thus security in real network settings) can be achieved: assuming an honest majority or assuming a common reference string and under appropriate complexity assumptions Honest Majority and Trust Assuming an honest majority or a trusted setup phase is highly undesirable: Honest majority – not realistic for many modern settings Trusted setup phase – who do we trust? (A lot of damage if trust is broken.) Question: Can we achieve UC-security without these assumptions? First ominous sign: It is impossible to construct UC-secure zero-knowledge and commitment protocols (for a specific formulation) [CF01,Ca01] What about other formulations, other functionalities? Broad Impossibility for UC Theorem [CKL03]: In a setting with no honest majority and no trusted setup, there exist large classes of functions that cannot be computed under the definition of UC-security. For example, if any privacy of inputs is preserved by the function, then it cannot be securely computed under the UC definition. Key exchange, secure channels, signatures are exceptions and can be realized [CK02,Ca04] Alternatives to UC? Fact 1: the UC definition provides very strong security guarantees. Fact 2: the UC definition suffers from severe impossibility results. Aim: find a different definition that provides the same security guarantees, and doesn’t suffer from the UC impossibility results. Reason for hope: UC is a very stringent definition (significantly more stringent than stand-alone defs) We also have other existing definitions, what about [PW00]? Alternatives Do Not Exist Theorem [L03a]: Any protocol that is secure under concurrent general composition, is also UC-secure. This holds even if the secure protocol is executed only once in an arbitrary network. Corollary: Any definition that implies security under general composition suffers from broad impossibility results. This includes the definition of [PW00]. Interpretation of the Result We prove this theorem for a specific definition of security under concurrent general composition The definition is arguably as “weak as possible”, while still within the ideal/real model paradigm However, it may be possible to bypass this with weaker definitions (we will discuss this later). Nevertheless, the desired (natural) definition is completely ruled out. What Now? It is desirable to obtain security Without an honest majority (arguably, essential) Without a trusted setup phase (who do we trust?) But we cannot obtain security under general composition in this case! Suggestion: consider weaker notions of composition Self Composition Many executions of a single protocol. Captures the issue of many executions of a secure protocol, but not the interaction with other secure or insecure protocols. Define an IDEAL world with many calls to a trusted party. Secure protocol interaction Feasibility of Self Composition Self composition seems much easier: No interaction of different secure protocols together No arbitrary (possibly insecure) protocol running alongside Can secure protocols be constructed for this (weaker) notion of composition? Equivalence and Impossibility Theorem [L04a]: A protocol securely computes a function under self composition if and only if it securely computes it under general composition. Corollary: all the impossibility results for general composition hold for self composition as well. Proof of Equivalence General composition self composition: Easy: self composition is a special case of general composition Self composition general composition: Main observation: a protocol execution can be used by the parties to send arbitrary bits to each other. Proof of Equivalence Assume that a protocol is secure under self composition. Emulate the arbitrary network by running many copies of only: An execution of is just an execution of . An arbitrary message of length m is sent by running m copies of , sending 1 bit each time. Since remains secure in this emulation, it also remains secure under general composition. Bypassing the Impossiblity Direction 1: Consider restricted networks (for example, restrict concurrency in some way) Restriction should still be realistic enough to model real network settings Direction 2: Consider weaker notions of security Definitions should still be strong enough to provide real security guarantees Restricted Network Settings Two Types of Restrictions Assumptions on the network: Enforceable policy: Assume that the network behaves in a certain way. E.g., TIMING assumptions. Honest parties agree to behave in a certain way. E.g., SELF composition, honest parties keep some inputs independent from other executions. Preferable to not have either of the above: If we do adopt a restriction: the more reasonable, the better. Bounding the Number of Executions (Network Assumption) What about m-bounded concurrent self composition? Assume a bound m on the number of concurrent executions Design a protocol that remains secure for up to m concurrent executions only Note 1: for general composition impossibility holds even for one execution. We therefore only consider self composition here. Note 2: this assumption is very problematic… Lower Bounds Black-box simulation: Protocols for m-bounded concurrent self composition require at least m rounds of communication [L03b] General (even non-black-box) simulation: Protocols for m-bounded concurrent self composition require at least m bits of communication [L04a] Positive Results (Protocols) Theorem [L03b]: Theorem [PR03]: Every two-party function can be securely computed under mbounded self composition, in a constant number of rounds. Theorem [P04]: Every two-party function can be securely computed under mbounded self composition. Every multi-party function can be securely computed under mbounded self composition, in a constant number of rounds. A non-constant-round protocol also exists without any corruption limitation. (Previous protocols had such a limitation.) Note: These protocols still have high bandwidth (as they must due to the communication complexity lower bound). Timing Assumptions Assume that: Local clocks have small drift (network assumption) Bound on network latency can be estimated (needed only for validity, not security) Arguably, timing assumptions are very realistic (much moreso than bounded composition, for example). Positive Result Theorem [L04b]: Every two-party function can be securely computed under self composition with timing assumptions. Limitations: Two-party versus multi-party Considers only two parties running many executions (this generalizes to client/server model with corruption limitation, but is still limited). Nevertheless promising… Local Sequentiality Honest parties locally run executions strictly sequentially (enforceable policy) in a multiparty network Note: globally, there is concurrency Theorem [L04b]: If a protocol securely computes a function under locally sequential self composition, then it securely computes it under concurrent self composition (with fixed scheduling). Weaker Notions of Security The Main Idea Provide the IDEAL adversary with more power than the REAL adversary. Used by [P02] for concurrent zero-knowledge (real adversary=polynomial; ideal adversary=quasipolynomial). “Generalized UC” [PS04] Alternative definition based on UC Security guarantee: any protocol that is secure under “generalized UC” has the following property: For every REAL (probabilistic polynomial-time) adversary there exists an IDEAL (super-polynomial time adversary) that provides the security guarantees of concurrent general composition with respect to every arbitrary NETWORK. Theorem [PS04]: There exist protocols for securely computing any multiparty functionality under the definition of “generalized UC”, for any number of corrupted parties and without setup assumptions. Summary & Conclusions Summary of Positive Results Any multi-party functionality can be securely computed under concurrent general composition: Assuming an honest majority [C01] Without an honest majority but in the common reference string model [CLOS02] Summary of Positive Results Restricted network models: Any multi-party functionality can be securely computed under bounded self composition, without an honest majority or trusted setup phase [L03b,PR03,P04] Any two-party functionality can be securely computed under self composition with timing, without a trusted setup phase [L04b] Weaker notions of security: Any multi-party functionality can be securely computed under generalized UC, without an honest majority or trusted setup phase [PS04] Summary of Impossibility Without an honest majority or a trusted setup phase: Broad impossibility results for universal composability [CKL03] These impossibility results extend to any definition that achieves security under concurrent general composition [L03a] By the equivalence between self and general composition, we also have broad impossibility results for (unbounded) self composition [L04a] and even locally sequential self composition [L04b]. There are also lower bounds on bounded concurrent self composition [L03b,L04a] Future Research Due to the extensive impossibility results, alternative avenues need to be explored: Continue studying feasibility in (realistic) restricted networks: Has proven successful wrt bounded self composition and timing. Other possibilities… Consider weaker notions of security definitions: Initial steps in this direction have already been taken with success in [PS04] What about complexity assumptions? Other notions? Final Word Concurrent composition is a fact of life of real network settings. Protocols that are proven secure in the stand-alone model are not necessarily secure under composition. Therefore, it does not suffice to prove that a protocol is secure in the stand-alone model. If we want to promote the use of “provably secure” protocols, we must prove them secure in the right model.