Solving HTTP Problems With Code and Protocols NATASHA ROONEY

Similar documents
Transport Level Security

SharkFest 17 Europe. 20 QUIC Dissection. Using Wireshark to Understand QUIC Quickly. Megumi Takeshita. ikeriri network service

TLS1.2 IS DEAD BE READY FOR TLS1.3

Transport Layer Security

Advanced Computer Networking. CYBR 230 Jeff Shafer University of the Pacific QUIC

Chapter 8 Web Security

SPDY - A Web Protocol. Mike Belshe Velocity, Dec 2009

CSCE 715: Network Systems Security

Securing IoT applications with Mbed TLS Hannes Tschofenig Arm Limited

Transport Layer Security

HTTP/2: What You Need to Know. Robert

Internet Security. - IPSec, SSL/TLS, SRTP - 29th. Oct Lee, Choongho

A New Internet? RIPE76 - Marseille May Jordi Palet

Authenticated Encryption in TLS

Overview of TLS v1.3 What s new, what s removed and what s changed?

Protocols, Technologies and Standards Secure network protocols for the OSI stack P2.1 WLAN Security WPA, WPA2, IEEE i, IEEE 802.1X P2.

Internet security and privacy

The World Wide Web is widely used by businesses, government agencies, and many individuals. But the Internet and the Web are extremely vulnerable to

State of TLS usage current and future. Dave Thompson

WAP Security. Helsinki University of Technology S Security of Communication Protocols

SSL/TLS & 3D Secure. CS 470 Introduction to Applied Cryptography. Ali Aydın Selçuk. CS470, A.A.Selçuk SSL/TLS & 3DSec 1

Using HTTP/2 as a Transport for Arbitrary Bytestreams

QUIC: the details. Robin Marx PhD researcher Hasselt University. Curl-up Prague March 2019

CS 393 Network Security. Nasir Memon Polytechnic University Module 12 SSL

E-commerce security: SSL/TLS, SET and others. 4.1

Schahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet?

Cipher Suite Configuration Mode Commands

Overview of TLS v1.3. What s new, what s removed and what s changed?

A New Internet? Introduction to HTTP/2, QUIC and DOH

Understand the TLS handshake Understand client/server authentication in TLS. Understand session resumption Understand the limitations of TLS

MTAT Applied Cryptography

Cryptography SSL/TLS. Network Security Workshop. 3-5 October 2017 Port Moresby, Papua New Guinea

Lecture Nov. 21 st 2006 Dan Wendlandt ISP D ISP B ISP C ISP A. Bob. Alice. Denial-of-Service. Password Cracking. Traffic.

IPsec and SSL/TLS. Applied Cryptography. Andreas Hülsing (Slides mostly by Ruben Niederhagen) Dec. 1st, /43

Secure Socket Layer. Security Threat Classifications

INF3510 Information Security University of Oslo Spring Lecture 9 Communication Security. Audun Jøsang

Lecture 10: Communications Security

Lecture 9a: Secure Sockets Layer (SSL) March, 2004

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

Introduction. INF3510 Information Security. Lecture 10: Communications Security. Outline. Network Security Concepts. University of Oslo Spring 2018

Chapter 4: Securing TCP connections

Computer Security. 10r. Recitation assignment & concept review. Paul Krzyzanowski. Rutgers University. Spring 2018

HTTPS is Fast and Hassle-free with Cloudflare

Lehrstuhl für Netzarchitekturen und Netzdienste Fakultät für Informatik Technische Universität München. ilab. Lab 8 SSL/TLS and IPSec

TLS/sRTP Voice Recording AddPac Technology

TLSnotary - a mechanism for independently audited https sessions

QUIC evaluation. HTTP Workshop. 28 July 2015 Münster - Germany. G. Carlucci, L. De Cicco, S. Mascolo. Politecnico di Bari, Italy

SharkFest 17 Europe. SSL/TLS Decryption. uncovering secrets. Wednesday November 8th, Peter Wu Wireshark Core Developer

Sensitive Information in a Wired World

Datapath. Encryption

IPsec (AH, ESP), IKE. Guevara Noubir CSG254: Network Security

The case for ubiquitous transport-level encryption

Internet security and privacy

Security Protocols and Infrastructures. Winter Term 2010/2011

Was ist neu bei TLS 1.3?

The Xirrus Wi Fi Array XS4, XS8 Security Policy Document Version 1.0. Xirrus, Inc.

Security Protocols. Professor Patrick McDaniel CSE545 - Advanced Network Security Spring CSE545 - Advanced Network Security - Professor McDaniel

CS 356 Internet Security Protocols. Fall 2013

Datapath. Encryption

Cryptography and secure channel. May 17, Networks and Security. Thibault Debatty. Outline. Cryptography. Public-key encryption

Overview of SSL/TLS. Luke Anderson. 12 th May University Of Sydney.

Coming of Age: A Longitudinal Study of TLS Deployment

NT1210 Introduction to Networking. Unit 10

Displaying SSL Configuration Information and Statistics

Request for Comments: 2712 Category: Standards Track CyberSafe Corporation October 1999

