analysis of quic session establishment and its implementations€¦ · analysis of quic session...

71
Analysis of QUIC Session Establishment and its Implementations Eva Gagliardi 1,2 Olivier Levillain 1 1 Télécom SudParis 2 French Ministry of the Armies Séminaire SoSySec May 29th 2020 E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 1 / 29

Upload: others

Post on 12-Aug-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Analysis of QUIC Session Establishment and itsImplementations

Eva Gagliardi1,2 Olivier Levillain1

1Télécom SudParis

2French Ministry of the Armies

Séminaire SoSySecMay 29th 2020

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 1 / 29

Page 2: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

QUIC in a Nutshell

QUIC Packet Protection

A Look at QUIC Draft 23 Implementations

Conclusion and Perspectives

Page 3: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

QUIC in a Nutshell

QUIC Packet Protection

A Look at QUIC Draft 23 Implementations

Conclusion and Perspectives

Page 4: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

@pictyeye

Olivier LevillainI M2 internship on the FORK-256 hash function (2006)I member of the systems security lab at ANSSI (2007-2012)I head of the network security lab at ANSSI (2012-2015)I head of the training center at ANSSI (2015-2018)I associate professor at Télécom SudParis (2018-)

ResearchI low-level security mechanisms in x86 CPUs (ACPI, SMM)I PhD on SSL/TLSI studies on the langagesI work on parsers and on network protocol implementations

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 4 / 29

Page 5: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

@pictyeye

Olivier LevillainI M2 internship on the FORK-256 hash function (2006)I member of the systems security lab at ANSSI (2007-2012)I head of the network security lab at ANSSI (2012-2015)I head of the training center at ANSSI (2015-2018)I associate professor at Télécom SudParis (2018-)

ResearchI low-level security mechanisms in x86 CPUs (ACPI, SMM)I PhD on SSL/TLSI studies on the langagesI work on parsers and on network protocol implementations

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 4 / 29

Page 6: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

Documents and tools

https://paperstreet.picty.orgI my PhD manuscript (if you are into TLS)I articles and slides for most of my contributions and seminars

Active software projectsI Parsifal, a parser generator written in OCaml

I https://github.com/picty/concertoI Concerto, a tool to analyse TLS campaigns and certificate chains

I https://github.com/picty/parsifalI Wombat, one more Bleichenbacher toolkit

I https://gitlab.com/pictyeye/wombat

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 5 / 29

Page 7: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

Documents and tools

https://paperstreet.picty.orgI my PhD manuscript (if you are into TLS)I articles and slides for most of my contributions and seminars

Active software projectsI Parsifal, a parser generator written in OCaml

I https://github.com/picty/concertoI Concerto, a tool to analyse TLS campaigns and certificate chains

I https://github.com/picty/parsifalI Wombat, one more Bleichenbacher toolkit

I https://gitlab.com/pictyeye/wombat

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 5 / 29

Page 8: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

The GASP projecta Generic Approach to Secure network Protocols (2019-2022)I description of protocol messages using simple languagesI network scans at large to better understand real world ecosystemsI description of protocol state machines using simple languagesI security evaluation of concrete implementation using different

techniques (message-level fuzzing, state machine inference)

Work in progressI a platform to test and compare parser generatorsI experimentations to fuzz existing state machines with L?

I reproduction of existing results on TLSI extension to the discovery of Bleichenbacher oraclesI performance improvement

I application to DNS, TLS, , SSH

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 6 / 29

Page 9: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

The GASP projecta Generic Approach to Secure network Protocols (2019-2022)I description of protocol messages using simple languagesI network scans at large to better understand real world ecosystemsI description of protocol state machines using simple languagesI security evaluation of concrete implementation using different

techniques (message-level fuzzing, state machine inference)

Work in progressI a platform to test and compare parser generatorsI experimentations to fuzz existing state machines with L?

I reproduction of existing results on TLSI extension to the discovery of Bleichenbacher oraclesI performance improvement

I application to DNS, TLS, QUIC, SSH

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 6 / 29

Page 10: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

