universal ssl
play

Universal SSL Nick Sullivan @grittygrease Real Real World Crypto: - PowerPoint PPT Presentation

January 9th 2015 Universal SSL Nick Sullivan @grittygrease Real Real World Crypto: HTTPS 2 HTTPS Myths Only for banking Only for authentication Too hard 3 HTTPS is used for Visitor privacy Invasive


  1. January 9th 2015 Universal SSL Nick Sullivan @grittygrease

  2. Real Real World Crypto: HTTPS 2

  3. HTTPS Myths • Only for banking • Only for authentication • Too hard 3

  4. HTTPS is used for • Visitor privacy • Invasive intermediaries • SEO? 4

  5. First some good news… realworldcrypto.com does not have any TLS vulnerabilities 5

  6. The bad news 6

  7. Who else is not using HTTPS? 7

  8. And at the low end… • Personal sites • Small businesses • Shared hosting (Github pages, etc.) 8

  9. WHY U NO HTTPS? 9

  10. Reasons at high end • Sysadmin time/training • Business process and risk • Vendor cost (CDN, Hardware) • Third party liability • Mixed content warnings from ads 10

  11. Reasons at low end • Certi fi cates cost money • Hosting provider capabilities • Setting up HTTPS is complicated • Fixing vulnerabilities 11

  12. Goal Get more sites on HTTPS 12

  13. How? HTTPS as a service 13

  14. CloudFlare Reverse Proxy 14

  15. Potential issues • Certi fi cate Management • Scaling • Performance 15

  16. Problem Certi fi cate Management 16

  17. Solution Automated Certi fi cate Issuance 17

  18. How does a CA validate a site? • Domain validation (DV) • Organization validation (OV) • Extended validation (EV) 18

  19. How does a CA validate a site? • Domain validation (DV) • WHOIS email • DNS • HTTP 19

  20. Whois email $ whois realworldcrypto.com The Registry database contains ONLY .COM, .NET, .EDU domains and Registrars. Domain Name: realworldcrypto.com Registry Domain ID: 1839854081_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.register.com Registrar URL: http://www.register.com Updated Date: 2013-12-20T05:00:00Z Creation Date: 2013-12-20T16:52:54Z Registrar Registration Expiration Date: 2023-12-20T05:00:00Z Registrar: Register.com, LLC. Registrar IANA ID: 9 Admin Name: Dan Boneh … Admin Email: dabo@cs.stanford.edu 20

  21. DNS Validation • If you control DNS, you control the site • Add a TXT record to DNS with token from CA $ dig realworldcrypto.com TXT realworldcrypto.com. 14399 IN TXT "google-site- verification=8-V5SmsK-pBf9PLCE49ACqFCX4qymWylbNVFaIDbtXc" 21

  22. HTTP Validation • If you control page content, you control the site • Add a meta-tag to HTML <meta name=“validator” content=“...”> 22

  23. CloudFlare Edge DNS Proof Proof CloudFlare CA 23

  24. Proof CloudFlare Edge TXT? DNS TXT? Proof CSR Certi fi cate CloudFlare CA 24

  25. CloudFlare CDN CA Proof Proof CloudFlare 25

  26. Proof CloudFlare CDN CA HTTP GET CSR Certi fi cate CloudFlare 26

  27. Problem ✓ Certi fi cate Management 27

  28. Problem Scaling 28

  29. Customer Power Law High-end enterprises 1,000s Businesses with budgets 10,000s Cost sensitive sites 100,000s Free customers 1,000,000s All numbers approximate for illustration 29

  30. Assumptions • One IP address per site • Web server can handle around 10,000 certi fi cates • Service owns 10,000 IPv4 addresses 30

  31. High-end enterprises • 1,000 sites • 1,000 certi fi cates • Easy to handle 31

  32. Third party liability? • Keyless SSL • Keep private key on premises • Open signing oracle to proxy • Proxy splits handshake 32

  33. 33

  34. Keyless SSL Example handshake performance No proxy: 895ms Proxy with keyless: 346ms Proxy with key: 149ms 34

  35. Businesses with budgets • 10,000 sites • 10,000 certi fi cates • Near capacity for stock web server 35

  36. Cost sensitive sites • 100,000 sites • 100,000 certi fi cates • This begins to get tricky 36

  37. Subject Alternative Names • Associate values to a certi fi cate (DNS Name, IP) 37

  38. Solution to certi fi cate problem • Put multiple sites on same SAN • ~40 or so SANs before performance is a ff ected • Sites can’t spoof each other: managed key 38

  39. Cost sensitive sites • 100,000 sites • 10,000 multi-SAN certi fi cates • Acceptable web server 39

  40. Free customers • 1,000,000 sites • 100,000 multi-SAN certi fi cates? • Even with SANs, this doesn’t scale 40

  41. Lazy Loading • Load certi fi cates into memory when needed • No need to reload web server • 100,000 certi fi cates are possible 41

  42. How many IP addresses? • Let’s assume one IP per server per site 42

  43. CloudFlare’s Global Network 43

  44. IP addresses needed • 1 certi fi cate per IP per PoP • 100,000 certi fi cates • ~3 million IPs for 30 pops • CloudFlare only has ~1 million IP addresses • Only ~16 million in a Class A network 44

  45. Unicast vs. Anycast Networks • Unicast: each machine gets its own IP • Anycast: each machine gets the same IP • Network handles routing via BGP 45

  46. Source addresses for one IP 46

  47. As seen from Singapore 47

  48. As seen from Santiago 48

  49. Using Anycast • 1 certi fi cate per IP, no matter how many servers • 100,000 certi fi cates • 100,000 IPs • Still not ideal 49

  50. Solution Server Name Indication (SNI) 50

  51. What is it? • TLS extension that adds the hostname to ClientHello • Allows “virtual hosting” • Multiple certi fi cates behind one IP 51

  52. Downside • Not universally supported 52

  53. SNI Support Windows XP Android iOS/MacOS iOS 4+ X OS Browser 3.0+ MacOS 10.5+ ✓ ✓ Chrome 3.0+ ✓ ✓ Firefox 2.0+ 53

  54. But… 54

  55. Meanwhile… • Windows XP end of life • Microsoft and Google dropping support for SHA-1 • POODLE exploit causes SSL v3.0 to be dropped 55

  56. SHA-256 Support Windows XP Android iOS/MacOS iOS 3+ OS Browser SP3 2.3+ MacOS 10.5+ ✓ ✓ Chrome 26.0+ SP3 ✓ ✓ Firefox 1.5+ 56

  57. no SNI support, yes SHA-256 Windows XP Android iOS/MacOS OS Browser XP SP3 2.3 only iOS 3 only 3.0+ SP2 Chrome N/A N/A 3 – 25 SP3 Firefox N/A N/A N/A 57

  58. Use SNI • 1,000,000 sites • 100,000 multi-SAN certi fi cates • 10 certi fi cates per IP • 10,000 IPs • Works on modern browsers 58

  59. Problem ✓ Scaling 59

  60. Problem Performance 60

  61. Potential performance issues • Server CPU usage • Handshake latency • Is the site slower with HTTPS? 61

  62. CPU utilization - bulk crypt • Modern Intel CPUs have instructions for AES • Advanced Encryption Standard Instruction Set (AES-NI) • Carry-less Multiplication (CLMUL) • ChaCha20/Poly1305 for mobile — soon • Encrypt and decrypt at line rate 62

  63. CPU utilization - handshake • Elliptic curve certi fi cates • Assembly implementation of P256 in OpenSSL • 10x less computation than RSA on server side 63

  64. Latency - handshake • Session resumption • Session tickets, globally resumable • Session IDs, resumable within a PoP 64

  65. 65

  66. 66

  67. 67

  68. Latency - HTTP • Use SPDY 68

  69. 69

  70. 70

  71. Problem ✓ Performance 71

  72. Problems ✓ • Certi fi cate Management ✓ • Scaling ✓ • Performance 72

  73. All this results in • Free HTTPS 73

  74. Universal SSL • No-hassle HTTPS • ECDSA certi fi cates • SNI only • Free and automatic • Over a million new sites with HTTPS! 74

  75. Universal SSL • Modern browsers only 75

  76. Some issues left to solve • Back-end encryption • Ad networks and mixed content warnings 76

  77. 77

  78. Automatic Back-end Encryption • Automatic issuance of certi fi cates for origin • CloudFlare Origin CA • Let’s Encrypt ??? 78

  79. 79

  80. Mixed content warnings • Invite me back next year when we’ve fi xed it 80

  81. January 9th 2015 Universal SSL Nick Sullivan @grittygrease

Recommend


More recommend