Protocol Verification by the Inductive Method John Mitchell Stanford TECS Week2005.

Slides:



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

Cryptography and Game Theory: Designing Protocols for Exchanging Information Gillat Kol and Moni Naor.
Part 3: Safety and liveness
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Lecture 3Dr. Verma1 COSC 6397 – Information Assurance Module M2 – Protocol Specification and Verification University of Houston Rakesh Verma Lecture 3.
Chen Advisor: Limin Jia.  Whole picture  Process Calculus  Definition of Secrecy and Authenticity  Demo  Comparison  Conclusion.
Luu Anh Tuan. Security protocol Intruder Intruder behaviors Overhead and intercept any messages being passed in the system Decrypt messages that are.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS 395T Computational Soundness of Formal Models.
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Case Study: Using PVS to Analyze Security Protocols Kyle Taylor.
Analysis of Security Protocols (I) John C. Mitchell Stanford University.
Induction Sections 41. and 4.2 of Rosen Fall 2008 CSCE 235 Introduction to Discrete Structures Course web-page: cse.unl.edu/~cse235 Questions:
Analysis of Security Protocols (V) John C. Mitchell Stanford University.
Authentication John C. Mitchell Stanford University CS 99j.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Abstraction and Refinement in Protocol Derivation Anupam DattaAnte Derek John C. Mitchell Dusko Pavlovic Stanford University Kestrel Institute CSFW June.
Symbolic Logic for Complexity- theoretic Model of Security Protocols Anupam Datta Ante Derek John C. Mitchell Vitaly Shmatikov Mathieu Turuani May 5, 2005.
1 © IBM, A Reactively Secure Dolev-Yao-style Cryptographic Library DIMACS, June 2004 Michael Backes, Birgit Pfitzmann, Michael Waidner IBM Research,
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.
Operational Semantics Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Theory of Computing Lecture 22 MAS 714 Hartmut Klauck.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
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.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Analyzing SET with Inductive Method CS 395T. Theorem Proving for Protocol Analysis uProve correctness instead of looking for bugs Use higher-order logic.
Protocol Verification by the Inductive Method John Mitchell CS 259.
© UCL Crypto group Sep-15 A Security Analysis of Cliques Protocols Suites Olivier Pereira – Jean-Jacques Quisquater UCL Crypto Group.
Executable specification of cryptofraglets with Maude for security verification Fabio Martinelli and Marinella Petrocchi IIT-CNR, Pisa Italy presented.
Week 15 - Wednesday.  What did we talk about last time?  Review first third of course.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
The Spi Calculus A Calculus for Cryptographic Protocols Presented By Ramesh Yechangunja.
Methods of Proof Lecture 3: Sep 9. This Lecture Now we have learnt the basics in logic. We are going to apply the logical rules in proving mathematical.
Automatic Analysis of Security Protocols using SPASS by Christoph Weidenbach.
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.
Intrusion Tolerant Software Architectures Bruno Dutertre and Hassen Saïdi System Design Laboratory, SRI International OASIS PI Meeting.
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
Authentication. Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” Failure scenario?? “I am Alice”
COP4020 Programming Languages Introduction to Axiomatic Semantics Prof. Robert van Engelen.
Recognizing safety and liveness Presented by Qian Huang.
FROM CONCRETE TO ABSTRACT ACTIVITIES FOR LINEAR ALGEBRA Basic Skills Analysis Hypothesis Proof Helena Mirtova Prince George’s Community College
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
CS104:Discrete Structures Chapter 2: Proof Techniques.
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
1 4.1 Hash Functions and Data Integrity A cryptographic hash function can provide assurance of data integrity. ex: Bob can verify if y = h K (x) h is a.
Week 15 - Wednesday.  What did we talk about last time?  Review first third of course.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Model Checking for Security Protocols Will Marrero, Edmund Clarke, Shomesh Jha.
Security Protocols Analysis
The Inductive Approach to Verifying Cryptographic Protocols
Symbolic Protocol Analysis
Protocol Composition Logic (PCL)
Protocol Verification by the Inductive Method
Protocol Verification by the Inductive Method
Formal Methods for Security Protocols
Protocol Verification by the Inductive Method
Presentation transcript:

Protocol Verification by the Inductive Method John Mitchell Stanford TECS Week2005

Analysis Techniques Crypto Protocol Analysis Formal ModelsComputational Models Modal LogicsModel Checking Inductive Proofs Dolev-Yao (perfect cryptography) Random oracle Probabilistic process calculi Probabilistic I/O automata … Finite processes, finite attacker Process Calculi … Finite processes, infinite attacker Spi-calculusBAN logic

Recall: protocol state space uParticipant + attacker actions define a state transition graph uA path in the graph is a trace of the protocol uGraph can be Finite if we limit number of agents, size of message, etc. Infinite otherwise...

Analysis using theorem proving uCorrectness instead of bugs Use higher-order logic to reason about possible protocol executions uNo finite bounds Any number of interleaved runs Algebraic theory of messages No restrictions on attacker uMechanized proofs Automated tools can fill in parts of proofs Proof checking can prevent errors in reasoning [Paulson]

