<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.0.2) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-extended-key-update-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="Extended Key Update for TLS">Extended Key Update for Transport Layer Security (TLS) 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-extended-key-update-01"/>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Siemens</organization>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="M." surname="Tüxen" fullname="Michael Tüxen">
      <organization>Münster Univ. of Applied Sciences</organization>
      <address>
        <email>tuexen@fh-muenster.de</email>
      </address>
    </author>
    <author initials="T." surname="Reddy" fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Fries" fullname="Steffen Fries">
      <organization>Siemens</organization>
      <address>
        <email>steffen.fries@siemens.com</email>
      </address>
    </author>
    <author initials="Y." surname="Rosomakho" fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <email>yrosomakho@zscaler.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="20"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 83?>

<t>The Transport Layer Security (TLS) 1.3 specification offers a dedicated
message to update cryptographic keys during the lifetime of an ongoing session.
The traffic secret and the initialization vector are updated directionally
but the sender may trigger the recipient, via the request_update field,
to transmit a key update message in the reverse direction.</t>
      <t>In environments where sessions are long-lived, such as industrial IoT or
telecommunication networks, this key update alone is insufficient since
forward secrecy is not offered via this mechanism. Earlier versions
of TLS allowed the two peers to perform renegotiation, which is a handshake
that establishes new cryptographic parameters for an existing session.
When a security vulnerability with the renegotiation mechanism was discovered,
RFC 5746 was developed as a fix. Renegotiation has, however, been removed from
version 1.3 leaving a gap in the feature set of TLS.</t>
      <t>This specification defines an extended key update that supports forward secrecy.</t>
    </abstract>
  </front>
  <middle>
    <?line 102?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The features of TLS and DTLS have changed over the years and while newer versions
optimized the protocol and at the same time enhanced features (often with the help
of extensions) some functionality was removed without replacement. The ability to
update keys and initialization vectors has been added in TLS 1.3 <xref target="I-D.ietf-tls-rfc8446bis"/>
using the KeyUpdate message and it intended to (partially) replace renegotiation from earlier
TLS versions. The renegotiation feature, while complex, offered additional
functionality that is not supported with TLS 1.3 anymore, including the update
of master keys with a Diffie-Hellman exchange during the lifetime of a session.</t>
      <t>There are use cases of TLS and DTLS where long-lived sessions are common. In those
environments, such as industrial IoT and telecommunication networks, availability
is important and an interruption of the communication due to periodic session
resumptions is not an option. Re-running a handshake with (EC)DHE and switching from
the old to the new session may be a solution for some applications but introduces
complexity, impacts performance and may lead to service interruption as well.</t>
      <t>Some deployments have used IPsec in the past to secure their communication protocol
and have now decided to switch to TLS or DTLS instead. The requirement for updates of
cryptographic keys for an existing session has become a requirement. For IPsec, US NIST,
German BSI, and French ANSSI recommend to re-run Diffie-Hellman exchanges frequently to provide forward
secrecy and force attackers to perform a dynamic key extraction <xref target="RFC7624"/>. ANSSI
writes "It is recommended to force the periodic renewal of the keys, e.g., every
hour and every 100 GB of data, in order to limit the impact of a key compromise."
<xref target="ANSSI-DAT-NT-003"/>. While IPsec/IKEv2 <xref target="RFC7296"/> offers the desired functionality,
developers often decide to use TLS/DTLS to simplify integration with cloud-based
environments.</t>
      <t>This specification defines a new, extended key update message supporting perfect
forward secrecy.  It does so by utilizing a Diffie-Hellman exchange using one of
the groups negotiated during the initial exchange.  The support for this extension
is signaled using the TLS flags extension mechanism.  The frequent re-running of
extended key update forces an attacker to do dynamic key exfiltration.</t>
      <t>This specification is applicable to both TLS 1.3 <xref target="I-D.ietf-tls-rfc8446bis"/> and