Link & end-to-end protocols SSL/TLS WPA 2/25/07. Outline. Network Security. Networks. Link and End-to-End Protocols. Link vs. End-to-end protection

CIP Security Phase 1 Secure Transport for EtherNet/IP

White Paper for Wacom: Cryptography in the STU-541 Tablet

Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things

Protocol Architecture (2) Suguru Yamaguchi Nara Institute of Science and Technology Department of Information Science

CSCE 715: Network Systems Security

Security Protocols and Infrastructures. Winter Term 2015/2016

Network Security: TLS/SSL. Tuomas Aura T Network security Aalto University, Nov-Dec 2014

Security Protocols and Infrastructures

Cryptography (Overview)

Acronyms. International Organization for Standardization International Telecommunication Union ITU Telecommunication Standardization Sector

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Acronyms. International Organization for Standardization International Telecommunication Union ITU Telecommunication Standardization Sector

MTAT Applied Cryptography

What s new in TLS 1.3 (and OpenSSL as a result) Rich Salz

Message authentication codes

Overview. SSL Cryptography Overview CHAPTER 1

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

Security Association Creation

Total No. of Questions : 09 ] [ Total No.of Pages : 02

TLS 1.1 Security fixes and TLS extensions RFC4346

TLS 1.2 Protocol Execution Transcript

OpenSSH. 24th February ASBL CSRRT-LU (Computer Security Research and Response Team Luxembourg) 1 / 12

COSC 301 Network Management. Lecture 15: SSL/TLS and HTTPS

L13. Reviews. Rocky K. C. Chang, April 10, 2015

Randomness Extractors. Secure Communication in Practice. Lecture 17

Understanding Traffic Decryption

Performance Implications of Security Protocols

Felix Günther. Technische Universität Darmstadt, Germany. joint work with Benjamin Dowling, Marc Fischlin, and Douglas Stebila

Chapter 32 Security in the Internet: IPSec, SSL/TLS, PGP,

QUIC. Internet-Scale Deployment on Linux. Ian Swett Google. TSVArea, IETF 102, Montreal

Named Data Networking (NDN) CLASS WEB SITE: NDN. Introduction to NDN. Updated with Lecture Notes. Data-centric addressing

CONTENTS. vii. Chapter 1 TCP/IP Overview 1. Chapter 2 Symmetric-Key Cryptography 33. Acknowledgements

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

Paper survey related with web/app performance optimization and MEC. Youngseok Lee

Transcription:

Solving HTTP Problems With Code and Protocols NATASHA ROONEY

Web HTTP TLS TCP IP 7. Application Data HTTP / IMAP 6. Data Presentation, Encryption SSL / TLS 5. Session and connection management - 4. Transport of packets and streams TCP / UDP 3. Routing and delivery of datagrams on the Network IP / IPSec 2. Local Data Connection Ethernet 1. Physical data connection (cables) CAT5

Some fundamental limitations

300,000,000 m/s

300,000,000 m/s Speed of Light

300km, 1ms

10ms

10ms 5G

Only one way! And as the crow flies...

Hops

Not good enough!

CDNs, Edge

Mobile Network (not wifi) The Internet

Amount of data

Speed & Distance Amount of Data Capped by Speed of Light >100 objects per site 800k to 2.5mb data >50 resources on same domain

RTs are Evil Mostly because of physics. Not much you can do about that.

HTTP/1

HTTP/1 Request HTTP/1 TLS TLS TCP TCP IP

HTTP/1 Request HTTP/1 Response TLS TLS TCP TCP IP

HTTP/1 Request HTTP/1 Response TLS Request TCP TLS TCP IP

Urgh...

Spriting

Inlining

Image source: @jungkees

Pipelining

Home Supermarket Roads

Home Supermarket Roads

HTTP/1 TLS TCP TCP Setup TLS Setup HTTP Request/Response IP HTTP/1 TLS TCP

HTTP/2

SPDY

Home Supermarket Roads

Home Supermarket Roads

2009 Header Compression SPDY A Protocol by Google Parallel Connections Multiplexing Priority Marking Server Push TLS (to work)

SPDY A Protocol by Google Header Compression

HTTP/2

Idea was to maintain HTTP semantics but change how it is transported. Daniel Stenberg https://daniel.haxx.se/blog/

Home Supermarket Roads

Home Supermarket Roads

HTTP/1 Request HTTP/1 Request TLS TCP Request Response IP TLS TCP

Binary HTTP2 A Protocol by IETF (SDPY base) Header Compression Multiplexing Server Push TLS...

HTTP2 A Protocol by IETF (SDPY base)

35% Requests Stats Gimme gimme 70% HTTPS Connections 13% Top 1,000,000 Sites 29% Top 1000 Sites 90% your site

2% packet loss HTTP1 is better.

Head of line blocking

Home Supermarket Roads

Home Supermarket Roads

Not good enough! Home Supermarket Roads

Not good enough! Home Supermarket Roads

TCP issue (Can happen on any protocol with in-order delivery)

QUIC

Idea was to maintain HTTP semantics but change how it is transported. Daniel Stenberg https://daniel.haxx.se/blog/

TCP Home Supermarket Roads

Transport Layer TCP UDP Suffers from Head of Line Blocking Can work...with help.

We want QUIC to work on today s internet Jana Iyengar QUIC Editor, Google

Ossification

Why TCP or UDP only?

Image source: http://itpro.nikkeibp.co.jp/

Application HTTP/2 QUIC TLS 1.2+ Congestion Control TCP Google Crypto UDP IP

Application HTTP/2 QUIC TLS 1.2+ Congestion Control TCP Google Crypto UDP IP

QUIC A Protocol by Google Goo

HTTP over QUIC HTTP/2 QUIC TLS 1.2+ TLS 1.3 TCP UDP IP

A "stream" is an independent, bidirectional sequence of frames exchanged between the client and server within an HTTP/2 connection A single HTTP/2 connection can contain multiple concurrently open streams Hypertext Transfer Protocol Version 2 (HTTP/2), RFC7540

Image source: High Performance Browser Networking https://hpbn.co/http2/

HTTP over QUIC HTTP over QUIC QUIC QUIC TLS 1.3 TLS 1.3 UDP UDP IP

HTTP over QUIC HTTP over QUIC QUIC QUIC TLS 1.3 TLS 1.3 UDP UDP IP

HTTP over QUIC HTTP over QUIC QUIC QUIC TLS 1.3 TLS 1.3 UDP UDP IP

HTTP over QUIC QUIC e n Li! of ing d ck a He Blo TLS 1.3 HTTP over QUIC QUIC TLS 1.3 UDP UDP IP

RTs are Evil Mostly because of physics. Not much you can do about that.

HTTP over QUIC HTTP over QUIC 0RTT: Setup + Data QUIC 1RTT: New Crypto Keys TLS 1.3 UDP QUIC TLS 1.3 2RTT: If QUIC version negotiation needed IP UDP

Reduce the RTs!

7% Internet Traffic 35% Google Egress Traffic

How does this affect me?

Abstraction Is a computer scientist s friend / fiend

n o i t a l o i V r e Lay

Web HTTP TLS TCP IP 7. Application Data HTTP / IMAP 6. Data Presentation, Encryption SSL / TLS 5. Session and connection management - 4. Transport of packets and streams TCP / UDP 3. Routing and delivery of datagrams on the Network IP / IPSec 2. Local Data Connection Ethernet 1. Physical data connection (cables) CAT5

Manage your resources logically Some things If you have to do something... Detect on upgrade header and adapt Measure Remember Physics!

RTTs, Physics, Data SPDY, HTTP2, QUIC Recap We made it! Header compression Multiplexing & Streams Head of Line Blocking Make protocols for today s internet

3

Thank-you People: Martin Thomson, Mark Nottingham, Jana Iyengar, Mike Bishop, Eric Rescola, Ian Swett

OSI Model 7. Application Data HTTP / IMAP 6. Data Presentation, Encryption SSL / TLS 5. Session and connection management - 4. Transport of packets and streams TCP / UDP 3. Routing and delivery of datagrams on the Network IP / IPSec 2. Local Data Connection Ethernet 1. Physical data connection (cables) CAT5

TLS / Handshake Cheat Sheet Handshake Flow Ciphers, Standards and Terms Client Hello Client sends TLS Version, Ciphersuites, Compression methods Server Hello, Certificate Key Exchange Method: creates the pre master secret. Premaster secret is combined with PRF to create master secret RSA, DHE_RSA, ECDHE_RSA, ECDHE_ECDSA - Server selects cipher & compression method - Server send certificate - Client authenticates Authentication Method: Uses public key crypto and certificates public key together. Once certificate is validated the client can used public key. RSA or ECDSA Certs: X.509, ASN.1 DER encoding. Key Exchange Pre-master secret exchanged between client & server, client validates certificate Master Secret Integrity Validation Encryption Master Secret Client & Server can compute Master Secret. Pre-master secret: combines params to help client and server create master secret. MAC Server verifies MAC, returns to client to verify also. PRF: Pseudorandom Function. Takes a secret, a seed, and a unique label. TLS1.2 suites use PRF based on HMAC and SHA256 3DES, AES, ARIA, CAMELLIA, RC4, and SEED [1] Steam: adds MAC [2] Block: adds IV and padding after encryption [3] Encryption (AEAD): encryption and integrity validation, using nonce, no padding, no IV. Finished Handshake complete. Authentication Master Secret: both server and client create this from pre-master secret to symmetrically encrypt Algorithm MAC: used for integrity validation in handshake and record. Strength Mode TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 Key Exchange Cipher MAC or PRF

TLS Handshake [1] Client Hello Server Hello Certificate Server Key Exchange Server Hello Done [2] [3] [4] [5] [6] Client Key Exchange [7] (Change Cipher Spec) [8] Finished Cli-ant (Change Cipher Spec) [9] Finished [10] Ser-ver

TCP and TLS with Session Tickets TCP Fast Open Handshake [1] Client Hello Server Hello [2] (Change Cipher Spec) [3] Finished [4] [5] (Change Cipher Spec) [6] Finished Cli-ant Ser-ver

Transport Overhead

Min