The GASP projecta Generic Approach to Secure network Protocols (2019-2022)I description of protocol messages using simple languagesI network scans at large to better understand real world ecosystemsI description of protocol state machines using simple languagesI security evaluation of concrete implementation using different

techniques (message-level fuzzing, state machine inference)

Work in progressI a platform to test and compare parser generatorsI experimentations to fuzz existing state machines with L?

I reproduction of existing results on TLSI extension to the discovery of Bleichenbacher oraclesI performance improvement

I application to DNS, TLS, QUIC, SSH

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 6 / 29

Page 11: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

Warnings about this presentation

Most of the material presented here comes from the work from EvaGagliardi (2019 internship) and was presented at WISTP last December

The experiments were made against draft-23 implementations and maynot accurately reflect on the current state of the ecosystem (current versionis draft-28, mostly with minor changes regarding the sessionestablishment)

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 7 / 29

Page 12: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

Warnings about this presentation

Most of the material presented here comes from the work from EvaGagliardi (2019 internship) and was presented at WISTP last December

The experiments were made against draft-23 implementations and maynot accurately reflect on the current state of the ecosystem (current versionis draft-28, mostly with minor changes regarding the sessionestablishment)

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 7 / 29

Page 13: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

QUIC in a Nutshell

QUIC Packet Protection

A Look at QUIC Draft 23 Implementations

Conclusion and Perspectives

Page 14: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

gQUIC and QUIC in a nutshellI 2012: Google proposes a new protocol, QUIC

I multiplexed HTTP in a secure channel over UDP

I 2014: First drafts about TLS 1.3, borrowing some ideasI 2016: QUIC is proposed as an IETF item

I the original protocol is renamed gQUICI a new IETF WG is formed (quic)I a more modular design is proposed, with the soon-to-be TLS 1.3 as the

secure transportI 2018:TLS 1.3 publication (RFC8446)I 2019-2020: ongoing work on QUIC drafts (leading to -draft28

versions)

Warning: this presentation is about IETF QUIC only

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 9 / 29

Page 15: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

gQUIC and QUIC in a nutshellI 2012: Google proposes a new protocol, QUIC

I multiplexed HTTP in a secure channel over UDPI 2014: First drafts about TLS 1.3, borrowing some ideas

I 2016: QUIC is proposed as an IETF itemI the original protocol is renamed gQUICI a new IETF WG is formed (quic)I a more modular design is proposed, with the soon-to-be TLS 1.3 as the

secure transportI 2018:TLS 1.3 publication (RFC8446)I 2019-2020: ongoing work on QUIC drafts (leading to -draft28

versions)

Warning: this presentation is about IETF QUIC only

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 9 / 29

Page 16: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

gQUIC and QUIC in a nutshellI 2012: Google proposes a new protocol, QUIC

I multiplexed HTTP in a secure channel over UDPI 2014: First drafts about TLS 1.3, borrowing some ideasI 2016: QUIC is proposed as an IETF item

I the original protocol is renamed gQUICI a new IETF WG is formed (quic)I a more modular design is proposed, with the soon-to-be TLS 1.3 as the

secure transport

I 2018:TLS 1.3 publication (RFC8446)I 2019-2020: ongoing work on QUIC drafts (leading to -draft28

versions)

Warning: this presentation is about IETF QUIC only

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 9 / 29

Page 17: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

gQUIC and QUIC in a nutshellI 2012: Google proposes a new protocol, QUIC

I multiplexed HTTP in a secure channel over UDPI 2014: First drafts about TLS 1.3, borrowing some ideasI 2016: QUIC is proposed as an IETF item

I the original protocol is renamed gQUICI a new IETF WG is formed (quic)I a more modular design is proposed, with the soon-to-be TLS 1.3 as the

secure transportI 2018:TLS 1.3 publication (RFC8446)

I 2019-2020: ongoing work on QUIC drafts (leading to -draft28versions)

Warning: this presentation is about IETF QUIC only

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 9 / 29

Page 18: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

gQUIC and QUIC in a nutshellI 2012: Google proposes a new protocol, QUIC

I multiplexed HTTP in a secure channel over UDPI 2014: First drafts about TLS 1.3, borrowing some ideasI 2016: QUIC is proposed as an IETF item

