Analysis of Security Protocols (V) John C. Mitchell Stanford University.

Slides:



Advertisements
Similar presentations
1 Complexity ©D.Moshkovitz Cryptography Where Complexity Finally Comes In Handy…
Advertisements

Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
CIS 5371 Cryptography 3b. Pseudorandomness.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Probabilistic Polynomial-Time Process Calculus for Security Protocol Analysis John Mitchell Stanford University P. Lincoln, M. Mitchell, A. Ramanathan,
Great Theoretical Ideas in Computer Science.
Public Key Algorithms …….. RAIT M. Chatterjee.
Complexity and Cryptography
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Introduction to Modern Cryptography Lecture 5 Number Theory: 1. Quadratic residues. 2. The discrete log problem. Intro to Public Key Cryptography Diffie.
Announcements: 1. HW6 due now 2. HW7 posted Questions? This week: Discrete Logs, Diffie-Hellman, ElGamal Discrete Logs, Diffie-Hellman, ElGamal Hash Functions.
Unifying Equivalence-Based Definitions of Protocol Security A. Datta, R. Küsters, J. C. Mitchell, A. Ramanathan, V. Shmatikov Stanford University SRI International.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Equivalence-Based Security Specifications A. Datta, R Küsters, J. Mitchell, A. Ramanathan, V. Shmatikov A. Scedrov, V. Teague, P. Mateus.
CS555Spring 2012/Topic 41 Cryptography CS 555 Topic 4: Computational Approach to Cryptography.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
1 Pertemuan 08 Public Key Cryptography Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
Universally Composable Symbolic Analysis of Security Protocols Jonathan Herzog (Joint work with Ran Canetti) 7 June 2004 The author's affiliation with.
Computer Security CS 426 Lecture 3
Foundations of Cryptography Lecture 9 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
CSCI 172/283 Fall 2010 Public Key Cryptography. New paradigm introduced by Diffie and Hellman The mailbox analogy: Bob has a locked mailbox Alice can.
Foundations of Cryptography Lecture 2 Lecturer: Moni Naor.
Lecture 6: Public Key Cryptography
0x1A Great Papers in Computer Security
Public Key Model 8. Cryptography part 2.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Strong Password Protocols
ElGamal Public Key Cryptography CS 303 Alg. Number Theory & Cryptography Jeremy Johnson Taher ElGamal, "A Public-Key Cryptosystem and a Signature Scheme.
Cryptography Lecture 8 Stefan Dziembowski
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
1 CIS 5371 Cryptography 3. Private-Key Encryption and Pseudorandomness B ased on: Jonathan Katz and Yehuda Lindel Introduction to Modern Cryptography.
One-Time Pad Or Vernam Cipher Sayed Mahdi Mohammad Hasanzadeh Spring 2004.
CS555Spring 2012/Topic 51 Cryptography CS 555 Topic 5: Pseudorandomness and Stream Ciphers.
Chapter 21 Public-Key Cryptography and Message Authentication.
Cryptography and Network Security (CS435) Part Eight (Key Management)
Cryptography and Network Security Chapter 10 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Public key ciphers 2 Session 6.
Cryptography Lecture 2 Stefan Dziembowski
Discrete Logarithm(s) (DLs) Fix a prime p. Let a, b be nonzero integers (mod p). The problem of finding x such that a x ≡ b (mod p) is called the discrete.
Cryptography Lecture 2 Arpita Patra. Summary of Last Class  Introduction  Secure Communication in Symmetric Key setting >> SKE is the required primitive.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
NEW DIRECTIONS IN CRYPTOGRAPHY Made Harta Dwijaksara, Yi Jae Park.
Probabilistic Polynomial-Time Process Calculus for Security Protocol Analysis J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague Partially supported by.
On the Notion of Pseudo-Free Groups Ronald L. Rivest MIT Computer Science and Artificial Intelligence Laboratory TCC 2/21/2004.
Key Management Network Systems Security Mort Anvari.
Pseudo-random generators Talk for Amnon ’ s seminar.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Logical Foundations for Security Protocol Analysis Patrick Lincoln John Mitchell Mark Mitchell Andre Scedrov.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
Modern symmetric-key Encryption
Cryptography Lecture 5.
Protocol Verification by the Inductive Method
Probabilistic Polynomial-Time Calculus
Efficient Short-Password Key Exchange (ESP-KE)
Cryptography Lecture 5.
Where Complexity Finally Comes In Handy…
Where Complexity Finally Comes In Handy…
Protocol Verification by the Inductive Method
Where Complexity Finally Comes In Handy…
Presentation transcript:

Analysis of Security Protocols (V) John C. Mitchell Stanford University

Prior state of the art l Formal protocol analysis uses Dolev-Yao model  Adversary is nondeterministic process  Adversary can  Block network traffic  Read any message, decompose into parts  Decrypt if key is known to adversary  Insert new message from data it has observed  Adversary cannot  Gain partial knowledge  Guess part of a key  Perform statistical tests, …

Power and limitations l Can find some attacks  Needham-Schroeder by exhaustive search l Other attacks are outside model  Interaction between protocol and encryption l Some protocols cannot be modeled  Probabilistic protocols  Steps that require specific properties of encryption l Possible to prove erroneous protocol correct

Recent Language Approach [AG97] l Write protocol in process calculus l Express security using observational equivalence  Standard relation from programming language theory P  Q iff for all contexts C[ ], same observations about C[P] and C[Q]  Context (environment) represents adversary l Use proof rules for  to prove security  Protocol is secure if no adversary can distinguish it from some idealized version of the protocol

