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,

Slides:



Advertisements
Similar presentations
Security attacks. - confidentiality: only authorized parties have read access to information - integrity: only authorized parties have write access to.
Advertisements

ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
SECURITY AND VERIFICATION Lecture 4: Cryptography proofs in context Tamara Rezk INDES TEAM, INRIA January 24 th, 2012.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Non-monotonic Properties for Proving Correctness in a Framework of Compositional Logic Koji Hasebe Mitsuhiro Okada (Dept. of Philosophy, Keio University)
A Logic of Secure Systems and its Application to Trusted Computing Anupam Datta, Jason Franklin, Deepak Garg, and Dilsun Kaynar Carnegie Mellon University.
Security Definitions in Computational Cryptography
Interlock Protocol - Akanksha Srivastava 2002A7PS589.
Luu Anh Tuan. Security protocol Intruder Intruder behaviors Overhead and intercept any messages being passed in the system Decrypt messages that are.
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 Anupam Datta Stanford University May 18, 2005.
 Public key (asymmetric) cryptography o Modular exponentiation for encryption/decryption  Efficient algorithms for this o Attacker needs to factor large.
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.
Abstraction and Refinement in Protocol Derivation Anupam DattaAnte Derek John C. Mitchell Dusko Pavlovic Stanford University Kestrel Institute CSFW June.
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.
Proving Security of Industrial Network Protocols: Theory and Practice Anupam Datta Stanford University Oakland PC Crystal Ball Workshop January 2007.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
Modelling and Analysing of Security Protocol: Lecture 1 Introductions to Modelling Protocols Tom Chothia CWI.
Security Analysis of Network Protocols: Compositional Reasoning and Complexity-theoretic Foundations Anupam Datta Stanford University May 23, 2005.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Logic for Computer Security Protocols Ante Derek.
Slide 1 Vitaly Shmatikov CS 378 Key Establishment Pitfalls.
Just Fast Keying (JFK) Protocol 18739A: Foundations of Security and Privacy Anupam Datta CMU Fall
CMSC 414 Computer and Network Security Lecture 23 Jonathan Katz.
Protocol Composition Logic II Anupam Datta Fall A: Foundations of Security and Privacy.
An Encapsulated Authentication Logic for Reasoning about Key Distribution Protocols Iliano Cervesato Tulane University Protocol eXchangeJune 10, 2005 Catherine.
Protocol Composition Logic John Mitchell Stanford TECS Week2005.
Logic for Protocol Composition A. Datta, A. Derek, J. Mitchell, D. Pavlovic.
Key Distribution CS 470 Introduction to Applied Cryptography
Protocol Composition Logic John Mitchell Stanford CS
Information Security of Embedded Systems : BAN-Logic Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
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.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Reading and Writing Mathematical Proofs
Executable specification of cryptofraglets with Maude for security verification Fabio Martinelli and Marinella Petrocchi IIT-CNR, Pisa Italy presented.
Formal Analysis of Security Protocols Dr. Changyu Dong
BAN LOGIC Amit Chetal Monica Desai November 14, 2001
Using Cryptography for Network Security Common problems: –Authentication - A and B want to prove their identities to one another –Key-distribution - A.
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.
The TAOS Authentication System: Reasoning Formally About Security Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
Digital Signatures, Message Digest and Authentication Week-9.
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
Network Security7-1 Today r Reminder Ch7 HW due Wed r Finish Chapter 7 (Security) r Start Chapter 8 (Network Management)
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
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.
PCL: A Logic for Proving Security of Industrial Network Protocols Anupam Datta CMU May 2007.
1 Secure Key Exchange: Diffie-Hellman Exchange Dr. Rocky K. C. Chang 19 February, 2002.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Model Checking for Security Protocols Will Marrero, Edmund Clarke, Shomesh Jha.
Formal Methods for Security Protocols
CS259: Security Analysis of Network Protocols, Winter 2008
Protocol Composition Logic II
Security Protocols Analysis
Logic for Computer Security Protocols
Just Fast Keying (JFK) Protocol
Protocol Composition Logic (PCL)
Protocol Verification by the Inductive Method
Logic for Computer Security Protocols
An Executable Model for Security Protocol JFKr
Protocol Verification by the Inductive Method
Presentation transcript:

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, Winter 2008