I the original protocol is renamed gQUICI a new IETF WG is formed (quic)I a more modular design is proposed, with the soon-to-be TLS 1.3 as the

secure transportI 2018:TLS 1.3 publication (RFC8446)I 2019-2020: ongoing work on QUIC drafts (leading to -draft28

versions)

Warning: this presentation is about IETF QUIC only

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 9 / 29

Page 19: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

gQUIC and QUIC in a nutshellI 2012: Google proposes a new protocol, QUIC

I multiplexed HTTP in a secure channel over UDPI 2014: First drafts about TLS 1.3, borrowing some ideasI 2016: QUIC is proposed as an IETF item

I the original protocol is renamed gQUICI a new IETF WG is formed (quic)I a more modular design is proposed, with the soon-to-be TLS 1.3 as the

secure transportI 2018:TLS 1.3 publication (RFC8446)I 2019-2020: ongoing work on QUIC drafts (leading to -draft28

versions)

Warning: this presentation is about IETF QUIC only

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 9 / 29

Page 20: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

A Typical QUIC Connection

Client Server

QUIC Initial(ClientHello)

QUIC Initial

(ServerHello)

QUIC Handshake

(EncryptedExtensions +

Certificate + CertVerify +

Finished)

QUIC Handshake(Finished)

QUIC 1 RTT

(Application data)

Uses UDP Packets

AppData after 1 RTT

Initial Protection

Handshake Secrets

Traffic Secrets

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 10 / 29

Page 21: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

A Typical QUIC Connection

Client ServerQUIC Initial(ClientHello)

QUIC Initial

(ServerHello)

QUIC Handshake

(EncryptedExtensions +

Certificate + CertVerify +

Finished)

QUIC Handshake(Finished)

QUIC 1 RTT

(Application data)

Uses UDP Packets

AppData after 1 RTT

Initial Protection

Handshake Secrets

Traffic Secrets

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 10 / 29

Page 22: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

A Typical QUIC Connection

Client ServerQUIC Initial(ClientHello)

QUIC Initial

(ServerHello)

QUIC Handshake

(EncryptedExtensions +

Certificate + CertVerify +

Finished)

QUIC Handshake(Finished)

QUIC 1 RTT

(Application data)

Uses UDP Packets

AppData after 1 RTT

Initial Protection

Handshake Secrets

Traffic Secrets

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 10 / 29

Page 23: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

A Typical QUIC Connection

Client ServerQUIC Initial(ClientHello)

QUIC Initial

(ServerHello)

QUIC Handshake

(EncryptedExtensions +

Certificate + CertVerify +

Finished)

QUIC Handshake(Finished)

QUIC 1 RTT

(Application data)

Uses UDP Packets

AppData after 1 RTT

Initial Protection

Handshake Secrets

Traffic Secrets

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 10 / 29

Page 24: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

A Typical QUIC Connection

Client ServerQUIC Initial(ClientHello)

QUIC Initial

(ServerHello)

QUIC Handshake

(EncryptedExtensions +

Certificate + CertVerify +

Finished)

QUIC Handshake(Finished)

QUIC 1 RTT

(Application data)

Uses UDP Packets

AppData after 1 RTT

Initial Protection

Handshake Secrets

Traffic Secrets

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 10 / 29

Page 25: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

A Typical QUIC Connection

Client ServerQUIC Initial(ClientHello)

QUIC Initial

(ServerHello)

QUIC Handshake

(EncryptedExtensions +

Certificate + CertVerify +

Finished)

QUIC Handshake(Finished)

QUIC 1 RTT

(Application data)

Uses UDP Packets

AppData after 1 RTT

Initial Protection

Handshake Secrets

Traffic Secrets

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 10 / 29

Page 26: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

1RTT?

The efficiency of the session establishment is usually measured in thenumber of Round-Trip Times (RTTs) required before the first applicationdata can be exchanged

I TLS (≤ 1.2) typically offers 3 RTT (TCP + 2)...

I 2 RTT (TCP + 1) with session resumption

I TLS 1.3 typically offers 2 RTT (TCP + 1)...

I 1 RTT (TLS 1.3 0 RTT mode) with session resumtion, under conditions

I QUIC, thanks to UDP, is really 1 RTT in common cases...

I or even 0 RTT under conditions

However, do not forget that TCP is not slow on purpose, and thatconnection-oriented communications have benefits

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 11 / 29

Page 27: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

1RTT?

The efficiency of the session establishment is usually measured in thenumber of Round-Trip Times (RTTs) required before the first applicationdata can be exchangedI TLS (≤ 1.2) typically offers 3 RTT (TCP + 2)...

I 2 RTT (TCP + 1) with session resumptionI TLS 1.3 typically offers 2 RTT (TCP + 1)...

I 1 RTT (TLS 1.3 0 RTT mode) with session resumtion, under conditions

I QUIC, thanks to UDP, is really 1 RTT in common cases...

I or even 0 RTT under conditions

However, do not forget that TCP is not slow on purpose, and thatconnection-oriented communications have benefits

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 11 / 29

Page 28: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

1RTT?

The efficiency of the session establishment is usually measured in thenumber of Round-Trip Times (RTTs) required before the first applicationdata can be exchangedI TLS (≤ 1.2) typically offers 3 RTT (TCP + 2)...

I 2 RTT (TCP + 1) with session resumption

I TLS 1.3 typically offers 2 RTT (TCP + 1)...

I 1 RTT (TLS 1.3 0 RTT mode) with session resumtion, under conditions

I QUIC, thanks to UDP, is really 1 RTT in common cases...

I or even 0 RTT under conditions

However, do not forget that TCP is not slow on purpose, and thatconnection-oriented communications have benefits

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 11 / 29

Page 29: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

1RTT?

The efficiency of the session establishment is usually measured in thenumber of Round-Trip Times (RTTs) required before the first applicationdata can be exchangedI TLS (≤ 1.2) typically offers 3 RTT (TCP + 2)...

I 2 RTT (TCP + 1) with session resumptionI TLS 1.3 typically offers 2 RTT (TCP + 1)...

I 1 RTT (TLS 1.3 0 RTT mode) with session resumtion, under conditionsI QUIC, thanks to UDP, is really 1 RTT in common cases...

I or even 0 RTT under conditions

However, do not forget that TCP is not slow on purpose, and thatconnection-oriented communications have benefits

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 11 / 29

Page 30: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

1RTT?

The efficiency of the session establishment is usually measured in thenumber of Round-Trip Times (RTTs) required before the first applicationdata can be exchangedI TLS (≤ 1.2) typically offers 3 RTT (TCP + 2)...

I 2 RTT (TCP + 1) with session resumptionI TLS 1.3 typically offers 2 RTT (TCP + 1)...

I 1 RTT (TLS 1.3 0 RTT mode) with session resumtion, under conditions

I QUIC, thanks to UDP, is really 1 RTT in common cases...

I or even 0 RTT under conditions

However, do not forget that TCP is not slow on purpose, and thatconnection-oriented communications have benefits

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 11 / 29

Page 31: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

1RTT?

The efficiency of the session establishment is usually measured in thenumber of Round-Trip Times (RTTs) required before the first applicationdata can be exchangedI TLS (≤ 1.2) typically offers 3 RTT (TCP + 2)...

I 2 RTT (TCP + 1) with session resumptionI TLS 1.3 typically offers 2 RTT (TCP + 1)...

I 1 RTT (TLS 1.3 0 RTT mode) with session resumtion, under conditionsI QUIC, thanks to UDP, is really 1 RTT in common cases...

I or even 0 RTT under conditions

However, do not forget that TCP is not slow on purpose, and thatconnection-oriented communications have benefits

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 11 / 29

Page 32: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

1RTT?

The efficiency of the session establishment is usually measured in thenumber of Round-Trip Times (RTTs) required before the first applicationdata can be exchangedI TLS (≤ 1.2) typically offers 3 RTT (TCP + 2)...

I 2 RTT (TCP + 1) with session resumptionI TLS 1.3 typically offers 2 RTT (TCP + 1)...

