<?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-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.1 -->
  <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-00"/>
    <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="September" day="24"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 82?>

<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 101?>

<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
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, NIST,
BSI, and 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 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>
      <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;

struct {
  KeyShareEntry key_share;
} ExtendedKeyUpdateResponse;

struct {
} NewKeyUpdate;
]]></artwork>
      <t>key_exchange:  Key exchange 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>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. 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. This message contains the
key share of the responder. 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, 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 discarded by the TLS peers. This approach prevents
each side incrementing keys by two generations.</t>
      <t>Endpoints MAY handle an excessive number of ExtendedKeyUpdateRequest messages by
terminating the connection using a "too_many_extendedkeyupdate_requested" alert (alert number TBD).</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="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="5" month="April" 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-10"/>
        </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 485?>

<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>
