Skip to content

Commit 09dc70a

Browse files
authored
Merge pull request #86 from tlswg/tireddy2-patch-10
Update to PCS
2 parents 8171e6b + 0f935b9 commit 09dc70a

File tree

1 file changed

+38
-27
lines changed

1 file changed

+38
-27
lines changed

draft-ietf-tls-extended-key-update.md

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -815,18 +815,25 @@ the application might retain the previous exporter secret until its
815815
replay window no longer accepts packets protected with keys derived from that
816816
secret, as described in Section 3.3.2 of {{!RFC3711}}.
817817

818-
Applications may receive data protected under a newly derived exporter secret
819-
before notification is delivered. In such cases, if decryption using the
820-
previous exporter secret fails or if the application protocol provides
821-
an explicit indication of new keying material (for example, through a
822-
key identifier or epoch field), the application should explicitly request
823-
the corresponding exporter-derived keying material.
824-
825-
The existing exporter interface defined in {{Section 7.5 of TLS}} remains unchanged
826-
and continues to operate as specified. When Extended Key Update is used,
827-
implementations would have to provide an additional exporter interface that accepts an
828-
explicit epoch parameter; that interface will return keying material for the
829-
epoch specified by the caller.
818+
# Use of Exported Authenticators with Extended Key Update {#exported}
819+
820+
EKU provides fresh traffic secrets, but EKU alone does not authenticate
821+
that both endpoints derived the same updated keys. An active attacker
822+
interfering with an EKU exchange could cause key divergence without detection.
823+
824+
To confirm that both peers transitioned to the same new key state, endpoints
825+
can use Exported Authenticators {{?RFC9261}} immediately after completing EKU.
826+
However, the authenticator transcript defined in {{?RFC9261}} does not cover the
827+
EKU messages. As a result, an authenticator generated after EKU is not bound to the
828+
newly derived traffic secrets.
829+
830+
To ensure MiTM-resilient key updates, this document updates Section 5.2.2 of
831+
{{?RFC9261}} to incorporate the Extended Key Update transcript (Hash(EKU-Transcript))
832+
into the CertificateVerify calculation when an authenticator is generated after EKU.
833+
834+
If no Extended Key Update has occurred on the connection, the endpoint
835+
SHALL continue to use the authenticator transcript defined in
836+
Section 5.2.2 of {{?RFC9261}}.
830837

831838
# Security Considerations
832839

@@ -837,7 +844,7 @@ This section discusses additional security and operational aspects introduced by
837844
Extended Key Update assumes a transient compromise of the current application
838845
traffic keys, not a persistent attacker with ongoing access to key material.
839846
The procedure itself does not rely on long-term private keys; those are assumed
840-
to remain secure, as they are stored in a secure element, such as a
847+
to remain secure, as they are typically stored in a secure element, such as a
841848
Trusted Execution Environment (TEE), Hardware Security Module (HSM),
842849
or Trusted Platform Module (TPM). In contrast, application traffic
843850
keys are stored within the rich operating system, where short-term exposure due
@@ -846,20 +853,24 @@ can be re-established, provided the compromise is no longer active when an
846853
Extended Key Update is performed.
847854

848855
Extended Key Update can restore confidentiality only if the attacker no longer
849-
has access to either peer and cannot interfere with the Extended Key Update procedure.
850-
If an adversary retains access to current application traffic keys and
851-
can act as a man-in-the-middle during the Extended Key Update, then the
852-
update cannot restore security. In that case, the attacker can impersonate
853-
each endpoint and substitute key shares, maintaining control of the communication.
854-
Therefore, Extended Key Update provides recovery only in the case where the
855-
compromise has ended before the procedure begins.
856-
857-
If a compromise occurs before the handshake completes, the ephemeral key exchange, client_handshake_traffic_secret, and server_handshake_traffic_secret could be exposed.
858-
In that case, only the initial handshake messages and the application data encrypted
859-
with these secrets can be decrypted until the Extended Key Update procedure completes.
860-
The Extended Key Update procedure derives fresh application traffic secrets from a
861-
new ephemeral key exchange, ensuring that all subsequent application data
862-
remains confidential.
856+
has access to either peer. If an adversary retains access to current application traffic
857+
keys and can act as a man-in-the-middle during the Extended Key Update, then the
858+
update cannot restore security unless {{exported}} is used.
859+
860+
If the mechanism defined in {{exported}} is not used, the attacker can
861+
impersonate each endpoint, substitute EKU messages, and maintain control
862+
of the communication. When the modified Exported Authenticator is used,
863+
the CertificateVerify signature is bound to the EKU transcript, so any interference
864+
with the EKU messages will be detected and the attack prevented.
865+
866+
If a compromise occurs before the handshake completes, the ephemeral key exchange,
867+
client_handshake_traffic_secret, server_handshake_traffic_secret, and the initial
868+
client_/server_application_traffic_secret could be exposed. In that case, only the
869+
initial handshake messages and the application data encrypted under the initial
870+
client_/server_application_traffic_secret can be decrypted until the Extended Key
871+
Update procedure completes. The Extended Key Update procedure derives fresh
872+
application_traffic_secrets from a new ephemeral key exchange, ensuring that all
873+
subsequent application data remains confidential.
863874

864875
## Post-Compromise Security
865876

0 commit comments

Comments
 (0)