proving who you are tls the pki
play

PROVING WHO YOU ARE TLS & THE PKI CMSC 414 MAR 29 2018 - PowerPoint PPT Presentation

PROVING WHO YOU ARE TLS & THE PKI CMSC 414 MAR 29 2018 RECALL OUR PROBLEM WITH DIFFIE-HELLMAN The two communicating parties thought, but did not confirm , that they were talking to one another. Therefore, they were vulnerable to MITM


  1. Obtaining revocation data Certificate Revocation Lists (CRLs) A (often large) signed list of revocations “Certificate ID #3912… is 
 Trent no longer valid, as of April 5, …” Browsers and OSes 
 occasionally download CRLs Bob

  2. Obtaining revocation data Certificate Revocation Lists (CRLs) A (often large) signed list of revocations “Certificate ID #3912… is 
 Trent no longer valid, as of April 5, …” Browsers and OSes 
 occasionally download CRLs Disincentive : CRLs can be large, 
 Bob so it takes time & bandwidth

  3. Obtaining revocation data Certificate Revocation Lists (CRLs) A (often large) signed list of revocations “Certificate ID #3912… is 
 Trent no longer valid, as of April 5, …” Browsers and OSes 
 occasionally download CRLs Disincentive : CRLs can be large, 
 Bob so it takes time & bandwidth Result : delayed days/weeks/ forever

  4. Obtaining revocation data Online Certificate Status Protocol (OCSP) Browsers and OSes perform OCSP checks 
 on-demand (when verifying the certificate) Bob Trent

  5. Obtaining revocation data Online Certificate Status Protocol (OCSP) Browsers and OSes perform OCSP checks 
 on-demand (when verifying the certificate) Is certificate ID #3912… still valid? Bob Trent

  6. Obtaining revocation data Online Certificate Status Protocol (OCSP) Browsers and OSes perform OCSP checks 
 on-demand (when verifying the certificate) Is certificate ID #3912… still valid? Bob Trent “Certificate ID #3912… is 
 still longer valid, as of April 5, …” SK T

  7. Obtaining revocation data Online Certificate Status Protocol (OCSP) Browsers and OSes perform OCSP checks 
 on-demand (when verifying the certificate) Is certificate ID #3912… still valid? Bob Trent “Certificate ID #3912… is 
 still longer valid, as of April 5, …” SK T Disincentive : Still delays the initial validation of the certificate (can increase webpage load time)

  8. Obtaining revocation data OCSP Stapling Websites issue OCSP requests, include responses in initial handshake Is certificate ID #3912… still valid? Alice Trent “Certificate ID #3912… is 
 still longer valid, as of April 5, …” SK T Alice forwards this to Bob along with the certificate when they first 
 start to communicate

  9. Certificate revocation responsibilities Alice’s responsibility: Request revocations Trent’s responsibility: Make revocations publicly available Bob’s responsibility: Check for revocations

  10. Certificates in the wild The lock icon indicates that the browser was able to 
 authenticate the other end, i.e., validate its certificate

  11. Certificate chain Subject (who owns the 
 public key) Common name: the URL of the subject Issuer (who verified the identity and signed this 
 certificate)

  12. Verifying certificates Browser Certificate “I’m because says so”

  13. Verifying certificates Browser Certificate “I’m because says so” Certificate “I’m because says so”

  14. Verifying certificates Browser Certificate “I’m because I say so!” Certificate “I’m because says so” Certificate “I’m because says so”

  15. Verifying certificates Browser Certificate “I’m because I say so!” Certificate “I’m because says so” Certificate “I’m because says so”

  16. 
 Verifying certificates Browser Certificate “I’m because I say so!” Root key store Every device has one 
 Certificate “I’m because says so” Must not contain 
 malicious certificates Certificate “I’m because says so”

  17. Verifying certificates Browser Certificate “I’m because I say so!” Certificate “I’m because says so” Certificate “I’m because says so”

  18. Verifying certificates Browser ✓ Certificate “I’m because I say so!” Certificate “I’m because says so” Certificate “I’m because says so”

  19. Verifying certificates ✓ Certificate “I’m because I say so!” Browser Certificate “I’m because says so” Certificate “I’m because says so”

  20. Verifying certificates ✓ Certificate “I’m because I say so!” Browser ✓ Certificate “I’m because says so” Certificate “I’m because says so”

  21. Verifying certificates ✓ Certificate “I’m because I say so!” ✓ Certificate “I’m because says so” Browser Certificate “I’m because says so”

  22. Verifying certificates ✓ Certificate “I’m because I say so!” ✓ Certificate “I’m because says so” Browser ✓ Certificate “I’m because says so”

  23. Serial number: Uniquely identifies 
 this cert with respect to the issuer (look for this in CRLs) Signature algorithm: How the 
 issuer will sign parts of the cert Not valid before/after: When to 
 start and stop believing this cert (start & expiration dates) The public key: And the issuer’s 
 signature of the public key

  24. 
 Subject Alternate Names: Other URLs for which this cert 
 should be considered valid. (wellsfargo.com is not the same 
 as www.wellsfargo.com) Can include wildcards, e.g., 
 *.google.com

  25. Subject Alternate Names: The spirit is that it represents 
 different domain names of the 
 same entity (google.com, google.co.uk, youtube.com, …) The letter of the rule doesn’t 
 say that they need to be the same 
 company—or really have 
 anything in common

  26. Subject Alternate Names: The spirit is that it represents 
 different domain names of the 
 same entity (google.com, google.co.uk, youtube.com, …) The letter of the rule doesn’t 
 say that they need to be the same 
 company—or really have 
 anything in common

  27. 
 Subject Alternate Names: Other URLs for which this cert 
 should be considered valid. (wellsfargo.com is not the same 
 as www.wellsfargo.com) Can include wildcards, e.g., 
 *.google.com CRL & OCSP: Where to go to check if this 
 certificate has been revoked Non-cryptographic checksums

  28. Certificate types Certificates can be classified in two broad ways Signing (root and intermediate certs) What the certificate 
 can be used for Encrypting (leaf certs) DV (Domain validation) 
 The type of vetting 
 Prove administrative access to the 
 process used domain, e.g., by uploading a file OV (Organization validation) 
 Prove ownership of the organization 
 that owns the domain EV (Extended validation) 
 More extensive validation ($$)

  29. Certificate types Why are these different?

  30. Certificate types Why are these different? This is an EV (extended validation) certificate; browsers show the 
 full name for these kinds of certs

  31. Proper reaction to Heartbleed 1. Patch the software 2. “Reissue” a new key (get a new one 
 and load it onto your servers) 3. Revoke the old key

  32. Proper reaction to Heartbleed 1. Patch the software 2. “Reissue” a new key (get a new one 
 and load it onto your servers) 3. Revoke the old key Order matters! If we reissued and then patched, 
 then our new key would be compromised, too. If we revoked first, we’d be offline.

  33. Heartbleed OpenSSL

  34. Heartbleed “hi” 2 OpenSSL

  35. Heartbleed “hi” 2 OpenSSL “hi”

  36. Heartbleed OpenSSL

  37. Heartbleed “hi” 22 OpenSSL

  38. Heartbleed “hi” 22 OpenSSL “hi” + 20B from memory < 2 16

  39. Heartbleed “hi” 22 OpenSSL “hi” + 20B from memory < 2 16 Potentially reveals user data and private keys Heartbleed exploits were undetectable

  40. Why study Heartbleed? Akamai Discovered patched Publicly announced 03/21 04/02 04/07

  41. Why study Heartbleed? Akamai Akamai Discovered Discovered patched patched Publicly announced Publicly announced 03/21 03/21 04/02 04/02 04/07 04/07 Every vulnerable website should have: Patched Revoked Reissued 1 2 3

  42. Why study Heartbleed? Akamai Akamai Discovered Discovered patched patched Publicly announced Publicly announced 03/21 03/21 04/02 04/02 04/07 04/07 Every vulnerable website should have: Patched Revoked Reissued 1 2 3 Heartbleed is a natural experiment: 
 How quickly and thoroughly do administrators act?

  43. Dataset Rapid7 data 22M certs (~ 1 /wk for 6mos)

  44. Dataset 2.8M certs Alexa 
 Top- 1 M Rapid7 filter data CAs 22M certs (~ 1 /wk for 6mos) 9k certs

  45. Dataset 2.8M certs Alexa 
 Top- 1 M Rapid7 filter Leaf Set validate data CAs 22M certs 628k certs (~ 1 /wk for 6mos) 165k domains 9k certs

  46. Dataset 2.8M certs Alexa 
 Top- 1 M Rapid7 filter Leaf Set validate data CAs 22M certs 628k certs (~ 1 /wk for 6mos) 165k domains 9k certs • Download CRLs • Detect vulnerability • Identify Heartbleed-induced reissues & revocations

  47. Dataset 2.8M certs Alexa 
 Top- 1 M Rapid7 filter Leaf Set validate data CAs 22M certs 628k certs (~ 1 /wk for 6mos) 165k domains 9k certs • Download CRLs • Detect vulnerability • Identify Heartbleed-induced reissues & revocations

  48. Prevalence and patch rates 0.6 Vulnerable to Heartbleed Was ever vulnerable Was ever vulnerable Fraction of Domains Still vulnerable Still vulnerable after 3 weeks 0.5 0.4 0.3 0.2 0.1 0 0 200000 400000 600000 800000 1e+06 Alexa Site Rank (bins of 1000)

  49. Prevalence and patch rates 0.6 Vulnerable to Heartbleed Was ever vulnerable Was ever vulnerable Fraction of Domains Still vulnerable Still vulnerable after 3 weeks 0.5 0.4 0.3 0.2 0.1 0 0 200000 400000 600000 800000 1e+06 Alexa Site Rank (bins of 1000)

  50. Prevalence and patch rates 0.6 Vulnerable to Heartbleed Was ever vulnerable Was ever vulnerable Fraction of Domains Still vulnerable Still vulnerable after 3 weeks 0.5 0.4 0.3 0.2 0.1 0 0 200000 400000 600000 800000 1e+06 Alexa Site Rank (bins of 1000) Patching rates are mostly positive 
 Only ~7% had not patched within 3 weeks

  51. Certificate update rates 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 Not reissued 0.7 0.65 0.6 04/07 04/21 05/05 05/19 06/02 06/16 06/30 07/14 07/28 Date

  52. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 Not reissued 0.7 0.65 0.6 04/07 04/21 05/05 05/19 06/02 06/16 06/30 07/14 07/28 Date

  53. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 Not reissued 0.7 0.65 0.6 04/07 04/21 05/05 05/19 06/02 06/16 06/30 07/14 07/28 Date

  54. Certificate update rates Ideal 3 wks 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 Not reissued 0.7 0.65 0.6 04/07 04/21 05/05 05/19 06/02 06/16 06/30 07/14 07/28 Date

  55. Certificate update rates Ideal 3 wks 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 Not reissued 0.7 0.65 0.6 04/07 04/21 05/05 05/19 06/02 06/16 06/30 07/14 07/28 Date Similar pattern to patches: 
 Exponential drop-off, then levels out After 3 weeks: 13% Revoked

  56. Certificate update rates 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date

  57. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date

  58. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date

  59. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date Similar pattern to patches: 
 Exponential drop-off, then levels out

  60. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date Similar pattern to patches: 
 Exponential drop-off, then levels out After 3 weeks: 13% Revoked

  61. Certificate update rates 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date Similar pattern to patches: 
 Exponential drop-off, then levels out After 3 weeks: 13% Revoked

  62. Certificate update rates 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date Similar pattern to patches: 
 Exponential drop-off, then levels out After 3 weeks: 13% Revoked

  63. Certificate update rates 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date

  64. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 0.9 0.85 0.8 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date

  65. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 Not reissued 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date

  66. Certificate update rates Ideal 1 Frac. of Vulnerable Certs not Revoked/Reissued 0.95 Not revoked 0.9 0.85 0.8 Not reissued 0.75 0.7 0.65 04/07 04/11 04/15 04/19 04/23 04/27 Date Similar pattern to patches: 
 Exponential drop-off, then levels out

Recommend


More recommend