I 1 RTT (TLS 1.3 0 RTT mode) with session resumtion, under conditionsI QUIC, thanks to UDP, is really 1 RTT in common cases...

I or even 0 RTT under conditions

However, do not forget that TCP is not slow on purpose, and thatconnection-oriented communications have benefits

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 11 / 29

Page 33: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

1RTT?

The efficiency of the session establishment is usually measured in thenumber of Round-Trip Times (RTTs) required before the first applicationdata can be exchangedI TLS (≤ 1.2) typically offers 3 RTT (TCP + 2)...

I 2 RTT (TCP + 1) with session resumptionI TLS 1.3 typically offers 2 RTT (TCP + 1)...

I 1 RTT (TLS 1.3 0 RTT mode) with session resumtion, under conditionsI QUIC, thanks to UDP, is really 1 RTT in common cases...

I or even 0 RTT under conditions

However, do not forget that TCP is not slow on purpose, and thatconnection-oriented communications have benefits

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 11 / 29

Page 34: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

Variants from the Happy PathVersion NegotiationI in case the server does not like the client versionI the server sends its supported versions in a VersionNegotiationI and the client has to come back

Retry MechanismI if the server wants to validate the return pathI it answers with a Retry message including a tokenI and the client has to come back with the token

TLS 1.3 Hello Retry RequestI if the TLS 1.3 ClientHello does not contain sufficient informationI the server Initial Packet will contain a TLS 1.3 HelloRetryRequestI and the client has to come back with an updated ClientHello

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 12 / 29

Page 35: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

Variants from the Happy PathVersion NegotiationI in case the server does not like the client versionI the server sends its supported versions in a VersionNegotiationI and the client has to come back

Retry MechanismI if the server wants to validate the return pathI it answers with a Retry message including a tokenI and the client has to come back with the token

TLS 1.3 Hello Retry RequestI if the TLS 1.3 ClientHello does not contain sufficient informationI the server Initial Packet will contain a TLS 1.3 HelloRetryRequestI and the client has to come back with an updated ClientHello

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 12 / 29

Page 36: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

Variants from the Happy PathVersion NegotiationI in case the server does not like the client versionI the server sends its supported versions in a VersionNegotiationI and the client has to come back

Retry MechanismI if the server wants to validate the return pathI it answers with a Retry message including a tokenI and the client has to come back with the token

TLS 1.3 Hello Retry RequestI if the TLS 1.3 ClientHello does not contain sufficient informationI the server Initial Packet will contain a TLS 1.3 HelloRetryRequestI and the client has to come back with an updated ClientHello

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 12 / 29

Page 37: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

QUIC Main Goals and FeaturesPerformance propertiesI low-latency session establishment (1 RTT or even 0 RTT)I stream multiplexing within a shared connectionI low bandwidth usage (variable length fields)

Security propertiesI state-of-the-art cryptographic primitivesI privacy-oriented measuresI countermeasures against UDP amplification attacks

Compatibility with internet (debatable)I detailed description of the protocol invariants across versionsI encrypt as much as possible (only parts of the header are in cleartext)

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 13 / 29

Page 38: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

QUIC Main Goals and FeaturesPerformance propertiesI low-latency session establishment (1 RTT or even 0 RTT)I stream multiplexing within a shared connectionI low bandwidth usage (variable length fields)

Security propertiesI state-of-the-art cryptographic primitivesI privacy-oriented measuresI countermeasures against UDP amplification attacks

Compatibility with internet (debatable)I detailed description of the protocol invariants across versionsI encrypt as much as possible (only parts of the header are in cleartext)

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 13 / 29

Page 39: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC in a Nutshell

QUIC Main Goals and FeaturesPerformance propertiesI low-latency session establishment (1 RTT or even 0 RTT)I stream multiplexing within a shared connectionI low bandwidth usage (variable length fields)

Security propertiesI state-of-the-art cryptographic primitivesI privacy-oriented measuresI countermeasures against UDP amplification attacks

Compatibility with internet (debatable)I detailed description of the protocol invariants across versionsI encrypt as much as possible (only parts of the header are in cleartext)

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 13 / 29

Page 40: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

QUIC in a Nutshell

QUIC Packet Protection

