secure protocols in a hostile world
play

Secure Protocols in a Hostile World for CHES 2015 Matthew Green - PowerPoint PPT Presentation

Secure Protocols in a Hostile World for CHES 2015 Matthew Green Johns Hopkins University Why this talk? Why this presentation? These people are wrong solved problem Algorithms Protocol Design Unsolved Implementation Library


  1. Secure Protocols in a 
 Hostile World for CHES 2015 Matthew Green 
 Johns Hopkins University

  2. Why this talk?

  3. Why this presentation? These people are wrong

  4. “solved problem” Algorithms Protocol Design Unsolved Implementation Library API design Deployment & Correct Usage

  5. “solved problem” Algorithms Protocol Design Unsolved Implementation Library API design Deployment & Correct Usage

  6. “solved problem” Algorithms Protocol Design Unsolved Implementation Library API design Deployment & Correct Usage

  7. Why does this matter?

  8. This talk • We know how to build strong cryptosystems • Our research focuses on building stronger crypto systems! • And yet we continue to deploy weak ones • Worse, we’re largely stuck with weak ones • What’s going on here? • Main case studies: SSL/TLS, IPSEC

  9. Case study 1: SSL/TLS

  10. SSL/TLS • Most important security protocol on the Internet • Allows secure connections between clients & servers • Current version: TLS 1.2 • (But browsers still support SSL 3, TLS 1.0/1.1) 
 plus 1.3 coming soon! • Not just web browsing!

  11. A brief history • SSLv1 born at Netscape. Never released. (~1994) • SSLv2 released one year later • SSLv3 (1996) • TLS 1.0 (1998) • Still widely deployed • TLS 1.1 (2006) • TLS 1.2 (2008)

  12. How secure is TLS? • Many active attacks and implementation vulnerabilities • Heartbleed, Lucky13, FREAK, CRIME, BEAST, RC4

  13. How secure is TLS? • Many active attacks and implementation vulnerabilities • Heartbleed, Lucky13, FREAK, CRIME, BEAST, RC4 In practice: most of these require substantial resources and 
 can’t be deployed at scale

  14. How secure is TLS? But not all attacks… • Not all attacks:

  15. What’s wrong with TLS?

  16. Quite a bit • Many problems result from TLS’s use of 
 “ pre-historic cryptography ” (- Eric Rescorla) • CBC with Mac-then-Encrypt, bad use of IVs • RSA-PKCS#1v1.5 encryption padding • RC4 • DH parameter generation • Horrifying backwards compatibility requirements

  17. Quite a bit • Many problems result from TLS’s use of 
 “ pre-historic cryptography ” (- Eric Rescorla) • CBC with Mac-then-Encrypt, bad use of IVs • RSA-PKCS#1v1.5 encryption padding • RC4 Many of these flaws were ‘known’ 
 • DH parameter generation at design time, but exploited by 
 researchers only afterwards. • Horrifying backwards compatibility requirements

  18. 
 
 MAC-then-pad-then-Encrypt • TLS MACs the record, then pads (in CBC), then enciphers • Obvious problem: padding oracles • Countermeasure(s): 
 1. Do not distinguish padding/MAC failure 
 2. “Constant-time” decryption 


  19. BEAST • Serious bug in TLS 1.0 • Allows complete decryption of CBC ciphertexts • Use of predictable Initialization Vector (CBC residue bug) • Known since 2002, attack described by Bard in 2005 
 ( Bard was advised to focus on more interesting problems .) • Nobody cared or noticed until someone implemented it

  20. Solution in practice: RC4 :-( (When RC4 is your solution, 
 you need a better problem)

  21. Compression (CRIME) • Can’t really blame the TLS designers for including it... • Blame cryptographers for not noticing it’s still in use? • Blame cryptographers for pretending it would go away. • We need a model for compression+encryption • Clearly this can’t be semantically secure • But how much weaker? Can we quantify?

  22. Protocol Design

  23. Example: Negotiation Each TLS handshake begins with a cipher suite negotiation that determines which key agreement protocol (etc.) will be used. Negotiate Key Exchange Confirm handshake messages

  24. Ciphersuite Negotiation I support: 
 RSA, DHE, ECDHE, RSA_EXPORT Negotiate I choose: 
 ECDHE

  25. Ciphersuite Negotiation I support: 
 RSA, DHE, ECDHE, RSA_EXPORT Key exchange I choose: 
 ECDHE

  26. Ciphersuite Negotiation I support: 
 RSA, DHE, ECDHE, RSA_EXPORT Confirm handshake messages I choose: 
 ECDHE

  27. MITM Negotiation

  28. MITM Negotiation I support: 
 RSA, DHE, ECDHE, RSA_EXPORT

  29. MITM Negotiation I support: 
 RSA, DHE, ECDHE, RSA_EXPORT I choose: 
 RSA_EXPORT

  30. MITM Negotiation I support: 
 RSA, DHE, ECDHE, RSA_EXPORT I choose: 
 RSA_EXPORT

  31. MITM Negotiation Attacker can break RSA I support: 
 RSA, DHE, ECDHE, export key RSA_EXPORT I choose: 
 RSA_EXPORT

  32. MITM Negotiation … and forge I support: 
 RSA, DHE, ECDHE, confirmation messages RSA_EXPORT Confirm handshake messages I choose: 
 RSA_EXPORT

  33. MITM Negotiation I support: 
 RSA, DHE, ECDHE, RSA_EXPORT Confirm handshake messages I choose: 
 RSA_EXPORT As of Mar ’15, 30+% of TLS hosts supported export suites!

  34. 
 MITM Negotiation I support: 
 RSA, DHE, ECDHE, Solution: RSA_EXPORT Modern clients won’t offer broken cipher suites Confirm handshake messages like RSA_EXPORT (unless they’re wget or curl!) I choose: 
 RSA_EXPORT As of Mar ’15, 30+% of TLS hosts supported export suites!

  35. Question Is it sufficient for the client to support only “strong” ciphersuites, even if the server supports weak ones?

  36. Question Is it sufficient for the client to support only “strong” ciphersuites, even if the server supports weak ones? • Let A be the set of KA protocols supported by Client 
 Let B be the set of KA protocols supported by Server • If each KA protocol in is a secure KA protocol, is the TLS A ∩ B handshake secure?

  37. TLS for cryptographers • In CRYPTO 2012 (!) we saw the first paper 
 to successfully analyze TLS-DHE [Jager et al.] • In CRYPTO 2013 a random-oracle analysis of the 
 TLS-RSA handshake [Krawczyk et al.] • In CRYPTO 2014 an automated analysis of the full 
 handshake, under a new security model [Bhargavan et al.]

  38. TLS for cryptographers • In CRYPTO 2012 (!) we saw the first paper 
 to successfully analyze TLS-DHE [Jager et al.] • In CRYPTO 2013 a random-oracle analysis of the 
 TLS-RSA handshake [Krawczyk et al.] • In CRYPTO 2014 an automated analysis of the full 
 handshake, under a new security model [Bhargavan et al.]

  39. TLS for cryptographers • In CRYPTO 2012 (!) we saw the first paper 
 to successfully analyze TLS-DHE [Jager et al.] • In CRYPTO 2013 a random-oracle analysis of the 
 TLS-RSA handshake [Krawczyk et al.] • In CRYPTO 2014 an automated analysis of the full 
 handshake, under a new security model [Bhargavan et al.]

  40. 
 Theorem • Bhargavan et al. theorem statement: 
 Let A be the set of KA protocols supported by Client 
 Let B be the set of KA protocols supported by Server 
 If each KA protocol in is a secure KA protocol & 
 A ∪ B there exist PRFs, then the TLS handshake is a secure KA protocol.

  41. 
 Theorem • Bhargavan et al. theorem statement: 
 Let A be the set of KA protocols supported by Client 
 Let B be the set of KA protocols supported by Server 
 If each KA protocol in is a secure KA protocol & 
 A ∪ B there exist PRFs, then the TLS handshake is a secure KA protocol. TLS design/deployment assumes this would be ! A ∩ B

  42. Example 2: Negotiation I support: 
 RSA, DHE, ECDHE I support: 
 RSA, DHE, DHE_EXPORT, RSA_EXPORT, ECDHE Tolga Acar, Mira Belenkiy, Mihir Bellare, and David Cash, Cryptographic Agility and its Relation to Circular Encryption, in EUROCRYPT 2010

  43. Example 2: Negotiation I support: 
 RSA_EXPORT RSA, DHE, ECDHE I support: 
 RSA, DHE, DHE_EXPORT, RSA_EXPORT, ECDHE Tolga Acar, Mira Belenkiy, Mihir Bellare, and David Cash, Cryptographic Agility and its Relation to Circular Encryption, in EUROCRYPT 2010

  44. Example 2: Negotiation I support: 
 RSA_EXPORT RSA, DHE, ECDHE I support: 
 RSA, DHE, DHE_EXPORT, RSA_EXPORT, ECDHE Tolga Acar, Mira Belenkiy, Mihir Bellare, and David Cash, Cryptographic Agility and its Relation to Circular Encryption, in EUROCRYPT 2010

  45. Example 2: Negotiation I support: 
 RSA_EXPORT RSA, DHE, ECDHE FREAK [Bhargavan et al.] : 
 Due to a bug in SecureTransport, OpenSSL, SChannel, client accepts export-grade RSA key I support: 
 RSA, DHE, DHE_EXPORT, RSA_EXPORT, ECDHE Tolga Acar, Mira Belenkiy, Mihir Bellare, and David Cash, Cryptographic Agility and its Relation to Circular Encryption, in EUROCRYPT 2010

  46. Tolga Acar, Mira Belenkiy, Mihir Bellare, and David Cash, Cryptographic Agility and its Relation to Circular Encryption, in EUROCRYPT 2010

  47. Example 2: Negotiation I support: 
 Solution: Fix implementations RSA, DHE, ECDHE Patch OpenSSL, SecureTransport, SChannel so they will recognize an RSA export key 
 Negotiation exchange message, barf (patches rolled out March 2015) I support: 
 RSA, DHE, DHE_EXPORT, RSA_EXPORT, ECDHE Tolga Acar, Mira Belenkiy, Mihir Bellare, and David Cash, Cryptographic Agility and its Relation to Circular Encryption, in EUROCRYPT 2010

  48. Example 3: Negotiation I support: 
 RSA, DHE, ECDHE I support: 
 RSA, DHE, DHE_EXPORT, RSA_EXPORT, ECDHE Tolga Acar, Mira Belenkiy, Mihir Bellare, and David Cash, Cryptographic Agility and its Relation to Circular Encryption, in EUROCRYPT 2010

Recommend


More recommend