SlideShare a Scribd company logo
Elliptic Curve Cryptography
Bringing it to the mainstream
Stanford Security Lunch
November 4, 2015
Nick Sullivan
@grittygrease
nick@cloudflare.com
Bringing Elliptic Curve Cryptography into the Mainstream
Bringing Elliptic Curve Cryptography into the Mainstream
DNS
HTTP
HTTPS
The “S” stands for TLS
Bringing Elliptic Curve Cryptography into the Mainstream
Bringing Elliptic Curve Cryptography into the Mainstream
HTTPS Adoption (2013)
• 2,545,693 valid RSA 2048-bit certificates

Analysis of the HTTPS Certificate Ecosystem, Durumeric, Kasten, Bailey, Halderman (2013)
• Zero valid ECDSA certificates
9
CloudFlare Reverse Proxy
10
11
CACloudFlare
CloudFlare Edge
DNS
CSR
TXT?
Proof
TXT?
Proof
Certificate
Proof
Goal
Enable HTTPS by default
for ~2 million free
customers
12
Issue: Scale
~30 Trillion Requests/
Day
13
What is expensive in TLS?
• Private key Operations
• Bulk encryption
14
Bulk Encryption
• Basically free with modern Intel processors
• AES-GCM on Haswell is ~1 cycle per byte
15
Private Key Operations
• Orders of magnitude slower than symmetric crypto
• RSA ~2,000,000 cycles per signature on Haswell
• ~500 Quadrillion Cycles/Day
16
We can do better
• Session resumption (~33%)
17
ECDSA
Elliptic Curve Digital Signature Algorithm
ECDSA
• Digital signature algorithm based on elliptic curve crypto
• Widely studied, no sub-exponential discrete logarithm
• Standardized NIST Curves (P256, P384, P521)
• NSA Suite B (Secret and Top Secret)
19
EQUATIONS!!!
20
ECDSA Advantages
• Smaller keys (256bit EC ~ 3072bit RSA)
• Faster signatures (~800K vs 2M)
• Vlad Krasnov improved to ~375K by using x86_64 asm
• Merged into OpenSSL, Golang
• Saves 300 Quadrillion Cycles/Day (given 100% HTTPS)
21
ECDSA Downsides
• Slower signature verification
• Less ubiquitous
• Roots were added in
• Some systems don’t support ECDSA (Android 2, Windows XP)
• Patent encumbrances
• Not quantum-safe: subject to Shor’s algorithm
22
Universal SSL
• Free ECDSA certificates for all customers
• HTTPS enabled by default
• Total number of HTTPS sites is 

