Proving Security of Industrial Network Protocols: Theory and Practice Anupam Datta Stanford University Oakland PC Crystal Ball Workshop January 2007.

Slides:



Advertisements
Similar presentations
Non-monotonic Properties for Proving Correctness in a Framework of Compositional Logic Koji Hasebe Mitsuhiro Okada (Dept. of Philosophy, Keio University)
Advertisements

A Logic of Secure Systems and its Application to Trusted Computing Anupam Datta, Jason Franklin, Deepak Garg, and Dilsun Kaynar Carnegie Mellon University.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
An Update on Network Protocol Security Stanford University Stanford Computer Forum, 2007 Anupam DattaJohn Mitchell.
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.
Compositional Protocol Logic CS 395T. Outline uFloyd-Hoare logic of programs Compositional reasoning about properties of programs uDDMP protocol logic.
PCL: A Logic for Security Protocols Anupam Datta Stanford University Secure Software Systems, CMU October 3, 5, 2005.
Formally (?) Deriving Security Protocols Anupam Datta WIP with Ante Derek, John Mitchell, Dusko Pavlovic October 23, 2002.
Symbolic and Computational Analysis of Network Protocol Security John Mitchell Stanford University Asian 2006.
Analysis of Security Protocols (V) John C. Mitchell Stanford University.
Computationally Sound Symbolic Protocol Analysis: Correspondence Theorems 18739A: Foundations of Security and Privacy Anupam Datta CMU Fall
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.
Symbolic Logic for Complexity- theoretic Model of Security Protocols Anupam Datta Ante Derek John C. Mitchell Vitaly Shmatikov Mathieu Turuani May 5, 2005.
Cooperative Networked Control of Dynamical Peer-to-Peer Vehicle Systems: Computing and Verification Secure Wireless Networking Anupam Datta, John C. Mitchell.
Protocol Verification by the Inductive Method John Mitchell Stanford TECS Week2005.
Overview of Cryptography Anupam Datta CMU Fall A: Foundations of Security and Privacy.
On Privacy and Compliance: Philosophy and Law meets Computer Science Anupam Datta Stanford University Oakland PC Crystal Ball Workshop January 2007.
Modelling and Analysing of Security Protocol: Lecture 1 Introductions to Modelling Protocols Tom Chothia CWI.
1 Protocol composition and refinement patterns February, 2003 Dusko Pavlovic Kestrel Institute.
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.
Course Overview Anupam Datta CMU Fall A: Foundations of Security and Privacy.
Logic for Computer Security Protocols Ante Derek.
Security Analysis of Network Protocols Anupam Datta Stanford University CIS Seminar, MIT November 18, 2005.
Security Analysis of Network Protocols: Compositional Reasoning and Complexity-theoretic Foundations Anupam Datta Stanford University May 10, 2005.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
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.
Protocol Composition Logic John Mitchell Stanford TECS Week2005.
Logic for Protocol Composition A. Datta, A. Derek, J. Mitchell, D. Pavlovic.
Protocol Composition Logic John Mitchell Stanford CS
Logics for Security Protocols Anupam Datta Fall A: Foundations of Security and Privacy.
Inductive Verification of Protocols Anupam Datta CMU Fall A: Foundations of Security and Privacy.
Computational Soundness for PCL Dilsun Kaynar Carnegie Mellon University Foundations of Security and Privacy October 11, 2007.
Computer Networks NYUS FCSIT Spring 2008 Milos STOLIC, Bs.C. Teaching Assistant
Computationally Sound Mechanized Proofs of Basic and Public-key Kerberos FormaCrypt meeting, Nov. 30, 2007 B. Blanchet 1, A. D. Jaggard 2, A. Scedrov 3,
1 Reasoning about Concurrency for Security Tunnels Alwyn E. Goodloe University of Pennsylvania Carl A. Gunter University of Illinois Urbana-Champaign.
23-1 Last time □ P2P □ Security ♦ Intro ♦ Principles of cryptography.
Protocol Analysis: The SPYCE Perspective Joe Halpern.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
1 Cryptography NOTES. 2 Secret Key Cryptography Single key used to encrypt and decrypt. Key must be known by both parties. Assuming we live in a hostile.
CSCE 813 Internet Security Cryptographic Protocol Analysis.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
IM NTU Distributed Information Systems 2004 Security -- 1 Security Yih-Kuen Tsay Dept. of Information Management National Taiwan University.
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
Game-based composition for key exchange Cristina Brzuska, Marc Fischlin (University of Darmstadt) Nigel Smart, Bogdan Warinschi, Steve Williams (University.
May University of Glasgow Generalising Feature Interactions in Muffy Calder, Alice Miller Dept. of Computing Science University of Glasgow.
IPSec and TLS Lesson Introduction ●IPSec and the Internet key exchange protocol ●Transport layer security protocol.
Protocol Composition Logic (PCL): Part II Anupam Datta CS 259.
PCL: A Logic for Proving Security of Industrial Network Protocols Anupam Datta CMU May 2007.
1 Authenticated Key Exchange Rocky K. C. Chang 20 March 2007.
1 Secure Key Exchange: Diffie-Hellman Exchange Dr. Rocky K. C. Chang 19 February, 2002.
Security Review Q&A Session May 1. Outline  Class 1 Security Overview  Class 2 Security Introduction  Class 3 Advanced Security Constructions  Class.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
CS259: Security Analysis of Network Protocols, Winter 2008
Protocol Composition Logic II
Security Protocols Analysis
Logic for Computer Security Protocols
Protocol Composition Logic (PCL)
Protocol Verification by the Inductive Method
Logic for Computer Security Protocols
Protocol Verification by the Inductive Method
Presentation transcript:

Proving Security of Industrial Network Protocols: Theory and Practice Anupam Datta Stanford University Oakland PC Crystal Ball Workshop January 2007

Security Protocol Analysis uNetwork security protocols Industry Standards (IETF, IEEE) –SSL/TLS - web authentication –IPSec - corporate VPNs –Mobile IPv6 – routing security –Kerberos - network authentication –GDOI – secure group communication –802.11i - wireless LAN security uMethods for their security analysis Security proof in some model; or Identify attacks

Our Result uProtocol Composition Logic (PCL): Unbounded number of sessions (vs. model-checking) Short high-level proofs: 2-3 pages Sound wrt symbolic and computational cryptographic models Taught in security courses (alternative to BAN): CMU, Penn, Stanford, Texas… [DMP01, DDMP03, …, RDDM06]

PCL: Big Picture Symbolic Model PCL Semantics (Meaning of formulas) Unbounded # concurrent sessions PCL Syntax (Properties) Proof System (Proofs) Soundness Theorem (Induction) High-level proof principles Cryptographic Model PCL Semantics (Meaning of formulas) Polynomial # concurrent sessions Computational PCL Syntax ±  Proof System±  Soundness Theorem (Reduction) [BPW, MW,…]

PCL Results: Industrial Protocols uIEEE i [IEEE Standards; 2004] [HSDDM05] uTLS/SSL [RFC 2246] is a component (Attack using model-checking; fix adopted by WG) uGDOI Secure Group Communication [RFC 3547] [MP04] (Attack using PCL; fix adopted by IETF WG) uKerberos V5 [IETF ID; 2004] [CMP05,RDDM06] uMobile IPv6 [RFC 3775] in progress [RDM06] uIKE/JFK family uIKEv2 [IETF ID;2004] in progress [RDM06] Except Kerberos, results currently apply only to symbolic model

PCL Proof Techniques uModular Proofs [DDMP03, HSDDM05] Useful for protocols composed from multiple components, e.g. IEEE i has 4 components including TLS Sequential, parallel, staged composition uGeneric Template-style Proofs [DDMP04] Useful for protocols with multiple modes but similar abstract structure, e.g. IKEv2 has two modes based on symmetric and public-key cryptography

In More Detail … uProtocol Programming Language uProtocol Composition Logic Syntax: Stating security properties Trace Semantics: Property holds in (almost) all runs of protocol uProof System Axioms and rules: Used to prove security High-level proof principles

Example: Challenge-Response AB m, A n, sig B {m, n, A} sig A {m, n, B} uAlice reasons: if Bob is honest, then: 1.only Bob can generate his signature [protocol independent] 2.if Bob generates a signature of the form sig B {m, n, A}, –he sends it as part of msg2 of the protocol, and –he must have received msg1 from Alice [protocol specific] uAlice deduces: Received (B, msg1) Λ Sent (B, msg2)

Challenge-Response Programs AB m, A n, sig B {m, n, A} sig A {m, n, B} InitCR(A, X) = [ new m; send A, X, {m, A}; receive X, A, {x, sig X {m, x, A}}; send A, X, sig A {m, x, X}}; ] RespCR(B) = [ receive Y, B, {y, Y}; new n; send B, Y, {n, sig B {y, n, Y}}; receive Y, B, sig Y {y, n, B}}; ]