DTLS 1.3 <xref target="RFC9147"/>. Throughout the specification we do not distinguish between
these two protocols unless necessary for better understanding.</t>
    </section>
    <section anchor="terminology-and-requirements-language">
      <name>Terminology and Requirements Language</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 <xref target="RFC2119"/>.</t>
      <t>To distinguish the key update procedure defined in <xref target="I-D.ietf-tls-rfc8446bis"/>
from the key update procedure specified in this document, we use the terms
"key update" and "extended key update", respectively.</t>
    </section>
    <section anchor="key-exfiltration-and-forward-secrecy">
      <name>Key Exfiltration and Forward Secrecy</name>
      <t><xref target="RFC9325"/> provides a good summary of what (perfect) forward secrecy
is and how it relates to the TLS protocol. In summary, it says:</t>
      <t>"Forward secrecy (also called "perfect forward secrecy" or "PFS") is a
defense against an attacker who records encrypted conversations where
the session keys are only encrypted with the communicating parties'
long-term keys. Should the attacker be able to obtain these long-term
keys at some point later in time, the session keys and thus the entire
conversation could be decrypted."</t>
      <t>Appendix F of <xref target="I-D.ietf-tls-rfc8446bis"/> goes into details of
explaining the security properties of the TLS 1.3 protocol and notes
"... forward secrecy without rerunning (EC)DHE does not stop an attacker
from doing static key exfiltration". It concludes with a recommendation
by saying: "Frequently rerunning (EC)DHE forces an attacker to do dynamic
key exfiltration (or content exfiltration)." The terms static and dynamic
key exfiltration are defined in <xref target="RFC7624"/>. Dynamic key exfiltration,
refers to attacks in which the collaborator delivers keying material to
the attacker frequently, e.g., on a per-session basis. Static key
exfiltration means that the transfer of keys happens once or rarely
and that the transferred key is typically long-lived.</t>
    </section>
    <section anchor="negotiating-the-extended-key-update">
      <name>Negotiating the Extended Key Update</name>
      <t>Client and servers use the TLS flags extension
<xref target="I-D.ietf-tls-tlsflags"/> to indicate support for the functionality
defined in this document.  We call this the "extended_key_update"
extension and the corresponding flag is called "Extended_Key_Update"
flag.</t>
      <t>The "Extended_Key_Update" flag proposed by the client in the
ClientHello (CH) MUST be acknowledged in the EncryptedExtensions
(EE), if the server also supports the functionality defined in this
document and is configured to use it.</t>
      <t>If the "Extended_Key_Update" flag is not set, servers ignore any of the
functionality specified in this document and applications that
require perfect forward security will have to initiate a full
handshake.</t>
    </section>
    <section anchor="ext-key-update">
      <name>Extended Key Update Message</name>
      <t>The ExtendedKeyUpdate handshake message is used to indicate an update
of cryptographic keys. This key update process can be sent by either
peer after it has sent a Finished message.  Implementations that
receive a ExtendedKeyUpdate message prior to receiving a Finished
message MUST terminate the connection with an "unexpected_message"
alert.</t>
      <t>The KeyShare entry in the ExtendedKeyUpdate message MUST be the same
group mutually supported by the client and server during the initial
handshake. The peers MUST NOT send a KeyShare Entry in the ExtendedKeyUpdate
message that is not mutually supported by the client and server during
the initial handshake. An implementation that receives any other value
MUST terminate the connection with an "illegal_parameter" alert.</t>
      <t><xref target="fig-key-update"/> shows the interaction graphically.
First, support for the functionality in this specification
is negotiated in the ClientHello and the EncryptedExtensions
messages. Then, the ExtendedKeyUpdate exchange is sent to
update the application traffic secrets.</t>
      <t>The extended key update exchange is performed between the initiator and the
responder whereby the initiator may be the TLS client or the TLS server.</t>
      <figure anchor="fig-key-update">
        <name>Extended Key Update Message Exchange.</name>
        <artwork><![CDATA[
       Client                                           Server

Key  ^ ClientHello
Exch | + key_share
     | + signature_algorithms
     v + Extended_Key_Update       -------->
                                                  ServerHello  ^ Key
                                                  + key_share  | Exch
                                                               v
                                        {EncryptedExtensions   ^ Server
                                       + Extended_Key_Update}  | Params
                                         {CertificateRequest}  v
                                                {Certificate}  ^
                                          {CertificateVerify}  | Auth
                                                   {Finished}  v
                               <--------
     ^ {Certificate}
Auth | {CertificateVerify}
     v {Finished}              -------->
       [Application Data]      <------->  [Application Data]
                                  ...
[ExtendedKeyUpdateRequest]     -------->
                               <--------  [ExtendedKeyUpdateResponse]
                                  ...
            [NewKeyUpdate]     <-------
                               -------->  [NewKeyUpdate]
                                  ...
       [Application Data]      <------->  [Application Data]
]]></artwork>
      </figure>
      <t>The structure of the ExtendedKeyUpdate message is shown below.</t>
      <artwork><![CDATA[
struct {
  KeyShareEntry key_share;
} ExtendedKeyUpdateRequest;

enum {
  accepted(0),
  retry(1),
  rejected(2),
  clashed(3),
  (255)
} ExtendedKeyUpdateResponseStatus;

struct {
  ExtendedKeyUpdateResponseStatus status;
  select (ExtendedKeyUpdateResponse.status) {
     case accepted: KeyShareEntry key_share;
     case retry: uint8 delay;
  }
} ExtendedKeyUpdateResponse;

struct {
} NewKeyUpdate;
]]></artwork>
      <t>key_share:  Key share information.  The contents of this field
  are determined by the specified group and its corresponding
  definition. The structures are defined in <xref target="I-D.ietf-tls-rfc8446bis"/>.</t>
      <t>status:  Response to ExtendedKeyUpdateRequest. This status field indicates
  whether responder accepted or declined Extended Key Update Request.</t>
      <t>delay:  Delay in seconds for the initiator to retry the request.</t>
      <t>There are three rejection reasons defined:</t>
      <ol spacing="normal" type="1"><li>
          <t><tt>retry</tt>: request was declined temporarily as responder is too busy.
In this case ExtendedKeyUpdateResponse contains delay in seconds for initiator
to retry. Initiator MUST NOT retry within this interval and SHOULD retry after
it lapsed. Note that responder MAY apply an overall rate limit to extended key
update that would not be specific to given TLS session. If initiator cannot
proceed without immediate Extended Key Update it MUST terminate the connection
with TLS alert "extended_key_update_required" (alert number TBD).</t>
        </li>
        <li>
          <t><tt>rejected</tt>: request was declined permanently. Initiator MUST NOT retry and
if it cannot proceed without Extended Key Update it MUST terminate the
connection with alert "extended_key_update_required" (alert number TBD).</t>
        </li>
        <li>
          <t><tt>clashed</tt>: request was declined because responder already initiated its own
extended key update.</t>
        </li>
      </ol>
      <t>The exchange has the following steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>Initiator sends a ExtendedKeyUpdateRequest message, which contains
a key share. While an extended key update is in progress, the initiator
MUST NOT initiate further key updates.</t>
        </li>
        <li>
          <t>On receipt of the ExtendedKeyUpdateRequest message, the responder
sends the ExtendedKeyUpdateResponse message. If the responder accepts the
request, it sets the status to <tt>accepted</tt> and includes its own key share.
If the responder declines the request, it sets the status accordingly and
does not include the key share. While an extended key update is in progress,
the responder MUST NOT initiate further key updates.</t>
        </li>
        <li>
          <t>On receipt of the ExtendedKeyUpdateResponse message with <tt>accepted</tt> status,
the initiator is able to derive a secret key based on the exchanged key shares.
After sending a NewKeyUpdate message, the initiator MUST update its
traffic keys and MUST send all its traffic using the next generation of keys.</t>
        </li>
        <li>
          <t>On receipt of the NewKeyUpdate message by the responder, it MUST update
its receive keys. In response, the responder transmits a NewKeyUpdate message
and MUST update its sending keys.</t>
        </li>
      </ol>
      <t>Both sender and receiver MUST encrypt their NewKeyUpdate messages with
the old keys. Additionally, both sides MUST enforce that a NewKeyUpdate
with the old key is received before accepting any messages encrypted
with the new key.</t>
      <t>If TLS peers independently initiate the extended key update
procedure and the requests cross in flight, the ExtendedKeyUpdateRequest
message with the lower lexicographic order for the key_exchange value
in the KeyShareEntry will be rejected by the responder using <tt>clashed</tt> status
in ExtendedKeyUpdateResponse message. This approach prevents each side incrementing
keys by two generations.</t>
      <figure anchor="fig-handshake">
        <name>Handshake Structure.</name>
        <artwork><![CDATA[
      struct {
          HandshakeType msg_type;    /* handshake type */
          uint24 length;             /* bytes in message */
          select (Handshake.msg_type) {
              case client_hello:          ClientHello;
              case server_hello:          ServerHello;
              case end_of_early_data:     EndOfEarlyData;
              case encrypted_extensions:  EncryptedExtensions;
              case certificate_request:   CertificateRequest;
              case certificate:           Certificate;
              case certificate_verify:    CertificateVerify;
              case finished:              Finished;
              case new_session_ticket:    NewSessionTicket;
              case key_update:            KeyUpdate;
              case extended_key_update:   ExtendedKeyUpdate;
          };
      } Handshake;
]]></artwork>
      </figure>
      <t>The ExtendedKeyUpdate and the KeyUpdates MAY be used in combination
over the lifetime of a TLS communication session, depending on the
desired security properties.</t>
    </section>
    <section anchor="key_update">
      <name>Updating Traffic Secrets</name>
      <t>The ExtendedKeyUpdate handshake message is used to indicate that
the sender is updating its sending cryptographic keys.  This message can
be sent by either endpoint after the Finished messages have been exchanged.</t>
      <t>The design of the key derivation function for computing the next generation
of application_traffic_secret is motivated by the desire to include</t>
      <ul spacing="normal">
        <li>
          <t>the old traffic secret as well as a secret derived from the DH
exchange or from the hybrid key exchange,</t>
        </li>
        <li>
          <t>the concatenation of the ExtendedKeyUpdateRequest and the
ExtendedKeyUpdateResponse messages, which contain the key shares, binding
the encapsulated shared secret ciphertext to IKM in case of hybrid key
exchange, providing MAL-BIND-K-CT security (see <xref target="CDM23"/>), and</t>
        </li>
        <li>
          <t>a new label string to distinguish it from the application traffic
secret computation defined in <xref target="I-D.ietf-tls-rfc8446bis"/> for use with
the regular KeyUpdate.</t>
        </li>
      </ul>
      <artwork><![CDATA[
sk = HKDF-Extract(Transcript-Hash(KeyUpdateMessages), secret)

application_traffic_secret_N+1 =
    HKDF-Expand-Label(sk,
                      "traffic up2", application_traffic_secret_N,
                      Hash.length)
]]></artwork>
      <t>The traffic keys are re-derived from the client_/server_application_traffic_secret_N+1
as described in Section 7.3 of <xref target="I-D.ietf-tls-rfc8446bis"/>.</t>
      <t>Once client_/server_application_traffic_secret_N+1 and its associated
traffic keys have been computed, implementations SHOULD delete
client_/server_application_traffic_secret_N and its associated
traffic keys. Note: The client_/server_application_traffic_secret_N and
its associated traffic keys can only be deleted after receiving the
NewKeyUpdate message.</t>
    </section>
    <section anchor="example">
      <name>Example</name>
      <t><xref target="fig-key-update"/> shows the interaction between a TLS 1.3 client
