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

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.
11 Provable Security. 22 Given a ciphertext, find the corresponding plaintext.
CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Foundations of Cryptography Lecture 5 Lecturer: Moni Naor.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
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,
7. Asymmetric encryption-
CS 395T Computational Soundness of Formal Models.
CS555Spring 2012/Topic 161 Cryptography CS 555 Topic 16: Key Management and The Need for Public Key Cryptography.
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.
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.
Computational and Information- Theoretic Soundness and Completeness of the Expanded Logics of Formal Encryption ** Andre Scedrov ** University of Pennsylvania.
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
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,
CSE331: Introduction to Networks and Security Lecture 17 Fall 2002.
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.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
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.
CS555Spring 2012/Topic 41 Cryptography CS 555 Topic 4: Computational Approach to Cryptography.
Introduction to Computer and Network Security Iliano Cervesato 26 August 2008 – Modern Cryptography.
Universally Composable Symbolic Analysis of Security Protocols Jonathan Herzog (Joint work with Ran Canetti) 7 June 2004 The author's affiliation with.
Computer Security CS 426 Lecture 3
Slide 1 Vitaly Shmatikov CS 380S Semantic Security.
Foundations of Cryptography Lecture 2 Lecturer: Moni Naor.
A Cryptography Tutorial Jim Xu College of Computing Georgia Tech
Lecture 6: Public Key Cryptography
0x1A Great Papers in Computer Security
Public Key Model 8. Cryptography part 2.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
8. Data Integrity Techniques
Cryptography Lecture 8 Stefan Dziembowski
CIS 5371 Cryptography Introduction.
One-Time Pad Or Vernam Cipher Sayed Mahdi Mohammad Hasanzadeh Spring 2004.
Lecture 14 ISAKMP / IKE Internet Security Association and Key Management Protocol / Internet Key Exchange CIS CIS 5357 Network Security.
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.
Midterm Review Cryptography & Network Security
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
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.
Security in Process Calculi CS 395T. Overview uPi calculus Core language for parallel programming Modeling security via name scoping uApplied pi calculus.
Game-based composition for key exchange Cristina Brzuska, Marc Fischlin (University of Darmstadt) Nigel Smart, Bogdan Warinschi, Steve Williams (University.
Probabilistic Polynomial-Time Process Calculus for Security Protocol Analysis J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague Partially supported by.
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
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.
Cryptography Lecture 3 Arpita Patra © Arpita Patra.
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Security Protocols Analysis
J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague
Cryptography Lecture 5.
Soundness of Formal Encryption in the Presence of Key Cycles
Probabilistic Polynomial-Time Calculus
Cryptography Lecture 5.
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

This has been a great trip uExcellent hospitality Thanks to Mathai Joseph, RekhaTulsani, Sachin Lodha, R. Venkatesh, and everyone else associated with TECS Week uGreat program Informative lectures Fun to meet all of you in the audience uAnd …

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

Protocol analysis spectrum LowHigh Low Sophistication of attacks Protocol complexity Mur  FDR  NRL  Athena  Hand proofs  Paulson  Bolignano  BAN logic  Spi-calculus  Poly-time calculus   Model checking Symbolic methods (MSR)  Protocol logic  

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

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

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

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

Language Approach uWrite protocol in process calculus Dolev-Yao model uExpress 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 uUse 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 Roscoe ‘95, Schneider ‘96, Abadi-Gordon’97

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

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

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

Pseudo-random number generators uSequence generated from random seed P n : let b = n k -bit sequence generated from n random bits in PUBLIC  b  end uTruly random sequence Q n : let b = sequence of n k random bits in PUBLIC  b  end uP is crypto strong pseudo-random number generator P  Q Equivalence is asymptotic in security parameter n

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

Secrecy for Challenge-Response uProtocol P A  B: { i } K B  A: { f(i) } K u“Obviously’’ secret protocol Q A  B: { random_number } K B  A: { random_number } K uAnalysis: 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 uPassive adversary Semantic security Indistinguishability uChosen ciphertext attacks (CCA1) Adversary can ask for decryption before receiving a challenge ciphertext uChosen ciphertext attacks (CCA2) Adversary can ask for decryption before and after receiving a challenge ciphertext

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)