up by over 2 million
• SNI-only so scans undercount
23
What about DNS?
24
Authoritative
Servers
25
Cache Poisoning (Kaminsky’s attack)
26
Resolver Authoritative
Server
Q: what is the IP address of cloudflare.com
A: 198.41.213.157
A:6.6.6.6
A:6.6.6.6
A:6.6.6.6
A:6.6.6.6
A:6.6.6.6
A: 6.6.6.6
A: 6.6.6.6
Man-in-the-middle
27
Resolver
Authoritative
Server
Q: what is the IP address of cloudflare.com
A: 198.41.213.157A: 6.6.6.6
DNSSEC signature verification
28
A
example.com. A RRSIG
example.com.
DNSKEY KSK
example.com.
DNSKEY KSK
.
Verisign
Authoritative
(i.e. CloudFlare)
ICANN
DS
example.com.
DS
com.
Root Key
DNSKEY ZSK
example.com.
DNSKEY RRSIG
example.com.
DS RRSIG
com.
DNSKEY KSK
com.
DNSKEY ZSK
com.
DNSKEY RRSIG
com.
A RRSIG
.
DNSKEY ZSK
.
DNSKEY RRSIG
.
29
Solution: DNSSEC (done right)
Digital signatures in the DNS
Live-signed answers
Elliptic curve keys
30
Solution: DNSSEC (done right)
cloudflare.net. 300 IN A 104.20.36.89
cloudflare.net. 300 IN A 104.20.37.89
cloudflare.net. 300 IN RRSIG A 13 2 300 20151105181354 20151103161354 35273
cloudflare.net. 1lj7NV/tLbTWAk/HeiU4UvxwTDPG8nXGEn408Rm7HELyL0HE3QRQTMha /
Y0yTIAJWvQFKwGm2lg61Gpf9uy7uQ==
ietf.org. 1800 IN A 4.31.198.44
ietf.org. 1800 IN RRSIG A 5 2 1800 20161012164049 20151013154322 40452 ietf.org.
DlaOfMqEIkbTBY8Rv8WJf2MqXBzT64sUr+Ms5zEfV4IIdKhiQoQqU8vH Ga+PcZak5DzfXwXuklriXPI7jN5Zqk/
UnTsX62on0SQft/YkgAogMdZI U5znPsgkq+gX/BA2AkRpBOEBDiPS8sRgJb4r38kZ05BNLTvlweg3hIcX
m1JHfbXuyAE4C6bRmD/h5erxvO6Q2UA2EFWHjcrIAAhmLRqHxeq8uhCJ AZMSJyTuJxB+6z+59v4/QxP
+z3NnBdzxcTea1aUVYG/zbqiHkNpgRzrN 708UrrqkUwWDodrOYoHndfYoWqI61ifvBkUref0cn0IKWOolfHMsCjdl
y6BdTA==
31
Issues addressed
Fix zone enumeration with live signing
Fix live signing with ECDSA — in the Go language
Vlad performance improvements
Amplification-neutral
32
ECDSA - Miscellaneous
• Randomness breaks ECDSA
• Fixed by RFC 6979
• Patent issues
• ECDSA is not supported by Red Hat
• A Riddle Wrapped in an Enigma
• Koblitz & Menezes paper on Suite B
• Are the NIST curves safe?
33
Elliptic Curve Cryptography
Bringing it to the mainstream
Nick Sullivan
@grittygrease
nick@cloudflare.com

More Related Content

PDF
What's New in Go Crypto - Gotham Go
PDF
CFSSL 1.1: The Evolution of a PKI toolkit - DEF CON 23
PDF
An analysis of TLS handshake proxying
PDF
Scaling Push Messaging for Millions of Devices @Netflix
PDF
Virus Bulletin 2012
PDF
Heartache and Heartbleed - 31c3
PDF
Sullivan randomness-infiltrate 2014
PDF
Sullivan red october-oscon-2014
What's New in Go Crypto - Gotham Go
CFSSL 1.1: The Evolution of a PKI toolkit - DEF CON 23
An analysis of TLS handshake proxying
Scaling Push Messaging for Millions of Devices @Netflix
Virus Bulletin 2012
Heartache and Heartbleed - 31c3
Sullivan randomness-infiltrate 2014
Sullivan red october-oscon-2014

What's hot (20)

PDF
Sullivan heartbleed-defcon22 2014
PDF
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEA
PDF
Sullivan handshake proxying-ieee-sp_2014
PDF
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
PPTX
The 3 Models in the NGINX Microservices Reference Architecture
PDF
Sullivan white boxcrypto-baythreat-2013
PDF
Running Secure Server Software on Insecure Hardware Without Parachute
PPTX
Botconf ppt
PDF
Bridges and Tunnels: A Drive Through OpenStack Networking
PDF
Serverless for the Cloud Native Era with Fission
PDF
GopherCon 2017 - Writing Networking Clients in Go: The Design & Implementati...
PPTX
NGINX Plus PLATFORM For Flawless Application Delivery
PDF
DEFCON 28: 21 Jump Server: Going Bastionless in the Cloud
PDF
Advanced Crypto Service Provider – cryptography as a service
PDF
Monitoring Highly Dynamic and Distributed Systems with NGINX Amplify
ODP
Certificate based access type in openstack Manila @ openstack paris nov. 2014
PPTX
MRA AMA Part 7: The Circuit Breaker Pattern
PDF
Redecentralizing the Web: IPFS and Filecoin
PDF
Using NGINX as an Effective and Highly Available Content Cache
PDF
NATS vs HTTP
Sullivan heartbleed-defcon22 2014
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source EMEA
Sullivan handshake proxying-ieee-sp_2014
DockerCon Live 2020 - Securing Your Containerized Application with NGINX
The 3 Models in the NGINX Microservices Reference Architecture
Sullivan white boxcrypto-baythreat-2013
Running Secure Server Software on Insecure Hardware Without Parachute
Botconf ppt
Bridges and Tunnels: A Drive Through OpenStack Networking
Serverless for the Cloud Native Era with Fission
GopherCon 2017 - Writing Networking Clients in Go: The Design & Implementati...
NGINX Plus PLATFORM For Flawless Application Delivery
DEFCON 28: 21 Jump Server: Going Bastionless in the Cloud
Advanced Crypto Service Provider – cryptography as a service
Monitoring Highly Dynamic and Distributed Systems with NGINX Amplify
Certificate based access type in openstack Manila @ openstack paris nov. 2014
MRA AMA Part 7: The Circuit Breaker Pattern
Redecentralizing the Web: IPFS and Filecoin
Using NGINX as an Effective and Highly Available Content Cache
NATS vs HTTP
Ad

