1
play

1 Roscoe 95, Schneider 96, Compositionality Language Approach - PDF document

Probabilistic Polynomial-Time Standard analysis methods Process Calculus for Security Finite-state analysis Protocol Analysis Easier Dolev-Yao model Symbolic search of protocol runs Proofs of correctness in formal logic


  1. Probabilistic Polynomial-Time Standard analysis methods Process Calculus for Security � Finite-state analysis Protocol Analysis Easier � Dolev-Yao model • Symbolic search of protocol runs • Proofs of correctness in formal logic � Consider probability and complexity J. Mitchell, A. Ramanathan, A. Scedrov, V. Teague • More realistic intruder model P. Lincoln, P. Mateus, M. Mitchell • Interaction between protocol and Harder cryptography Protocol analysis spectrum IKE subprotocol from IPSEC m1 A, (g a mod p) Hand proofs Sophistication of attacks High � � Poly-time calculus B, (g b mod p) , signB(m1,m2) A B Symbolic methods (MSR) m2 Spi-calculus � Athena Paulson � signA(m1,m2) � � � NRL � Bolignano BAN logic � Low � � Model checking Result: A and B share secret g ab mod p Protocol logic � � � FDR Mur ϕ Low High Analysis involves probability, modular exponentiation, digital Protocol complexity signatures, communication networks, … Equivalence-based specification Compositionality (intuition) � Real protocol � Crypto primitives • The protocol we want to use • Ciphertext indistinguishable from noise • Expressed precisely in some formalism � Idealized protocol ⇒ encryption secure in all protocols • May use unrealistic mechanisms (e.g., private channels) � Protocols • Defines the behavior we want from real protocol • Expressed precisely in same formalism • Protocol indistinguishable from ideal key � Specification distribution • Real protocol indistinguishable from ideal protocol ⇒ protocol secure in all systems that • Beaver ‘91, Goldwasser-Levin ‘90, Micali-Rogaway ’91 • Depends on some characterization of observability rely on secure key distributions � Achieves compositionality 1

  2. Roscoe ‘95, Schneider ‘96, Compositionality Language Approach Abadi-Gordon’97 � Intuitively, if: � Write protocol in process calculus • Q securely realizes I , • Dolev-Yao model • R securely realizes J, � Express security using observational equivalence • R, J use I as a component, • Standard relation from programming language theory � then P ≈ Q iff for all contexts C[ ], same R{Q/I} securely realizes J observations about C[P] and C[Q] � Fits well with process calculus • Inherently compositional • Context (environment) represents adversary because ≈ is a congruence � Use proof rules for ≈ to prove security • Q ≈ I ⇒ C[Q] ≈ C[I] • Protocol is secure if no adversary can distinguish it • contexts constructed from R, J, simulators from some idealized version of the protocol Great general idea; application is complicated A ≈ B C ≈ D Aspect of compositionality The proof is easy A|C ≈ B|D � Recall definition � Property of observational equiv P ≈ Q iff for all contexts C[ ], same observations about C[P] and C[Q] � Assume A ≈ B C ≈ D • A ≈ B ⇒ ∀ C[ ], C[A] ∼ C[B] A|C ≈ B|D � Therefore • For any C[ ], let C’[ • ] = C[ • | D] • By assumption, C’[A] ∼ C’[B] • Which means that A|D ≈ B|D similarly for other process forms � By similar reasoning • Can show A|C ≈ A|D • Therefore A|C ≈ A|D ≈ B|D Probabilistic Poly-time Analysis Pseudo-random number generators � Sequence generated from random seed � Add probability, complexity P n : let b = n k -bit sequence generated from n random bits � Probabilistic polynomial - t ime process calc in PUBLIC 〈 b 〉 end • Protocols use probabilistic primitives � Truly random sequence – Key generation, nonce, probabilistic encryption, ... Q n : let b = sequence of n k random bits • Adversary may be probabilistic in PUBLIC 〈 b 〉 end � Express protocol and spec in calculus � P is crypto strong pseudo - r andom number � Security using observational equivalence generator • Use probabilistic form of process equivalence P ≈ Q Equivalence is asymptotic in security parameter n 2

  3. Secrecy for Challenge-Response Secrecy for Challenge-Response � Protocol P � Protocol P Non-malleability: A → B: { i } K A → B: { i } K Given only a ciphertext, it is difficult to generate B → A: { f(i) } K B → A: { f(i) } K a different ciphertext so that � “Obviously’’ secret protocol Q � “Obviously’’ secret protocol Q the respective plaintexts are related A → B: { random_number } K A → B: { random_number } K B → A: { random_number } K B → A: { random_number } K � Analysis: P ≈ Q reduces to crypto condition related to non-malleability [Dolev, Dwork, Naor] – Fails for “plain old” RSA if f(i) = 2i Security of encryption schemes Passive Adversary � Passive adversary • Semantic security m 0 , m 1 • Indistinguishability � Chosen ciphertext attacks (CCA1) E(m i ) Challenger Attacker • Adversary can ask for decryption before receiving a challenge ciphertext guess 0 or 1 � Chosen ciphertext attacks (CCA2) • Adversary can ask for decryption before and after receiving a challenge ciphertext Chosen ciphertext CCA1 Chosen ciphertext CCA2 c c D(c) D(c) m 0 , m 1 m 0 , m 1 Challenger Attacker E(m i ) E(m i ) Challenger Attacker guess 0 or 1 c ≠ E(m j ) D(c) guess 0 or 1 3

  4. Specification with Authentication Research project � Define general system � Protocol P • Process calculus A → B: { random i } K • Probabilistic semantics B → A: { f(i) } K A → B: “OK” if f(i) received • Asymptotic observational equivalence � “Obviously’’ authenticating protocol Q � Apply to protocols A → B: { random i } K • Protocols have specific form public channel private channel • “Attacker” is context of specific form B → A: { random j } K i , j public channel private channel A → B: “OK” if private i, j match public msgs Nondeterminism vs encryption Related work � Alice encrypts msg and sends to Bob � Canetti; B. Pfitzmann, Waidner, Backes • Interactive Turing machines A → B: { msg } K • General framework for crypto properties � Adversary uses nondeterminism • Protocol simulates an ideal setting Process E 0 c 〈 0 〉 | c 〈 0 〉 | … | c 〈 0 〉 • Universally composable security Process E 1 c 〈 1 〉 | c 〈 1 〉 | … | c 〈 1 〉 � Abadi, Rogaway, Jürjens; Process E Herzog; Warinschi c(b 1 ).c(b 2 )...c(b n ).decrypt(b 1 b 2 ...b n , msg) • Toward transfer principles between formal Dolev-Yao model and computational model In reality, at most 2-n chance to guess n-bit key Technical Challenges Syntax Expressions have size poly in |n| � Language for prob. poly - t ime functions � Bounded π -calculus with integer terms • Extend work of Cobham, Bellantoni, Cook, P :: = 0 Hofmann | c q(|n|) 〈 T 〉 send up to q(|n|) bits � Replace nondeterminism with probability • Otherwise adversary is too strong ... | c q(|n|) (x). P receive � Define probabilistic equivalence | υ c q(|n|) . P private channel • Related to poly-time statistical tests ... | [T=T] P test � Proof rules for probabilistic equivalence | P | P parallel composition • Use the proof system to derive protocol | ! q(|n|) . P bounded replication properties Terms may contain symbol n; channel width and replication bounded by poly in |n| 4

  5. Probabilistic Semantics Scheduling � Outer term evaluation � Basic idea • Evaluate all exposed terms in parallel • Alternate between terms and processes • Multiply probabilities – Probabilistic evaluation of terms (incl. rand) � Communication – Probabilistic scheduling of parallel processes � Two evaluation phases • E(P) = set of eligible subprocesses • S(P) = set of schedulable pairs • Outer term evaluation • Prioritize – private communication first – Evaluate all exposed terms, evaluate tests • Probabilistic poly - t ime computable • Communication scheduler that makes progress – Match send and receive – Probabilistic if multiple send-receive pairs Example Complexity results � Process � Polynomial time • c 〈 rand+1 〉 | c(x).d 〈 x+1 〉 | d 〈 2 〉 | d(y). e 〈 x+1 〉 • For each closed process expression P, � Outer evaluation there is a polynomial q(x) such that – For all n • c 〈 1 〉 | c(x).d 〈 x+1 〉 | d 〈 2 〉 | d(y). e 〈 x+1 〉 Each – For all probabilistic polynomial-time prob ½ • c 〈 2 〉 | c(x).d 〈 x+1 〉 | d 〈 2 〉 | d(y). e 〈 x+1 〉 schedulers � Communication eval of P halts in time q(|n|) • c 〈 1 〉 | c(x).d 〈 x+1 〉 | d 〈 2 〉 | d(y). e 〈 x+1 〉 Choose according to probabilistic scheduler Problem: Complexity: Intuition How to define process equivalence? � Bound on number of communications � Intuition • | Prob{ C[ P ] → “yes” } - Prob{ C[ Q ] → “yes” } | < ε • Count total number of inputs, multiplying by q(|n|) to account for ! q(|n|) . P � Difficulty � Bound on term evaluation • How do we choose ε ? – Less than 1/2, 1/4, … ? (not equiv relation) • Closed T evaluated in time q T (|n|) – Vanishingly small ? As a function of what? � Bound on time for each comm step � Solution • Example: c 〈 m 〉 | c(x).P → [m/x]P • Use security parameter – Protocol is family { P n } n>0 indexed by key length • Substitution bounded by orig length of P • Asymptotic form of process equivalence – Size of number m is bounded – Previous steps preserve # occurr of x in P 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend