QUIC Y. Rosomakho Internet-Draft Zscaler Updates: 9001 (if approved) H. Tschofenig Intended status: Standards Track H-BRS Expires: 9 July 2026 T. Reddy Nokia 5 January 2026 Extended Key Update for QUIC draft-ietf-quic-extended-key-update-02 Abstract This document specifies an Extended Key Update mechanism for the QUIC protocol, building on the foundation of the TLS Extended Key Update. The TLS Extended Key Update specification enhances the TLS protocol by introducing key updates with forward secrecy, eliminating the need to perform a full handshake. This feature is particularly beneficial for maintaining security in scenarios involving long-lived connections. This specification replaces the QUIC Key Update mechanism described in the "Using TLS to Secure QUIC" specification. About This Document This note is to be removed before publishing as an RFC. The latest revision of this draft can be found at https://quicwg.org/ extended-key-update/draft-ietf-quic-extended-key-update.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-ietf-quic-extended-key- update/. Discussion of this document takes place on the QUIC Working Group mailing list (mailto:quic@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/quic/. Subscribe at https://www.ietf.org/mailman/listinfo/quic/. Source for this draft and an issue tracker can be found at https://github.com/quicwg/extended-key-update. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Rosomakho, et al. Expires 9 July 2026 [Page 1] Internet-Draft Extended Key Update for QUIC January 2026 Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 9 July 2026. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3 3. Extended Key Update Negotiation . . . . . . . . . . . . . . . 3 4. Extended Key Update Messages . . . . . . . . . . . . . . . . 4 5. Updating the Traffic Secrets . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . 7 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction The QUIC protocol [QUIC] provides a secure, versatile transport for various applications, suitable for long-lived sessions in environments like industrial IoT, telecommunication networks or Virtual Private Networks (VPN), as specified in [RFC9484]. Rosomakho, et al. Expires 9 July 2026 [Page 2] Internet-Draft Extended Key Update for QUIC January 2026 The TLS Extended Key Update [TLS-EKU] introduces a mechanism to enhance the security and flexibility of encrypted communication protocols by enabling frequent key updates without requiring a full handshake renegotiation. This approach allows applications to refresh their encryption keys more often using ephemeral keys, improving forward secrecy and reducing the risk of key compromise over long-lived connections. By separating key updates from the computationally expensive handshake process, the specification provides a lightweight method for maintaining robust encryption in scenarios where connections need to remain secure for extended periods. The TLS Extended Key Update mechanism is particularly valuable in environments where interruptions to perform a full key exchange would cause significant disruption. Other encrypted communication protocols, such as IPsec [IKEv2] and SSH [SSH-TRANSPORT], include mechanisms for rekeying without interrupting active sessions. The TLS Extended Key Update specification helps protect sensitive data even in the event of a potential key compromise by enabling frequent key rotation and leveraging forward secrecy. This specification builds on concepts from [TLS-EKU] and applies them to the QUIC protocol context. It thereby replaces the QUIC Key Update mechanism described in Section 6 of [QUIC-TLS]. Unlike the previous QUIC key update process, which independently updated keys based on the Key Phase bit, the extended key update mechanism derives a new shared secret using the TLS Extended Key Update procedure. This approach enables a coordinated key transition, integrating TLS for key exchange while refining the QUIC key update process to maintain QUIC-specific key derivation. 2. Conventions and Definitions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Readers are assumed to be familiar with [TLS-EKU]. 3. Extended Key Update Negotiation QUIC peers negotiate Extended Key Update through the TLS handshake process, as outlined in Section 3 of [TLS-EKU]. Extended Key Update MUST NOT be used unless both QUIC peers include the TLS flags extension [TLS-FLAGS] in the handshake and set the "Extended_Key_Update" flag. Rosomakho, et al. Expires 9 July 2026 [Page 3] Internet-Draft Extended Key Update for QUIC January 2026 Once the Extended Key Update has been successfully negotiated, QUIC peers MUST use only the Extended Key Update process defined in this document. The standard QUIC Key Update mechanism from Section 6 of [QUIC-TLS] MUST NOT be used for the duration of the session, as both Key Update and Extended Key Update use the Key Phase bit to signal the use of updated keys. The Key Phase bit is initially set to 0 and toggled to indicate a key update following the successful post- handshake exchange of Extended Key Update messages. The Key Phase bit MUST only be changed as a result of a successful Extended Key Update exchange. 4. Extended Key Update Messages As specified in Section 4 of [TLS-EKU], either party MAY initiate the Extended Key Update process by sending an ExtendedKeyUpdate TLS handshake message with key_update_request message subtype in a QUIC CRYPTO frame. This message MUST NOT be sent before the QUIC handshake is confirmed, as described in Section 4.1.2 of [QUIC-TLS]. If a QUIC endpoint receives an ExtendedKeyUpdate message before the handshake is complete, it MUST terminate the connection with an error of type 0x010a, equivalent to the TLS unexpected_message alert, as specified in Section 4.8 of [QUIC-TLS]. If both QUIC peers independently initiate an Extended Key Update and their ExtendedKeyUpdate messages cross in flight, the conflict MUST be resolved following the clash error handling defined in Section 4 of [TLS-EKU]. Specifically, the lexicographic order of the key_exchange value in the KeyShareEntry determines which request is dropped, ensuring a coordinated key update process without advancing by two key generations. Upon receiving an ExtendedKeyUpdate with key_update_request, the recipient MUST respond with an ExtendedKeyUpdate TLS handshake message with key_update_response message subtype within a QUIC CRYPTO frame. If a QUIC endpoint receives an ExtendedKeyUpdate with key_update_response message subtype without having previously sent an ExtendedKeyUpdate with key_update_request message subtype, it MUST treat this as a TLS protocol error and terminate the connection with an error of type 0x010a, equivalent to the TLS unexpected_message alert, as specified in Section 4.8 of [QUIC-TLS]. Any mismatch between the negotiated NamedGroup during the initial handshake and the group used in the ExtendedKeyUpdate message, or an incorrect length of the encapsulated key MUST result in connection termination with error of type 0x012f, equivalent to TLS illegal_parameter alert. Rosomakho, et al. Expires 9 July 2026 [Page 4] Internet-Draft Extended Key Update for QUIC January 2026 ExtendedKeyUpdate TLS handshake message with new_key_update message subtype MUST NOT be used in QUIC. If a QUIC endpoint receives an ExtendedKeyUpdate message with new_key_update message subtype, it MUST terminate the connection with an error of type 0x010a, equivalent to the TLS unexpected_message alert, as specified in Section 4.8 of [QUIC-TLS]. 5. Updating the Traffic Secrets After sending an ExtendedKeyUpdate with key_update_response message subtype, the responder derives new packet protection traffic secrets. The responder MUST continue using the previous secrets until it has received a packet with the Key Phase bit flipped and has successfully decrypted it using the new keys. After receiving and successfully processing an ExtendedKeyUpdate with key_update_response message subtype, the initiator derives new packet protection traffic secrets, flips the Key Phase bit for new packets, and uses the new write secret to protect them. The initiator MUST retain the old read secret until it has received a packet with a flipped Key Phase bit from the responder and successfully decrypted it using the new read secret. Both endpoints SHOULD retain old read secrets for some time after successfully decrypting a packet encrypted with the new keys. Discarding old secrets too early may cause delayed packets to be discarded, which the peer may be interpreted as packet loss, potentially impacting performance. However, implementations may choose to discard old secrets sooner in environments where memory limitations or security policies require minimizing the lifetime of old keys. The retention period should be chosen carefully to mitigate the risk of cryptographic attacks while still allowing late- arriving packets to be processed. Figure 1 shows this interaction graphically where the initial set of keys used (identified with @M) are replaced by updated keys (identified with @N). The value of the Key Phase bit is indicated in brackets []. Rosomakho, et al. Expires 9 July 2026 [Page 5] Internet-Draft Extended Key Update for QUIC January 2026 Initiator Responder @M [0] QUIC Packets --------> @M [0] QUIC Packets <-------- [ ExtendedKeyUpdate key_update_request ] --------> <-------- [ ExtendedKeyUpdateResponse key_update_response ] ... Update to @N @N [1] QUIC Packets --------> Update to @N ... QUIC Packets [1] @N <-------- QUIC Packets [1] @N containing ACK <-------- ... Key Update Permitted @N [1] QUIC Packets containing ACK for @N packets --------> Key Update Permitted ... Figure 1: Extended Key Update Process in QUIC. QUIC endpoints that have agreed to the Extended Key Update process MUST NOT change the Key Phase bit without a succesful exchange of Extended Key Update TLS messages. Receiving a packet with the Key Phase bit changed without a successful Extended Key Update exchange MUST be treated as a connection error of type KEY_UPDATE_ERROR (0x0e), as defined in Section 20.1 of [QUIC]. Key derivation function for computing the next generation of secrets is described in Section 7 of [TLS-EKU]. The corresponding key and IV are derived from the new secret as defined in Section 5.1 of [QUIC-TLS]. The header protection key is not updated. 6. Security Considerations All Security Considerations defined in Section 11 of [TLS-EKU] apply to Extended Key Update for QUIC. Rosomakho, et al. Expires 9 July 2026 [Page 6] Internet-Draft Extended Key Update for QUIC January 2026 This specification describes an update to the key schedule of QUIC. Therefore, implementations MUST ensure that peers adhere strictly to the process described in this document. Packets with higher packet numbers MUST NOT be protected using an older generation of secrets, as this could compromise key synchronization and forward security. 7. IANA Considerations This document has no IANA actions. 8. References 8.1. Normative References [QUIC] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, . [QUIC-TLS] Thomson, M., Ed. and S. Turner, Ed., "Using TLS to Secure QUIC", RFC 9001, DOI 10.17487/RFC9001, May 2021, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [TLS-EKU] Tschofenig, H., Tüxen, M., Reddy.K, T., Fries, S., and Y. Rosomakho, "Extended Key Update for Transport Layer Security (TLS) 1.3", Work in Progress, Internet-Draft, draft-ietf-tls-extended-key-update-07, 1 November 2025, . [TLS-FLAGS] Nir, Y., "A Flags Extension for TLS 1.3", Work in Progress, Internet-Draft, draft-ietf-tls-tlsflags-16, 14 September 2025, . 8.2. Informative References Rosomakho, et al. Expires 9 July 2026 [Page 7] Internet-Draft Extended Key Update for QUIC January 2026 [IKEv2] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. Kivinen, "Internet Key Exchange Protocol Version 2 (IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October 2014, . [RFC9484] Pauly, T., Ed., Schinazi, D., Chernyakhovsky, A., Kühlewind, M., and M. Westerlund, "Proxying IP in HTTP", RFC 9484, DOI 10.17487/RFC9484, October 2023, . [SSH-TRANSPORT] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Transport Layer Protocol", RFC 4253, DOI 10.17487/RFC4253, January 2006, . Acknowledgments We would like to thank Martin Thomson and Sean Turner for their early review of this design and their invaluable feedback. Authors' Addresses Yaroslav Rosomakho Zscaler Email: yrosomakho@zscaler.com Hannes Tschofenig University of Applied Sciences Bonn-Rhein-Sieg Germany Email: Hannes.Tschofenig@gmx.net Tirumaleswar Reddy Nokia Bangalore Karnataka India Email: kondtir@gmail.com Rosomakho, et al. Expires 9 July 2026 [Page 8]