proving security protocols correct
play

Proving Security Protocols Correct Lawrence C. Paulson Computer - PowerPoint PPT Presentation

Proving Security Protocols Correct Lawrence C. Paulson Computer Laboratory How Detailed Should a Model Be? too detailed too simple concrete abstract not usable not credible ``proves'' ``attacks'' everything everything publications 1


  1. Proving Security Protocols Correct Lawrence C. Paulson Computer Laboratory

  2. How Detailed Should a Model Be? too detailed too simple concrete abstract not usable not credible ``proves'' ``attacks'' everything everything publications 1 L. C. Paulson

  3. Case Study: the Plight of Monica and Bill 2 L. C. Paulson

  4. A,Na,Sid,Pa server client client hello An Internet Security Nb,Sid,Pb server hello Protocol (TLS) cert(B,Kb) server certificate cert(A,Ka) client certificate {PMS}Kb client key exchange {Hash(Nb,B,PMS)}Ka-1 certificate verify M = PRF(PMS,Na,Nb) Finished = Hash(M,messages) {Finished}clientK(Na,Nb,M) client finished {Finished}serverK(Na,Nb,M) server finished 3 L. C. Paulson

  5. Why Are Security Protocols Often Wrong? • they are TRIVIAL programs built from simple primitives, BUT they are complicated by • concurrency • a hostile environment – a bad user controls the network • obscure concepts • vague specifications – we have to guess what is wanted 4 L. C. Paulson

  6. Typical Protocol Goals • Authenticity: who sent it? • Integrity: has it been altered? • Secrecy: who can receive it? • Anonymity • Non-repudiation . . . all SAFETY properties 5 L. C. Paulson

  7. What Are Session Keys? • used for a single session • not safeguarded forever • distributed using long-term keys • could eventually become compromised • can only be trusted if FRESH 6 L. C. Paulson

  8. Freshness, or Would You Eat This Fish? wine: six years old fish: ? weeks old 7 L. C. Paulson

  9. Packaging a Session Key for Bill session key sealed using { | K , A , Nb | } Kb Bill's key person it's nonce specified shared with by Bill: proof of freshness 8 L. C. Paulson

  10. A Bad Variant of the Otway-Rees Protocol S 3: Na , { | Na , Kab | } Ka , 2: Na , A , B , { | Na , A , B | } Ka , { | Nb , Kab | } Kb Nb , { | Na , A , B | } Kb 1: Na , A , B , { | Na , A , B | } Ka A B 4: Na , { | Na , Kab | } Ka 9 L. C. Paulson

  11. A Splicing Attack with Interleaved Runs 1 . A → C B : Na , A , B , { | Na , A , B | } Ka 1 ′ . C → A : Nc , C , A , { | Nc , C , A | } Kc 2 ′ . A → C S : Nc , C , A , { } Kc , Na ′ , { | Nc , C , A | | Nc , C , A | } Ka 2 ′′ . C A → S : Nc , C , A , { | Nc , C , A | } Kc , Na , { | Nc , C , A | } Ka 3 ′ . S → C A : Nc , { | Nc , Kca | | Na , Kca | } Kc , { } Ka 4 . C B → A : Na , { | Na , Kca | } Ka Alice thinks the key Kca is shared with Bill, but it's shared with Carol! 10 L. C. Paulson

  12. A Bad Variant of the Yahalom Protocol S 3: { | B , Kab , Na , Nb | } Ka , 2: B , Nb , { | A , Na | } Kb { | A , Kab | } Kb 1: A , Na A B 4: { | A , Kab | } Kb , { | Nb | } Kab 11 L. C. Paulson

  13. A Replay Attack C A → B : A , Nc 1 . 2 . B → C S : B , Nb , { | A , Nc | } Kb 4 . C A → B : { | A , K | Kb , { } | Nb | } K Carol has broken the old key, K . She makes Bill think it is shared with Alice. 12 L. C. Paulson

  14. Verification Method I: Authentication Logics BAN logic: Burrows, Abadi, Needham (1989) Short proofs using high-level primitives: Nonce N is fresh Key Kab is good Agent S can be trusted • good for freshness • not-so-good for secrecy or splicing attacks 13 L. C. Paulson

  15. Verification Method II: State Enumeration Specialized tools (Meadows) General model-checkers (Lowe) Model protocol as a finite-state system • automatically finds splicing attacks • freshness is hard to model Try using formal proof! 14 L. C. Paulson

  16. Why An Operational Model? • good fit to informal protocol proofs: inductive • simple foundations • readable protocol specifications • easily explained to security experts • easily mechanized using Isabelle 15 L. C. Paulson

  17. An Overview of Isabelle • uses higher-order logic as a logical framework • generic treatment of inference rules • logics supported include ZF set theory & HOL • powerful simplifier & classical reasoner • strong support for inductive definitions 16 L. C. Paulson

  18. Overview of the Model • Traces of events – A sends B message X – A receives X – A stores X • A powerful attacker – is an accepted user – attempts all possible splicing attacks – has the same specification in all protocols 17 L. C. Paulson

  19. Agents and Messages A , B , . . . = Server | Friend i | Spy agent message X , Y , . . . = Agent A | Nonce N | Key K | X , X ′ | compound message | { } | Crypt K X free algebras: we assume PERFECT ENCRYPTION 18 L. C. Paulson

  20. Functions over Sets of Messages • parts H : message components Crypt K X �→ X • analz H : accessible components Crypt K X , K − 1 �→ X • synth H : expressible messages X , K �→ Crypt K X R ELATIONS are traditional, but FUNCTIONS give us an equational theory 19 L. C. Paulson

  21. Operational Definition: analz H K − 1 ∈ analz H Crypt K X ∈ analz H X ∈ analz H } ∈ analz H } ∈ analz H { | X , Y | { | X , Y | X ∈ H X ∈ analz H X ∈ analz H Y ∈ analz H Typical derived law: analz G ∪ analz H ⊆ analz ( G ∪ H ) 20 L. C. Paulson

  22. Operational Definition: synth H X ∈ H Agent A ∈ synth H X ∈ synth H X ∈ synth H X ∈ synth H Y ∈ synth H K ∈ H } ∈ synth H Crypt K X ∈ synth H { | X , Y | • agent names can be guessed • nonces & keys cannot be! 21 L. C. Paulson

  23. A Few Equations parts ( parts H ) = parts H transitivity analz ( synth H ) = analz H ∪ synth H “cut elimination” Symbolic Evaluation: analz ( { Crypt K X } ∪ H ) =  if K − 1 ∈ analz H { Crypt K X } ∪ analz ( { X } ∪ H )  { Crypt K X } ∪ analz H otherwise  22 L. C. Paulson

  24. What About Freshness? 23 L. C. Paulson

  25. Modelling Attacks and Key Losses If X ∈ synth ( analz ( spies e v s )) may add Says Spy B X (Fake rule) If the server distributes session key K may add Notes Spy { (Oops rule) | Na , Nb , K | } Nonces show the TIME of the loss 24 L. C. Paulson

  26. Overview of Results • facts proved by induction & classical reasoning • simplifying analz H : case analysis, big formulas • handles REAL protocols: TLS, Kerberos, . . . • lemmas reveal surprising protocol features • failed proofs can suggest attacks Proofs require days or weeks of effort Generalizing induction formulas is hard! 25 L. C. Paulson

  27. The Recursive Authentication Protocol • designed in industry (APM Ltd) • novel recursive structure: variable length • VERIFIED by Paulson – assuming perfect encryption • ATTACKED by Ryan and Schneider – using the specified encryption (XOR) Doesn’t proof give certainty? Not in the real world! 26 L. C. Paulson

  28. So Then, How Detailed Should a Model Be? • detailed enough to answer the relevant questions • abstract enough to fit our budget • model-checking is almost free (thanks to Lowe, Roscoe, Schneider) • formal proofs give more, but cost more 27 L. C. Paulson

  29. Don’t let theory displace reality

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