Challenge-Response Property uSpecifying authentication for Initiator using PCL syntax true [ InitCR(A, B) ] A Honest(B)  ( Send(A, {A,B,m})  Receive(B, {A,B,m})  Send(B, {B,A,{n, sig B {m, n, A}}})  Receive(A, {B,A,{n, sig B {m, n, A}}}) ) Semantics: Property should hold in (almost) all protocol runs

PCL: Proof System uSample Axiom: uProperty of signature: –Honest(X)  Verifies(Y, sig X {m})   m’. Sent(X, m’)  Contains(m’, sig X {m})) uSample proof rules: uFirst-order logic rules uInduction rule (next slide) uSoundness Theorem  If  is provable, then  holds in all protocol runs uEstablished using induction for symbolic and reduction for cryptographic model Step 1 of CR proof

Inductive Invariant Rule Scheme  steps A of protocol Q. Start(X) [ ] X   [ A ] X  Q |- Honest(X)   Example: –CR |- Honest(X)  (Send(X, m)  Contains(m, sig x {y, x, Y})  m= X, Y, {x, sig B {y, x, Y}}  Receive(X, {Y, X, {y, Y}}) ) Note: Rule depends on protocol Step 2 of CR proof

In More Detail … uPCL Proof Techniques Modular Proofs Generic Template-style Proofs

