Skip to main content

Extended Key Update for QUIC
draft-ietf-quic-extended-key-update-02

Document Type Active Internet-Draft (quic WG)
Authors Yaroslav Rosomakho , Hannes Tschofenig , Tirumaleswar Reddy.K
Last updated 2026-01-05
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status (None)
Formats
Additional resources Mailing list discussion
Stream WG state WG Document
Associated WG milestone
Extended Key Update to IESG
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-quic-extended-key-update-02
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,
              <https://www.rfc-editor.org/rfc/rfc9000>.

   [QUIC-TLS] Thomson, M., Ed. and S. Turner, Ed., "Using TLS to Secure
              QUIC", RFC 9001, DOI 10.17487/RFC9001, May 2021,
              <https://www.rfc-editor.org/rfc/rfc9001>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/rfc/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.

   [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,
              <https://datatracker.ietf.org/doc/html/draft-ietf-tls-
              extended-key-update-07>.

   [TLS-FLAGS]
              Nir, Y., "A Flags Extension for TLS 1.3", Work in
              Progress, Internet-Draft, draft-ietf-tls-tlsflags-16, 14
              September 2025, <https://datatracker.ietf.org/doc/html/
              draft-ietf-tls-tlsflags-16>.

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, <https://www.rfc-editor.org/rfc/rfc7296>.

   [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,
              <https://www.rfc-editor.org/rfc/rfc9484>.

   [SSH-TRANSPORT]
              Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH)
              Transport Layer Protocol", RFC 4253, DOI 10.17487/RFC4253,
              January 2006, <https://www.rfc-editor.org/rfc/rfc4253>.

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]