A Look at QUIC Draft 23 Implementations

Conclusion and Perspectives

Page 41: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

A Convoluted Procedure

Header Payload

EncryptedPayload

AEAD(AES-GCM)

AES-ECB SamplingXOR

(selected fields)

PacketNumber

MaskedHeader

EncryptedPayload

Protected QUIC Packet

Associated DataPlaintext

iv

Unprotected QUIC Packet

Noncekey

Key

header protection key

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 15 / 29

Page 42: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

The Special Case of Initial Packets

Initial Packets are protected, but where do the keys come from?

The initial secret is derived fromI a cleartext field in the Client Initial Packet

I a public value (the salt), depending on the protocol version

Expected benefit from the WG (highly debatable)I protection against off-path attackersI robustness against QUIC version-unaware middleboxes

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 16 / 29

Page 43: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

The Special Case of Initial Packets

Initial Packets are protected, but where do the keys come from?

The initial secret is derived fromI a cleartext field in the Client Initial PacketI a public value (the salt), depending on the protocol version

Expected benefit from the WG (highly debatable)I protection against off-path attackersI robustness against QUIC version-unaware middleboxes

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 16 / 29

Page 44: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

The Special Case of Initial Packets

Initial Packets are protected, but where do the keys come from?

The initial secret is derived fromI a cleartext field in the Client Initial PacketI a public value (the salt), depending on the protocol version

Expected benefit from the WG (highly debatable)I protection against off-path attackersI robustness against QUIC version-unaware middleboxes

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 16 / 29

Page 45: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

Header Protection Keys

Parts of the Header are also protectedI the hp key is derived from the initial secretI a mask is generated using the encrypted payload as inputI the hp key stays the same during the whole connection

Expected privacy benefitI today, the only protected field is the Packet NumberI masking it should help provide unlinkability in case of address migration

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 17 / 29

Page 46: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

Header Protection Keys

Parts of the Header are also protectedI the hp key is derived from the initial secretI a mask is generated using the encrypted payload as inputI the hp key stays the same during the whole connection

Expected privacy benefitI today, the only protected field is the Packet NumberI masking it should help provide unlinkability in case of address migration

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 17 / 29

Page 47: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

Implementation of the Initial Exchange with Scapy (1/2)

Protecting a QUIC packet1. build the header from its fields2. build the payload from its fields3. pad the payload so the packet size is long enough4. report the payload length in the header to take the padding into

account5. derive secrets and IVs from the version and the DCID6. derive the nonce from the IV and the Packet Number7. encrypt the payload8. extract the sample9. encrypt the header

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 18 / 29

Page 48: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

Implementation of the Initial Exchange with Scapy (2/2)

The protection procedures mix three types of stepsI classical building/parsing stepsI cryptographic operationsI raw manipulations on the packet

This complexity might lead to subtle bugs in corner casesI the exact header/payload delimitation is lost during packet protectionI a variable length fields is updated after the initial building phase

We believe this mechanism offers limited benefits (restrictedattacker model, cooperating middleboxes) which does not justifythe induced complexity

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 19 / 29

Page 49: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

Implementation of the Initial Exchange with Scapy (2/2)

The protection procedures mix three types of stepsI classical building/parsing stepsI cryptographic operationsI raw manipulations on the packet

This complexity might lead to subtle bugs in corner casesI the exact header/payload delimitation is lost during packet protectionI a variable length fields is updated after the initial building phase

We believe this mechanism offers limited benefits (restrictedattacker model, cooperating middleboxes) which does not justifythe induced complexity

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 19 / 29

Page 50: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

QUIC Packet Protection

Implementation of the Initial Exchange with Scapy (2/2)

The protection procedures mix three types of stepsI classical building/parsing stepsI cryptographic operationsI raw manipulations on the packet

This complexity might lead to subtle bugs in corner casesI the exact header/payload delimitation is lost during packet protectionI a variable length fields is updated after the initial building phase

We believe this mechanism offers limited benefits (restrictedattacker model, cooperating middleboxes) which does not justifythe induced complexity

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 19 / 29

Page 51: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

QUIC in a Nutshell