Modular Analysis / Composition EAP-TLS: Certificates to Authorization (PMK) 4WAY Handshake: PMK to Keys for data communication Group key: Keys for broadcast communication Data protection: AES based using above keys (Shared Secret-PMK) LaptopAccess Point Auth Server i Key Management  20 msgs in 4 components [HSDDM CCS’05 -> TISSEC Special Issue]

Compositional Proofs: Intuition uProtocol specific reasoning “if honest Bob generates a signature of the form sig B {m, n, A}, –he sends it as part of msg2 …” Could break: Bob’s signature from one protocol could be used to attack another PCL proof system: Invariant rule uProtocol independent reasoning Axiom stating unforgeability of signatures Still good: unaffected by composition All other axioms and proof rules for PCL

Proof Tree Axiom INV rule Other rules Security property Inv |- Auth Auth TLS |- Inv Inv Bulk of proof reused Additional work to prove 4WAY |- Inv TLS | 4WAY |- Inv Theorem: If Q |- Inv and Q’ |- Inv, then Q | Q’ |- Inv [DDMP CSF’03 -> JCS Special Issue, MFPS’03 ]

Generic Template-style Proofs uProtocols with function variables instead of specific cryptographic operations One template can be instantiated to many protocols Proof of template yields proofs for instances uMotivating example: IKEv2: two instances based on symmetric and public-key cryptography

