The Evolving Architecture of the Web
Nick SullivanThe Evolving Architecture of the Web Nick Sullivan Head of - - PowerPoint PPT Presentation
The Evolving Architecture of the Web Nick Sullivan Head of - - PowerPoint PPT Presentation
The Evolving Architecture of the Web Nick Sullivan Head of Cryptography CFSSL Universal SSL Keyless SSL Privacy Pass Geo Key Manager Recently Standards work TLS 1.3 C on peting Goals make browsing more performant private HTTP DNS
private performant
make browsing more
Conpeting Goals
HTTP DNS
HTTP
Client ISP Web Server Operating System Browser Static Content CacheHTTP
DNS
Client Resolver Authoritative Server Operating System BrowserDNS
Client IP Server IP Anonymity set 1 1
IPv4
4.3 Billion Addresses
Not enough for every user
Tor VPN Carrier NAT Latency Cost 3 round-the-world 1 round-the-world Small
Client Server Anonymity set k 1
New T rends
HTTPS
Client ISP Host Operating System BrowserHTTPS
TLS 1.2
Client ISP Host Operating System BrowserTLS 1.3: coming soon
Client ISP Host Operating System BrowserClient Server Anonymity set 1 1
IPv4
4.3 Billion Addresses
Not enough for every website
SNI
Virtual Hosting
Send the hostname to the server so it can choose the certificate
Client Server
(Shared IP+Hostname)Anonymity set 1 1
Internet Scans and IPv6
Privacy Evolves
Certificate Transparency
Wildcard certificates
Edge Sesvices
- Websites and are delegating
- Authorized to terminate TLS
- Reduced Latency
- Improved DDoS resilience
- Anycast to reduce number of
Edge Services
HTTPS
HTTPS
Questioos
Can we improve privacy? Can we improve latency? Can we improve both???
HTTP 1.1
Resolver SNI: beans.com Q: beans.com A: 1.2.3.5 Q: burrito.com A: 1.2.3.4 burrito.com beans.comSafety in Numbess
Meek
Resolver Q: burrito.com A: 1.2.3.4 burrito.com Origin beans.com Host burrito.com HostMeek
Resolver Q: burrito.com A: 1.2.3.4 burrito.comMismatch: SNI, Host, SAN
GET https://beans.com Origin GET beans.com beans.com Host burrito.com HostHTTP/2
Resolver GET https://beans.com Q: beans.com A: 1.2.3.4 Q: burrito.com A: 1.2.3.4 burrito.com beans.comConnection Coalescing
GET https://burrito.comHTTP/2
Resolver GET https://beans.com Q: burrito.com A: 1.2.3.4 burrito.com beans.comORIGIN Frame
GET https://burrito.com ORIGIN: beans.comAnonymity set 1 ~20 Client Server
(Shared IP+Certificate)HTTP/2
Resolver GET https://beans.com Q: burrito.com A: 1.2.3.4 burrito.comCERTIFICATE Frame
GET https://burrito.com ORIGIN: beans.com beans.com CERTIFICATE:What this changes
Having a certificate gives you routing authority
Anonymity set 1 k
k is the set of domains on certificates that can be obtained through “First Hostname”
Client Server
(Shared IP+First Hostname)Meek-like circumvention protection
Only send the CERTIFICATE frame on certain resources
DNS
Cache Miss
TLD Server Authoritative Q: e.we.com me.we.com me.we.com me.we.com Client SubnetCaching
TLD Server Authoritative Q: e.we.com me.we.com Client Subnet me.we.com me.we.comQNAME Minimization
TLD Server Authoritative Q: e.we.com .com .we.com me.we.com Client SubnetDNS Over HTTPS
Client Authoritative Server Operating System Browser Edge ResolverDOH
DOH Resolver
TLD Server Authoritative Q: e.we.com .com .we.com me.we.com Client Subnet ISP ResolverLatency
ISPs
Closer to user Smaller cache UDP
Edge DoH
Globally Distributed TLS 1.3 0RTT
Challenges in the Enterprise
HTTP/2
DoH Resolver GET https://beans.com burrito.comORIGIN/CERT + DoH
GET https://burrito.com ORIGIN: beans.com beans.com CERTIFICATE: SNI: resolver.com Q: burrito.com A: 1.2.3.4 resolver.comHTTP/2
DoH Resolver burrito.comORIGIN/CERT + DoH
SNI: resolver.com resolver.com SNI: burrito.comSNI
Encryption
Encrypt SNI with client ephemeral key + server public key from DNS
TLS 1.3
DoH Resolver burrito.comO/C + DoH + eSNI
SNI: resolver.com Q: burrito.com A: 1.2.3.4, PubKey resolver.comAnonymity set 1 K
K is the set of domains that can be served on the IP
Caveat: If Server IP is static, then this give a hint about first hostname.Client Server
HTTP/2
Resolver GET https://beans.com Q: beans.com A: 1.2.3.5 resolver.comDOH “VPN”
ORIGIN: beans.com beans.com CERTIFICATE: BrowserHTTP/2
Resolver resolver.comDOH “VPN”
BrowserClient IP Server IP Anonymity set 1 K
K is the set of domains that can be served on the IP
No dynamic IP requirementWhere are we now?
ORIGIN implemented in Firefox CERTIFICATE being standardized by IETF DOH supported by Google DNS, 1.1.1.1 eSNI about to be submitted to IETFORIGIN
Privacy improvement limited by shared certs Latency skip both DNS and HTTPS Security certificate compromise riskCERTIFICATE
Privacy hide any bean in any burrito Latency extends origin benefits to any cert Security exchange DNS for CT or OCSP staplingDOH
Privacy first hop improvement Latency depends on provider, TLS 1.3 Security security against attacks, allows passive DNSeSNI
Privacy first domain privacy given dynamic IPs Latency depends on DoH for reliability Security risk of more MiTMOpen Questions
How much privacy does this actually give people? Does this incentivize further consolidation? Does increased performance and privacy outweigh the legitimate need for external visibility?Website Fingerprinting
Removing explicit signals does not protect you from passive ones
Consolidation
Better performance when using a popular provider
Is visibility necessary?
Safety vs. Security
The Evolving Architecture of the Web
Nick Sullivan