Specification with Authentication uProtocol P A  B: { random i } K B  A: { f(i) } K A  B: “OK” if f(i) received u“Obviously’’ authenticating protocol Q A  B: { random i } K 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

Research project uDefine general system Process calculus Probabilistic semantics Asymptotic observational equivalence uApply to protocols Protocols have specific form “Attacker” is context of specific form

Nondeterminism vs encryption uAlice encrypts msg and sends to Bob A  B: { msg } K uAdversary uses nondeterminism Process E 0 c  0  | c  0  | … | c  0  Process E 1 c  1  | c  1  | … | c  1  Process E c(b 1 ).c(b 2 )...c(b n ).decrypt(b 1 b 2...b n, msg) In reality, at most 2 -n chance to guess n-bit key

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

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

Syntax uBounded  -calculus with integer terms P :: = 0 | c q(|n|)  T  send up to q(|n|) bits | c q(|n|) (x). P receive |  c q(|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| Expressions have size poly in |n|

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

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

Example uProcess c  rand+1  | c(x).d  x+1  | d  2  | d(y). e  x+1  uOuter 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  uCommunication c  1  | c(x).d  x+1  | d  2  | d(y). e  x+1  Each prob ½ Choose according to probabilistic scheduler

Complexity results uPolynomial 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 uBound on number of communications Count total number of inputs, multiplying by q(|n|) to account for ! q(|n|). P uBound on term evaluation Closed T evaluated in time q T (|n|) uBound 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? uIntuition | Prob{ C[ P ]  “yes” } - Prob{ C[ Q ]  “yes” } | <  uDifficulty How do we choose  ? –Less than 1/2, 1/4, … ? (not equiv relation) –Vanishingly small ? As a function of what? uSolution Use security parameter –Protocol is family { P n } n>0 indexed by key length Asymptotic form of process equivalence Problem:

Probabilistic Observational Equiv uAsymptotic equivalence within f Process, context families { P n } n>0 { Q n } n>0 { C n } n>0 P  f Q if  contexts C[ ].  obs v.  n 0.  n> n 0. | Prob[C n [ P n ]  v ] - Prob[C n [ Q n ]  v ] | < f(n) uAsymptotically 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 uLabeled 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” uBisimulation relation If P Q and P P’, then exists Q’ with Q Q’ and P’ Q’, and vice versa uStrong form of prob equivalence But enough to get started … [ van Glabbeek – Smolka – Steffen] r ~ ~ r

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

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

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

Decision Diffie-Hellman DDH uStandard crypto benchmark u n security parameter (e.g., key length) G n cyclic group of prime order p, length of p roughly n, g generator of G n u For random a, b, c  {0,..., p-1}  g a, g b, g ab    g a, g b, g c 

ElGamal cryptosystem un security parameter (e.g., key length) G n cyclic group of prime order p, length of p roughly n, g generator of G n uKeys public  g, y , private  g, x  s.t. y = g x uEncryption of m  G n for random k  {0,..., p-1} outputs  g k, m y k  uDecryption of  v, w  is w (v x ) -1 For v = g k, w = m y k get w (v x ) -1 = m y k / g kx = m g xk / g kx = m

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

Current State of Project uCompositional framework for protocol analysis Determine crypto requirements of protocols Precise definition of crypto primitives uProbabilistic ptime language uProcess framework Replace nondeterminism with rand Equivalence based on ptime statistical tests uMethods for establishing equivalence Probabilistic simulation technique uExamples Decision Diffie-Hellman, ElGamal, Bellare-Rogaway, Oblivious Transfer, Computational Zero Knowledge, … uComparison with other approaches

Conclusions uSecurity Protocols Subtle, critical, prone to error uAnalysis methods Model checking –Practically useful; brute force is a good thing –Limitation: find errors in small configurations Protocol derivation –Systematic development of certain classes of protocols Proof methods –Time-consuming to use general logics –Special-purpose logics can be sound, useful Cryptographic foundations –Scientific challenge; currently hot area

CS259 Term Projects iKP protocol familyElectronic votingXML Security IEEE i wireless handshake protocol Onion RoutingElectronic Voting Secure Ad-Hoc Distance Vector Routing An Anonymous Fair Exchange E-commerce Protocol Key Infrastructure Secure Internet Live Conferencing Windows file-sharing protocols Homework