J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague

Slides:



Advertisements
Similar presentations
Cryptography and Game Theory: Designing Protocols for Exchanging Information Gillat Kol and Moni Naor.
Advertisements

Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 11 Lecturer: Moni Naor.
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
Foundations of Cryptography Lecture 5 Lecturer: Moni Naor.
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,
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Probabilistic Polynomial-Time Process Calculus for Security Protocol Analysis J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague P. Mateus P. Lincoln, M.
Analysis of Security Protocols (V) John C. Mitchell Stanford University.
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
Probabilistic Polynomial-Time Process Calculus for Security Protocol Analysis J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague P. Lincoln, P. Mateus,
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Unifying Equivalence-Based Definitions of Protocol Security A. Datta, R. Küsters, J. C. Mitchell, A. Ramanathan, V. Shmatikov Stanford University SRI International.
1 © IBM, A Reactively Secure Dolev-Yao-style Cryptographic Library DIMACS, June 2004 Michael Backes, Birgit Pfitzmann, Michael Waidner IBM Research,
Probabilistic Polynomial-Time Process Calculus for Security Protocol Analysis John Mitchell Stanford University P. Lincoln, M. Mitchell, A. Ramanathan,
Unifying Equivalence-Based Definitions of Protocol Security A. Datta, R. Küsters, J. C. Mitchell, A. Ramanathan, V. Shmatikov Stanford University SRI International.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
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.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
CS555Spring 2012/Topic 41 Cryptography CS 555 Topic 4: Computational Approach to Cryptography.
0x1A Great Papers in Computer Security
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
8. Data Integrity Techniques
Cryptography Lecture 8 Stefan Dziembowski
CIS 5371 Cryptography Introduction.
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
Probabilistic Polynomial-Time Process Calculus for Security Protocol Analysis J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague Partially supported by.
Cryptography Lecture 4 Arpita Patra. Recall o Various Definitions and their equivalence (Shannon’s Theorem) o Inherent Drawbacks o Cannot afford perfect.
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.
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
Public Key Cryptography
Topic 36: Zero-Knowledge Proofs
Asymmetric-Key Cryptography
Boneh-Franklin Identity Based Encryption Scheme
B504/I538: Introduction to Cryptography
RSA and El Gamal Cryptosystems
Symbolic methods for cryptography
Security Protocols Analysis
Modern symmetric-key Encryption
Process Calculus and Security
Digital Signature Schemes and the Random Oracle Model
B504/I538: Introduction to Cryptography
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Cryptography Lecture 5.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
CMSC 414 Computer and Network Security Lecture 3
Cryptography Lecture 6.
Soundness of Formal Encryption in the Presence of Key Cycles
Cryptography Lecture 24.
Protocol Verification by the Inductive Method
Cryptography Lecture 25.
Probabilistic Polynomial-Time Calculus
Cryptography Lecture 4 Arpita Patra © Arpita Patra.
Cryptography Lecture 4 Arpita Patra © Arpita Patra.
Cryptography Lecture 5.
Cryptography Lecture 8.
Introduction to Elliptic Curve Cryptography
Where Complexity Finally Comes In Handy…
Cryptography Lecture 6.
Where Complexity Finally Comes In Handy…
Protocol Verification by the Inductive Method
The power of Pairings towards standard model security
Cryptography Lecture 21.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Cryptography Lecture 23.
Where Complexity Finally Comes In Handy…
Presentation transcript:

Probabilistic Polynomial-Time Process Calculus for Security Protocol Analysis J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague P. Lincoln, P. Mateus, M. Mitchell

Standard analysis methods Finite-state analysis Dolev-Yao model Symbolic search of protocol runs Proofs of correctness in formal logic Consider probability and complexity More realistic intruder model Interaction between protocol and cryptography Easier Harder

