Secure Composition of Cryptographic Protocols Vipul Goyal Microsoft Research, India 1 Secure Computation Protocols [Yao86, GMW87] x2 x1 f(x1,x2,x3,x4) x3 x4 No information other than f(x1,x2,x3,x4) 2 Secure Computation Protocols contd.. • General positive results [Yao86, GMW87]: secure protocols can be constructed for any poly-time computable functionality • Designing cryptographic protocols was a difficult and error prone task: these results show that the design can in fact be automated • Secure computation: vibrant research area for the past two decades; large body of published literature 3 Concurrent Security •The classical results are only in the standalone setting; only one protocol execution • Network setting: possibility of man-in-the-middle attack 4 General Concurrent Setting A • Very realistic setting: for e.g., protocols running over Internet 5 Concurrent Security: Model view 6 Concurrent Security • Strong and far reaching impossibility results in “plain model” [CF’01, Lin’03a, Lin’03b, CKL’03, Lin’04, BPS’06] • We will later show example of an attack over protocols in the concurrent setting 7 Talk Overview • Chosen protocol attack to break security in the concurrent setting • Natural way of constructing concurrent protocols and the main problem that arises • The general paradigm to construct concurrent protocols Multiple ideal call model Prediction paradigm Resettable computation protocols • Conclusion and open problems 8 Chosen Protocol Attack • Consider any protocol π for ZK (AOK) functionality: prover proves it knows w • Another protocol π’ chosen according to π. In π’: If party1 can successfully prove knowledge of w (which a verifier of π would accept), party2 gives out w itself: mutual authentication • They are both secure standalone. Note that adv can get w in the real world. π’ π w 9 Chosen Protocol Attack: Ideal World • Adv has no way of proving the statement when π replaced by ideal execution •Shows impossiblity of such a π even when only 2 executions w 0/1 π’ ┴ 10 Concurrent Self Composition • Now say just a single protocol π (multiple copies running); still define π’ as earlier (not executed over the network) • Idea: We will eliminate party2 of π’ by converting it into a bunch of garbled circuits and giving to adv Take the next message function of party2 in different rounds, construct GC and give to Adv (as aux input) π π’ . . w 11 Concurrent Self Composition: Problem • Problem: Who has the GC keys? Bob should have it • Adv needs to perform OT with Bob to execute the GC π π’ . . w 12 ZK + OT functionality [BPS’06] 1 or 2, input 1 or 2, input • Mode 1: plain ZK functionality • Mode 2: plain OT functionality Concurrent Self Composition • Adv gets the message to be fed to GC; puts this execution of π on hold • Starts another concurrent session of π in the OT mode; gets the relevant wire keys; evaluates GC • Adv still can’t get w from GC’s in the ideal world (even given aux input): real world has msg of ZK mode but not ideal π’ π m m . . 14 Getting Positive Results: General Paradigm 15 Simulators in Standalone Setting • Simulator: Rewind and Extract Adv input Query TP to get output Continue • This way, can argue adv learns no more than output XA Extract XA F(XA,XH) F S A 16 Understanding Concurrent Setting • Simulator would again extract input by rewinding (in the concurrent setting), query TP and continue • Any type of rewinding by the simulator is a fundamental problem 17 Main Problem: Specific Adversary F A S • Say Sim rewinds blue session anywhere • The inner session executed twice fully from the beginning • Adv may choose a different input each time . . 18 Main Problem Contd.. F A S • How does the adversary get the outputs and continue in green session? • Allowed to query F only once per real world session . . 19 More Details X X’AA Extract X’AX ≠X Extract AA F(X’ F(XA, XHH)) A,X F S m' m1,1 1,1 m' m2,1 2,1 m' m2,2 2,2 m' m2,3 2,3 m1,2 m' 1,2 m1,3 A • Our simulation is based on rewinding • Adversary controls scheduling of messages S extracts adv’s input in each session arbitrary interleaving : a session s1 may “contain” another During simulation, S may rewind past s2 while simulating s1 session s2 A may change input every time s2 is re-executed • Sim can only query once per session; adv may keep aborting and all rewinds may fail; real concern 20 The General Paradigm • The key to a positive result lies in overcoming this problem (differently in different settings) •Protocol very natural (similar to GMW paradigm): Take a protocol providing security against semi-honest adversary Compile it with concurrent ZK (For stronger notions, compiling with concurrent nonmalleable zero-knowledge [Barak-Prabhakaran-Sahai’06] may be necessary) • Keep in mind: Need to successfully rewind at least once (in each session) to extract 21 The Multiple Call Model 22 Relaxed Security Notion • Allow multiple calls per session in the ideal world • Problem goes away, simulator can continue If a session executed multiple times with different inputs, just query the TP multiple times for it; get output; continue • In particular, positive result known with (expected) constant number of ideal calls per real world session [G-Jain-Ostrovsky’10] 23 The Security Guarantee • Normal security guarantee: adv learns no more than one output on an input of its choice •New security guarantee: learns no more than a few outputs on inputs of its choice • Guarantee still meaningful: adv can’t learn input or an arbitrary function of the input • e.g., if the functionality only gives out signatures on even numbers, adv can’t get signature on an odd number 24 Concurrent password based key exchange • A positive result in this model directly leads to the first concurrent PAKE in the plain model [G-JainOstrovsky’10] • Any construction in this model shown to satisfy Goldreich-Lindell’01 definition of PAKE • More general: settings of authentication/access control Say adv succeeds in guessing only with negl probability. Situation remains same even if you allow constant (or even poly) guesses 25 Open Problem • What if simulator only allowed to make strict constant number of calls per session (rather than expected) • Efficiency related questions: round complexity / communication complexity 26 The Prediction Paradigm 27 Prediction Paradigm [G’11] • Now we stick to the standard definition; positive results hard to come by • High level idea: How do we get the output w/o querying TP? We try to predict • Can argue prediction important in some sense to get a result in the plain model; if you can’t predict, no secure protocol exists for that functionality 28 Single Input Setting: Minimal Clean Model of CSC Various clients, concurrently interacting with a server, holding a single fixed input x y1 x1 . x . xn Server . . . f(x, y1) yn f(x, yn) Clients 29 Positive Results in this Setting • Almost all functionalities can be securely realized in the single input setting – Plain model, standard definition • More precisely: all except where ideal functionality behaves as a (worst case hard) PRF 30 Positive result implications: Examples • Private database search: Server holds dbase with k entries, clients holds predicates f1(.) entry1 entry2 . . entryk Server . . . gets entryi if f1(entryi) = 1 fn(.) • Immediately gives concurrent private information retrieval, keyword search / pattern matching, etc 31 Examples contd.. • Privacy preserving data-mining: secure set intersection, computing the k-th ranked element, etc • We get concurrently secure protocols for all these functionalities of special interest • Password based key exchange: (only) previous result [GJO’10] was according to a weaker definition of [GL’01], strict improvement 32 Prior to this result • Only known result in the plain model, (fully) concurrent setting: zero-knowledge functionality [DNS’98, RK’99, …] 33 Prediction paradigm: Example F A S • Sim can rewind several times/ at several places; problem • Try to predict output and complete at least one rewinding • FAIL: if Adv keeps aborting everywhere; Adv may have aux . . 34 PAKE Example . . Extract PA PH A S . . • TP answers whether or not given password is correct (PA = PH) • Can predict correctly (with noticeable probability) with at most 1 failed rewinding • Sim rewinds; extracts in green session; can’t query TP • Simply predicts the output to be 0 (wrong password) 35 PAKE Example . . PH A S . . • Simply predicts the output to be 0 (wrong password) • Rewinding strategy failure => predicted output distinguishable (from correct) • Output must have been 1, PA must be the correct password!! • Now sim can in fact execute the protocol honestly!!! 36 Previous Works • Results on concurrent ZK can be seen as a special case of this paradigm (nothing to predict; output is known) • Bounded concurrent setting: special case where prediction required only in bounded number of rewindings 37 Open Problems • Round Complexity: very high; large polynomial depending upon the input size; functionality; security parameter …. • Extend results beyond the single input setting: lot to gain if the prediction paradigm can be generalized 38 Resettable Computation Protocols 39 Typical Secure Computation Protocol x3 x2 x1 f(x1,x2,x3,x4) x4 40 Resettable (Prover) Zero Knowledge Statement: x in L R, W Prover Verifier Verifier12 [Cannetti-Goldreich-Goldwasser-Micali’00] Resettable zeroknowledge arguments exist under standard cryptographic assumptions 41 Resettable Prover ZK and Concurrent ZK Resettable prover ZK is also concurrent ZK Verifier Prover Verifier 42 Resettable Verifier Zero Knowledge R W W2 1 Prover21 Prover Verifier [Barak-Goldreich-Goldwasser-Lindell’01] Resettable Verifier zero-knowledge arguments exist under standard cryptographic assumptions 43 Other Works Studying Resettable Model • [Micali-Reyzin (Eurocrypt 2001)], [Bellare-FishlinGoldwasser-Micali (Eurocrypt 2001)], [MicaliReyzin (Crypto 2001)], [Barak-Lindell-Vadhan (FOCS 2003)], [Zhao-Ding-Lee-Zhu (Eurocrypt 2003)], [Yung-Zhao (Eurocrypt 2007)], [Deng-Lin (Eurocrypt 2007)] • Consider only zero-knowledge (or closely related) functionalities 44 Question • Do there exist functionalities other than zero knowledge for which resettably secure protocols are possible? 45 Resettable Secure Computation [G-Sahai’09, G-Maji’11] • General completeness theorem: For every (PPT computable) two party functionality, there is a resettably secure protocol • [G-Sahai’09]: Setting involves a smartcard and a user. User can reset the smartcard anytime. Protocol insecure if smartcard can reset user • [G-Maji’11]: general setting; any number of parties can be reset by the adv anytime Build on the techniques of simultaneous resettable ZK by Deng-G-Sahai’09 46 Stateful Computation 0x0a3c3870fb 0x0a4c1833a1 0x0a3c387 0x0a3c 0x0 47 Stateless Computation m2 F(m2) m2’ F(m2’) F • Parties in the protocol can be made stateless • Parties don’t need to maintain state about any execution, can help in preventing DoS attacks, etc 48 Impossibility of Concurrently Secure Protocols • Resettable Protocols are Concurrently Secure too • Far reaching impossibility results [Lin03, Lin04, BPS06] ruling out concurrently secure protocols for a large class of functionalities • Are we stuck? 49 Model • Adversarial user has the power to reset and interact with the smartcard as many times as it wants (in the real model) • Simulation only possible if an equivalent power given in the ideal model • Thus, in the ideal model, adv user given the power to reset the ideal functionality and interact many times 50 Ideal Model: Resettable 2pc • Both parties send their inputs x1 and x2 to TP • TP computes result f(x1, x2) and sends it to the adversary • Unless adversary aborts, TP sends f(x1, x2) to the honest party • The adversary can signal reset to the trusted party. Ideal world comes back to the initial state where adv can choose a different input (and get another output) • Thus: we have solved the problem of multiple calls 51 Open Problems • Round Complexity: Current protocols have polynomial round complexity • Assumptions: What can we do without assuming NIZK’s? – Even for weaker notions • General study of using same / correlated randomness, or, same / correlated state in cryptographic protocols 52 General Technique: Other Applications • Super-polynomial simulation [Garg-G-JainSahai’11] • Input indistinguishable computation [GargG-Jain-Sahai’11] 53 Conclusion and Open Problems • Most of the protocols have round complexity anywhere from super log to a large polynomial • Round Complexity: could be improved for many protocols if we could resolve the problem of constant round concurrent ZK (and concurrent NM ZK) • What is the right notion of concurrent security which is still achievable? Seems several incomparable notions 54 Conclusion and Open Problems • Nice thing: for many of these notions, the protocols are now very similar (based on compiling with C-ZK or CNMZK) • Can we understand what is the security guarantee that the protocol achieves: of course can list all the models in which it is secure one by one. But we believe that the world is more beautiful than that. 55 Thank You! 56