Symbolic and Computational Analysis of Network Protocol Security John Mitchell Stanford University Asian 2006.

Slides:



Advertisements
Similar presentations
Security Analysis of Network Protocols: Logical and Computational Methods John Mitchell Stanford University Logic and Computational Complexity, 2006.
Advertisements

Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Digital Signatures and Hash Functions. Digital Signatures.
Foundations of Cryptography Lecture 5 Lecturer: Moni Naor.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
Formal Derivation of Security Protocols Anupam DattaAnte Derek John C. Mitchell Dusko Pavlovic Stanford University Kestrel Institute HCSS April 15, 2004.
CS 395T Computational Soundness of Formal Models.
Security Analysis of Network Protocols: Logical and Computational Methods John Mitchell Stanford University ICALP and PPDP, 2005.
Security Analysis of Network Protocols Anupam Datta Stanford University May 18, 2005.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
Analysis of Security Protocols (I) John C. Mitchell Stanford University.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Formally (?) Deriving Security Protocols Anupam Datta WIP with Ante Derek, John Mitchell, Dusko Pavlovic October 23, 2002.
Analysis of Security Protocols (V) John C. Mitchell Stanford University.
Proactive Secure Mobile Digital Signatures Work in progress. Ivan Damgård and Gert Læssøe Mikkelsen University of Aarhus.
Abstraction and Refinement in Protocol Derivation Anupam DattaAnte Derek John C. Mitchell Dusko Pavlovic Stanford University Kestrel Institute CSFW June.
Security Analysis of Network Protocols Anupam Datta Stanford University UW-Madison CSD April 18, 2005.
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Symbolic Logic for Complexity- theoretic Model of Security Protocols Anupam Datta Ante Derek John C. Mitchell Vitaly Shmatikov Mathieu Turuani May 5, 2005.
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Proving Security of Industrial Network Protocols: Theory and Practice Anupam Datta Stanford University Oakland PC Crystal Ball Workshop January 2007.
Overview of Cryptography Anupam Datta CMU Fall A: Foundations of Security and Privacy.
1 © IBM, A Reactively Secure Dolev-Yao-style Cryptographic Library DIMACS, June 2004 Michael Backes, Birgit Pfitzmann, Michael Waidner IBM Research,
Security Analysis of Network Protocols: Compositional Reasoning and Complexity-theoretic Foundations Anupam Datta Stanford University May 23, 2005.
Security Analysis of Network Protocols Anupam Datta Stanford University CIS Seminar, MIT November 18, 2005.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Protocol Composition Logic Arnab Roy joint work with A. Datta, A. Derek, N. Durgin, J.C. Mitchell, D. Pavlovic CS259: Security Analysis of Network Protocols,
Protocol Composition Logic II Anupam Datta Fall A: Foundations of Security and Privacy.
Logic for Protocol Composition A. Datta, A. Derek, J. Mitchell, D. Pavlovic.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Chapter 9 Cryptographic Protocol Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li.
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.
Protocol Composition Logic John Mitchell Stanford CS
Logics for Security Protocols Anupam Datta Fall A: Foundations of Security and Privacy.
Universally Composable Symbolic Analysis of Security Protocols Jonathan Herzog (Joint work with Ran Canetti) 7 June 2004 The author's affiliation with.
Computational Soundness for PCL Dilsun Kaynar Carnegie Mellon University Foundations of Security and Privacy October 11, 2007.
Computer Security CS 426 Lecture 3
1 Authentication Protocols Celia Li Computer Science and Engineering York University.
8. Data Integrity Techniques
Lecture 14 ISAKMP / IKE Internet Security Association and Key Management Protocol / Internet Key Exchange CIS CIS 5357 Network Security.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Secure two-party computation: a visual way by Paolo D’Arco and Roberto De Prisco.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
Security protocols  Authentication protocols (this lecture)  Electronic voting protocols  Fair exchange protocols  Digital cash protocols.
Cryptography and Network Security (CS435) Part Eight (Key Management)
© UCL Crypto group oct.-15 On the Perfect Encryption Assumption in the Study of Security Protocols O. Pereira and J.-J. Quisquater UCL Crypto Group
CSCE 813 Internet Security Cryptographic Protocol Analysis.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
Game-based composition for key exchange Cristina Brzuska, Marc Fischlin (University of Darmstadt) Nigel Smart, Bogdan Warinschi, Steve Williams (University.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
The School of Electrical Engineering and Computer Science (EECS) CS/ECE Network Security Dr. Attila Altay Yavuz Authentication Protocols (I): Secure Handshake.
Protocol Composition Logic (PCL): Part II Anupam Datta CS 259.
1 Authenticated Key Exchange Rocky K. C. Chang 20 March 2007.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 3524 Course.
Topic 36: Zero-Knowledge Proofs
Protocol Composition Logic II
Security Protocols Analysis
Logic for Computer Security Protocols
Soundness of Formal Encryption in the Presence of Key Cycles
Protocol Composition Logic (PCL)
Probabilistic Polynomial-Time Calculus
Symbolic and Computational Analysis of Network Protocol Security
Protocol Verification by the Inductive Method
Presentation transcript:

Symbolic and Computational Analysis of Network Protocol Security John Mitchell Stanford University Asian 2006

Outline Protocols Some examples, some intuition Symbolic analysis of protocol security Models, results, tools Computational analysis Communicating Turing machines, composability Combining symbolic, computational analysis Some alternate approaches Protocol Composition Logic (PCL) Symbolic and computational semantics

Many Protocols Authentication Kerberos Key Exchange SSL/TLS handshake, IKE, JFK, IKEv2, Wireless and mobile computing Mobile IP, WEP, i Electronic commerce Contract signing, SET, electronic cash, See

Mobile IPv6 Architecture IPv6 Mobile Node (MN) Corresponding Node (CN) Home Agent (HA) Direct connection via binding update Authentication is a requirement Early proposals weak

Supplicant UnAuth/UnAssoc 802.1X Blocked No Key Association i Wireless Authentication MSK EAP/802.1X/RADIUS Authentication 4-Way Handshake Group Key Handshake Data Communication Supplicant Auth/Assoc 802.1X UnBlocked PTK/GTK

IKE subprotocol from IPSEC A, (g a mod p) B, (g b mod p) Result: A and B share secret g ab mod p AB m1 m2, signB(m1,m2) signA(m1,m2) Analysis involves probability, modular exponentiation, complexity, digital signatures, communication networks

Run of a protocol A B Initiate Respond C D Correct if no security violation in any run Attacker

Protocol analysis methods Cryptographic reductions Bellare-Rogaway, Shoup, many others UC [Canetti et al], Simulatability [BPW] Prob poly-time process calculus [LMRST…] Symbolic methods (see also ) Model checking  FDR [Lowe, Roscoe, …], Murphi [M, Shmatikov, …], Symbolic search  NRL protocol analyzer [Meadows] Theorem proving  Isabelle [Paulson …], Specialized logics [BAN, …]

“The” Symbolic Model Messages are algebraic expressions Nonce, Encrypt(K,M), Sign(K,M), … Adversary Nondeterministic Observe, store, direct all communication  Break messages into parts  Encrypt, decrypt, sign only if it has the key Example:  K1, Encrypt(K1, “hi”)   K1, Encrypt(K1, “hi”)  “hi”  Send messages derivable from stored parts

Many formulations Word problems [Dolev-Yao, Dolev-Even-Karp, …] Each protocol step is symbolic function from input message to output message; cancellation law d k e k x = x Rewrite systems [CDLMS, …] Each protocol step is symbolic function from state and input message to state and output message Logic programming [Meadows NRL Analyzer] Each protocol step can be defined by logical clauses Resolution used to perform reachability search Constraint solving [Amadio-Lugiez, … ] Write set constraints defining messages known at step i Strand space model [MITRE] Partial order (Lamport causality), reasoning methods Process calculus [CSP, Spi-calculus, applied , …) Each protocol step is process that reads, writes on channel Spi-calculus: use for new values, private channels, simulate crypto

Complexity results (see [Cortier et al]) Bounded # of sessions Unbounded number of sessions Without noncesWith nonces Co-NP completeGeneral: undecidable Bounded msg length: DEXP-time complete Bounded msg length: undecidable Tagged: exptimeTagged: decidable One-copy: DEXP-time complete Ping-pong protocols: Ptime Additional results for variants of basic model (AC, xor, modular exp, …)

Many protocol case studies Murphi [Shmatikov, He, …] SSL, Contract signing, i, … Meadows NRL tool Participation in IETF, IEEE standards Many important examples Paulson inductive method; Scedrov et al Kerberos, SSL, SET, many more Protocol logic BAN logic and successors (GNY, SvO, …) DDMP … Automated tools based on the symbolic model detect important, nontrivial bugs in practical, deployed, and standardized protocols

Computational model I [Bellare-Rogaway, Shoup, …] Adversary input tape work tape oracle tape “Alice”“Bob”

Computational model II [Canetti, …] Turing machine Adversary

Computational model III [Micciancio-Warinschi, …] Program Program program Adversary In(c, x).Send(…) | In(d,y).new z. Send(…y z..) | In(c, encrypt(k,…)). …

Computational security: encryption Several standard conditions on encryption Passive adversary  Semantic security 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 Computational model offers more choices than the symbolic model

Passive Adversary ChallengerAttacker m 0, m 1 E(m i ) guess 0 or 1

Chosen ciphertext CCA1 ChallengerAttacker m 0, m 1 E(m i ) guess 0 or 1 c D(c)

Chosen ciphertext CCA2 ChallengerAttacker m 0, m 1 E(m i ) guess 0 or 1 c D(c) c  E(m j ) D(c)

Protocol execution P1P1 P3P3 P4P4 P2P2 output Z  Ideal functionality P1P1 P3P3 P4P4 P2P2 F S simulator input Z Equivalence-based methods: UC, RSIM A attacker Slide: R Canetti

Symbolic model [NS78,DY84,…] Complexity-theoretic model [GM84,…] Attacker actions– Fixed set of actions, nondeterminism (ABSTRACTION) + Any probabilistic poly- time computation Security properties– Idealized, e.g., secret message = not possessing atomic term representing message (ABSTRACTION) + Fine-grained, e.g., secret message = no partial information about bitstring representation Analysis methods+ Successful array of tools and techniques; compositionality – Hand-proofs are difficult, error-prone, unsystematic; no automation Can we have best of both worlds?

Some relevant approaches Simulation framework Backes, Pfitzmann, Waidner Correspondence theorems Micciancio, Warinschi Kapron-Impagliazzo logics Abadi-Rogaway passive equivalence  (K2,{01} K3 ),  {({101} K2,K5 )} K2, {{K6} K4 } K5     (K2,  ),  {({101} K2,K5 )} K2, {  } K5     (K1,  ),  {({101} K1,K5 )} K1, {  } K5     (K1,{K1} K7 ),  {({101} K1,K5 )} K1, {{K6} K7 } K5   Proposed as start of larger plan for computational soundness … [Abadi-Rogaway00, …, Adao-Bana-Scedrov05]

Symbolic methods  comp’l results Pereira and Quisquater, CSFW 2001, 2004 Studied authenticated group Diffie-Hellman protocols Found symbolic attack in Cliques SA-GDH.2 protocol Proved no protocol of certain type is secure, for >3 participants Micciancio and Panjwani, EUROCRYPT 2004 Lower bound for class of group key establishment protocols using purely Dolev-Yao reasoning  Model pseudo-random generators, encryption symbolically Lower bounds is tight; matches a known protocol

Rest of talk: Protocol composition logic Alice’s information Protocol Private data Sends and receives Honest Principals, Attacker Send Receive Protocol Private Data Logic has symbolic and computational semantics

Example { A, Nonce a } { Nonce a, … } KaKa Kb AB Alice assumes that only Bob has Kb -1 Alice generated Nonce a and knows that some X decrypted first message Since only X knows Kb -1, Alice knows X=Bob

More subtle example: Bob’s view { A, Nonce a } { Nonce a, B, Nonce b } { Nonce b } KaKa Kb AB Bob assumes that Alice follows protocol Since Alice responds to second message, Alice must have sent the first message

Execution model Protocol “Program” for each protocol role Initial configuration Set of principals and key Assignment of  1 role to each principal Run new x new z send{x} B recv{x} B send{z} B decr A B C recv{z} B Position in run

Formulas true at a position in run Action formulas a ::= Send(P,m) | Receive (P,m) | New(P,t) | Decrypt (P,t) | Verify (P,t) Formulas  ::= a | Has(P,t) | Fresh(P,t) | Honest(N) | Contains(t1, t2) |  |  1   2 |  x  |  |  Example a < b =  (b   a) Notation in papers varies slightly …

Modal Formulas After actions, condition [ actions ] P  where P =  princ, role id  Before/after assertions  [ actions ] P  Composition rule  [ S ] P   [ T ] P   [ ST ] P  Logic formulated: [DMP,DDMP] Related to: BAN, Floyd-Hoare, CSP/CCS, temporal logic, NPATRL

Example: Bob’s view of NSL Bob knows he’s talking to Alice [ receive encrypt( Key(B),  A,m  ); new n; send encrypt( Key(A),  m, B, n  ); receive encrypt( Key(B), n ) ] B Honest(A)  Csent(A, msg1)  Csent(A, msg3) where Csent(A, …)  Created(A, …)  Sent(A, …) msg1msg3

Proof System Sample Axioms: Reasoning about possession:  [receive m ]A Has(A,m)  Has(A, {m,n})  Has(A, m)  Has(A, n) Reasoning about crypto primitives:  Honest(X)  Decrypt(Y, enc(X, {m}))  X=Y  Honest(X)  Verify(Y, sig(X, {m}))   m’ (Send(X, m’)  Contains(m’, sig(X, {m})) Soundness Theorem: Every provable formula is valid in symbolic model

Modal Formulas After actions, condition [ actions ] P  where P =  princ, role id  Before/after assertions  [ actions ] P  Composition rule  [ S ] P   [ T ] P   [ ST ] P 

Composition example: Part 1 Shared secret (with someone)  A deduces: Knows(Y, g ab )  (Y = A) ۷ Knows(Y,b) Authenticated A  B: g a B  A: g b Diffie Hellman

Composition example: Part 2 Shared secret Authenticated  A deduces: Received (B, msg1) Λ Sent (B, msg2) A  B: m, A B  A: n, sig B {m, n, A} A  B: sig A {m, n, B} Challenge-Response

Composition: Part 3 Shared secret: g ab Authenticated m := g a n := g b A  B: g a, A B  A: g b, sig B {g a, g b, A} A  B: sig A {g a, g b, B} ISO

Additional issues Reasoning about honest principals Invariance rule, called “honesty rule” Preserve invariants under composition If we prove Honest(X)   for protocol 1 and compose with protocol 2, is formula still true?

DH  Honest(X)  … ’’  |- Secrecy  ’ |- Authentication  ’ |- Secrecy  ’ |- Authentication  ’ |- Secrecy  Authentication [additive] DH  CR   ’ [nondestructive] ISO  Secrecy  Authentication = CR  Honest(X)  … More about composing protocols

PCL  Computational PCL PCL Syntax Proof System Symbolic model Semantics Computational PCL Syntax ±  Proof System ±  Complexity-theoretic model Semantics

Some general issues Computational PCL Symbolic logic for proving security properties of network protocols using public-key encryption Soundness Theorem: If a property is provable in CPCL, then property holds in computational model with overwhelming asymptotic probability. Benefits Retain compositionality Symbolic proofs about computational model Computational reasoning in soundness proof (only!) Different axioms rely on different crypto assumptions  symbolic  computational generally uses strong crypto assumptions

PCL  Computational PCL Syntax, proof rules mostly the same Retain compositional approach But some issues with propositional connectives… Significant differences Symbolic “knowledge”  Has(X,t) : X can produce t from msgs that have been observed, by symbolic algorithm Computational “knowledge”  Possess(X,t) : can produce t by ppt algorithm  Indist(X,t) : cannot distinguish from rand value in ppt More subtle system  Some axioms rely on CCA2, some info-theoretically sound, etc.

Computational Traces Computational trace contains Symbolic actions of honest parties Mapping of symbolic variables to bitstrings Send-receive actions (only) of the adversary Runs of the protocol Set of all possible traces  Each tagged with random bits used to generate trace  Tagging  set of equi-probable traces

Complexity-theoretic semantics Given protocol Q, adversary A, security parameter n, define T=T(Q,A,n), set of all possible traces [[  ]](T) a subset of T that respects  in a specific way Intuition:  valid when [[  ]](T) is an asymptotically overwhelming subset of T

Semantics of trace properties Defined in a straight forward way [[Send(X, m)]](T) All traces t such that t contains a Send(msg) action by X the bistring value of msg is the bitstring value of m

Inductive Semantics [[  1   2 ]] (T) = [[  1 ]] (T)  [[  2 ]] (T) [[  1   2 ]] (T) = [[  1 ]] (T)  [[  2 ]] (T) [[   ]] (T) = T - [[  ]] (T) Implication uses a form of conditional probability [[  1   2 ]] (T) = [[   1 ]] (T)  [[  2 ]] (T’) where T’ = [[  1 ]] (T)

Semantics of Indistinguishable Not a trace property Intuition: Indist(X, m) holds if no algorithm can distinguish m from a random value, given X’s view of the run Protocol Attacker CD mView(X) if b then m else rand b’ [[Indist(X, m)]] (T, D, e) = T if | #(t: b=b’)-|T|/2 | < e

Validity of a formula Q |=  if  adversary A  distinguisher D  negligible function f  n 0 s.t.  n > n 0 [[  ]](T,D,f) T(Q,A,n) |[[  ]](T,D,f(n)) | / |T| > 1 – f(n) Fix protocol Q, PPT adversary A Choose value of security parameter n Vary random bits used by all programs Obtain set T=T(Q,A,n) of equi-probable traces Fraction of traces where “  is true”

Advantages of Computational PCL High-level reasoning, sound for “real crypto” Prove properties of protocols without explicit reasoning about probability, asymptotic complexity Composability PCL is designed for protocol composition Composition of individual steps  Not just coarser composition available with UC/RSIM Can identify crypto assumptions needed ISO [DDMW2006] Kerberos V5 [unpublished] Thesis: existing deployed protocols have weak security properties, assuming weak security properties of primitives they use; UC/RSIM may be too strong

CPCL analysis of Kerberos V5 Kerberos has a staged architecture First stage generates a nonce and sends it encrypted Second stage uses nonce as key to encrypt another nonce Third stage uses second-stage nonce to encrypt other msgs Secrecy Logic proves “GoodKey” property of both nonces Authentication Proved assuming encryption provides ciphertext integrity Modular proofs using composition theorems

Challenges for computational reasoning More complicated adversary Actions of computational adversary do not have a simple inductive characterization More complicated messages Computational messages are arbitrary sequences of bits, without an inductively defined syntactic structure Different scheduler Simpler “non-preemptive” scheduling is typically used in computational models (change symbolic model for equiv) Power of induction ? Indistinguishability, other non-trace-based properties appear unsuitable as inductive hypotheses Solution: prove trace property inductively and derive secrecy

Current and Future Work Investigate nature of propositional fragment Non-classical implication related to conditional probability  complexity-theoretic reductions  connections with probabilistic logics (e.g. Nilsson86) Generalize reasoning about secrecy Work in progress, thanks to Arnab Need to incorporate insight of “Rackoff’s attack” Extend logic More primitives: signature, hash functions,… Complete case studies Produce correctness proofs for all widely deployed standards Collaborate on Foundational work – please join us ! Implementation and case studies – please help us !

Conclusions Symbolic model supports useful analysis Tools, case studies, high-level proofs Computational model more “correct” Captures accepted notions in cryptography Greater expressiveness for security properties Two approaches can be combined Several current projects and approaches One example: computational semantics for symbolic protocol logic

Credits Collaborators M. Backes, A. Datta, A. Derek, N. Durgin, C. He, R. Kuesters, D. Pavlovic, A. Ramanathan, A. Roy, A. Scedrov, V. Shmatikov, M. Sundararajan, V. Teague, M. Turuani, B. Warinschi, … More information Web page on Protocol Composition Logic  Science is a social process Talk this afternoon

Needham-Schroeder Protocol { A, NonceA } { NonceA, NonceB } { NonceB} Ka Kb Result: A and B share two private numbers not known to any observer without Ka -1, Kb -1 AB Kb

Anomaly in Needham-Schroeder AE B { A, Na } { Na, Nb } { Nb } Ke Kb Ka Ke Evil agent E tricks honest A into revealing private key Nb from B. Evil E can then fool B. [Lowe]

IDEALREAL Trusted party Protocol interaction For every real adversary A there exists an adversary S  Universal composability also “reactive simulatability” [BPW], … see [DKMRS] Slide: Y Lindell

Proof system Information-theoretic reasoning [new n] X (Y  X)  Indist(Y, n) Complexity-theoretic reductions Verify(X, m, Y)  Honest(X, Y)   Y’ Sign(Y’, m) Asymptotic calculations        

Example Axiom Source(Y,u,{m} X )   Decrypts(X, {m} X )  Honest(X,Y)  (Z  X,Y)  Indistinguishable(Z, u) Proof idea: crypto-style reduction Assume axiom not valid:  A  D  negligible f  n 0  n > n 0 s.t. [[  ]](T,D,f)|/|T| < 1 –f(n) Construct attacker A’ that uses A, D to break IND- CCA2 secure encryption scheme Conditional implication essential Parts of proof are similar to [Micciancio, Warinschi]

Applications of PCL IKE, JFK family key exchange IKEv2 in progress i wireless networking SSL/TLS, 4way handshake, group handshake Kerberos v5 [Cervesato et al] GDOI [Meadows, Pavlovic] Current work Use CPCL to understand computational security of these protocols, reliance on specific crypto properties