Today’s Plan First half  The meaning, importance and technique of proving protocols secure  Our approach: Protocol Composition Logic (PCL) Second half  Mukund is going to talk about proving IEEE i secure

Challenge-Response Protocol AB m, A n, sig B {“r”, m, n, A} sig A {“i”, m, n, B}

Matching Conversation for B If B completes protocol Then B sent msg1 before A received msg1 and A received msg1 before A sent msg2 and A sent msg2 before B received msg2 and B received msg2 before B sent msg3

Symbolic Model Assume Perfect Cryptography  Perfect Encryptions – cannot be decrypted without decryption key  Unforgeable Signatures – cannot be produced without signing key  Unguessable Nonces Attacker can  Concatenate messages  Unpair concatenations  Encrypt, Decrypt, Sign with known keys  Generate own nonces

General Active Attack Scenario   

Proof Idea AB m, A n, sig B {“r”, m, n, A} sig A {“i”, m, n, B} 1. B received A’s signature sig A {“i”, m, n, B} – so A must have signed it. Property of signatures 2. A must have received the msg n, sig B {“r”, m, n, A} Property of the protocol 2. And before that A must have sent the msg m, A Property of the protocol 3. A must have sent msg1 before B received it – freshness of m Property of nonces 4. B must have sent msg2 before A received it – freshness of n Property of nonces 5. A must have sent msg3 after receiving msg2 Property of the protocol

Protocol Composition Logic: PCL Intuition Formalism  Protocol programming language  Protocol logic Syntax Semantics  Proof System Example  Signature-based challenge-response

PCL - Intuition Alice’s information  Protocol  Private data or keys  Sends and receives Honest Principals, Attacker Protocol Private Data

Logic: Background Logic  Syntax Formulas p, p  q,  (p  q), p  q  SemanticsTruth Model, M = {p = true, q = false} M |= p  q Proof System  Axioms and proof rules Provability p  (q  p)p p  q q  Soundness Theorem Provability implies truth Axioms and proof rules hold in all “relevant” models

Actions send t;send a term t receive x;receive a term into variable x new n;generate nonce n A program is just a sequence of actions InitCR(A, X) = [ new m; send A, X, {m, A}; receive X, A, {x, sig X {“r”, m, x, A}}; send A, X, sig A {“i”, m, x, X}}; ] A RespCR(B) = [ receive Y, B, {y, Y}; new n; send B, Y, {n, sig B {“r”, y, n, Y}}; receive Y, B, sig Y {“i”, y, n, B}}; ] B

Execution Model Initial Configuration, IC  Set of principals and keys  Assignment of  1 role to each principal Run  Interleaving of actions of honest principals and attacker starting from IC new x send {x} B receive {x} B A B C Position in run receive {z} B new z send {z} B

Formulas true at a position in run Action formulas a ::= Send(P,t) | Receive (P,t) | New(P,t) | Decrypt (P,t) | Verify (P,t) Formulas  ::= a | Has(P,t) | Fresh(P,t) | Honest(N) | Contains(t 1, t 2 ) |  |  1   2 |  x  | a < a Modal formula  [ actions ] P  Example Has(X, secret)  ( X = A  X = B) Specifying secrecy

Semantics Protocol Q  Defines set of roles (e.g., initiator, responder)  Run R of Q is sequence of actions by principals following roles, plus attacker Satisfaction  Q, R |   [ actions ] P  If some role of P in R does exactly actions starting from state where  is true, then  is true in state after actions completed  Q |   [ actions ] P  Q, R |   [ actions ] P  for all runs R of Q