and server graphically. This section shows an example message exchange
where a client updates its sending keys.</t>
      <t>There are two phases:</t>
      <ol spacing="normal" type="1"><li>
          <t>The support for the functionality in this specification
is negotiated in the ClientHello and the EncryptedExtensions
messages.</t>
        </li>
        <li>
          <t>Once the initial handshake is completed, a key update can be
triggered.</t>
        </li>
      </ol>
      <t><xref target="fig-key-update2"/> provides an overview of the exchange starting
with the initial negotiation followed by the key update.</t>
      <figure anchor="fig-key-update2">
        <name>Extended Key Update Message Exchange.</name>
        <artwork><![CDATA[
       Client                                           Server

Key  ^ ClientHello
Exch | + key_share
     | + signature_algorithms
     v + extended_key_update
                             -------->
                                                  ServerHello  ^ Key
                                                  + key_share  | Exch
                                                               v
                                        {EncryptedExtensions   ^ Server
                                       + extended_key_update}  | Params
                                         {CertificateRequest}  v
                                                {Certificate}  ^
                                          {CertificateVerify}  | Auth
                                                   {Finished}  v
                               <--------
     ^ {Certificate}
Auth | {CertificateVerify}
     v {Finished}              -------->
                                  ...
                              some time later
                                  ...
 [ExtendedKeyUpdateRequest]    -------->
  (with KeyShare)
                               <-------- [ExtendedKeyUpdateResponse]
                                           (with KeyShare)
 [NewKeyUpdate]                -------->
                               <-------- [NewKeyUpdate]
]]></artwork>
      </figure>
    </section>
    <section anchor="dtls-13-considerations">
      <name>DTLS 1.3 Considerations</name>
      <t>Due to the possibility of a NewKeyUpdate message being lost and
thereby preventing the sender of the NewKeyUpdate message
from updating its keying material, receivers MUST retain the
pre-update keying material until receipt and successful decryption
of a message using the new keys.</t>
      <t>Due to loss and/or reordering, DTLS 1.3 implementations may receive a
record with an older epoch than the current one. They SHOULD attempt to
process those records with that epoch but MAY opt to discard
such out-of-epoch records.</t>
    </section>
    <section anchor="post-quantum-cryptogrphy-considerations">
      <name>Post-Quantum Cryptogrphy Considerations</name>
      <t>Hybrid key exchange refers to using multiple key exchange algorithms
simultaneously and combining the result with the goal of providing
security even if all but one of the component algorithms is broken.
The transition to post-quantum cryptography motivates the introduction
of hybrid key exchanges to TLS, as described in
<xref target="I-D.ietf-tls-hybrid-design"/>. When the hybrid key exchange is used,
then the key_exchange field of a KeyShareEntry in the initial exchange
is the concatenation of the key_exchange field for each of the algorithms.
The same approach is then re-used in the extended key update when
key shares are exchanged.</t>
    </section>
    <section anchor="sslkeylogfile-update">
      <name>SSLKEYLOGFILE update</name>
      <t>As Extended Key Update invalidates previous secrets, SSLKEYLOGFILE <xref target="I-D.ietf-tls-keylogfile"/> needs to
be populated with new entries. Each completed Extended Key Update results
in two additional secret labels in SSLKEYLOGFILE:</t>
      <ol spacing="normal" type="1"><li>
          <t><tt>CLIENT_TRAFFIC_SECRET_N+1</tt>: identified as client_application_traffic_secret_N+1 in the key schedule</t>
        </li>
        <li>
          <t><tt>SERVER_TRAFFIC_SECRET_N+1</tt>: identified as server_application_traffic_secret_N+1 in the key schedule</t>
        </li>
      </ol>
      <t>Similarly to other records in SSLKEYLOGFILE label is followed by 32-byte value