Protocol analysis spectrum Hand proofs High   Poly-time calculus Symbolic methods (MSR) Spi-calculus  Sophistication of attacks Athena  Paulson    NRL  Bolignano Spi-calculus: Abadi and Gordon work on extenion of pi-calculus with crypto Athena: Tool developed by student Dawn Song at CMU/Berkeley Paulson: L. Paulson’s inductive method, using Isabelle formal logic tool NRL: C. Meadows NRL protocol analyzer Bolignano: Method developed by D. Bolignana (Bull) BAN: Burrows Abadi Needham protocol logic FDR: Model checker for CSP, used by Roscoe et al Murph: model checker designed and built by Dill, use for security protocols developed by Pleiades, including security-specific optimizations that reduce computing time by two orders of magnitude. BAN logic  Low   Model checking Protocol logic    FDR Murj Low High Protocol complexity

IKE subprotocol from IPSEC A, (ga mod p) B, (gb mod p) , signB(m1,m2) signA(m1,m2) A B Result: A and B share secret gab mod p Analysis involves probability, modular exponentiation, digital signatures, communication networks, …

Equivalence-based specification Real protocol The protocol we want to use Expressed precisely in some formalism Idealized protocol May use unrealistic mechanisms (e.g., private channels) Defines the behavior we want from real protocol Expressed precisely in same formalism Specification Real protocol indistinguishable from ideal protocol Beaver ‘91, Goldwasser-Levin ‘90, Micali-Rogaway ’91 Depends on some characterization of observability Achieves compositionality

Compositionality (intuition) Crypto primitives Ciphertext indistinguishable from noise  encryption secure in all protocols Protocols Protocol indistinguishable from ideal key distribution  protocol secure in all systems that rely on secure key distributions

Compositionality Intuitively, if: then Fits well with process calculus Q securely realizes I , R securely realizes J, R, J use I as a component, then R{Q/I} securely realizes J Fits well with process calculus because  is a congruence Q  I  C[Q]  C[I] contexts constructed from R, J, simulators

Great general idea; application is complicated Language Approach Roscoe ‘95, Schneider ‘96, Abadi-Gordon’97 Write protocol in process calculus Dolev-Yao model 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] Inherently compositional Context (environment) represents adversary Use proof rules for  to prove security Protocol is secure if no adversary can distinguish it from some idealized version of the protocol Great general idea; application is complicated

Aspect of compositionality Property of observational equiv A  B C  D A|C  B|D similarly for other process forms

The proof is easy Recall definition Assume A  B  C[ ], C[A]  C[B] A  B C  D A|C  B|D Recall definition P  Q iff for all contexts C[ ], same observations about C[P] and C[Q] Assume A  B  C[ ], C[A]  C[B] Therefore For any C[ ], let C’[  ] = C[  | D] By assumption, C’[A]  C’[B] Which means that A|D  B|D By similar reasoning Can show A|C  A|D Therefore A|C  A|D  B|D

Probabilistic Poly-time Analysis Add probability, complexity Probabilistic polynomial-time process calc Protocols use probabilistic primitives Key generation, nonce, probabilistic encryption, ... Adversary may be probabilistic Express protocol and spec in calculus Security using observational equivalence Use probabilistic form of process equivalence

Pseudo-random number generators Sequence generated from random seed Pn: let b = nk-bit sequence generated from n random bits in PUBLIC b end Truly random sequence Qn: let b = sequence of nk random bits P is crypto strong pseudo-random number generator P  Q Equivalence is asymptotic in security parameter n

Secrecy for Challenge-Response Protocol P A  B: { i } K B  A: { f(i) } K “Obviously’’ secret protocol Q A  B: { random_number } K B  A: { random_number } K

Secrecy for Challenge-Response Protocol P A  B: { i } K B  A: { f(i) } K “Obviously’’ secret protocol Q A  B: { random_number } K B  A: { random_number } K Analysis: P  Q reduces to crypto condition related to non-malleability [Dolev, Dwork, Naor] Fails for “plain old” RSA if f(i) = 2i Non-malleability: Given only a ciphertext, it is difficult to generate a different ciphertext so that the respective plaintexts are related