QUIC Packet Protection

A Look at QUIC Draft 23 Implementations

Conclusion and Perspectives

Page 52: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Test Servers

In the QUIC WG wiki, existing implementations are listedI 16 different stacks are listedI corresponding to 20 public servers

We led measurement campaigns (related to different draft versions)I several servers never answered any stimuliI others had significant down times, especially after a new draft versionI around 10-12 seem to keep up with the latest draft

Warning: the presented results are partial data on still evolvingimplementations

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 21 / 29

Page 53: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Test Servers

In the QUIC WG wiki, existing implementations are listedI 16 different stacks are listedI corresponding to 20 public servers

We led measurement campaigns (related to different draft versions)I several servers never answered any stimuliI others had significant down times, especially after a new draft versionI around 10-12 seem to keep up with the latest draft

Warning: the presented results are partial data on still evolvingimplementations

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 21 / 29

Page 54: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Version Negotiation

Stimuli1. a valid Initial Packet with a supported draft version2. packet 1 with a yet-to-be defined version3. a truncated version of packet 2

Expected resultI the first packet should be acceptedI the second and third packet should trigger a VersionNegotiation

Actual resultSeveral servers choke on the third packet, which shows that they interpretthe packet length field, although this field could be redefined in the future(cf. draft-quic-invariants)

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 22 / 29

Page 55: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Version Negotiation

Stimuli1. a valid Initial Packet with a supported draft version2. packet 1 with a yet-to-be defined version3. a truncated version of packet 2

Expected resultI the first packet should be acceptedI the second and third packet should trigger a VersionNegotiation

Actual resultSeveral servers choke on the third packet, which shows that they interpretthe packet length field, although this field could be redefined in the future(cf. draft-quic-invariants)

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 22 / 29

Page 56: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Client Initial Packet Length

To limit DoS amplification attacks, QUIC states thatI the Client Initial Packet should at least be 1,200 bytes longI before the Handshake is complete, the server should not answer with

more than 3 times the amount received

ObservationsI several servers accept 300-byte long stimuliI but only answer with up to 900 bytes

This is not ideal, nor dramatic.

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 23 / 29

Page 57: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Client Initial Packet Length

To limit DoS amplification attacks, QUIC states thatI the Client Initial Packet should at least be 1,200 bytes longI before the Handshake is complete, the server should not answer with

more than 3 times the amount received

ObservationsI several servers accept 300-byte long stimuliI but only answer with up to 900 bytes

This is not ideal, nor dramatic.

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 23 / 29

Page 58: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Missing Parameters

The specification contains several requirements about TLS 1.3 extensions,including these onesI ALPN is mandatoryI QUIC Transport Parameters must be sent

DeviationsI the sample packet in the draft does not conform to the requirementsI several implementations accommodate missing extensionsI one implementation only accepted our stimuli without ALPN

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 24 / 29

Page 59: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Missing Parameters

The specification contains several requirements about TLS 1.3 extensions,including these onesI ALPN is mandatoryI QUIC Transport Parameters must be sent

DeviationsI the sample packet in the draft does not conform to the requirementsI several implementations accommodate missing extensionsI one implementation only accepted our stimuli without ALPN

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 24 / 29

Page 60: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Frame Mangling

Initial Packets should only containI Crypto frames (and the ClientHello should not be split)I ACKsI Padding framesI Connection Close messages

However, several servers seem to accept

I Ping frames (allowed in draft-24)I a ClientHello split into two frames (draft-24 allows spanning over

several packets)I a Crypto frame split into two overlapping framesI and even a Crypto frame inconsistently split!

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 25 / 29

Page 61: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Frame Mangling

Initial Packets should only containI Crypto frames (and the ClientHello should not be split)I ACKsI Padding framesI Connection Close messages

However, several servers seem to acceptI Ping frames (allowed in draft-24)

I a ClientHello split into two frames (draft-24 allows spanning overseveral packets)

I a Crypto frame split into two overlapping framesI and even a Crypto frame inconsistently split!

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 25 / 29

Page 62: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Frame Mangling

Initial Packets should only containI Crypto frames (and the ClientHello should not be split)I ACKsI Padding framesI Connection Close messages