Similar to Bringing Elliptic Curve Cryptography into the Mainstream (20)

PPTX
ION Bucharest - Deploying DNSSEC
PDF
Signing DNSSEC answers on the fly at the edge: challenges and solutions
PDF
IoT Secure Bootsrapping : ideas
PDF
DANE and Application Uses of DNSSEC
PPT
Dns protocol design attacks and security
PPTX
TLS/SSL - Study of Secured Communications
PPTX
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source
PPTX
State of the Web
PDF
An Introduction to DANE - Securing TLS using DNSSEC
PDF
The Trusted Cloud Transfer Protocol (TCTP)
PPTX
DNS - MCSE 2019
PDF
DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...
PPT
ieeehs042204d
PPTX
Using hypervisor and container technology to increase datacenter security pos...
PPTX
Using hypervisor and container technology to increase datacenter security pos...
PDF
Servers.com Company Presentation 2020
PDF
Consul and Complex Networks
PPT
Cryptography in Human computer interaction powerpoint
PDF
Alternatives and Enhancements to CAs for a Secure Web
ION Bucharest - Deploying DNSSEC
Signing DNSSEC answers on the fly at the edge: challenges and solutions
IoT Secure Bootsrapping : ideas
DANE and Application Uses of DNSSEC
Dns protocol design attacks and security
TLS/SSL - Study of Secured Communications
TLS 1.3 and Other New Features in NGINX Plus R17 and NGINX Open Source
State of the Web
An Introduction to DANE - Securing TLS using DNSSEC
The Trusted Cloud Transfer Protocol (TCTP)
DNS - MCSE 2019
DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...
ieeehs042204d
Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...
Servers.com Company Presentation 2020
Consul and Complex Networks
Cryptography in Human computer interaction powerpoint
Alternatives and Enhancements to CAs for a Secure Web
Ad

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Empathic Computing: Creating Shared Understanding
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation_ Review paper, used for researhc scholars
Diabetes mellitus diagnosis method based random forest with bat algorithm
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
Assigned Numbers - 2025 - Bluetooth® Document
Unlocking AI with Model Context Protocol (MCP)
MYSQL Presentation for SQL database connectivity
Empathic Computing: Creating Shared Understanding
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