of the Random field from the ClientHello message that established the TLS
connection and corresponding secret encoded in hexadecimal.</t>
      <t>SSLKEYLOGFILE entries for Extended Key Update MUST NOT be produced if
SSLKEYLOGFILE was not used for other secrets in the handshake.</t>
      <t>Note that each successful Extended Key Update invalidates all previous SSLKEYLOGFILE secrets including
past iterations of <tt>CLIENT_TRAFFIC_SECRET_</tt> and <tt>SERVER_TRAFFIC_SECRET_</tt>.</t>
    </section>
    <section anchor="exporter">
      <name>Exporter</name>
      <t>Protocols like DTLS-SRTP and DTLS-over-SCTP utilize TLS or DTLS for key establishment but repurpose
some of the keying material for their own purpose. These protocols use the TLS exporter defined in
Section 7.5 of <xref target="I-D.ietf-tls-rfc8446bis"/>.</t>
      <t>Once the Extended Key Update mechanism is complete, such protocols would need to use the newly
derived key to generate Exported Keying Material (EKM) to protect packets. The "sk" derived in the
<xref target="key_update"/> will be used as the "Secret" in the exporter function, defined in
Section 7.5 of <xref target="I-D.ietf-tls-rfc8446bis"/>, to generate EKM, ensuring that the exported keying material is
aligned with the updated security context.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This entire document is about security.</t>
      <t>When utilizing this extension it is important to understand the interaction
with ticket-based resumption since resumption without the execution of
a Diffie-Hellman exchange offering forward secrecy will potentially undo
updates to the application traffic secret derivation, depending on when
tickets have been exchanged.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate value TBD for the "too_many_extendedkeyupdate_requested" alert
in the "TLS Alerts" registry. The value for the "DTLS-OK" column is "Y".</t>
      <t>IANA is requested to add the following entry to the "TLS Flags"
extension registry <xref target="TLS-Ext-Registry"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Value: TBD1</t>
        </li>
        <li>
          <t>Flag Name: extended_key_update</t>
        </li>
        <li>
          <t>Messages: CH, EE</t>
        </li>
        <li>
          <t>Recommended: Y</t>
        </li>
        <li>
          <t>Reference: [This document]</t>
        </li>
      </ul>
      <t>IANA is requested to add the following entry to the "TLS
