1 Nancy Lynch MIT, EECS, CSAIL Workshop on Discrete Event Systems (Wodes ’06) Ann Arbor, Michigan July 11, 2006 Analyzing Security Protocols using Probabilistic.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Universally Composable Symbolic Analysis of Cryptographic Protocols
Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
Cryptography and Game Theory: Designing Protocols for Exchanging Information Gillat Kol and Moni Naor.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
8/25/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 1 Theory of Computation Course information Overview of the area Finite Automata Sofya.
Foundations of Cryptography Lecture 11 Lecturer: Moni Naor.
Timed Automata.
Semi-Honest to Malicious Oblivious-Transfer The Black-box Way Iftach Haitner Weizmann Institute of Science.
Rational Oblivious Transfer KARTIK NAYAK, XIONG FAN.
Foundations of Cryptography Lecture 5 Lecturer: Moni Naor.
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 4 Lecturer: Moni Naor.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Modeling and Analyzing Security Protocols using I/O Automata Nancy Lynch, MIT CSAIL DIMACS Security Workshop June 7, 2004.
Luca de Alfaro Thomas A. Henzinger Ranjit Jhala UC Berkeley Compositional Methods for Probabilistic Systems.
Modeling Insider Attacks on Group Key Exchange Protocols Jonathan Katz Ji Sun Shin University of Maryland.
1 Formal Models for Stability Analysis : Verifying Average Dwell Time * Sayan Mitra MIT,CSAIL Research Qualifying Exam 20 th December.
1 Stability of Hybrid Automata with Average Dwell Time: An Invariant Approach Daniel Liberzon Coordinated Science Laboratory University of Illinois at.
CS 395T Computational Soundness of Formal Models.
Session 4 Asymmetric ciphers.
Introduction to Computability Theory
An Introduction to Input/Output Automata Qihua Wang.
Analysis of Security Protocols (V) John C. Mitchell Stanford University.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
1 © IBM, A Reactively Secure Dolev-Yao-style Cryptographic Library DIMACS, June 2004 Michael Backes, Birgit Pfitzmann, Michael Waidner IBM Research,
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
The Power of Simulation Relations Sixty and Beyond Toronto, August 20, 2008 Roberto Segala - University of Verona 1 The Power of Simulation Relations Roberto.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
Programming Language Semantics Denotational Semantics Chapter 5 Part III Based on a lecture by Martin Abadi.
Universally Composable Symbolic Analysis of Security Protocols Jonathan Herzog (Joint work with Ran Canetti) 7 June 2004 The author's affiliation with.
Propositional Calculus Math Foundations of Computer Science.
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
How to play ANY mental game
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
1 Program Correctness CIS 375 Bruce R. Maxim UM-Dearborn.
Slide 1 Vitaly Shmatikov CS 380S Introduction to Secure Multi-Party Computation.
Secure two-party computation: a visual way by Paolo D’Arco and Roberto De Prisco.
1 IOA: Mathematical Models  Distributed Programs Nancy Lynch November 15, 2000 Collaborators: Steve Garland, Josh Tauber, Anna Chefter, Antonio Ramirez,
Channel Capacity.
Foundations of Cryptography Lecture 6 Lecturer: Moni Naor.
Cryptography Lecture 2 Arpita Patra. Summary of Last Class  Introduction  Secure Communication in Symmetric Key setting >> SKE is the required primitive.
Password Mistyping in Two-Factor Authenticated Key Exchange Vladimir KolesnikovCharles Rackoff Bell LabsU. Toronto ICALP 2008.
Timed I/O Automata: A Mathematical Framework for Modeling and Analyzing Real-Time Systems Frits Vaandrager, University of Nijmegen joint work with Dilsun.
Game-based composition for key exchange Cristina Brzuska, Marc Fischlin (University of Darmstadt) Nigel Smart, Bogdan Warinschi, Steve Williams (University.
1 IOA: Distributed Algorithms  Distributed Programs Nancy Lynch PODC 2000 Collaborators: Steve Garland, Josh Tauber, Anna Chefter, Antonio Ramirez, Michael.
Secure Computation Lecture Arpita Patra. Recap >> Improving the complexity of GMW > Step I: Offline: O(n 2 c AND ) OTs; Online: i.t., no crypto.
Feasibility and Completeness of Cryptographic Tasks in the Quantum World Hong-Sheng Zhou (U. Maryland) Joint work with Jonathan Katz (U. Maryland) Fang.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
On the Notion of Pseudo-Free Groups Ronald L. Rivest MIT Computer Science and Artificial Intelligence Laboratory TCC 2/21/2004.
Chapter 21 Asynchronous Network Computing with Process Failures By Sindhu Karthikeyan.
Secure Computation (Lecture 9-10) Arpita Patra. Recap >> MPC with honest majority in i.t. settings > Protocol using (n,t)-sharing, proof of security---
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
ECE/CS 584: Verification of Embedded Computing Systems Model Checking Timed Automata Sayan Mitra Lecture 09.
Universally Composable Authentication and Key-exchange with Global PKI Ran Canetti (TAU and BU) Daniel Shahaf (TAU) Margarita Vald(TAU) PKC2016 Taipei,
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
1 Modeling and Analyzing Distributed Systems Using I/O Automata Nancy Lynch, MIT Draper Laboratory, IR&D Kickoff Meeting Aug. 30, 2002.
Topic 36: Zero-Knowledge Proofs
CIS Automata and Formal Languages – Pei Wang
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
Modeling and Analysis of Complex Computational Systems
Presentation transcript:

1 Nancy Lynch MIT, EECS, CSAIL Workshop on Discrete Event Systems (Wodes ’06) Ann Arbor, Michigan July 11, 2006 Analyzing Security Protocols using Probabilistic I/O Automata

2 References Authors: Ran Canetti, Ling Cheung, Dilsun Kaynar, Moses Liskov, Nancy Lynch, Olivier Pereira, Roberto Segala Using Probabilistic I/O Automata to Analyze an Oblivious Transfer Protocol. MIT CSAIL-TR , August ‘05. Revision, CSAIL-TR , June ‘06. Task-Structured Probabilistic I/O Automata. WODES ’06. Full version in progress. Using Task-Structured Probabilistic I/O Automata to Analyze an Oblivious Transfer Protocol. CSAIL-TR , June ‘06. Time-Bounded Task-PIOAs: A Framework for Analyzing Security Protocols. DISC ’06.

3 General goals Develop techniques for – Modeling security protocols precisely. – Proving their correctness rigorously. Techniques should handle both functional correctness and security properties. Should be able to describe cryptographic primitives, computational limitations. Tractable, usable methods.

4 I/O Automata models and methods Our favorite tools for modeling, analyzing distributed algorithms, communication protocols, safety-critical systems,… Describe systems using: – I/O Automata (IOA) [Lynch, Tuttle] – Timed I/O Automata (TIOA) [Kaynar, Lynch, Segala, Vaandrager] – Hybrid I/O Automata (HIOA) [Lynch, Segala, Vaandrager] – Probabilistic I/O Automata (PIOA) [Segala, Lynch] Prove correctness using: – Compositional methods: Infer properties of a system from properties of its pieces. – Invariant assertions: Properties that hold in all reachable system states. – Simulation relations: Relate system descriptions at different levels of abstraction.

5 Uses of I/O Automata Basic I/O Automata: – Basic distributed algorithms: Consensus, mutual exclusion, spanning trees,… Timed I/O Automata: – Communication protocols. – Timing-sensitive distributed algorithms. – Simple hybrid systems. Hybrid I/O Automata: – More complex hybrid systems (controlled vehicles, aircraft). – Mobile ad hoc networks. Probabilistic I/O Automata: – Randomized distributed algorithms. So, they should work for Security Protocols too!

6 An early attempt [Lynch, CSFW 99] I/O Automata models and proofs of shared-key communication systems Models: – Diffie-Hellman key distribution protocol, and – Shared-key communication protocol that uses the keys. Proves correctness and secrecy for the complete system, using a composition theorem. No probabilities used here---just plain I/O Automata. Treats the cryptosystem formally (algebraically) not computationally.

7 Limitations of this approach Doesn’t describe some key features of cryptographic protocols: – Computational limitations. – Probabilistic behavior. – Small probabilities of guessing secret information. – “Knowledge” of a fact (rather than a value). So, we decided we needed a modeling framework that supports these features too.

8 New, concrete goal Prove correctness of a simple 2-party Oblivious Transfer protocol [Goldreich, Micali, Wigderson 87]. Oblivious Transfer requirements: – Transmitter gets input bits, x0 and x1, from the “Environment”. – Receiver gets input bit i, an index it uses to choose an input. – Receiver should output only the chosen Transmitter input xi. – Adversary (who hears all communication) shouldn’t learn anything. Requirements include both functional correctness and secrecy properties. in(i) out(xi) Trans Rec Adv in(x0,x1)

9 Four versions of the problem Depending on whether Transmitter and/or Receiver is corrupted. Adversary also sees inputs, outputs, random choices of corrupted parties. But it should not learn anything else.

10 Oblivious Transfer Protocol Trans chooses a random trap-door permutation f, sends to Rec. Rec chooses random numbers y0 and y1, computes f(yi), where i is its input, keeps y(1-i) unchanged, sends results to Trans. Trans applies f -1 to both, extracts hard-core bits, xors them with its inputs x0 and x1, sends results back to Rec. Rec decodes the chosen value. in(i) out(xi) Trans Rec Adv in(x0,x1)

11 PIOA modeling Use PIOAs to model both protocol and requirements specification. E.g. Specification, when no one is corrupted: Specification, when Rec is corrupted: Funct in(i) out(xi) in(x0,x1) Sim Funct in(i) out’(xi) in(x0,x1) Sim out(xi)

12 Showing the protocol “implements” the specification system: Uses new implementation notion, ≤ neg,pt. Relates Protocol PIOA system to Specification PIOA system. “For every poly-time- bounded environment PIOA E, every probabilistic execution of Protocol + E yields “approximately the same” external behavior as some probabilistic execution of Spec + E.” Approximation: Negligible difference in probability that E “accepts”. Expresses functional correctness and secrecy. Sim Funct in(i) out(xi) in(x0,x1) in(i) out(xi) Trans Rec Adv in(x0,x1)

13 Proving correctness Break the proof into several stages, using system descriptions at several levels of abstraction. Prove some stages using PIOA simulation relations. – Assertions relating states of the two PIOAs. – Use a new type of simulation relation, more general than previous PIOA simulation relations. – Can express complex correspondences between random choices at different levels. – These prove not just ≤ neg,pt, but stronger ≤ 0. Other stages involve secrecy aspects of a cryptographic primitive (a trap-door function). – Proofs adapted from computational crypto “Distinguisher” arguments. – Usually proved by contradiction. – We recast in terms of mappings between PIOAs, without contradictions.

14 What’s new here? Modeling everything, in complete detail, using PIOAs: – Protocols. – Requirements, including functionality and secrecy. Proofs using simulation relations, in several stages. – Some stages use PIOA simulation relations. – Other stages express Distinguisher arguments. – Separates different types of reasoning. Needed some new PIOA theory: – Task-PIOAs, for resolving scheduling nondeterminism. – A new kind of simulation relation. – A way to express polynomial-time computation restrictions. New ways of expressing computational crypto reasoning: – Redefine cryptographic primitives using ≤ neg,pt. – Infer ≤ neg,pt for systems that use the primitives.

15 Related work [Segala 95] Probabilistic I/O Automata theory [Canetti 01] Universally Composable (UC) security [Pfitzmann, Waidner 01], [Backes, Pfitzmann, Waidner 04] Composable security [Mitchell et al.] Modeling/analyzing security protocols using process algebras, with probabilistic poly-time processes. [Shoup 04] Cryptography proof sketches using many levels of abstraction (“games”). Work on protocol proofs using formal cryptography, e.g., [Dolev, Yao 83], [Lynch 99]. Work on protocol proofs using computational cryptography. Work relating the two, e.g. [Abadi, Rogaway 02], [Canetti, Herzog 05].

16 Talk Outline: 1. Overview (done) 2. Task-PIOAs 1. PIOAs (review) 2. Task-PIOA definitions 3. New simulation relation 4. Adding computational limitations 3. Oblivious Transfer Modeling and Analysis 1. Specification model 2. Protocol model 3. Correctness theorems 4. Modeling the cryptographic primitives 5. Correctness proof 4. Conclusions

17 2. Task-PIOAs

PIOAs [Segala] A PIOA P consists of: Q: a countable set of states, q: a start state, I, O, and H: countable sets of input, output, and internal actions D, a transition relation---a set of triples of the form (state, action, probability measure on states). Axioms: Input-enabling Next-transition determinism PIOAs can make both Nondeterministic choices (next action), and Probabilistic choices (next state). Closed PIOA: No input actions.

19 PIOAs Scheduler for a PIOA P: – Chooses the next action (fine-grained control). – Choice may depend on entire prior history (full information). PIOA + Scheduler yield: – Probabilistic execution – Trace distribution (probability measure on sequences of external actions) Operations: – Composition – Hiding (of output actions) Simulation relation notion – Relates states to distributions on states. – Implies inclusion of sets of trace distributions.

20 PIOAs Traditional PIOA schedulers are too powerful for the security protocol setting: – Choose the next action (fine-grained control). – Choice may depend on entire prior history (full information). In particular, scheduling choices may depend on secret information, supposedly hidden in the states of non- corrupted protocol participants. Scheduler can “leak” secret information to adversarial parties, by encoding it in the choices of scheduled actions. This led us to define more restricted, partial-information “task schedulers”.

Task-PIOA definitions Task-PIOA T = (P,R) – PIOA + equivalence relation on output and internal actions. – Task: Equivalence class E.g., “send” actions for round 1 messages. – Action determinism: At most 1 action in each task enabled in each state. Task schedule: Arbitrary sequence of tasks. – Models an oblivious task scheduler. – Does not depend on dynamic information generated during execution. Applying a task schedule to the initial state: – Resolves all nondeterminism. – Yields unique probabilistic execution, unique trace distribution. More generally, we can applying a task schedule to: – A probability distribution on states, or even – A probability distribution on finite executions.

22 Task-PIOA operations Composition: – Compose the PIOAs. – Take the union of the sets of tasks. Hiding (of actions).

23 Task-PIOA implementation relation Environment E for T: – Task-PIOA that “closes” T. – Has special “accept” output action. Used to express E’s distinguishing power. T 1 ≤ 0 T 2 : – For every environment PIOA E for both T 1 and T 2, every trace distribution of T 1 || E (obtained from any task schedule) is also a trace distribution of T 2 || E (obtained from some task schedule).

24 Task-PIOA Compositionality Theorem: If T 1 ≤ 0 T 2 then T 1 || T 3 ≤ 0 T 2 || T 3. Proof: Straightforward, because of the way the implementation notion ≤ 0 is defined (in terms of mappings from environments to sets of trace distributions).

New kind of simulation relation For comparable, closed task-PIOAs T 1 and T 2. ε 1 R ε 2, for probability measures ε 1 and ε 2 on finite execs of T 1 and T 2 with the same trace distribution. Uses expansion operator Exp(R) on such relations R. Two conditions (slightly simplified): – Start condition: Start states of T 1 and T 2 are R-related. – Step condition: There is a mapping c from tasks of T 1 to finite sequences of tasks of T 2 such that, if ε 1 R ε 2 and t is a task of T 1, then apply(ε 1,t) Exp(R) apply(ε 2,c(t)). More general than requiring apply(ε 1,t) R apply(ε 2,c(t)). Soundness: Every trace distribution of T 1 is a trace distribution of T 2.

26 New simulation relation Flexible. Allows us to relate individual results of random choices at two levels: R R

27 New simulation relation Allows us to relate random choices made at different times at the two levels. R R R choose y compute z choose z

28 Soundness of simulation relations Theorem: Every trace distribution of T 1 is also a trace distribution of T 2. Proof: By a somewhat involved inductive argument.

Adding computational limitations b-time-bounded task-PIOA (b a constant): States, actions, transitions, etc. have bit-string representations, length ≤ b, identifiable in time ≤ b. Time ≤ b to determine next action, next state. b-time-bounded task schedule: At most b tasks in the sequence. Extend to indexed families of tasks and task schedules, where b is a function of the index.

30 New notion of implementation T 1 ≤ neg,pt T 2 : – “For every poly-time-bounded environment E for both T 1 and T 2, every trace distribution of T 1 || E (with any poly-time task schedule) is approximately the same as some trace distribution of T 2 || E (with some poly-time task schedule).” – “Approximately the same”: Difference in probability that E outputs “accept” is negligible ≤ neg,pt transitive. ≤ neg,pt preserved by composition.

31 Talk Outline: 1. Overview (done) 2. Task-PIOAs (done) 1. PIOAs (review) 2. Task-PIOA definitions 3. New simulation relation 4. Adding computational limitations 3. Oblivious Transfer Modeling and Analysis 1. Specification model 2. Protocol model 3. Correctness theorems 4. Modeling the cryptographic primitives 5. Correctness proof 4. Conclusions

32 3. Oblivious Transfer protocol modeling and analysis

Specification: Receiver corrupted Funct: – State: inval(Trans), inval(Rec) – Transitions: Record inputs, output inval(Trans)(inval(Rec)) Functional correctness + secrecy. Sim: – Sees Rec input. – Gets output (the chosen input) from Funct; relays to environment. – Arbitrary other interactions with environment. – Doesn’t learn (or reveal) non-chosen input. Funct in(i) out’(xi) in(x0,x1) Sim out(xi)

OT protocol model: Rec corrupted Trans, Rec Adversary communication service: – Can eavesdrop, delay, reorder, drop messages. – Sees Rec inputs. – Relays output from Rec to Envt. – Arbitrary other interactions with Envt. Random sources Src tdpp, Src yval in(i) out(xi) in(x0,x1) Rec Adv Trans tdpp yval out’(xi)

35 OT Protocol, overview On inputs (x0,x1) for Trans, i for Rec: Trans chooses a random trap-door permutation f: D → D, sends f to Rec. Rec chooses two random elements, y0, y1 in D, computes zi = f(yi), z(1-i) = y(1-i), sends (z0,z1) to Trans. Trans computes b0 = B(f -1 (z0)) xor x0, b1 = B(f -1 (z1)) xor x1, sends (b0,b1) to Receiver. Receiver outputs B(yi) xor bi, which is equal to xi.

36 Trans Task-PIOA State: inval, tdpp, zval, bval Transitions: – Record inval, tdpp inputs – Record zval received in message 2. – send(1,f): Precondition: f = tdpp.funct – fix-bval: Precondition: tdpp, zval, inval defined Effect: bval(0) := B(tdpp.inverse(zval(0))) xor inval(0); bval(1) := B(tdpp.inverse(zval(1))) xor inval(1) – send(3,b): Precondition: b = bval

37 Rec Task-PIOA State: inval, tdp, yval, zval, outval Transitions: – Record inval, yval inputs – Record tdp received in message 1. – fix-zval: Precondition: tdp, yval, inval defined Effect: zval(inval) := tdp(yval(inval)); zval(1-inval) := yval(1-inval) – receive(3,b): Effect: If yval defined then outval := b(inval) xor B(yval(inval)) – out(x): Precondition: x = outval

Correctness Theorems Four cases, based on which parties are corrupted. E.g., Rec corrupted. Theorem: If RS (“Real System”) is a family of OT protocol systems in which the family of Adv components is poly-time-bounded, then there is a family IS (“Ideal System”) of OT requirements systems in which the family of Sim components is poly-time- bounded, and such that RS ≤ neg,pt IS. Proof: Uses four levels of abstraction:

39 Levels-of-abstraction proof IS uses an interesting Sim: – Calculates bval for Rec’s chosen index using xor of hard-core bit and Trans input. – Obtains the Trans input from Funct. – For non-chosen index, chooses bval randomly. Int2 calculates non-chosen bval using xor of random bit and Trans input. Int1 similar, but calculates non- chosen bval using xor of hard-core bit and Trans input. IS Int2 Int1 RS

40 Levels-of-abstraction proof Top and bottom mappings are simulation relations (of our new kind). Mapping from Int1 to Int2 is different: – The two levels are identical, except that Int1 calculates the non-chosen bval using xor of hard-core bit and Trans input, while Int2 uses random bit and Trans input. – Difference: Hard-core bit vs. random bit. – This is where we need to use the definition of a hard-core bit, and a cryptographic Distinguisher argument. IS Int2 Int1 RS

Modeling the crypto primitives Trap-door permutation and its inverse. Hard-core predicate. Traditional definition: B is a hard-core predicate for domain D if for every polynomial-time-computable predicate G, the following two experiments output 1 with probabilities that differ by a negligible (sub-inverse-polynomial) function: – Experiment 1: Choose random trap-door permutation f. Choose random y in D. Output G(f,f(y),B(y)) – Experiment 2: Choose random f, y as above. Choose random bit b. Output G(f,f(y),b).

42 Reformulated in terms of Task-PIOAs B is a hard-core predicate for D if SH(B) ≤ neg,pt SHR, where: – SHR: Three random sources: – SH(B): Two random sources and a hard-core automaton H: tdp z b y H z b H computes tdp(y) and B(y)

43 Equivalence of the two definitions Theorem: B is a hard-core predicate for D according to the traditional definition, if and only if B is a hard-core predicate according to the new, task-PIOA-based definition. Nice, because it lets us apply composition theorems for task-PIOAs to obtain results about systems that use a hard-core predicate.

44 Example theorem about use of hard- core predicates Can use a hard-core predicate twice: And it implements five random sources: tdp y H z b y H z b zbzb

45 Theorem used to show Int1 ≤ neg,pt Int2 Interface xors two hard-core bits with input values. Implements Interface composed with one H and random sources. Similar to Int1 and Int2 systems. z b z b tdp y H y H Interface (x0,x1) (z0,z1) (b0,b1) i z b z b tdp z y H Interface (x0,x1) (z0,z1) (b0,b1) i b

46 Theorems about hard-core predicates Describe various ways in which hard-core bits can be incorporated into a system. Infer the system implements, in the sense of ≤ neg,pt, a similar system using random bits. Implementation results follow from: – Task-PIOA-based definition of hard-core predicate. – General task-PIOA composition theorems, saying that ≤ neg,pt is preserved by composition.

Correctness proof, revisited Recall the main theorem and proof outline. Four cases, based on which parties are corrupted. For each case, show Theorem: – If RS is a family of OT protocol systems in which the family of Adv components is poly-time-bounded, then there is a family IS of OT specification systems in which the family of Sim components is poly-time- bounded, and such that RS ≤ neg,pt IS. Proof: Four levels of abstraction.

48 Proof: Rec corrupted Show ≤ neg,pt for all stages, combine using transitivity. IS Sim component: – Calculates bval for chosen index using xor of hard-core bit and Trans input. – Obtains Trans input from Funct output. – For non-chosen index, uses random bit. Int2 similar, calculates non-chosen bval using xor of random bit and Trans input. Int1 similar, calculates non-chosen bval using xor of hard-core bit and Trans input. Interesting reasoning about cryptographic primitives is confined to the proof relating Int1 and Int2. IS Int2 Int1 RS

49 IS Sim component Merges Trans and Rec: Funct in(i) out’(xi) in(x0,x1) send receive Adv Trans/Rec tdpp b y out’’(xi) out(xi)

50 Int1 ≤ neg,pt Int2 Int1 and Int2 are identical, except: – Int1 calculates bval for non-chosen index using xor of hard-core bit and Trans input. – Int2 uses random bit and Trans input. Both systems use hard-core bits for bval(chosen index). Difference: Hard-core vs. random bit. Correspondence follows from previous theorem about using hard-core bits. Minor discrepancies handled with two easy simulation relations. IS Int2 Int1 RS

51 RS ≤ neg,pt Int1 Compose both with arbitrary Environment E. Straightforward simulation relation. Technical discrepancy: – In RS, yvals are chosen randomly, then zvals computed. – In Int1, zvals are chosen randomly. Shows stronger relation ≤ 0. Int1 RS choose y compute z choose z

52 Int2 ≤ neg,pt IS Compose both with arbitrary Environment E. Straightforward simulation relation. Technical discrepancy: – In IS, bval for non-chosen index is chosen randomly. – In Int2, cval is chosen randomly, then xor’ed with Transmitter input. – Either way, they are random values. – Simulation relation can handle this case too. Shows stronger relation ≤ 0. IS Int2

53 Talk Outline: 1. Overview (done) 2. Task-PIOAs (done) 1. PIOAs (review) 2. Task-PIOA definitions 3. New simulation relation 4. Adding computational limitations 3. Oblivious Transfer Modeling and Analysis (done) 1. Specification model 2. Protocol model 3. Correctness theorems 4. Modeling the cryptographic primitives 5. Correctness proof 4. Conclusions

54 4. Conclusions

55 Summary Developed techniques for modeling and analyzing security protocols, based on the PIOA modeling framework. Used them to carry out a formal proof for [GMW87] OT protocol. Required us to extend PIOAs to Task-PIOAs: – New partial-information scheduling mechanism (task schedules). – Implementation relation ≤ 0. – Composition theorem. – New kind of simulation relation, proved to be sound for ≤ 0. Time-bounded PIOAs. – Approximate, time-bounded implementation relation ≤ neg,pt. – Composition theorem. – Used to express security protocol correctness. – Used to model cryptographic primitives’ secrecy properties.

56 Oblivious Transfer models Specification model: – Expresses both functional correctness and secrecy. – Formulated in terms of ≤ neg,pt. – Style similar to [Canetti] Universal Composability (UC) and [Backes, Pfitzmann, Waidner] universal reactive simulatability. Protocol model: – Transmitter, Receiver, – Adversary communication system, can eavesdrop, delay, lose, reorder messages.

57 Oblivious Transfer proofs Multi-stage mapping proofs, using ≤ neg,pt. Include computational cryptography issues: – Time-bound restrictions on adversaries, environments. – Crypto primitives (trap-door function, hard-core bit). – Distinguisher arguments, reformulated. Computational cryptography reasoning isolated to one stage, which uses a task-PIOA redefinition of the cryptographic primitives.

58 Evaluation Usable, scalable methods for carrying out complete, rigorous proofs of security protocols. Proofs decompose into manageable pieces. – Different pieces show different kinds of properties, using different kinds of reasoning Inductive, assertional methods. Combines nicely with formal cryptographic proofs.

59 Future work Apply methods to more security protocols: – More complex protocols. – More powerful adversaries. Cryptographic primitives: – Redefine other cryptographic primitives in terms of ≤ neg,pt. – Prove results about their use in protocols. – Reformulate traditional Distinguisher arguments using ≤ neg,pt. Precise comparison with related approaches, e.g. [Backes, Pfitzmann, Waidner], and [Mitchell, et al.] General results, e.g., about protocol composition, standard classes of adversaries.

60 Thank you!