Bringing Elliptic Curve Cryptography into the Mainstream

  • 1. Elliptic Curve Cryptography Bringing it to the mainstream Stanford Security Lunch November 4, 2015 Nick Sullivan @grittygrease nick@cloudflare.com
  • 4. DNS
  • 9. HTTPS Adoption (2013) • 2,545,693 valid RSA 2048-bit certificates
 Analysis of the HTTPS Certificate Ecosystem, Durumeric, Kasten, Bailey, Halderman (2013) • Zero valid ECDSA certificates 9
  • 12. Goal Enable HTTPS by default for ~2 million free customers 12
  • 13. Issue: Scale ~30 Trillion Requests/ Day 13
  • 14. What is expensive in TLS? • Private key Operations • Bulk encryption 14
  • 15. Bulk Encryption • Basically free with modern Intel processors • AES-GCM on Haswell is ~1 cycle per byte 15
  • 16. Private Key Operations • Orders of magnitude slower than symmetric crypto • RSA ~2,000,000 cycles per signature on Haswell • ~500 Quadrillion Cycles/Day 16
  • 17. We can do better • Session resumption (~33%) 17
  • 18. ECDSA Elliptic Curve Digital Signature Algorithm
  • 19. ECDSA • Digital signature algorithm based on elliptic curve crypto • Widely studied, no sub-exponential discrete logarithm • Standardized NIST Curves (P256, P384, P521) • NSA Suite B (Secret and Top Secret) 19
  • 21. ECDSA Advantages • Smaller keys (256bit EC ~ 3072bit RSA) • Faster signatures (~800K vs 2M) • Vlad Krasnov improved to ~375K by using x86_64 asm • Merged into OpenSSL, Golang • Saves 300 Quadrillion Cycles/Day (given 100% HTTPS) 21
  • 22. ECDSA Downsides • Slower signature verification • Less ubiquitous • Roots were added in • Some systems don’t support ECDSA (Android 2, Windows XP) • Patent encumbrances • Not quantum-safe: subject to Shor’s algorithm 22
  • 23. Universal SSL • Free ECDSA certificates for all customers • HTTPS enabled by default • Total number of HTTPS sites is 
 up by over 2 million • SNI-only so scans undercount 23
  • 26. Cache Poisoning (Kaminsky’s attack) 26 Resolver Authoritative Server Q: what is the IP address of cloudflare.com A: 198.41.213.157 A:6.6.6.6 A:6.6.6.6 A:6.6.6.6 A:6.6.6.6 A:6.6.6.6 A: 6.6.6.6 A: 6.6.6.6
  • 27. Man-in-the-middle 27 Resolver Authoritative Server Q: what is the IP address of cloudflare.com A: 198.41.213.157A: 6.6.6.6
  • 28. DNSSEC signature verification 28 A example.com. A RRSIG example.com. DNSKEY KSK example.com. DNSKEY KSK . Verisign Authoritative (i.e. CloudFlare) ICANN DS example.com. DS com. Root Key DNSKEY ZSK example.com. DNSKEY RRSIG example.com. DS RRSIG com. DNSKEY KSK com. DNSKEY ZSK com. DNSKEY RRSIG com. A RRSIG . DNSKEY ZSK . DNSKEY RRSIG .
  • 29. 29
  • 30. Solution: DNSSEC (done right) Digital signatures in the DNS Live-signed answers Elliptic curve keys 30
  • 31. Solution: DNSSEC (done right) cloudflare.net. 300 IN A 104.20.36.89 cloudflare.net. 300 IN A 104.20.37.89 cloudflare.net. 300 IN RRSIG A 13 2 300 20151105181354 20151103161354 35273 cloudflare.net. 1lj7NV/tLbTWAk/HeiU4UvxwTDPG8nXGEn408Rm7HELyL0HE3QRQTMha / Y0yTIAJWvQFKwGm2lg61Gpf9uy7uQ== ietf.org. 1800 IN A 4.31.198.44 ietf.org. 1800 IN RRSIG A 5 2 1800 20161012164049 20151013154322 40452 ietf.org. DlaOfMqEIkbTBY8Rv8WJf2MqXBzT64sUr+Ms5zEfV4IIdKhiQoQqU8vH Ga+PcZak5DzfXwXuklriXPI7jN5Zqk/ UnTsX62on0SQft/YkgAogMdZI U5znPsgkq+gX/BA2AkRpBOEBDiPS8sRgJb4r38kZ05BNLTvlweg3hIcX m1JHfbXuyAE4C6bRmD/h5erxvO6Q2UA2EFWHjcrIAAhmLRqHxeq8uhCJ AZMSJyTuJxB+6z+59v4/QxP +z3NnBdzxcTea1aUVYG/zbqiHkNpgRzrN 708UrrqkUwWDodrOYoHndfYoWqI61ifvBkUref0cn0IKWOolfHMsCjdl y6BdTA== 31
  • 32. Issues addressed Fix zone enumeration with live signing Fix live signing with ECDSA — in the Go language Vlad performance improvements Amplification-neutral 32
  • 33. ECDSA - Miscellaneous • Randomness breaks ECDSA • Fixed by RFC 6979 • Patent issues • ECDSA is not supported by Red Hat • A Riddle Wrapped in an Enigma • Koblitz & Menezes paper on Suite B • Are the NIST curves safe? 33
  • 34. Elliptic Curve Cryptography Bringing it to the mainstream Nick Sullivan @grittygrease nick@cloudflare.com