@@ -350,15 +350,18 @@ provided by the socket layer (b) the application must know how to deal
350350with replays of data sent as 0-RTT, e.g., by only sending 0-RTT
351351data for operations that are idempotent.
352352
353- The other drawback of 0-RTT data is that it depends on tickets that are
354- derived from secrets used in an earlier transaction. If those secrets
355- were somehow compromised, the attacker would have the necessary
356- information to compromise the new session. Thus, 0-RTT data lacks
357- forward secrecy. For this reason, the option exists to generate a new
358- set of keys as part of the session resumption handshake with a new
359- Diffie-Hellman exchange. This means that only the data sent in the
360- first RTT lacks forward secrecy, and the rest of the session is
361- protected by the new ephemeral keys.
353+ The other drawback of 0-RTT data is that it depends on a potentially
354+ long-lived secret. The resumption key used to encrypt 0-RTT data is
355+ derived from shared key material that was established in an earlier
356+ session. This material is retained by the server for some period of
357+ time to allow for future resumptions. If that secret were somehow
358+ compromised at some point in the future, an attacker who had recorded
359+ the 0-RTT data would have the necessary information to decrypt
360+ it. Thus, 0-RTT data lacks forward secrecy. For this reason, the
361+ option exists to generate a new set of keys as part of the session
362+ resumption handshake with a new Diffie-Hellman exchange. This means
363+ that only the data sent in the first RTT lacks forward secrecy, and
364+ the rest of the session is protected by the new ephemeral keys.
362365
363366
364367All of this work to reduce the setup time of TLS by a single RTT might
0 commit comments