Inductive proofs uDefine set of traces Given protocol, a trace is one possible sequence of events, including attacks uProve correctness by induction For every state in every trace, no security condition fails –Works for safety properties only Proof by induction on the length of trace

Two forms of induction uUsual form for  n  Nat. P(n) Base case: P(0) Induction step: P(x)  P(x+1) Conclusion:  n  Nat. P(n) uMinimial counterexample form Assume:  x [  P(x)   y<x. P(y) ] Prove: contraction Conclusion:  n  Nat. P(n) Both equivalent to “the natural numbers are well-ordered”

Use second form uGiven set of traces Choose shortest sequence to bad state Assume all steps before that OK Derive contradiction –Consider all possible steps All states are goodBad state

Sample Protocol Goals uAuthenticity: who sent it? Fails if A receives message from B but thinks it is from C u Integrity: has it been altered? Fails if A receives message from B but message is not what B sent u Secrecy: who can receive it? Fails if attacker knows message that should be secret u Anonymity Fails if attacker or B knows action done by A These are all safety properties

Inductive Method in a Nutshell Attacker inference rules Abstract trace model Informal Protocol Description Theorem is correct Try to prove the theorem Correctness theorem about traces same for all protocols!

Work by Larry Paulson uIsabelle theorem prover General tool; protocol work since 1997 uPapers describing method uMany case studies Verification of SET protocol (6 papers) Kerberos (3 papers) TLS protocol Yahalom protocol, smart cards, etc

Isabelle uAutomated support for proof development Higher-order logic Serves as a logical framework Supports ZF set theory & HOL Generic treatment of inference rules uPowerful simplifier & classical reasoner uStrong support for inductive definitions

Agents and Messages agent A,B,…=Server | Friend i | Spy msg X,Y,…=Agent A |Nonce N |Key K |{ X, Y } |Crypt X K Typed, free term algebra, …

Protocol semantics uTraces of events: A sends X to B uOperational model of agents uAlgebraic theory of messages (derived) uA general attacker uProofs mechanized using Isabelle/HOL

Define sets inductively uTraces Set of sequences of events Inductive definition involves implications if ev 1, …, ev n  evs, then add ev’ to evs uInformation from a set of messages parts H : parts of messages in H analz H : information derivable from H synth H : msgs constructible from H

Protocol events in trace uSeveral forms of events A sends B message X A receives X A stores X If ev is a trace and Na is unused, add Says A B Crypt(pk B){A,Na} AB {A,N A } pk(B) BA {N B,N A } pk(A) If Says A’ B Crypt(pk B){A,X}  ev and Nb is unused, add Says B A Crypt(pk A){Nb,X} AB {N B } pk(B) If Says...{X,Na}...  ev, add Says A B Crypt(pk B){X}

Dolev-Yao Attacker Model uAttacker is a nondeterministic process uAttacker can Intercept any message, decompose into parts Decrypt if it knows the correct key Create new message from data it has observed uAttacker cannot Gain partial knowledge Perform statistical tests Stage timing attacks, …

Attacker Capabilities: Analysis X  H  X  analz H {X,Y}  analz H  X  analz H {X,Y}  analz H  Y  analz H Crypt X K  analz H & K -1  analz H  X  analz H analz H is what attacker can learn from H

Attacker Capabilities: Synthesis X  H  X  synth H X  synth H & Y  synth H  {X,Y}  synth H X  synth H & K  synth H  Crypt X K  synth H synth H is what attacker can create from H infinite set!

Equations and implications analz(analz H) = analz H synth(synth H) = synth H analz(synth H) = analz H  synth H synth(analz H) = ??? Nonce N  synth H  Nonce N  H Crypt K X  synth H  Crypt K X  H or X  synth H & K  H

Attacker and correctness conditions If X  synth(analz(spies evs)), add Says Spy B X X is not secret because attacker can construct it from the parts it learned from events If Says B A {N b,X} pk(A)  evs & Says A’ B {N b } pk(B)  evs, Then Says A B {N b } pk(B)  evs If B thinks he’s talking to A, then A must think she’s talking to B

Inductive Method: Pros & Cons uAdvantages Reason about infinite runs, message spaces Trace model close to protocol specification Can “prove” protocol correct uDisadvantages Does not always give an answer Failure does not always yield an attack Still trace-based properties only Labor intensive –Must be comfortable with higher-order logic

Caveat uQuote from Paulson (J Computer Security, 2000) The Inductive Approach to Verifying Cryptographic Protocols The attack on the recursive protocol [40] is a sobering reminder of the limitations of formal methods… Making the model more detailed makes reasoning harder and, eventually, infeasible. A compositional approach seems necessary uReference [40] P.Y.A. Ryan and S.A. Schneider, An attack on a recursive authentication protocol: A cautionary tale. Information Processing Letters 65, 1 (January 1998) pp 7 – 10.