I want the next generation web here SPDY QUIC

56
I want the next generation web here SPDY QUIC A review of the SPDY and QUIC protocols

description

Matt Summers, NCC Group - Web technology has changed a lot in the last 25 years but the underlying transport mechanism has stayed the same. The web we have today was not designed for the plethora of new device types and communication methods but things are changing and you probably don’t even know it. You probably don’t even notice the problem because it is so ingrained. In this presentation we are going to delve into the problems with the web and how we use it today. We will also take an in depth look at the proposed solutions for the next generation web and the implications that come with it.

Transcript of I want the next generation web here SPDY QUIC

Page 1: I want the next generation web here SPDY QUIC

I want the next generation web here SPDY QUIC

A review of the SPDY and QUIC protocols

Page 2: I want the next generation web here SPDY QUIC

Agenda

•History•What’s up with HTTP?•SPDY•QUIC•Security•The Future

Page 3: I want the next generation web here SPDY QUIC

About Me

Page 4: I want the next generation web here SPDY QUIC

About Me

Page 5: I want the next generation web here SPDY QUIC

About Me

Page 6: I want the next generation web here SPDY QUIC

Before we start

ASK

Page 7: I want the next generation web here SPDY QUIC

What is SPDY?

•What?•Why?

Page 8: I want the next generation web here SPDY QUIC

What is QUIC?

•What?•Why?

Page 9: I want the next generation web here SPDY QUIC

History

•HTTP 0.9 - First documented in 1991•HTTP 1.0 - First documented in 1996•HTTP 1.1 – Released in 1997•HTTP 1.1 – Updated in 1999

Page 10: I want the next generation web here SPDY QUIC

What’s up with HTTP?

•Connections•Latency•Headers

Page 11: I want the next generation web here SPDY QUIC

What’s up with HTTP?

Home.aspx

Logo.jpgTime

Page 12: I want the next generation web here SPDY QUIC

What’s up with HTTP?

Home.aspx

Logo.jpg

Time

Page 13: I want the next generation web here SPDY QUIC

What’s up with HTTP?

"A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy"

Page 14: I want the next generation web here SPDY QUIC

What’s up with HTTP?

Source: Akamai State of the Internet Report

Page 15: I want the next generation web here SPDY QUIC

What’s up with HTTP 1.1?

Resources

Time

Page 16: I want the next generation web here SPDY QUIC

History

•183 Resources•44 Domains•25 HTML Pages•2MB of text content

Page 17: I want the next generation web here SPDY QUIC

What’s up with HTTP?

Page 18: I want the next generation web here SPDY QUIC

What’s up with HTTP?

GET /news/ HTTP/1.1

Host: www.bbc.co.uk

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Referer: http://www.bbc.co.uk/news/england/

Cookie: NTABS=B0; BBC-UID=2583816c740b5213b567deae81f1f11c5e89720eae48c3293395badd482afad00Mozilla%2f5%2e0%20%28Windows%20NT%206%2e1%3b%20WOW64%3b%20rv%3a27%2e0%29%20Gecko%2f20100101%20Firefox%2f27%2e0; BGUID=e513614cf47b72b7916877ff1183a8509e60292969e8942b1e4157e7578c4078; s1=531C4B275C0603BA; ecos.dt=1400334549086; ckns_policy=111; ckpf_mandolin=%22footer-promo%22%3A%7B%22segment%22%3Anull%2C%22end%22%3A%221400939293613%22%7D; _chartbeat2=0nohd0na7hc3kcd7.1400334522757.1400334540677.1; _chartbeat_uuniq=1; BBCLiveStatsClick=nav|1|0

DNT: 1

Connection: keep-alive

Page 19: I want the next generation web here SPDY QUIC

What’s up with HTTP?

GET /news/ HTTP/1.1Host: www.bbc.co.uk

Page 20: I want the next generation web here SPDY QUIC

SPDY

Source: The Chromium Projects

Page 21: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 22: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 23: I want the next generation web here SPDY QUIC

SPDY?Home.aspxLogo.jpgImage.bmp

Logo.jpg

Image.bmp

Home.aspx

Page 24: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 25: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 26: I want the next generation web here SPDY QUIC

What’s up with HTTP?

GET /news/ HTTP/1.1

Host: www.bbc.co.uk

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Referer: http://www.bbc.co.uk/news/england/

