Computationally Sound Mechanized Proofs of Basic and Public-key Kerberos FormaCrypt meeting, Nov. 30, 2007 B. Blanchet 1, A. D. Jaggard 2, A. Scedrov 3,

Slides:



Advertisements
Similar presentations
Universally Composable Symbolic Analysis of Cryptographic Protocols
Advertisements

CMSC 414 Computer (and Network) Security Lecture 22 Jonathan Katz.
Windows 2000 Security --Kerberos COSC513 Project Sihua Xu June 13, 2014.
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
SECURITY AND VERIFICATION Lecture 4: Cryptography proofs in context Tamara Rezk INDES TEAM, INRIA January 24 th, 2012.
Vote privacy: models and cryptographic underpinnings Bogdan Warinschi University of Bristol 1.
Security Definitions in Computational Cryptography
11 Provable Security. 22 Given a ciphertext, find the corresponding plaintext.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
Specifying Kerberos 5 Cross-Realm Authentication Iliano Cervesato, Aaron D. Jaggard, Andre Scedrov, and Chris Walstad Supported by ONR, NSF, NRL.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
Authentication & Kerberos
Apr 2, 2002Mårten Trolin1 Previous lecture On the assignment Certificates and key management –Obtaining a certificate –Verifying a certificate –Certificate.
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.
Analysis of Security Protocols (V) John C. Mitchell Stanford University.
Daniel Moran & Marina Yatsina. Access control through encryption.
Recitation Introduction to Computer and Network Security Iliano Cervesato 18 September 2008 – Breaking and Fixing Public-Key Kerberos Joint work.
Symbolic Logic for Complexity- theoretic Model of Security Protocols Anupam Datta Ante Derek John C. Mitchell Vitaly Shmatikov Mathieu Turuani May 5, 2005.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Overview of Cryptography Anupam Datta CMU Fall A: Foundations of Security and Privacy.
CMSC 414 Computer and Network Security Lecture 16 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
1 © IBM, A Reactively Secure Dolev-Yao-style Cryptographic Library DIMACS, June 2004 Michael Backes, Birgit Pfitzmann, Michael Waidner IBM Research,
Strongly Secure Certificateless Encryption Alexander W. Dent Information Security Group
1 Modeling and Analysis of Networked Secure Systems with Application to Trusted Computing Jason Franklin Joint work with Deepak Garg, Dilsun Kaynar, and.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 23 Jonathan Katz.
Inductive Verification of Protocols Anupam Datta CMU Fall A: Foundations of Security and Privacy.
Universally Composable Symbolic Analysis of Security Protocols Jonathan Herzog (Joint work with Ran Canetti) 7 June 2004 The author's affiliation with.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
1 Cross-Domain Secure Computation Chongwon Cho (HRL Laboratories) Sanjam Garg (IBM T.J. Watson) Rafail Ostrovsky (UCLA)
Digital signature in automatic analyses for confidentiality against active adversaries Ilja Tšahhirov, Peeter Laud.
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
Cryptography Lecture 8 Stefan Dziembowski
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 22 – Internet Authentication.
The Spi Calculus A Calculus for Cryptographic Protocols Presented By Ramesh Yechangunja.
Chapter 21 Public-Key Cryptography and Message Authentication.
Security protocols  Authentication protocols (this lecture)  Electronic voting protocols  Fair exchange protocols  Digital cash protocols.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
IND-CPA and IND-CCA Concepts Summary  Basic Encryption Security Definition: IND-CPA  Strong Encryption Security Definition: IND-CCA  IND-CPA, IND-CCA.
Password Mistyping in Two-Factor Authenticated Key Exchange Vladimir KolesnikovCharles Rackoff Bell LabsU. Toronto ICALP 2008.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
Kerberos Guilin Wang School of Computer Science 03 Dec
Game-based composition for key exchange Cristina Brzuska, Marc Fischlin (University of Darmstadt) Nigel Smart, Bogdan Warinschi, Steve Williams (University.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
Authenticated Key Exchange I. Definitions I. MAP I. matching conversations II. oracles II. (I)KA II. AKEP2 III. AKEP2 Security I. Session Keys II. Perfect.
A New Paradigm of Hybrid Encryption Scheme Kaoru Kurosawa, Ibaraki Univ. Yvo Desmedt, UCL and FSU.
Key Management Network Systems Security Mort Anvari.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
1/28 Chosen-Ciphertext Security from Identity- Based Encryption Jonathan Katz U. Maryland Ran Canetti, Shai Halevi IBM.
User Authentication  fundamental security building block basis of access control & user accountability  is the process of verifying an identity claimed.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
KERBEROS SYSTEM Kumar Madugula.
Chapter 3 Basic Protocols. 3.1 Key Exchange n Session Key - Why? n Key Exchange with Symmetric Cryp. KDC request E KA (K AB ), E KB (K AB ) E KB (K AB.
A plausible approach to computer-aided cryptographic proofs (a collection of thoughts) Shai Halevi – May 2005.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Security Protocols Analysis
Authenticated encryption
Modern symmetric-key Encryption
Cryptography Lecture 12.
Topic 13: Message Authentication Code
Protocol Verification by the Inductive Method
The “Modular” Approach
Presentation transcript:

Computationally Sound Mechanized Proofs of Basic and Public-key Kerberos FormaCrypt meeting, Nov. 30, 2007 B. Blanchet 1, A. D. Jaggard 2, A. Scedrov 3, J.-K. Tsay 3 1 CNRS, É cole Normale Supérieure, INRIA, 2 Rutgers University, 3 University of Pennsylvania

Context Analysis of Cryptographic Protocols Commercial Protocols e.g. TLS Kerberos IKE Computational Complexity theory Probability theory Strong security guarantees Algebra of terms Good for checking protocol structure Limited adversary capabilities Symbolic/ Dolev-Yao Academic Protocols e.g. NSL Otway-Rees Yahalom Hand proofs in Computational model prone to human error, and even in Dolev-Yao model highly time consuming for more complex protocols Kerberos, PKINIT

Formalization and Analysis of Kerberos 5 with and without its public-key extension PKINIT (in Public-Key mode), a public-key extension to Kerberos 5, using the CryptoVerif tool First computationally sound mechanized proof of a full industrial-sized protocol –Especially PKINIT is complex, involving both asymmetric and symmetric cryptographic primitives –Kerberos and PKINIT are available for all major operating systems, e.g. implemented in Microsoft Windows (Vista/XP/2000) and Windows Server 2003 Generalization of Key Usability notion Overview (1) Intro Kerberos Results (CryptoVerif Basics) Conclusions

Overview (2) Part of an ongoing analysis of Kerberos 5 suite –Previously discovered a flaw in a draft version of PKINIT used in Windows (XP/2000) and Windows Server 2003 Joint work with Cervesato and Walstad –Previously conducted by-hand computational proofs of PKINIT and Kerberos Joint work with Cervesato and Backes using the Backes- Pfitzmann-Waidner model (BPW) CryptoVerif tool works directly in the computational model - So far tested only on academic protocols, e.g. NSL, Otway- Rees, Yahalom - Our work provides evidence for the suitability of CryptoVerif for industrial protocols Intro Kerberos Results (CryptoVerif Basics) Conclusions

Related Protocol Work [Butler, Cervesato,Jaggard, Scedrov,Walstad ‘02, ‘03, ‘06], [Cervesato,Jaggard,Scedrov,Tsay,Walstad ’06]: Symbolic analysis of Kerberos (basic and public-key) using Multi Set Rewriting (Includes the attack on PKINIT draft version) [Backes,Cervesato,Jaggard,Scedrov,Tsay ’06]: Computational Sound by-hand Proofs of Kerberos using the BPW model [He,Sundararajan,Datta,Derek,Mitchell ’05]: By-hand symbolic correctness proof of IEEE i and TLS using Protocol Composition Logic [Roy,Datta,Derek,Mitchell ’07]: By-hand correctness proofs of Kerberos (incl. Diffie-Hellman mode of PKINIT) using Computational Protocol Composition Logic [Meadows ’99] : Symbolic analysis of IETF IKE with NRL protocol analyzer [Bella,Paulson ’97] / [Paulson ’97]: Symbolic analysis with Isabelle theorem prover of Kerberos 4 / TLS … Intro Kerberos Results (CryptoVerif Basics) Conclusions

Kerberos Overview Goals Repeatedly authenticate a client to multiple servers on single log-on Remote login, file access, print spooler, , directory, … A real world protocol Part of Windows, Linux, Unix, Mac OS, … Cable TV boxes, high availability server systems, … Standardization and ongoing extension/refinement by IETF (very active documents) Intro Kerberos Results (CryptoVerif Basics) Conclusions

Abstract Kerberos Messages Client C KAS K TGS T Server S Authenticate C for U Credentials (TGT) Want to use S; here’s the TGT Credentials to use S (ST) Want to use S; here’s the ST Ok TGT = {AK,C,t K } k T ST = {SK,C,t T } k S C, T, n 1 TGT, {C,t} AK, C, S, n 2 C, ST, {SK,n 2,t T,S} AK ST, {C,t’} SK {t’} SK Replaced by PKINIT C, TGT, {AK,n 1,t K,T}kC Intro Kerberos Results (CryptoVerif Basics) Conclusions

Public-Key Kerberos Extend basic Kerberos 5 to use Public Keys –Change first round to avoid long-term shared keys (k c ) Motivations –Administrative convenience : Avoid the need to register in advance of using Kerberized services –Security: Avoid use of password-derived keys Smartcard authentication support instead Client C KAS K CertC, [t C, n 2 ] skC, C,T, n 1 {{Cert K, [k,ck] skK }} pkC, C, TGT, {AK,n 1,t K,T} k TGT ={AK,C,t K } k T, ck = HMAC k (CertC, [t C, n 2 ] skC, C,T, n 1 ) Intro Kerberos Results (CryptoVerif Basics) Conclusions

Cryptographic Assumptions Public-key encryption assumed to be IND-CCA2, signature scheme assumed to be UF-CMA Symmetric encryption assumed to be IND-CPA and INT- CTXT [Boldyreva, Kumar ‘07] show that a corrected general profile and the simplified profile satisfy these assumptions HMAC is a (W)UF-CMA message authentication code (Still in progress: earlier proofs with symmetric encryption implemented as encrypt-then-MAC, with IND-CPA encryption and (W)UF-CMA message authentication code; the authentication results have already been reproved with the hypotheses above; the secrecy results are in progress.) Intro Kerberos Results (CryptoVerif Basics) Conclusions

Authentication (1) We can show with CryptoVerif that following holds with overwhelming probability 1.Authentication of the KAS to the client [inj] If an honest client receives what appears to be a valid reply from the KAS, then the KAS generated a reply for the client 2.Authentication of request for ST If an honest TGS processes a valid request for a service ticket ST, then the ticket in the request was generated by the KAS and the authenticator included in the request was generated by the honest client. 3.Authentication of TGS to client [inj] If an honest client sees what appears to be a valid reply to a request for a ST for an honest server S from an honest TGS, then the TGS generated a reply for the client. Intro Kerberos Results (CryptoVerif Basics) Conclusions

Authentication (2) 4.Authentication of request to server If an honest server S processes a valid request, ostensibly from an honest client C, containing a service ticket ST and a session key SK then some honest TGS generated SK for C to use with S and also created ST. Furthermore, C created the authenticator. 5.Authentication of server to client If an honest client C sees a valid reply from an honest server S, then this reply was generated by S. Intro Kerberos Results (CryptoVerif Basics) Conclusions

Key Secrecy 1.Secrecy AK If an honest client C finishes an AS exchange with the KAS, where the KAS generated the authentication key AK for the use between C and an honest TGS T, then AK is secret w.r.t. the real-or-random definition of secrecy 2.Secrecy of SK If an honest client finishes a TG exchange with an honest TGS, where the TGS generated the service key SK for the use between C and an honest server S, then SK is secret with respect to the real-or-random definition of secrecy Note: The keys AK and SK will no longer be indistinguishable from random once they are used in a client C’s request to the TGS T and the server S, respectively Intro Kerberos Results (CryptoVerif Basics) Conclusions

Key Usability Notion of Key Usability introduced by Datta, Derek, Mitchell, and Warinschi in 2006 Weaker than key indistinguishability Important for protocols that perform operations with a key during a run and allow for the future use of this key An exchanged key is usable if it is `good’ for future cryptographic operations Definition parallels definition of key indistinguishability Two phase attacker ( A e, A c ): first A e interacts with protocol sessions, then A c tries to win an attack game that uses exchanged key, e.g. IND-CCA2 against an encryption scheme During second phase, A c cannot interact with protocol sessions Intro Kerberos Results (CryptoVerif Basics) Conclusions

Key Usability with CryptoVerif Stronger version of key usability (w.r.t to IND-CCA2 encryption), where adversary can still interact with uncompleted protocol sessions during the attack game: The adversary A first interacts with polynomial many protocol sessions At the request of A, a session id sid is drawn at random and A is given access to LR-encryption oracle E k and a decryption oracle D k, where k is the key locally output in sid A plays variant of an IND-CCA2 game where A may interact with uncompleted protocol sessions But all sessions of the protocol do not accept ciphertexts output by E k when they reach a point of the protocol at which at least one session expects to receive a message encrypted under the key k Discussion: Stronger notion (at the very least) More realistic ? Yet another definition of key usability (+ Comp Thm) ? Intro Kerberos Results (CryptoVerif Basics) Conclusions

Key Usability in Kerberos 1.Usability of AK If an honest client C finishes a session of basic or public-key Kerberos involving the KAS and an honest TGS, then the authentication key AK is (strongly) usable for IND-CCA2 secure encryption (under mentioned crypto assumptions) 2.Usability of SK If an honest client C finishes a session of basic or public-key Kerberos involving the KAS, an honest TGS, and an honest server S, then the session key SK is (strongly) usable for IND-CCA2 secure encryption (under mentioned crypto assumptions) Intro Kerberos Results (CryptoVerif Basics) Conclusions

CryptoVerif (1) CryptoVerif (CV) can prove secrecy properties and correspondence asssertions for cryptographic protocols, and also cryptographic primitives –Secrecy w.r.t. real-or-random definition –Authentication through [injective] correspondence assertions [inj:]  ==> [inj:]  –Proof of cryptographic primitives in the random oracle model CV works directly in the Computational Model –Protocols represented as processes in calculus inspired by pi- calculus, the calculi by [Lincoln,Mitchell,Ramanathan,Scedrov,Teague ’98, ’99, ’02] and [Laud ’05]; with probabilistic semantics –Processes Q and Q’ are observationally equivalent (Q≈ Q’) if, intuitively, an adversary has negligible probability of distinguishing Q from Q’ Intro Kerberos Results (CryptoVerif Basics) Conclusions

CryptoVerif (2) Proofs as sequences of games –Construct sequence Q 0 ≈Q 1 ≈… ≈ Q n-1 ≈Q n, where Q 0 formalizes the investigated protocol and desired security properties are obvious in Q n –CV uses cryptographic and syntactic transformations to reach Q j from Q j-1 Subtleties with crypto assumptions Note: CryptoVerif is sound but not complete –Properties it cannot prove are not necessarily invalid –CV operates in different modes: Automatic mode (if only symmetric crypto is used) Interactive mode (if public-key crypto is used) –Requires user to type in commands that determine the next game transformation Static corruption of protocol participants Intro Kerberos Results (CryptoVerif Basics) Conclusions

CryptoVerif (3) Little example: Q C = ! <= N c 2 [i C ] (h T : tgs); new n 1 : nonce; c 3 [i C ]  C, h T, n 1  ; c 4 [i C ] (= C, m 1 : bitstring m 2 : bitstring); let injbot(concat1(AK, = n 1, tk, = h T )) = dec(m 2, K C ) in event e C (h T, n 1, m, m 2 ) … CryptoVerif proves authentication of K to C by proving the query: inj-event( e C (T, n, x, y)) ⇒ inj-event( e K (C, T, n, z, y)) Runtime: Authentication properties of –Basic Kerberos: ca. 7 s, 70 game transformations –Public-key Kerberos: ca. 1 min 40 s, 124 game transformations iCiC Intro Kerberos Results (CryptoVerif Basics) Conclusions

Summary Proof of authentication and secrecy properties of basic and public-key Kerberos using the tool CryptoVerif –Extended our Kerberos analysis project to include mechanized proofs First mechanized proof of authentication and secrecy for a full commercial/real-life protocol directly in the computational model –CryptoVerif seems suitable for industrial protocols Stronger version of key usability –Proved mechanically for Kerberos Intro Kerberos Results (CryptoVerif Basics) Conclusions

Future work Using weaker crypto Stay closer to Specs –Adding additional fields from specs Yet another notion of Key Usability ? Diffie-Hellman mode of PKINIT –Mechanized proof in the computational model Hand Proof exists in Computational PCL [Roy,Datta,Derek,Mitchell ’07] Intro Kerberos Results (CryptoVerif Basics) Conclusions