However, several servers seem to acceptI Ping frames (allowed in draft-24)I a ClientHello split into two frames (draft-24 allows spanning over

several packets)

I a Crypto frame split into two overlapping framesI and even a Crypto frame inconsistently split!

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 25 / 29

Page 63: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Frame Mangling

Initial Packets should only containI Crypto frames (and the ClientHello should not be split)I ACKsI Padding framesI Connection Close messages

However, several servers seem to acceptI Ping frames (allowed in draft-24)I a ClientHello split into two frames (draft-24 allows spanning over

several packets)I a Crypto frame split into two overlapping frames

I and even a Crypto frame inconsistently split!

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 25 / 29

Page 64: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

A Look at QUIC Draft 23 Implementations

Frame Mangling

Initial Packets should only containI Crypto frames (and the ClientHello should not be split)I ACKsI Padding framesI Connection Close messages

However, several servers seem to acceptI Ping frames (allowed in draft-24)I a ClientHello split into two frames (draft-24 allows spanning over

several packets)I a Crypto frame split into two overlapping framesI and even a Crypto frame inconsistently split!

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 25 / 29

Page 65: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Introduction

QUIC in a Nutshell

QUIC Packet Protection

A Look at QUIC Draft 23 Implementations

Conclusion and Perspectives

Page 66: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Conclusion and Perspectives

Conclusion

I QUIC is a protocol still under developmentI It is worth studying, since it could become an important part of the

web trafficI It is a complex beast

From the implementation point of viewI we wrote a first implementation of the protocol in ScapyI we scanned public servers with corner case stimuliI no server seems to conform to all the requirements we looked atI however, these stacks are fast-evolving implementations of a moving

target

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 27 / 29

Page 67: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Conclusion and Perspectives

Future workRegarding our Scapy implementationI stabilize a version against the last draftsI publish the codeI include other features (0 RTT, address migration)

Regarding the IETF WG and the ecosystemI contribute to discussions on the WG listI include our test suite in existing tools such as QUIC Tracker

Other (GASP) ideasI try and implement QUIC specs with our toolsI fuzz the implementations (packets and state machines)

Possible collaborations (or internships) if you (or your students) areinterested

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 28 / 29

Page 68: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Conclusion and Perspectives

Future workRegarding our Scapy implementationI stabilize a version against the last draftsI publish the codeI include other features (0 RTT, address migration)

Regarding the IETF WG and the ecosystemI contribute to discussions on the WG listI include our test suite in existing tools such as QUIC Tracker

Other (GASP) ideasI try and implement QUIC specs with our toolsI fuzz the implementations (packets and state machines)

Possible collaborations (or internships) if you (or your students) areinterested

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 28 / 29

Page 69: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Conclusion and Perspectives

Future workRegarding our Scapy implementationI stabilize a version against the last draftsI publish the codeI include other features (0 RTT, address migration)

Regarding the IETF WG and the ecosystemI contribute to discussions on the WG listI include our test suite in existing tools such as QUIC Tracker

Other (GASP) ideasI try and implement QUIC specs with our toolsI fuzz the implementations (packets and state machines)

Possible collaborations (or internships) if you (or your students) areinterested

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 28 / 29

Page 70: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Conclusion and Perspectives

Future workRegarding our Scapy implementationI stabilize a version against the last draftsI publish the codeI include other features (0 RTT, address migration)

Regarding the IETF WG and the ecosystemI contribute to discussions on the WG listI include our test suite in existing tools such as QUIC Tracker

Other (GASP) ideasI try and implement QUIC specs with our toolsI fuzz the implementations (packets and state machines)

Possible collaborations (or internships) if you (or your students) areinterested

E. Gagliardi, O. Levillain (TSP/MinArm) QUIC Session Establishment 2020-05-29 28 / 29

Page 71: Analysis of QUIC Session Establishment and its Implementations€¦ · Analysis of QUIC Session Establishment and its Implementations EvaGagliardi1,2 OlivierLevillain1 1Télécom

Questions?

Thank you for your attention

@[email protected]

https://paperstreet.picty.org/yeye