On 22/07/2025 00:23, Eric Rescorla wrote:


   While the built-in KeyUpdate mechanism allows traffic
   keys to be refreshed during a session, it does not introduce new
   forward-secret key material. [...]
   To address this, this specification defines an extended key update
   mechanism that performs a fresh Diffie-Hellman exchange within an
   active session, thereby re-establishing forward secrecy beyond the
   initial handshake.

I'm not sure what it means to "reestablish forward secrecy". The TLS
1.3 KeyUpdate mechanism provides forward secrecy, in that a key
compromise at epoch N+1 does not threaten data transmitted
under key N. What this mechanism provides is post-compromise security,
which is to say protection for data protected under key N+1 even
if key N is compromised.

To be clear, I'm not saying that this extension doesn't have value,
merely that that value is not about FS.

I gave very similar feedback on-list in March 2024:

I think there is some confusion about what forward secrecy is. Forward secrecy means that compromise in the future will not enable the decryption of past messages. The existing KeyUpdate mechanism in TLS1.3 achieves forward secrecy by ratcheting forwards the used keys and throwing away the old ones.

Introduction:

If a traffic secret (referred as application_traffic_secret_N) has been compromised, an attacker can passively eavesdrop on all future data sent on the connection, including data encrypted with application_traffic_secret_N+1, application_traffic_secret_N+2, etc.

This is not forward secrecy but post-compromise security (PCS) [1] (sometimes called Backwards Secrecy as it is the complement of Forward Secrecy).
I'm a bit surprised this hasn't been fixed yet.

I also agree with Ekr's other suggestions around simplifying the state machine.

Best,
Dennis
_______________________________________________
TLS mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to