Abstract

The TLS 1.3 0-RTT mode enables a client reconnecting to a server to send encrypted application-layer data in “0-RTT” (“zero round-trip time”), without the need for a prior interactive handshake. This fundamentally requires the server to reconstruct the previous session’s encryption secrets upon receipt of the client’s first message. The standard techniques to achieve this are session caches or, alternatively, session tickets. The former provides forward security and resistance against replay attacks, but requires a large amount of server-side storage. The latter requires negligible storage, but provides no forward security and is known to be vulnerable to replay attacks. In this paper, we first formally define session resumption protocols as an abstract perspective on mechanisms like session caches and session tickets. We give a new generic construction that provably provides forward security and replay resilience, based on puncturable pseudorandom functions (PPRFs). We show that our construction can immediately be used in TLS 1.3 0-RTT and deployed unilaterally by servers, without requiring any changes to clients or the protocol. To this end, we present a generic composition of our new construction with TLS 1.3 and prove its security. This yields the first construction that achieves forward security for all messages, including the 0-RTT data. We then describe two new constructions of PPRFs, which are particularly suitable for use for forward-secure and replay-resilient session resumption in TLS 1.3. The first construction is based on the strong RSA assumption. Compared to standard session caches, for “128-bit security” it reduces the required server storage by a factor of almost 20, when instantiated in a way such that key derivation and puncturing together are cheaper on average than one full exponentiation in an RSA group. Hence, a 1 GB session cache can be replaced with only about 51 MBs of storage, which significantly reduces the amount of secure memory required. For larger security parameters or in exchange for more expensive computations, even larger storage reductions are achieved. The second construction combines a standard binary tree PPRF with a new “domain extension” technique. For a reasonable choice of parameters, this reduces the required storage by a factor of up to 5 compared to a standard session cache. It employs only symmetric cryptography, is suitable for high-traffic scenarios, and can serve thousands of tickets per second.

Highlights

  • 20 Page 2 of 57 way such that key derivation and puncturing together are cheaper on average than one full exponentiation in an RSA group

  • Our proposal is based on session tickets, and requires minimal storage at the server side, but we extend this approach with efficient puncturable pseudorandom functions (PPRFs) that enable us to achieve forward security and replay resilience for session tickets

  • Later we describe new constructions of PPRFs, which are suitable for use in session resumption protocols

Read more

Summary

Introduction

0-RTT Protocols A major innovation of TLS 1.3 [51] is its 0-RTT (zero round-trip time) mode, which enables the resumption of sessions with minimal latency and without the need for an interactive handshake. A 0-RTT protocol allows the establishment of a secure connection in “one-shot”, that is, with a single message sent from a client to a server, such that cryptographically protected payload data can be sent immediately (“in 0-RTT”) along with the key establishment message, without the need for a latencyincurring prior handshake protocol This significant speedup of connection establishment yields a smoother Web browsing experience and, more generally, better performance for applications with low-latency requirements. In either case the server sends a NewSessionTicket message containing an opaque sequence of bytes, which may be either a lookup key for the session cache, or an encrypted session ticket, without specifying which is the case This property ensures that our proposed techniques are compatible with the final TLS 1.3 standard [51] and can be implemented on the server-side without requiring modifications to the protocol or to clients. An attacker is able to replay the 0-RTT

20 Page 4 of 57
20 Page 6 of 57
20 Page 8 of 57
20 Page 10 of 57
Security in the Single-Server Setting
Security in the Multi-server Setting
20 Page 12 of 57
Constructing Secure Session Resumption Protocols
Building Blocks
20 Page 16 of 57
Generic Construction
20 Page 18 of 57
20 Page 20 of 57
20 Page 22 of 57
Building Blocks and Security Assumptions
20 Page 24 of 57
Multi-stage Key Exchange
20 Page 26 of 57
20 Page 28 of 57
Composition and Security
20 Page 30 of 57
20 Page 34 of 57
20 Page 36 of 57
20 Page 38 of 57
A PPRF with Short Secret Keys from Strong RSA
20 Page 40 of 57
Formal Description of the Construction
Security Analysis
20 Page 42 of 57
Efficiency Analysis
20 Page 44 of 57
Tree-Based PPRFs
20 Page 46 of 57
Combining Tree-Based PPRFs with Tickets
Efficiency Analysis of the Tree-Based PPRF
Generic Domain Extension for PPRFs
20 Page 48 of 57
Efficiency Analysis of the Generic Domain Extension
Comparison of Solutions and Conclusion
Conclusion
20 Page 52 of 57
A Accepting Replay Attacks and Idempotent Requests
B Detailed Description of Protocol Values
20 Page 56 of 57
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call