<?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.3.3) -->
<?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-03" 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-03"/>
    <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="21"/>
    <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>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Transport Layer Security Working Group mailing list (tls@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/hannestschofenig/tls-key-update"/>.</t>
    </note>
  </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 "extended_key_update_required" 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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

-->

</rfc>