Challenge-Response Property Specifying authentication for Responder CR |  true [ RespCR(A) ] B Honest(A)  ( Send(A, {A,B,m})  Receive(B, {A,B,m})  Receive(B, {A,B,m})  Send(B, {B,A,{n, sig B {“r”,m, n, A}}})  Send(B, {B,A,{n, sig B {“r”,m, n, A}}})  Receive(A, {B,A,{n, sig B {“r”,m, n, A}}})  Receive(A, {B,A,{n, sig B {“r”,m, n, A}}})  Send(A, {A,B,{sig A {“i”,m,n,B}}})  Send(A, {A,B,{sig A {“i”,m,n,B}}}  Receive(B, {A,B,{sig A {“i”,m,n,B}}}) ) ) Authentication as “matching conversations” [Bellare-Rogaway93]

Proof System Goal: Formally prove security properties Axioms  Simple formulas provable by hand Inference rules  Proof steps Theorem  Formula obtained from axioms by application of inference rules

Sample axioms Actions true [ send m ] P Send(P,m) Nonce freshness

Encryption and signature Public key encryption Honest(X)  Decrypt(Y, enc X {m})  X=Y Signature Honest(X)  Verify(Y, sig X {m})  Sign(X, sig X {m})

Correctness of CR – step 1 1. B reasons about his own action CR |- true [ RespCR(B) ] B Verify(B, sig A {“i”, m, n, A}) 2. Use signature axiom CR |- true [ RespCR(B) ] B Sign (A, sig A {“i”, m, n, A} ) InitCR(A, X) = [ new m; send A, X, {m, A}; receive X, A, {x, sig X {“r”, m, x, A}}; send A, X, sig A {“i”, m, x, X}}; ] A RespCR(B) = [ receive Y, B, {y, Y}; new n; send B, Y, {n, sig B {“r”, y, n, Y}}; receive Y, B, sig Y {“i”, y, n, B}}; ] B

Proving Invariants We want to prove    Honest(X)  , where   (Sign(X, sig X (“i”, m, n, Y)  Receive(Y, n, sig Y (“r”, m, n, X))) Invariant holds if \phi holds at all pausing states of all traces.  Since the fragment of honest party action between pausing states is a protocol segment, the propagation of  looks like:   --- actions of A ---  ---- actions of B ---  --- attacker actions --  ---- actions of B ---  -- …

Proving Invariants (2) This gives the following rule for establishing  :  Prove  holds when threads have started.  Prove, for all protocol segments, if  held at the beginning, it holds at the end.

Proving Invariants (3) Consider the protocol segments of CR  For all protocol segments except Init2, Sign(X, sig X (“i”, m, n, Y)) is false – so  holds trivially.  For Init2, Sign(X, sig X (“i”, m, n, Y)) and Receive(Y, n, sig Y (“r”, m, n, X)) both hold – so  holds again. Hence  holds! InitCR(A, X) = [ new m; send A, X, {m, A}; receive X, A, {x, sig X {“r”, m, x, A}}; send A, X, sig A {“i”, m, x, X}}; ] A RespCR(B) = [ receive Y, B, {y, Y}; new n; send B, Y, {n, sig B {“r”, y, n, Y}}; receive Y, B, sig Y {“i”, y, n, B}}; ] B

Correctness of CR – step 2 So far  CR |- true [ RespCR(B) ] B Sign (A, sig A {“i”, m, n, A} ) Apply  to prove:  CR |- true [ RespCR(B) ] B Receive(A, n, sigB{“r”, m, n, A}) Reason from B’s point of view to prove:  CR |- true [ RespCR(B) ] B FirstSend(B, n, (n, sigB{“r”, m, n, A}))) Apply Nonce freshness axiom to prove:  CR |- true [ RespCR(B) ] B Receive(A, (n, sigB{“r”, m, n, A})) < Send(B, sigB{“r”, m, n, A}) A few similar steps leads to the full proof!

Thanks! and over to Mukund