Skip to content

Commit f12a2d9

Browse files
committed
clear up forward secrecy
1 parent 29e0bc7 commit f12a2d9

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

tls.rst

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -318,10 +318,11 @@ the binding, and if the HMAC calculation succeeds, then the server and
318318
client now have agreement that they can use a shared secret
319319
established in the prior session. They use a "resumption master
320320
secret" that was calculated and stored in the prior session to derive
321-
a new set of keys for this session. The keys of the new
322-
session are different from those of the prior session to support
323-
forward secrecy (i.e., an attacker who learns the key for session N
324-
doesn't immediately have the keys for session N+1).
321+
a new set of keys for this session. The keys of the new session are
322+
different from those of the prior session to support forward secrecy
323+
(i.e., even if an attacker manages to compromise the key for one
324+
session, they don't gain the ability to decrypt data from other
325+
sessions).
325326

326327
When the server sends its "Finished" message, it calculates the HMAC
327328
over the handshake messages using the agreed-upon new key, and thus
@@ -349,15 +350,15 @@ provided by the socket layer (b) the application must know how to deal
349350
with replays of data sent as 0-RTT, e.g., by only sending 0-RTT
350351
data for operations that are idempotent.
351352

352-
The other drawback of 0-RTT data is that it depends on keys that are
353+
The other drawback of 0-RTT data is that it depends on tickets that are
353354
derived from secrets used in an earlier transaction. If those secrets
354355
were somehow compromised, the attacker would have the necessary
355356
information to compromise the new session. Thus, 0-RTT data lacks
356357
forward secrecy. For this reason, the option exists to generate a new
357358
set of keys as part of the session resumption handshake with a new
358359
Diffie-Hellman exchange. This means that only the data sent in the
359360
first RTT lacks forward secrecy, and the rest of the session is
360-
protected by the new, uncompromised keys.
361+
protected by the new ephemeral keys.
361362

362363

363364
All of this work to reduce the setup time of TLS by a single RTT might

0 commit comments

Comments
 (0)