You are looking at a specific version 20201001:152941 of this paper. See the latest version.

Paper 2020/114

A Security Model and Fully Verified Implementation for the IETF QUIC Record Layer

Antoine Delignat-Lavaud and Cédric Fournet and Bryan Parno and Jonathan Protzenko and Tahina Ramananandro and Jay Bosamiya and Joseph Lallemand and Itsaka Rakotonirina and Yi Zhou

Abstract

We investigate the security of the QUIC record layer, as standardized by the IETF in draft version 30. This version features major differences compared to Google's original protocol and prior IETF drafts. We model packet and header encryption, which uses a custom construction for privacy. To capture its goals, we propose a security definition for authenticated encryption with semi-implicit nonces. We show that QUIC uses an instance of a generic construction parameterized by a standard AEAD-secure scheme and a PRF-secure cipher. We formalize and verify the security of this construction in F*. The proof uncovers interesting limitations of nonce confidentiality, due to the malleability of short headers and the ability to choose the number of least significant bits included in the packet counter. We propose improvements that simplify the proof and increase robustness against strong attacker models. In addition to the verified security model, we also give concrete functional specification for the record layer, and prove that it satisfies important functionality properties (such as successful decryption of encrypted packets) after fixing more errors in the draft. We then provide a high-performance implementation of the record layer that we prove to be memory safe, correct with respect to our concrete specification (inheriting its functional correctness properties), and secure with respect to our verified model. To evaluate this component, we develop a provably-safe implementation of the rest of the QUIC protocol. Our record layer achieves nearly 2 GB/s throughput, and our QUIC implementation's performance is within 21% of an unverified baseline.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
Keywords
quicnonce-hiding encryptionstream encryptionverified implementation
Contact author(s)
antdl @ microsoft com
History
2020-10-01: revised
2020-02-06: received
See all versions
Short URL
https://ia.cr/2020/114
License
Creative Commons Attribution
CC BY
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.