Top Banner
TLS Handshake Proxying From theory to reality IEEE S&P April 20, 2014 Nick Sullivan @grittygrease
18

TLS Handshake Proxying - From theory to reality

Jun 14, 2015

Download

Software

In this talk we look into new techniques to help reduce latency for transport layer encryption (TLS) session establishment through delegation to a third party while also limiting the amount of trust given to that third party. The proposed solution is to combine TLS with a globally distributed network by splitting the TLS state machine geographically using a private key proxy service.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TLS Handshake Proxying - From theory to reality

TLS Handshake ProxyingFrom theory to reality

IEEE S&P April 20, 2014 Nick Sullivan

@grittygrease

Page 2: TLS Handshake Proxying - From theory to reality

Two competing goals on the web• Security & Privacy

• Performance

2

Page 3: TLS Handshake Proxying - From theory to reality

Privacy: SSL/TLS• Point-to-point authentication and encryption

• The little lock icon in your browser

!

• Browser-server model

• Server certificate bound to a public key, signed by a Certificate Authority

• Private key provides authentication of server to client

• Session key established with handshake

3

Page 4: TLS Handshake Proxying - From theory to reality

4

Private Key

Page 5: TLS Handshake Proxying - From theory to reality

Problem with TLS• Web servers (nginx, apache, ISS) read private keys from disk, use in

memory

• Private key disclosure allows

• Server impersonation

• Retroactive decryption of sessions with RSA handshake

5

Page 6: TLS Handshake Proxying - From theory to reality

Private key security - protection• Process memory disclosure

• Secure allocation

• Separate process for private key

• Machine DMA attack

• Encrypted memory

• Hardware: HSM or TPM

• Machine compromise or theft

• ???

6

Page 7: TLS Handshake Proxying - From theory to reality

Web performance• The web is changing — consolidation at the edge of the network

• CDNs provide distributed global load balancing

• TLS needs to be terminated at caching layer

• Private keys need to be distributed to the edge

!

• This is why banks do not use CDNs — yet

7

Page 8: TLS Handshake Proxying - From theory to reality

Traditional traffic routing

8

Page 9: TLS Handshake Proxying - From theory to reality

Anycast routing with reverse proxy

9

Page 10: TLS Handshake Proxying - From theory to reality

Two contradictory goals• Global load balancing of TLS

• Private key security

10

Page 11: TLS Handshake Proxying - From theory to reality

Keyless SSL• Compromise between key security and performance

!

• Split the state machine geographically

• Private key operation performed at site owner’s facility (in HSM, etc)

• Rest of handshake performed at the edge

• Communicate to signing server over secure tunnel

11

Page 12: TLS Handshake Proxying - From theory to reality

Keyless SSL

12

Page 13: TLS Handshake Proxying - From theory to reality

Keyless SSL• All static assets served over TLS from the edge

• Dynamic assets served from origin through reverse proxy

13

Page 14: TLS Handshake Proxying - From theory to reality

14

Private Key

Page 15: TLS Handshake Proxying - From theory to reality

15

Private Key

Page 16: TLS Handshake Proxying - From theory to reality

Keyless SSL - In Production

• This is not an academic exercise or proof of concept

• Based on modified nginx/OpenSSL

• Customers include

• Top Wall Street investment bank

• Top Silicon Valley Internet company

16

Page 17: TLS Handshake Proxying - From theory to reality

Keyless SSL - Security

• Formal proof of security: joint work with Douglas Stebila

• Code audit by iSEC partners

17

Page 18: TLS Handshake Proxying - From theory to reality

TLS Handshake ProxyingFrom theory to reality

IEEE S&P April 20, 2014 Nick Sullivan

@grittygrease