Security of encryption schemes Passive adversary Semantic security Indistinguishability Chosen ciphertext attacks (CCA1) Adversary can ask for decryption before receiving a challenge ciphertext Chosen ciphertext attacks (CCA2) Adversary can ask for decryption before and after receiving a challenge ciphertext

Passive Adversary Challenger Attacker m0, m1 E(mi) guess 0 or 1

Chosen ciphertext CCA1 c Challenger Attacker D(c) m0, m1 E(mi) guess 0 or 1

Chosen ciphertext CCA2 c Challenger Attacker D(c) m0, m1 E(mi) c  E(mj) D(c) guess 0 or 1

Specification with Authentication Protocol P A  B: { random i } K B  A: { f(i) } K A  B: “OK” if f(i) received “Obviously’’ authenticating protocol Q B  A: { random j } K i , j A  B: “OK” if private i, j match public msgs public channel private channel public channel private channel

Methodology Define general system Apply to protocols Process calculus Probabilistic semantics Asymptotic observational equivalence Apply to protocols Protocols have specific form “Attacker” is context of specific form

Nondeterminism vs encryption Alice encrypts msg and sends to Bob A  B: { msg } K Adversary uses nondeterminism Process E0 c0 | c0 | … | c0 Process E1 c1 | c1 | … | c1 Process E c(b1).c(b2)...c(bn).decrypt(b1b2...bn, msg) In reality, at most 2-n chance to guess n-bit key

Related work Canetti; B. Pfitzmann, Waidner, Backes Interactive Turing machines General framework for crypto properties Protocol simulates an ideal setting Universally composable security Abadi, Rogaway, Jürjens; Herzog; Warinschi Toward transfer principles between formal Dolev-Yao model and computational model

Technical Challenges Language for prob. poly-time functions Extend work of Cobham, Bellantoni, Cook, Hofmann Replace nondeterminism with probability Otherwise adversary is too strong ... Define probabilistic equivalence Related to poly-time statistical tests ... Proof rules for probabilistic equivalence Use the proof system to derive protocol properties

Syntax Bounded -calculus with integer terms P :: = 0 Expressions have size poly in |n| Bounded -calculus with integer terms P :: = 0 | cq(|n|) T send up to q(|n|) bits | cq(|n|) (x). P receive | cq(|n|) . P private channel | [T=T] P test | P | P parallel composition | ! q(|n|) . P bounded replication Terms may contain symbol n; channel width and replication bounded by poly in |n|

Probabilistic Semantics Basic idea Alternate between terms and processes Probabilistic evaluation of terms (incl. rand) Probabilistic scheduling of parallel processes Two evaluation phases Outer term evaluation Evaluate all exposed terms, evaluate tests Communication Match send and receive Probabilistic if multiple send-receive pairs

Scheduling Outer term evaluation Communication Evaluate all exposed terms in parallel Multiply probabilities Communication E(P) = set of eligible subprocesses S(P) = set of schedulable pairs Prioritize – private communication first Probabilistic poly-time computable scheduler that makes progress

Choose according to probabilistic scheduler Example Process crand+1 | c(x).dx+1 | d2 | d(y). ex+1 Outer evaluation c1 | c(x).dx+1 | d2 | d(y). ex+1 c2 | c(x).dx+1 | d2 | d(y). ex+1 Communication Each prob ½ Choose according to probabilistic scheduler

Complexity results Polynomial time For each closed process expression P, there is a polynomial q(x) such that For all n For all probabilistic polynomial-time schedulers eval of P halts in time q(|n|)

Complexity: Intuition Bound on number of communications Count total number of inputs, multiplying by q(|n|) to account for ! q(|n|) . P Bound on term evaluation Closed T evaluated in time qT(|n|) Bound on time for each comm step Example: cm | c(x).P  [m/x]P Substitution bounded by orig length of P Size of number m is bounded Previous steps preserve # occurr of x in P

How to define process equivalence? Problem: How to define process equivalence? Intuition | Prob{ C[P]  “yes” } - Prob{ C[Q]  “yes” } | <  Difficulty How do we choose ? Less than 1/2, 1/4, … ? (not equiv relation) Vanishingly small ? As a function of what? Solution Use security parameter Protocol is family { Pn } n>0 indexed by key length Asymptotic form of process equivalence

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