HandshakeType" registry <xref target="TLS-Ext-Registry"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Value: TBD2</t>
        </li>
        <li>
          <t>Description: extended_key_update</t>
        </li>
        <li>
          <t>DTLS-OK: Y</t>
        </li>
        <li>
          <t>Reference: [This document]</t>
        </li>
        <li>
          <t>Comment:</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="I-D.ietf-tls-rfc8446bis">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <date day="14" month="September" year="2024"/>
            <abstract>
              <t>   This document specifies version 1.3 of the Transport Layer Security
   (TLS) protocol.  TLS allows client/server applications to communicate
   over the Internet in a way that is designed to prevent eavesdropping,
   tampering, and message forgery.

   This document updates RFCs 5705, 6066, 7627, and 8422 and obsoletes
   RFCs 5077, 5246, 6961, 8422, and 8446.  This document also specifies
   new requirements for TLS 1.2 implementations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8446bis-11"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="I-D.ietf-tls-tlsflags">
          <front>
            <title>A Flags Extension for TLS 1.3</title>
            <author fullname="Yoav Nir" initials="Y." surname="Nir">
              <organization>Dell Technologies</organization>
            </author>
            <date day="13" month="September" year="2024"/>
            <abstract>
              <t>   A number of extensions are proposed in the TLS working group that
   carry no interesting information except the 1-bit indication that a
   certain optional feature is supported.  Such extensions take 4 octets
   each.  This document defines a flags extension that can provide such
   indications at an average marginal cost of 1 bit each.  More
   precisely, it provides as many flag extensions as needed at 4 + the
   order of the last set bit divided by 8.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-tlsflags-14"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9325">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
        <reference anchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="RFC7624">
          <front>
            <title>Confidentiality in the Face of Pervasive Surveillance: A Threat Model and Problem Statement</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="B. Schneier" initials="B." surname="Schneier"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <author fullname="T. Hardie" initials="T." surname="Hardie"/>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="D. Borkmann" initials="D." surname="Borkmann"/>
            <date month="August" year="2015"/>
            <abstract>
              <t>Since the initial revelations of pervasive surveillance in 2013, several classes of attacks on Internet communications have been discovered. In this document, we develop a threat model that describes these attacks on Internet confidentiality. We assume an attacker that is interested in undetected, indiscriminate eavesdropping. The threat model is based on published, verified attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7624"/>
          <seriesInfo name="DOI" value="10.17487/RFC7624"/>
        </reference>
        <reference anchor="I-D.ietf-tls-hybrid-design">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa</organization>
            </author>
            <date day="7" month="October" year="2024"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if all but one of the component algorithms is broken.
   It is motivated by transition to post-quantum cryptography.  This
   document provides a construction for hybrid key exchange in the
   Transport Layer Security (TLS) protocol version 1.3.

   Discussion of this work is encouraged to happen on the TLS IETF
   mailing list tls@ietf.org or on the GitHub repository which contains
   the draft: https://github.com/dstebila/draft-ietf-tls-hybrid-design.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-11"/>
        </reference>
        <reference anchor="I-D.ietf-tls-keylogfile">
          <front>
            <title>The SSLKEYLOGFILE Format for TLS</title>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <date day="29" month="April" year="2024"/>
            <abstract>
              <t>   A format that supports the logging information about the secrets used
   in a TLS connection is described.  Recording secrets to a file in
   SSLKEYLOGFILE format allows diagnostic and logging tools that use
   this file to decrypt messages exchanged by TLS endpoints.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-keylogfile-02"/>
        </reference>
        <reference anchor="ANSSI-DAT-NT-003" target="https://www.ssi.gouv.fr/uploads/2015/09/NT_IPsec_EN.pdf">
          <front>
            <title>Recommendations for securing networks with IPsec, Technical Report</title>
            <author>
              <organization>ANSSI</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
        </reference>
        <reference anchor="TLS-Ext-Registry" target="https://www.iana.org/assignments/tls-extensiontype-values">
          <front>
            <title>Transport Layer Security (TLS) Extensions</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="CDM23" target="https://eprint.iacr.org/2023/1933.pdf">
          <front>
            <title>Keeping Up with the KEMs: Stronger Security Notions for KEMs and automated analysis of KEM-based protocols</title>
            <author>
              <organization>ACM</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 553?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank the members of the "TSVWG DTLS for SCTP
Requirements Design Team" for their discussion. The members, in
no particular order, were:</t>
      <ul spacing="normal">
        <li>
          <t>Marcelo Ricardo Leitner</t>
        </li>
        <li>
          <t>Zaheduzzaman Sarker</t>
        </li>
        <li>
          <t>Magnus Westerlund</t>
        </li>
        <li>
          <t>John Mattsson</t>
        </li>
        <li>
          <t>Claudio Porfiri</t>
        </li>
        <li>
          <t>Xin Long</t>
        </li>
        <li>
          <t>Michael Tüxen</t>
        </li>
        <li>
          <t>Hannes Tschofenig</t>
        </li>
        <li>
          <t>K Tirumaleswar Reddy</t>
        </li>
        <li>
          <t>Bertrand Rault</t>
        </li>
      </ul>
      <t>Additionally, we would like to thank the chairs of the
Transport and Services Working Group (tsvwg) Gorry Fairhurst and
Marten Seemann as well as the responsible area director Martin Duke.</t>
      <t>Finally, we would like to thank Martin Thomson, Ilari Liusvaara,
Benjamin Kaduk, Scott Fluhrer, Dennis Jackson, David Benjamin,
and Thom Wiggers for their review comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
k2pcAAA=

-->

</rfc>