Cookie: NTABS=B0; BBC-UID=2583816c740b5213b567deae81f1f11c5e89720eae48c3293395badd482afad00Mozilla%2f5%2e0%20%28Windows%20NT%206%2e1%3b%20WOW64%3b%20rv%3a27%2e0%29%20Gecko%2f20100101%20Firefox%2f27%2e0; BGUID=e513614cf47b72b7916877ff1183a8509e60292969e8942b1e4157e7578c4078; s1=531C4B275C0603BA; ecos.dt=1400334549086; ckns_policy=111; ckpf_mandolin=%22footer-promo%22%3A%7B%22segment%22%3Anull%2C%22end%22%3A%221400939293613%22%7D; _chartbeat2=0nohd0na7hc3kcd7.1400334522757.1400334540677.1; _chartbeat_uuniq=1; BBCLiveStatsClick=nav|1|0

DNT: 1

Connection: keep-alive

Page 27: I want the next generation web here SPDY QUIC

SPDY

•Multiplexing•Prioritisation•Header Compression•Server Push & Server Hint

Page 28: I want the next generation web here SPDY QUIC

SPDY

Page 29: I want the next generation web here SPDY QUIC

SPDY

Page 30: I want the next generation web here SPDY QUIC

SPDY

Page 31: I want the next generation web here SPDY QUIC

SPDY

Page 32: I want the next generation web here SPDY QUIC

SPDY

Page 33: I want the next generation web here SPDY QUIC

SPDY?TLS Request + Next Protocol

TLS Response

SPDY Request

SPDY Response

Page 34: I want the next generation web here SPDY QUIC

SPDY

•NPN Support Added 1.0.1•ALPN Support Added 1.0.2

Page 35: I want the next generation web here SPDY QUIC

QUIC

•Remove head-of-line-blocking•0RTT•Recover lost packets•Congestion control•Network change survival

Page 36: I want the next generation web here SPDY QUIC

QUIC

Page 37: I want the next generation web here SPDY QUIC

QUIC

Page 38: I want the next generation web here SPDY QUIC

QUIC

Page 39: I want the next generation web here SPDY QUIC

QUIC

“The middle box problem”

Page 40: I want the next generation web here SPDY QUIC

QUICConnect

Certificate

Negotiation

Response

Page 41: I want the next generation web here SPDY QUIC

Security

Page 42: I want the next generation web here SPDY QUIC

SPDY Security

•Header injection

Page 43: I want the next generation web here SPDY QUIC

SPDY Security

“complexity is the worst enemy of security”

"The only way to evaluate the security of a system is to analyze it“

Source: Bruce Schneier

Page 44: I want the next generation web here SPDY QUIC

SPDY Security

Page 45: I want the next generation web here SPDY QUIC

Security

•Certificate Revocation•Malicious servers•Content inspection•Other new attack vectors

Page 46: I want the next generation web here SPDY QUIC

Security

Page 47: I want the next generation web here SPDY QUIC

QUIC Security

•Privacy•Authentication•Integrity

Page 48: I want the next generation web here SPDY QUIC

QUIC Security

•Replay Protection•Dos Protection•Address Spoofing Detection

Page 49: I want the next generation web here SPDY QUIC

QUIC Security

Page 50: I want the next generation web here SPDY QUIC

QUIC Security

•Cross-connection attacks?•Embryonic attacks?•Memory exhaustion?•DDoS

Page 51: I want the next generation web here SPDY QUIC

The Future

•Web Clients•Web Servers•Internet Infrastructure•Network Infrastructure•SSL Stacks

Page 52: I want the next generation web here SPDY QUIC

The Future

Page 53: I want the next generation web here SPDY QUIC

The Future

•Libspdy - C•Net-http-spdy – Ruby•Spdylay – Python•http2-katana – C#•Jetty – Java•Erlnag-spdy - Erlang

Page 54: I want the next generation web here SPDY QUIC

The Future

Page 55: I want the next generation web here SPDY QUIC

Fin

Questions?

[email protected]@dive_monkey

Page 56: I want the next generation web here SPDY QUIC

Europe

Manchester - Head Office

Cheltenham

Edinburgh

Leatherhead

London

Munich

Amsterdam

Zurich

North America

Atlanta

Chicago

New York

San Francisco

Seattle

Austin

Australia

Sydney