One way to get equivalences Labeled transition system Evaluate process is a “maximally benevolent context” Allows process read any input on a public channel or send output even if no matching input exists in process Label with numbers “resembling probabilities” Bisimulation relation If P Q and P P’, then exists Q’ with Q Q’ and P’ Q’ , and vice versa Strong form of prob equivalence But enough to get started … [van Glabbeek – Smolka – Steffen] ~ r ~ r

Provable equivalences Assume scheduler is stable under bisimulation P ~ Q  C[P] ~ C[Q] P ~ Q  P  Q P | (Q | R)  (P | Q) | R P | Q  Q | P P | 0  P

Provable equivalences P   c. ( c<T> | c(x).P) x FV(P) P{a/x}   c. ( c<a> | c(x).P) if bandwidth of c large enough P  0 if no public channels in P P  Q  P{d/c}  Q{d/c} c , d same bandwidth, d fresh c<T>  c<T’> if Prob[T  a] = Prob[T’  a] all a

Connections with modern crypto Cryptosystem consists of three parts Key generation Encryption (often probabilistic) Decryption Many forms of security Semantic security, non-malleability, chosen-ciphertext security, … Formal derivation of semantic security of ElGamal from DDH and vice versa Common conditions use prob. games

ElGamal cryptosystem n security parameter (e.g., key length) Gn cyclic group of prime order p , length of p roughly n , g generator of Gn Keys public  g , y  , private  g , x  s.t. y = gx Encryption of m  Gn for random k  {0, . . . , p-1} outputs  gk , m yk  Decryption of  v, w  is w (vx)-1 For v = gk , w = m yk get w (vx)-1 = m yk / gkx = m gxk / gkx = m

Semantic security Known equivalent: indistinguishability of encryptions adversary can’t tell from the traffic which of the two chosen messages has been encrypted ElGamal:  1n , gk , m yk    1n , gk’ , m’ yk’  In case of ElGamal known to be equivalent to DDH Formally derivable using the proof rules

Decision Diffie-Hellman DDH Standard crypto benchmark n security parameter (e.g., key length) Gn cyclic group of prime order p, length of p roughly n , g generator of Gn For random a, b, c  {0, . . . , p-1}  ga , gb , gab    ga , gb , gc 

DDH implies sem. sec. of ElGamal Start with  ga , gb , gab    ga , gb , gc  (random a,b,c) Build up statement of sem. sec. from this. in(c,<x,y>).out(c,  gr, x.grx )  in(c,<x,y>).out(c,  gr , y.grx ) The proof consists of Structural transformations E.g., out(c,T(r); r random)  out(c,U(r)) (any r) implies in(c,x).out(c,T(x) )  in(c,x).out(c,U(x) ) Domain-specific axioms E.g., out(c,  ga , gb , gab )  out(c,  ga , gb , gc ) implies out(c,  ga , gb , Mgab )  out(c,  ga , gb , Mgc ) (any M)

Sem. sec. of ElGamal implies DDH Harder direction. Compositionality of  makes ‘building up’ easier than breaking down. Want to go from in(c,<x,y>).out(c, gr,x.grx )  in(c,<x,y>).out(c, gr, y.grx ) to  gx , gr , grx    gx , gr , gc  Proof idea: if x = 1, then we essentially have DDH. The proof ’constructs’ a DDH tuple by Hiding all public channels except the output challenge Setting a message to 1 Need structural rule equating a process with the term simulating the process We use special case where process only has one public output

Current State of Project Compositional framework for protocol analysis Precise language for studying security protocols Replace nondeterminism with probability Equivalence based on ptime statistical tests Probabilistic ptime language Methods for establishing equivalence Probabilistic bisimulation technique Notion of compositionality Examples Decision Diffie-Hellman, semantic security, ElGamal encryption, computational indistinguishability Applications Study models of compositionality for security protocols Canetti (ITMs), Pfitzmann-Waidner (IOAs)