Protocol Template A  B: m B  A: n, F(B,A,n,m) A  B: G(A,B,n,m) A  B: m B  A: n,E KAB (n,m,B) A  B: E KAB (n,m) A  B: m B  A: n,H KAB (n,m,B) A  B: H KAB (n,m,A) A  B: m B  A: n, sig B (n,m,A) A  B: sig A (n,m,B) Challenge-Response Template ISO ISO SKID3 Instantiations

Template Proof Method uCharacterizing protocol concepts Step 1: Under hypotheses about function variables and invariants, prove security property of template Step 2: Instantiate function variables to cryptographic operations and prove hypotheses. uBenefit: Proof reuse uSingle protocol can be instance of multiple templates allowing modular proofs

Proof Structure Template axiomhypothesis Instance Additional work to discharge hypotheses Bulk of proof reused

Summary uPCL – Logic for security protocols Sound wrt symbolic and cryptographic models High-level short proofs: 2-3 pages uProof techniques Modular/compositional proofs Generic template-style proofs uProofs of industrial protocols IEEE i (w/ TLS), Kerberos, GDOI, IKEv2 (unpublished), Mobile IPv6 (in progress)

Acknowledgements uPCL Design A. Datta, A. Derek, N. Durgin, J. C. Mitchell, D. Pavlovic, A. Roy uComputational PCL Design A. Datta, A. Derek, J. C. Mitchell, A. Roy, M. Turuani, V. Shmatikov, B. Warinschi uPCL Applications (in addition) M. Backes, I. Cervasato, C. He, C. Meadows, M. Sundararajan uPCL Project Page:

Thanks! Questions?

Attacks on Industry Standards uIKE [Meadows; 1999] Reflection attack; fix adopted by IETF WG uIEEE i [He, Mitchell; 2004] DoS attack; fix adopted by IEEE WG uGDOI [Meadows, Pavlovic; 2004] Composition attack; fix adopted by IETF WG uKerberos V5 [Scedrov et al; 2005] Identity misbinding attack; fix adopted by IETF WG; Windows update released by Microsoft Identified using logical methods

Protocol Analysis Techniques Cryptographic Protocol Analysis Formal ModelsCryptographic Models Protocol LogicsModel Checking Theorem Proving Dolev-Yao (perfect cryptography) Probabilistic Interactive TM Probabilistic process calculi Probabilistic I/O automata Computational PCL Process Calculi … Spi-calculus, Applied  -calculus BAN, PCL Inductive Method, Automating BAN, TAPS, Automating PCL FDR, Murphi, Athena, NRL, Brutus, OFMC Bug finding Correctness Proofs

Communication Setting Insecure network … Full Control

Open Problems in 2000 uBackground: Precise model of protocol execution Methods applied to simple protocols [Clark-J97] uCentral open problems: Develop methods for industrial protocols –[Mea99, Pau99] exceptions: SET, IKE, Kerberos –Compositional analysis technique required for practice Cryptographic soundness –Remove perfect cryptography assumption –Analysis should be sound wrt complexity-theoretic model of cryptography

PCL: Syntax uAction formulas a ::= Send(P,t) | Receive (P,t) | … uFormulas  ::= a | Has(P,t) | Honest(N) |  |  1   2 |  x  | a < a | … uModal formula  [ actions ] P  uExample Has(X, secret)  ( X = A  X = B) Specifying secrecy

Compositional Security Protocol Q Safe Environment for Q Q1Q1 Q2Q2 Q3Q3 QnQn … Hard problem in security! Modularity in CS: Programming Languages Distributed computing Hardware verification Different from: Assume-guarantee in distributed computing [MC81] Universal Composability [C01, PW01]

Protocol Analysis Spectrum LowHigh Low Strength of attacker model Protocol complexity Mur  FDR  NRL  Athena  Hand proofs Paulson   BAN logic  Spi-calculus Poly-time calculus   Model checking  PCL Computational PCL  Multiset rewriting Holy Grail Combining logic and cryptography Divide and conquer BPW, MW, Herz, Blan 