Probabilistic Poly-time Analysis l Adopt spi-calculus approach, add probability l Probabilistic polynomial-time process calculus  Protocols use probabilistic primitives  Key generation, nonce, probabilistic encryption,...  Adversary may be probabilistic  Modal type system guarantees complexity bounds l Express protocol and specification in calculus l Study security using observational equivalence  Use probabilistic form of process equivalence Our Framework

Technical Challenges l Language for prob. poly-time functions  Extend Hofmann language with rand l Replace nondeterminism with probability  Otherwise adversary is too strong... l Define probabilistic equivalence  Related to poly-time statistical tests... l Develop specification by equivalence  Several examples carried out l Proof systems for probabilistic equivalence  Goal for the future

Example protocol in process calc l “Notation found in the literature” A  B: { m } K B  A: { m+1 } K l Process calculus with cryptographic primitives let k = new_key(n) in let m = pick_a_number(n) in AB  encrypt(k,m)  | AB (x). BA  encrypt(k, decrypt(k,x)+1)  end This form makes assumptions and response explicit output on port AB not m

How we specify secrecy l Original protocol P A  B: { m } K B  A: { m+1 } K l “Obviously’’ secret protocol Q (zero knowledge) A  B: { random_number } K B  A: { random_number } K l Basic idea: P  Q implies P preserves secrecy If not, then some context can obtain some information from the original protocol

Nondeterminism is traditional, but... l Nondeterminism is a useful idealization  Classical  disguised as a computational primitive  Expresses extreme “good luck” or “bad luck”  Nondeterministic algorithm for traveling salesman “Guess” a path and check that it is correct  Nondeterministic semantics for parallel composition Treat any possible interleaving as significantly possible Appropriate for “worst case” correctness l Not an intrinsic property of system itself

Nondeterminism breaks encryption l Alice encrypts message and sends to Bob A  B: { msg } K l Adversary uses nondeterministic parallelism Process E 0 E  0  | E  0  | … | E  0  Process E 1 E  1  | E  1  | … | E  1  Process E E  b 1 . E  b 2 ... E  b n . decrypt(b 1 b 2...b n, msg) In reality, adversary has  2 -n chance to guess n-bit key

Solution: probabilistic scheduler l Define operational semantics  Probabilistic steps let x = M in P  r [v/x]P  Nondeterministic choice between parallel processes l Each run requires probabilistic scheduler  Chooses step from “nondeterministic” alternatives  Scheduler runs in probabilistic polynomial time  Quantify over schedulers to get universal properties Similar ideas in literature on Markov decision diagrams

Toward probabilistic equivalence l Background: poly-time statistical tests  Standard notion from cryptography  Define crypto. strong pseudo-random sequence l Main ideas  Pseudo-random generator family G = {G n } n>0  Test generator G n in time poly(n)  Compare Test(G k (random(n)) to Test(random(n k ))  Generator “secure” if results within 1/poly(n)

Observing Probabilistic Process l Observations  Compare |Prob[ P  “yes” ] - Prob[ Q  “yes” ] | <   How small  is small ?  Less than 1/2, 1/4, … ? (not equiv relation for fixed  )  Vanishingly small ?  How fast should   0 ? As a function of what? l Cryptographic protocols  Use encryption keys of a certain length  Protocol is family { P n } n>0 indexed by key length  Increasing key length  increasing security

Probabilistic Observational Equiv l Processes P, Q are  -indistinguishable P   Q if  contexts C[ ].  observations v. |Prob[C[ P ]  v ] - Prob[C[ Q ]  v ] | <  l Asymptotically within f Process, context families { P n } n>0 { Q n } n>0 { C n } n>0 P  f Q if  contexts C[ ].  obs v.  n 0.  n> n 0. | Prob[C n [ P n ]  v ] - Prob[C n [ Q n ]  v ] | < f(n) l Asymptotically polynomially indistinguishable P  Q if P  f Q for every polynomial f(n) = 1/p(n) Final def’n gives robust equivalence relation

Basic example l Sequence generated from random seed P n : let b = n k -bit sequence generated from n random bits in PUBLIC  b  end l Truly random sequence Q n : let b = sequence of n k random bits in PUBLIC  b  end l P is crypto strong pseudo-random generator P  Q

Protocol P [Diffie, Hellman, ElGamal] g a mod p g b mod p msg * g ab mod p Prime p and generator g of Z p are public Passive eavesdropper has small chance at msg AB

Specification Q random_number mod p Network traffic should look like 3 random numbers AB

Analysis l Prove P  Q ?  Prove difficulty of computing discrete logarithm ? l Better: reduction from a discrete log problem  Strategy to distinguish P from Q with prob > 1/poly  win Diffie-Hellman game with prob >1/poly l Decision-Diffie-Hellman problem  Given two triples:  x, y, z   g u, g v, g uv   Decide which is which (u,v,x,y,z chosen randomly) Note: this is for passive eavesdropper only

ElGamal Analysis: So what? l Characterize security by number-theoretic game  Decision Diffie-Hellman appears in literature  Previously studied, believed hard l Remove doubt about protocol, up to common cryptographic assumptions  Simplified example since this protocol can be subverted by replacing g a by g c

Current state of project l Better foundations for protocol analysis ?  Determine crypto requirements of protocols ! l Probabilistic ptime language  Extended Hofmann language with rand l Probabilistic process framework  replaced nondeterminism with rand  equivalence based on ptime statistical tests l Specifications of secrecy, authenticity l Simple examples l Work in progress...