<?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.11 (Ruby 3.2.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tsvwg-dtls-over-sctp-bis-08" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="DTLS over SCTP">Datagram Transport Layer Security (DTLS) over Stream Control Transmission Protocol (SCTP)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-dtls-over-sctp-bis-08"/>
    <author initials="M." surname="Westerlund" fullname="Magnus Westerlund">
      <organization>Ericsson</organization>
      <address>
        <email>magnus.westerlund@ericsson.com</email>
      </address>
    </author>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="C." surname="Porfiri" fullname="Claudio Porfiri">
      <organization>Ericsson</organization>
      <address>
        <email>claudio.porfiri@ericsson.com</email>
      </address>
    </author>
    <date year="2024" month="May" day="03"/>
    <area>Transport</area>
    <workgroup>TSVWG</workgroup>
    <abstract>
      <?line 100?>

<t>This document describes the usage of the Datagram Transport Layer
   Security (DTLS) protocol to protect user messages sent over the
   Stream Control Transmission Protocol (SCTP). It is an improved
   alternative to the existing RFC 6083.</t>
      <t>DTLS over SCTP provides mutual authentication, confidentiality,
   integrity protection, and partial replay protection for applications
   that use SCTP as their transport protocol and allows client/server
   applications to communicate in a way that is designed to give
   communications privacy and to prevent eavesdropping and detect
   tampering or message forgery.</t>
      <t>Applications using DTLS over SCTP can use almost all transport
   features provided by SCTP and its extensions. This document is an
   improved alternative to RFC 6083 and removes the 16 kbytes limitation
   on protected user message size by defining a secure user message
   fragmentation so that multiple DTLS records can be used to protect
   a single user message. It further contains a large number of
   security fixes and improvements. It updates the DTLS versions and
   SCTP-AUTH HMAC algorithms to use. It mitigates reflection attacks
   of data and control chunks and replay attacks of data chunks.  It
   simplifies secure implementation by some stricter requirements on
   the establishment procedures as well as rekeying to align with zero
   trust principles.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-tsvwg-dtls-over-sctp-bis/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Area Working Group (tsvwg) Working Group mailing list (<eref target="mailto:tsvwg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tsvwg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tsvwg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/gloinul/draft-westerlund-tsvwg-dtls-over-sctp-bis"/>.</t>
    </note>
  </front>
  <middle>
    <?line 127?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>This document describes the usage of the Datagram Transport Layer
   Security (DTLS) protocol, as defined in DTLS 1.2 <xref target="RFC6347"/>, and
   DTLS 1.3 <xref target="RFC9147"/>, over the Stream Control Transmission Protocol
   (SCTP), as defined in <xref target="RFC9260"/> combined with Authenticated
   Chunks for SCTP (SCTP-AUTH) <xref target="RFC4895"/>.</t>
        <t>Once the SCTP-AUTH assumptions are fulfilled (see <xref target="Assumptions"/>),
   this specification provides mutual authentication of endpoints,
   data confidentiality, data origin authentication, data integrity
   protection, and a certain level of data replay protection of user
   messages for applications that use SCTP as their transport protocol
   (see in this regard what stated in <xref target="replay_issues"/>). Thus, it
   allows client/server applications to communicate in a way that is
   designed to give communications privacy and to prevent
   eavesdropping and detect tampering or message forgery. DTLS/SCTP
   uses DTLS for mutual authentication, key exchange with forward
   secrecy for SCTP-AUTH, and confidentiality of user
   messages. DTLS/SCTP use SCTP and SCTP-AUTH for integrity protection
   and partial replay protection of all SCTP Chunks that can be
   authenticated, including user messages.</t>
        <t>Applications using DTLS over SCTP can use almost all transport
   features provided by SCTP and its extensions. DTLS/SCTP supports:</t>
        <ul spacing="normal">
          <li>
            <t>preservation of message boundaries.</t>
          </li>
          <li>
            <t>a large number of unidirectional and bidirectional streams.</t>
          </li>
          <li>
            <t>ordered and unordered delivery of SCTP user messages.</t>
          </li>
          <li>
            <t>the partial reliability extension as defined in <xref target="RFC3758"/>.</t>
          </li>
          <li>
            <t>the dynamic address reconfiguration extension as defined in
 <xref target="RFC5061"/>.</t>
          </li>
          <li>
            <t>User messages of any size.</t>
          </li>
        </ul>
        <t>The method described in this document requires that the SCTP
   implementation supports the optional feature of fragmentation of
   SCTP user messages as defined in <xref target="RFC9260"/>. The implementation is
   required to have an SCTP API (for example the one described in
   <xref target="RFC6458"/>) that supports partial user message delivery and also
   recommended that I-DATA chunks as defined in <xref target="RFC8260"/> is used to
   efficiently implement and support larger user messages.</t>
        <t>To simplify implementation and reduce the risk for security holes,
   limitations have been defined such that STARTTLS as specified in
   <xref target="RFC3788"/> is no longer supported.</t>
      </section>
      <section anchor="Assumptions">
        <name>SCTP-AUTH Assumptions</name>
        <t>In this document it is assumed that SCTP-AUTH is provided with
periodic rekeying by periodic usage the mechanism for DTLS rekeying
and re-authentication defined in this document.  It is also assumed
that SCTP-AUTH specification <xref target="RFC4895"/> has been updated to address
most of the known issues.</t>
        <t>SCTP-AUTH as defined by RFC4895 has been identified as weak in the
following parts:</t>
        <ol spacing="normal" type="1"><li>
            <t>Reflection of authenticated data chunks</t>
          </li>
          <li>
            <t>Replay of authenticated data chunks</t>
          </li>
          <li>
            <t>Single key used with different HMAC algorithms</t>
          </li>
          <li>
            <t>Reflection of authenticated control chunks</t>
          </li>
          <li>
            <t>Replay of authenticated control chunks</t>
          </li>
        </ol>
        <t>We are expecting the SCTP-AUTH update to fully address issue 1, 3 and
4. Issue 2 will be partially addressed in this specification through
periodic rekeying to prevent replay to inject data and affect
availability, but that is based on SCTP implementation correctly
handling replayed or duplicated packets. SCTP-AUTH issues mitigated
and having a periodic rekeying is a condicio sine qua non
(indispensable condition) for this document to provide a working
solution.</t>
      </section>
      <section anchor="protocol-overview">
        <name>Protocol Overview</name>
        <t>The DTLS/SCTP protection is defined as an SCTP adaptation layer
<xref target="RFC5061"/> that is implemented on top of an SCTP API for an SCTP
implementation with SCTP-AUTH <xref target="RFC4895"/> support. DTLS/SCTP is
expected to provide an SCTP like API towards the upper layer protocol
with some additions for controlling the DTLS/SCTP security parameters
and policies. This minimizes the impact on the SCTP implementation and
wire image.</t>
        <figure anchor="dtls-sctp-layering">
          <name>DTLS/SCTP layering in regard to SCTP and upper layer protocol</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="464" viewBox="0 0 464 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,256" fill="none" stroke="black"/>
                <path d="M 184,32 L 184,256" fill="none" stroke="black"/>
                <path d="M 272,128 L 272,160" fill="none" stroke="black"/>
                <path d="M 328,128 L 328,160" fill="none" stroke="black"/>
                <path d="M 8,32 L 184,32" fill="none" stroke="black"/>
                <path d="M 8,96 L 184,96" fill="none" stroke="black"/>
                <path d="M 272,128 L 328,128" fill="none" stroke="black"/>
                <path d="M 184,144 L 264,144" fill="none" stroke="black"/>
                <path d="M 272,160 L 328,160" fill="none" stroke="black"/>
                <path d="M 8,192 L 184,192" fill="none" stroke="black"/>
                <path d="M 8,256 L 184,256" fill="none" stroke="black"/>
                <g class="text">
                  <text x="96" y="68">ULP</text>
                  <text x="204" y="100">&lt;-</text>
                  <text x="236" y="100">SCTP</text>
                  <text x="272" y="100">API</text>
                  <text x="296" y="100">+</text>
                  <text x="340" y="100">Security</text>
                  <text x="420" y="100">Parameters</text>
                  <text x="56" y="132">DTLS/SCTP</text>
                  <text x="60" y="148">Adaptation</text>
                  <text x="300" y="148">DTLS</text>
                  <text x="40" y="164">Layer</text>
                  <text x="204" y="196">&lt;-</text>
                  <text x="236" y="196">SCTP</text>
                  <text x="272" y="196">API</text>
                  <text x="296" y="196">+</text>
                  <text x="344" y="196">SCTP-AUTH</text>
                  <text x="400" y="196">API</text>
                  <text x="44" y="228">SCTP</text>
                  <text x="72" y="228">+</text>
                  <text x="120" y="228">SCTP-AUTH</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+---------------------+
|                     |
|         ULP         |
|                     |
+---------------------+ <- SCTP API + Security Parameters
|                     |
| DTLS/SCTP           |          +------+
| Adaptation          +----------| DTLS |
| Layer               |          +------+
|                     |
+---------------------+ <- SCTP API + SCTP-AUTH API
|                     |
|  SCTP + SCTP-AUTH   |
|                     |
+---------------------+

]]></artwork>
          </artset>
        </figure>
        <t>DTLS/SCTP performs protection operations on ULP data as it is provided
to DTLS/SCTP, as whole or a part of a SCTP user messages to be
transported to the peer. DTLS/SCTP uses the regular SCTP multiplexing
mechanisms for data using streams and individual user messages. The
protection operation for a ULP user message larger than the maximum
DTLS record size is performed by first splitting the user message into
suitable fragments that fit into individual DTLS records. Each
fragment is encrypted and provided with authentication tag by DTLS.</t>
        <artwork><![CDATA[
   m0 | m1 | m2 | ... = user_message

  user_message' = DTLS( m0 ) | DTLS( m1 ) | DTLS( m2 ) ...
]]></artwork>
        <t>The sequence of protected user message fragments (user_message') are
then transmitted as a SCTP user message. SCTP-AUTH provides
authentication of the SCTP packets and prevents injection of data or
reordering of DTLS fragments thus ensuring that each protected user
message can be de-protected in the receiver in order and
reassembled. Partial transmission and delivery of user messages are
supported on a per fragment basis.</t>
        <t>SCTP's capability for multi-stream concurrent transmission of
different SCTP user messages, where each SCTP user message can
potentially be very large, results in some challenges for any change
of the keys used to protect the ULP data. SCTP-AUTH API, defined in
<xref target="RFC6458"/>, provides additional limitations that needs to be
considered when supported. These issues and the related limitations
will be discussed more in details below.</t>
        <t>RFC6083 dealt with the above limitations by requiring that the peers
drained all outstanding data before updating the key to prevent
issues. This can have significant impact on a ULP that requires timely
and frequent exchange of user messages. This specification uses
another solution to these problems assuming a sufficient capable SCTP
and SCTP-AUTH implementations and with rich enough APIs.</t>
        <t>The solution that ensures the current keying material will not be
prematurely discarded on renegotiation or key update, is based on not
using these mechanisms and instead establishing a second DTLS
connection over the SCTP association. This creates a parallel DTLS
connections, where the DTLS connection ID feature is used to identify
the originating DTLS connection for each DTLS record or message. When
a new DTLS connection has been established and its keying material is
made available, the sender starts using it to protect the ULP
data. When all protected user message fragments protected by the old
key have been delivered in a non-renegable way then the old DTLS
connection can be terminated and the associated keying material
discarded.</t>
      </section>
      <section anchor="buffering">
        <name>DTLS/SCTP Buffering and Flow Control</name>
        <t>With DTLS/SCTP as a layer above SCTP stacks on both sender and
   receiver side some consideration is needed for buffering and
   resource contention, and how back pressure is applied in cases the
   receiving application is not keeping up with the sender. The ULP
   may use multiple user messages simultaneous, and the progress and
   delivery of these messages are progressing independently, thus the
   receiving DTLS/SCTP implementation may not receive DTLS records in
   order in case of packet loss.</t>
        <t>On the sender side the DTLS/SCTP layer will need to accept data
   from the ULP of at least one maximum DTLS record size. The maximum
   DTLS record size is 2<sup>14</sup> bytes per default or a lower
   negotiated value using the DTLS extension defined in
   <xref target="RFC8449"/>. The user message fragment is then protected by DTLS
   and assumed to immediately after be dispatched for transmission by
   SCTP.</t>
        <t>As SCTP schedules the DTLS record for transmission as SCTP packets
   it will become part of the data tracked by the send/receive buffer
   in the SCTP stacks. The maximum receiver buffer size is negotiated
   and provides an upper limit of how much outstanding data can exist
   on the SCTP layer. For example, if an DTLS record part of user
   message N experience repeated packet losses, it may not be
   delivered, despite several later user messages fragments has been
   delivered.</t>
        <t>Next, we assume that the receiver side DTLS/SCTP will read partial
   user messages from the SCTP receiver stack as they become available
   unless it can't keep up or has run out of intermediate buffer space
   for reassembly of the DTLS records in each user message. Thus, in
   case the receiver falls behind it will eventually block the
   receiver buffer by not consuming data from it and thus creating
   back pressure towards the sender. But, at any time it is assumed
   that the receiver side DTLS/SCTP layer will not buffer multiple
   DTLS records, and instead process each as soon as
   possible. Buffering multiple DTLS records prior to DTLS decryption
   would increase the total number of DTLS records in flight, counted
   between DTLS encryption and decryption, and thus risk overlapping
   DTLS sequence numbers.</t>
        <t>To avoid overlapping sequence number the DTLS sender should first
   of all use 16-bit sequence number to enable a larger
   space. Secondly, it should track which DTLS records has been
   non-renegable ACKed by the receiver and always maintain a certain
   safety buffer in number of DTLS records. Thirdly, the
   implementation needs to attempt to minimize usage of buffers that
   exist after the DTLS encryption until the DTLS Decryption in its
   sender and receiver implementation.</t>
      </section>
      <section anchor="comparison-with-tls-over-sctp">
        <name>Comparison with TLS over SCTP</name>
        <t>TLS, from which DTLS was derived, is designed to run on top of a
   byte-stream-oriented transport protocol providing a reliable, in-
   sequence delivery. TLS over SCTP as described in <xref target="RFC3436"/> has
   some serious limitations:</t>
        <ul spacing="normal">
          <li>
            <t>It does not support the unordered delivery of SCTP user messages.</t>
          </li>
          <li>
            <t>It does not support partial reliability as defined in
<xref target="RFC3758"/>.</t>
          </li>
          <li>
            <t>It only supports the usage of the same number of streams in both
 directions.</t>
          </li>
          <li>
            <t>It uses a TLS connection for every bidirectional stream, which
 requires a substantial amount of resources and message exchanges
 if a large number of streams is used.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-from-rfc-6083">
        <name>Changes from RFC 6083</name>
        <t>The DTLS over SCTP solution defined in RFC 6083 had the following
   limitations:</t>
        <ul spacing="normal">
          <li>
            <t>The maximum user message size is 2<sup>14</sup> (16384) bytes,
 which is a single DTLS record limit.</t>
          </li>
          <li>
            <t>DTLS 1.0 has been deprecated for RFC 6083 requiring at least DTLS
1.2 <xref target="RFC8996"/>. This creates additional limitations as discussed
in <xref target="DTLS-version"/>.</t>
          </li>
          <li>
            <t>DTLS messages that don't contain protected user message data
where limited to only be sent on Stream 0, which could
potentially impact applications.</t>
          </li>
          <li>
            <t>An on-path attacker can reflect the authenticated part of a SCTP
packet back to the sender as well as replaying data and control
chunks.</t>
          </li>
        </ul>
        <t>This specification defines the following changes compared with RFC
   6083:</t>
        <ul spacing="normal">
          <li>
            <t>Removes the limitations on user messages sizes by defining a secure
fragmentation mechanism. It is optional to support message sizes
over 2<sup>64</sup>-1 bytes.</t>
          </li>
          <li>
            <t>Update DTLS key material without requiring draining all in-flight
user message from SCTP.</t>
          </li>
          <li>
            <t>Mandates that more modern DTLS version are used (DTLS 1.2 or
1.3)</t>
          </li>
          <li>
            <t>Mandates support of stronger HMAC algorithm (SHA-256) in the SCTP
authentication extension <xref target="RFC4895"/>.</t>
          </li>
          <li>
            <t>Recommends support of <xref target="RFC8260"/> to enable interleaving of large
SCTP user messages to avoid scheduling issues.</t>
          </li>
          <li>
            <t>Applies stricter requirements on always using DTLS for all user
messages in the SCTP association.</t>
          </li>
          <li>
            <t>Requires that SCTP-AUTH is applied to all SCTP Chunks that can be
authenticated.</t>
          </li>
          <li>
            <t>Requires support of partial delivery of user messages.</t>
          </li>
          <li>
            <t>Requires an updates SCTP-AUTH specification to mitigate packet
reflection attacks that can impact the SCTP association
availability.</t>
          </li>
          <li>
            <t>Mandates SCTP-AUTH rekeying before the TSN cycles back to the
Initial TSN to mitigate replay of data chunks.</t>
          </li>
        </ul>
      </section>
      <section anchor="DTLS-version">
        <name>DTLS Version</name>
        <t>Using DTLS 1.2 instead of using DTLS 1.0 limits the lifetime of a
   DTLS connection and the data volume which can be transferred over a
   DTLS connection.  This is caused by:</t>
        <ul spacing="normal">
          <li>
            <t>The number of renegotiations in DTLS 1.2 is limited to 65534
compared to unlimited in DTLS 1.0.</t>
          </li>
          <li>
            <t>While the AEAD limits in DTLS 1.3 does not formally apply to DTLS
1.2 the mathematical limits apply equally well to DTLS 1.2.</t>
          </li>
        </ul>
        <t>DTLS 1.3 comes with a large number of significant changes.</t>
        <ul spacing="normal">
          <li>
            <t>Renegotiations are not supported and instead partly replaced by
 key updates. The number of key updates is limited to
 2<sup>48</sup>.</t>
          </li>
          <li>
            <t>Strict AEAD significantly limits on how many DTLS records can be
 sent before rekeying.</t>
          </li>
        </ul>
        <t>Many applications using DTLS/SCTP are of semi-permanent nature.
   Semi-permanent term comes from telecom and referres to connections
   that start at a certain time and are rarely closed.
   Semi-permanent connections use SCTP associations with expected
   lifetimes of months or even years where there is a significant
   cost for bringing them down in order to restart it.
   Such DTLS/SCTP usages that need:</t>
        <ul spacing="normal">
          <li>
            <t>Periodic re-authentication and transfer of revocation information
of both endpoints (not only the DTLS client).</t>
          </li>
          <li>
            <t>Periodic rerunning of Diffie-Hellman Key Exchange to provide
forward secrecy and mitigate static key exfiltration attacks.</t>
          </li>
          <li>
            <t>Perform SCTP-AUTH rekeying.</t>
          </li>
        </ul>
        <t>At the time of publication, DTLS 1.3 does not support any of these,
   where DTLS 1.2 renegotiation functionality can provide these
   functionality in the context of DTLS/SCTP. To address these
   requirements from semi-permanent applications, this document uses
   several overlapping DTLS connections with either DTLS 1.2 or
   1.3. Having uniform procedures reduces the impact when upgrading
   from DTLS 1.2 to DTLS 1.3 and avoids using the renegotiation
   mechanism which is disabled by default in many DTLS
   implementations.</t>
        <t>To address known vulnerabilities in DTLS 1.2 this document
   describes and mandates implementation constraints on ciphers and
   protocol options. The DTLS 1.2 renegotiation mechanism is forbidden
   to be used as it creates the need for additional mechanism to handle
   race conditions and interactions between using DTLS connections in
   parallel.</t>
        <t>Secure negotiation of the DTLS version is handled by the DTLS
   handshake. If the endpoints do not support a common DTLS version
   the DTLS handshake will be aborted.</t>
        <t>In the rest of the document, unless the version of DTLS is
   specifically called out, the text applies to both versions of DTLS.</t>
        <t>DTLS/SCTP requires the maximum DTLS record size to be known, and
   not being changed during the lifetime of the Association.</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document uses the following terms:</t>
        <dl>
          <dt>Association:</dt>
          <dd>
            <t>An SCTP association.</t>
          </dd>
          <dt>Connection:</dt>
          <dd>
            <t>A DTLS connection. It is uniquely identified by a
   connection identifier.</t>
          </dd>
          <dt>Stream:</dt>
          <dd>
            <t>A unidirectional stream of an SCTP association.  It is
   uniquely identified by a stream identifier.</t>
          </dd>
        </dl>
      </section>
      <section anchor="abbreviations">
        <name>Abbreviations</name>
        <dl>
          <dt>AEAD:</dt>
          <dd>
            <t>Authenticated Encryption with Associated Data</t>
          </dd>
          <dt>DTLS:</dt>
          <dd>
            <t>Datagram Transport Layer Security</t>
          </dd>
          <dt>HMAC:</dt>
          <dd>
            <t>Keyed-Hash Message Authentication Code</t>
          </dd>
          <dt>MTU:</dt>
          <dd>
            <t>Maximum Transmission Unit</t>
          </dd>
          <dt>PPID:</dt>
          <dd>
            <t>Payload Protocol Identifier</t>
          </dd>
          <dt>SCTP:</dt>
          <dd>
            <t>Stream Control Transmission Protocol</t>
          </dd>
          <dt>SCTP-AUTH:</dt>
          <dd>
            <t>Authenticated Chunks for SCTP <xref target="RFC4895"/></t>
          </dd>
          <dt>TCP:</dt>
          <dd>
            <t>Transmission Control Protocol</t>
          </dd>
          <dt>TLS:</dt>
          <dd>
            <t>Transport Layer Security</t>
          </dd>
          <dt>ULP:</dt>
          <dd>
            <t>Upper Layer Protocol</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all
   capitals, as shown here.</t>
    </section>
    <section anchor="dtls-considerations">
      <name>DTLS Considerations</name>
      <section anchor="version-of-dtls">
        <name>Version of DTLS</name>
        <t>This document defines the usage of either DTLS 1.3 <xref target="RFC9147"/>, or
   DTLS 1.2 <xref target="RFC6347"/>.  Earlier versions of DTLS MUST NOT be used
   (see <xref target="RFC8996"/>).  DTLS 1.3 is RECOMMENDED for security and
   performance reasons.  It is expected that DTLS/SCTP as described in
   this document will work with future versions of DTLS.</t>
        <t>Only one version of DTLS MUST be used during the lifetime of an
   SCTP Association, meaning that the procedure for replacing the DTLS
   version in use requires the existing SCTP Association to be
   terminated and a new SCTP Association with the desired DTLS version
   to be instantiated.</t>
      </section>
      <section anchor="cipher-suites-and-cryptographic-parameters">
        <name>Cipher Suites and Cryptographic Parameters</name>
        <t>For DTLS 1.2, the cipher suites forbidden by <xref target="RFC9113"/> MUST NOT
   be used. For all versions of DTLS, cryptographic parameters giving
   confidentiality and forward secrecy MUST be used.</t>
        <t>There are potential for aligning used hash algorithms between
   SCTP-AUTH and the DTLS cipher suit. If the otherwise considered to
   be used SCTP-AUTH hash algorithms and DTLS Cipher suits have
   matching hashing algorithms it is RECOMMENDED to indicate a
   preference for such algorithms. Note, however as the SCTP-AUTH
   hashing algorithm is chosen during SCTP association handshake it
   can't be changed once it is known what is supported in DTLS by the
   peer endpoint.</t>
      </section>
      <section anchor="authentication">
        <name>Authentication</name>
        <t>The DTLS handshakes MUST use mutual authentication.</t>
      </section>
      <section anchor="renegotiation-and-key-update">
        <name>Renegotiation and Key Update</name>
        <t>DTLS 1.2 renegotiation enables rekeying (with ephemeral Diffie-
   Hellman) of DTLS as well as mutual reauthentication and transfer of
   revocation information inside an DTLS 1.2 connection. Renegotiation
   has been removed from DTLS 1.3 and partly replaced with
   post-handshake mechanism for key update. The parallel DTLS
   connection solution was specified due to lack of necessary features
   with DTLS 1.3 considered needed for long lived SCTP associations,
   such as rekeying (with ephemeral Diffie-Hellman) as well as mutual
   reauthentication.</t>
        <t>This specification does not allow usage of DTLS 1.2 renegotiation to
   avoid race conditions and corner cases in the interaction between
   the parallel DTLS connection mechanism and the keying of
   SCTP-AUTH. In addition, renegotiation is also disabled in some
   implementations, as well as dealing with the epoch change reliable
   have similar or worse application impact.</t>
        <t>This specification also forbids against using DTLS 1.3 key update
   and instead rely on parallel DTLS connections. For DTLS 1.3 there
   isn't feature parity. It also has the issue that a DTLS
   implementation following the RFC may assume a too limited window
   for SCTP where the previous epoch's security context is maintained
   and thus, changes to epoch handling would be necessary.</t>
        <t>A DTLS 1.2 endpoint MUST NOT use renegotiation and a DTLS 1.3
   endpoint MUST NOT send any KeyUpdate message. The endpoint MUST
   instead initiate a new DTLS connection before the old one reaches
   the used cipher suit's key lifetime. The AEAD limits given in
   section 4.5.3 of <xref target="RFC9147"/> SHOULD be followed.</t>
      </section>
      <section anchor="dtls-connection-identifier">
        <name>DTLS Connection Identifier</name>
        <t>The DTLS Connection ID MUST be negotiated, according to <xref target="RFC9146"/>
   for DTLS 1.2, and Section 9 of <xref target="RFC9147"/> for DTLS 1.3.</t>
        <t>Section 4 of <xref target="RFC9146"/> states "If, however, an implementation
   chooses to receive different lengths of CID, the assigned CID
   values must be self-delineating since there is no other mechanism
   available to determine what connection (and thus, what CID length)
   is in use.". As this solution requires multiple connection IDs,
   using a zero-length CID will be highly problematic as it could
   result in that any DTLS records with a zero length CID ends up in
   another DTLS connection context, and there fail the decryption and
   integrity verification. And in that case to avoid losing the DTLS
   record, it would have to be forwarded to another zero-length CID
   using DTLS Connection, where decryption and validation must be
   tried, resulting in higher resource utilization. Thus, it is
   REQUIRED to use non-zero length CID values, and RECOMMENDED to use
   a single common length for the CID values. A single byte should be
   sufficient, as reuse of old CIDs is possible as long as the
   implementation ensures that they are not used in near time to the
   previous usage.</t>
      </section>
      <section anchor="dtls-sequence-number-size">
        <name>DTLS Sequence number size</name>
        <t>16-bit sequence number SHOULD be used rather than 8-bit to avoid
   limitations in number of inflight DTLS records. Overlapping
   sequence number due to wrapping of the sequence number MUST be
   prevented as it otherwise can lead to decryption failure that
   result in failure of the transport service. See
   <xref target="Prevent-DTLS-Seq-wraps"/> for how to prevent sequence number
   wraps.</t>
      </section>
      <section anchor="Msg-size">
        <name>Message Sizes</name>
        <t>If DTLS 1.3 is used, the length field in the record layer MUST
   be included in all records.</t>
        <t>DTLS/SCTP, automatically fragments and reassembles user
   messages. This specification defines how to fragment the user
   messages into DTLS records, where each DTLS record allows a maximum
   of 2<sup>14</sup> protected bytes. It is mandated that DTLS
   supports the maximum record size of 2<sup>14</sup> bytes.
   DTLS/SCTP MAY exploit maximum DTLS record size less than
   2<sup>14</sup> bytes due to implementation choice, in such case
   maximum record size MUST be negotiated according to
   <xref target="RFC8449"/>. The negotiated value MUST be known to DTLS/SCTP and
   SHALL NOT be changed during the SCTP Association lifetime.</t>
        <t>The sequence of DTLS records is then fragmented into DATA or I-DATA
   Chunks to fit the path MTU by SCTP. These changes ensure that
   DTLS/SCTP has the same capability as SCTP to support user messages
   of any size. However, to simplify implementations it is OPTIONAL to
   support user messages larger than 2<sup>64</sup>-1 bytes. This is
   to allow implementation to assume that 64-bit length fields and
   offset pointers will be sufficient.</t>
        <t>The security operations and reassembly process requires that the
   protected user message, i.e., with DTLS record overhead, is stored
   in the receiver's buffer. This buffer space will thus put a limit
   on the largest size of plain text user message that can be
   transferred securely. However, by mandating the use of the partial
   delivery of user messages from SCTP and assuming that no two
   messages received on the same stream are interleaved (as it is the
   case when using the API defined in <xref target="RFC6458"/>) the minimally
   required buffering prior to DTLS processing is a single DTLS record
   per used incoming stream. This enables the DTLS/SCTP implementation
   to provide the Upper Layer Protocol (ULP) with each DTLS record's
   content, when it has been decrypted and its integrity been
   verified, enabling partial user message delivery to the ULP.
   However, for efficient operation and avoiding flow control stalls
   if user message fragments are not frequently and expediently moved
   to upper layer memory buffers, the receiver buffer needs to be
   larger.</t>
        <t>Implementations can trade-off buffer memory requirements in the
   DTLS layer with transport overhead by using smaller DTLS records,
   in this case the record size limit extension for DTLS according to
   <xref target="RFC8449"/> MUST be used and the negotiated record size SHALL be
   communicated to DTLS/SCTP.  The maximum record size SHALL be the
   same during the lifetime of the Association, i.e., renegotiated to
   the same value in all subsequent DTLS connections.</t>
        <t>The DTLS/SCTP implementation is expected to behave very similar to
   just SCTP when it comes to handling of user messages and dealing
   with large user messages and their reassembly and
   processing. Making it the ULP responsible for handling any resource
   contention related to large user messages.</t>
      </section>
      <section anchor="replay_protection">
        <name>Replay Protection</name>
        <t>SCTP-AUTH <xref target="RFC4895"/> does not have explicit replay
   protection. However, the combination of SCTP-AUTH's protection of
   DATA or I-DATA chunks and SCTP user message handling will prevent
   third party attempts to inject or replay SCTP data chunks as long as
   the Transmission Sequence Numbers (TSNs) are unique. In fact, this
   document's solution is dependent on SCTP-AUTH and SCTP to prevent
   reordering, duplication, and removal of the DTLS records within
   each protected user message.  This includes detection of changes to
   what DTLS records start and end the SCTP user message, and removal of
   DTLS records before an increment to the epoch.  Without SCTP-AUTH,
   these would all have required explicit handling.</t>
        <t>To prevent replay of DATA or I-DATA chunks resulting in impact on
   the received protected user message, the SCTP-AUTH key MUST be
   retired before it has been used with more than 2<sup>32</sup> TSNs.
   Implementations MUST therefore setup a new parallel DTLS connection
   to rekey well before 2<sup>32</sup> TSNs have been used with a
   SCTP-AUTH key.</t>
        <t>DTLS/SCTP does not provide replay protection for authenticated
   control chunks such as ERROR, RE-CONFIG <xref target="RFC6525"/>, or SACK. An
   on-path attacker can replay control chunks as long as the receiving
   endpoint still has the endpoint pair shared secret. Such replay
   could disrupt the SCTP association and could therefore be a
   denial-of-service attack.</t>
        <t>DTLS optionally supports record replay detection. Such replay
   detection could result in the DTLS layer dropping valid messages
   received outside of the DTLS replay window. As DTLS/SCTP provides
   the necessary replay protection even without DTLS replay
   protection, the replay detection of DTLS MUST NOT be used.</t>
      </section>
      <section anchor="path-mtu-discovery">
        <name>Path MTU Discovery</name>
        <t>DTLS Path MTU Discovery MUST NOT be used.  Since SCTP provides Path
   MTU discovery and fragmentation/reassembly for user messages as
   specified in <xref target="Msg-size"/>, DTLS can send maximum sized DTLS
   Records.</t>
      </section>
      <section anchor="retransmission-of-messages">
        <name>Retransmission of Messages</name>
        <t>SCTP provides a reliable and in-sequence transport service for DTLS
   messages that require it.  See <xref target="Stream-Usage"/>.  Therefore, DTLS
   procedures for retransmissions MUST NOT be used.</t>
      </section>
    </section>
    <section anchor="sctp-considerations">
      <name>SCTP Considerations</name>
      <section anchor="Mapping-DTLS">
        <name>Mapping of DTLS Records</name>
        <t>The SCTP implementation MUST support fragmentation of user messages
   using DATA <xref target="RFC9260"/>, and optionally I-DATA <xref target="RFC8260"/> chunks.</t>
        <t>DTLS/SCTP as an SCTP adaptation layer exist between the ULP user
   message API and SCTP. On the sender side a user message is split
   into fragments m0, m1, m2, each no larger than 2<sup>14</sup> =
   16384 bytes or the negotiated maximum DTLS record size
   (<xref target="Msg-size"/>).</t>
        <artwork><![CDATA[
   m0 | m1 | m2 | ... = user_message
]]></artwork>
        <t>The resulting fragments are protected with DTLS and the records are
   concatenated</t>
        <artwork><![CDATA[
   user_message' = DTLS( m0 ) | DTLS( m1 ) | DTLS( m2 ) ...
]]></artwork>
        <t>The new user_message', i.e., the protected user message, is the input
   to SCTP.</t>
        <t>On the receiving side, the length field in each DTLS record can be
   used to determine the boundaries between DTLS records. DTLS/SCTP
   SHOULD request decryption of each individual records as soon as
   possible.  The last DTLS record can be found by subtracting the
   length of individual records from the length of user_message'.  The
   output from the DTLS decryption(s) is the fragments m0, m1, m2 ...
   The user_message is reassembled from decrypted DTLS records as
   user_message = m0 | m1 | m2 ...</t>
        <t>There are four failure cases an DTLS/SCTP implementation needs to
   detect and then act on:</t>
        <ol spacing="normal" type="1"><li>
            <t>Failure in decryption and integrity verification process of any
   DTLS record. Due to SCTP-AUTH preventing delivery of injected or
   corrupt fragments of the protected user message this should only
   occur in case of implementation errors or internal hardware
   failures or the necessary security context has been prematurely
   discarded.</t>
          </li>
          <li>
            <t>In case the SCTP layer indicates an end to a user message,
   e.g., when receiving a MSG_EOR in a recvmsg() call when using the
   API described in <xref target="RFC6458"/>, and the last buffered DTLS record
   length field does not match, i.e., the DTLS record is incomplete.</t>
          </li>
          <li>
            <t>Unable to perform the decryption processes due to lack of
   resources, such as memory, and have to abandon the user message
   fragment. This specification is defined such that the needed
   resources for the DTLS/SCTP operations are bounded for a given
   number of concurrent transmitted SCTP streams or unordered user
   messages.</t>
          </li>
          <li>
            <t>DTLS Replay protection. This specification mandates that replay
   protection shall not be used, otherwise the sequence number in a
   delayed DTLS record might be beyond what the replay window accepts
   and thus be dropped. If such a discard would happen the user
   message would be compromised as the data has been lost.</t>
          </li>
        </ol>
        <t>The above failure cases all result in the receiver failing to
   recreate the full user message. This is a failure of the transport
   service that is not possible to recover from the DTLS/SCTP layer
   and the sender could believe the complete message have been
   delivered. This error MUST NOT be ignored, as SCTP lacks any
   facility to declare a failure on a specific stream or user message,
   the DTLS connection and the SCTP association SHOULD be
   terminated. A valid exception to the termination of the SCTP
   association is if the receiver is capable of notifying the ULP
   about the failure in delivery and the ULP is capable of recovering
   from this failure.</t>
        <t>Note that if the SCTP extension for Partial Reliability (PR-SCTP)
   <xref target="RFC3758"/> is used for a user message, user message may be
   partially delivered or abandoned. These failures are not a reason
   for terminating the DTLS connection and SCTP association.</t>
      </section>
      <section anchor="dtls-connection-handling">
        <name>DTLS Connection Handling</name>
        <t>DTLS/SCTP is negotiated on SCTP level as an adaptation layer
   (<xref target="Negotiation"/>). After a successful negotiation of the DTLS/SCTP
   adaptation layer during SCTP association establishment, a DTLS
   connection MUST be established prior the transmission of any ULP
   user messages. All DTLS connections are terminated when the SCTP
   association is terminated. A DTLS connection MUST NOT span multiple
   SCTP associations.</t>
        <t>As it is required to establish the DTLS connection at the beginning
   of the SCTP association, either of the peers should never send any
   SCTP user message that is not protected by DTLS. So, the case
   that an endpoint receives data that is neither DTLS messages nor
   protected user messages in the form of a sequence of DTLS Records
   on any stream is a protocol violation. The receiver MAY terminate
   the SCTP association due to this protocol
   violation. Implementations that do not have a DTLS endpoint
   in a state where application_data record can be accepted
   on SCTP handshake completion, will have to ensure
   correct caching of the messages until the DTLS endpoint is ready.</t>
        <t>Whenever a mutual authentication, updated security parameters,
   rerun of Diffie-Hellman Key Exchange, or SCTP-AUTH rekeying is
   needed, a new DTLS connection is instead setup in parallel with the
   old connection (i.e., there may be up to two simultaneous DTLS
   connections within one association).</t>
      </section>
      <section anchor="payload-protocol-identifier-usage">
        <name>Payload Protocol Identifier Usage</name>
        <t>SCTP Payload Protocol Identifiers are assigned by IANA.
   Application protocols using DTLS over SCTP SHOULD register and use
   a separate Payload Protocol Identifier (PPID) and SHOULD NOT reuse
   the PPID that they registered for running directly over SCTP.</t>
        <t>Using the same PPID does no harm as DTLS/SCTP requires all user
   messages being DTLS protected and knows that DTLS is used.  However,
   for protocol analyzers, for example, it is much easier if a
   separate PPID is used and avoids different behavior from
   <xref target="RFC6083"/>.</t>
        <t>Messages that are exchanged between DTLS/SCTP peers not containing
   ULP user messages shall use PPID = 0 according to section 3.3.1 of
   <xref target="RFC9260"/> as no application identifier can be specified by the
   upper layer for this payload data. With the exception for the
   DTLS/SCTP Control Messages (<xref target="Control-Message"/>) that uses its own
   PPID.</t>
      </section>
      <section anchor="Stream-Usage">
        <name>Stream Usage</name>
        <t>DTLS 1.3 protects the actual content type of the DTLS record and
   have therefore omitted the non-protected content type field. Thus,
   it is not possible to determine which content type the DTLS record
   has on SCTP level. For DTLS 1.2 ULP user messages will be carried
   in DTLS records with content type "application_data".</t>
        <t>DTLS Records carrying protected user message fragments MUST be sent
   in by the ULP indicated SCTP stream and user message and additional
   properties, such as PPID. The ULP has no limitations in using SCTP
   facilities for stream and user messages. DTLS records of other
   types MAY be sent on any SCTP stream. It MAY also be sent in its
   own SCTP user message as well as interleaved with other DTLS
   records carrying protected user message fragments. Thus, it is
   allowed to insert between protected user message fragments DTLS
   records of other types as the DTLS receiver will process these and
   not result in any user message data being inserted into the ULP's
   user message. However, DTLS messages of other types than protected
   user message MUST be sent reliable, so the DTLS record can only be
   interleaved in case the ULP user message is sent as reliable.</t>
        <t>DTLS is capable of handling reordering of the DTLS
   records. However, depending on stream properties and which user
   message DTLS records of other types are sent in may impact in which
   order and how quickly they are possible to process. Using the same
   stream with in-order delivery for the different messages will
   ensure that the DTLS Records are delivered in the order they are
   sent in user messages. Thus, ensuring that if there are DTLS
   records that need to be delivered in particular order it can be
   ensured. Alternatively, if it is desired that a DTLS record is
   delivered as early as possible, avoiding in-order streams with
   queued messages and considering stream priorities can result in
   faster delivery.</t>
        <t>A simple solution avoiding any protocol issue with sending DTLS
   messages, that are not protected user message fragments, is to pick
   a stream not used by the ULP, and send the DTLS messages in their
   own SCTP user messages with in order delivery. That mimics the RFC
   6083 behavior without impacting the ULP. However, it assumes that
   there are available streams to be used based on the SCTP
   association handshake parameter for "maximum inbound streams"
   (Section 5.1.1 of <xref target="RFC9260"/>).</t>
      </section>
      <section anchor="chunk-handling">
        <name>Chunk Handling</name>
        <t>All chunks types that can be listed in the Chunk List Parameter
   <xref target="RFC4895"/>, i.e., all chunks types except INIT, INIT ACK, and
   SHUTDOWN-COMPLETE, MUST be sent in an authenticated way as
   described in <xref target="RFC4895"/>. This makes sure that an attacker cannot
   modify the stream in which a message is sent or affect the
   ordered/unordered delivery of the message. Note that COOKIE ECHO
   and COOKIE ACK are protected with an empty key. This is not a
   problem as everything in these chunks are determined by earlier
   chunks or ignored on receipt.</t>
        <t>If PR-SCTP as defined in <xref target="RFC3758"/> is used, the FORWARD-TSN
   chunks are sent in an authenticated way which makes sure that it is
   not possible for an attacker to drop messages and use forged
   FORWARD-TSN, SACK, and/or SHUTDOWN chunks to hide this dropping.</t>
        <t>I-DATA chunk type as defined in <xref target="RFC8260"/> is RECOMMENDED to be
   supported to avoid some of the down sides that large user messages
   have on blocking transmission of later arriving high priority user
   messages. However, the support is not mandated and negotiated
   independently from DTLS/SCTP.</t>
      </section>
      <section anchor="sctp-auth-hash-function">
        <name>SCTP-AUTH Hash Function</name>
        <t>When using DTLS/SCTP, the SHA-256 Message Digest Algorithm MUST be
   supported in the SCTP-AUTH <xref target="RFC4895"/> implementation. SHA-1 MUST
   NOT be used when using DTLS/SCTP. <xref target="RFC4895"/> requires support and
   inclusion of SHA-1 in the HMAC-ALGO parameter, thus, to meet
   both requirements the HMAC-ALGO parameter will include both SHA-256
   and SHA-1 with SHA-256 listed prior to SHA-1 to indicate the
   preference.</t>
        <t>When using DTLS/SCTP, each endpoint MUST use a single SCTP-AUTH
   Message Digest Algorithm during the whole SCTP association. This
   guarantees that an association shared key is only used with a single
   algorithm.</t>
      </section>
      <section anchor="Parallel-Dtls">
        <name>Parallel DTLS connections</name>
        <t>To enable SCTP-AUTH rekeying, periodic authentication of both
   endpoints, and force attackers to dynamic key extraction
   <xref target="RFC7624"/>, DTLS/SCTP per this specification defines the usage of
   parallel DTLS connections over the same SCTP association. This
   solution ensures that there are no limitations to the lifetime of
   the SCTP association due to DTLS, it also avoids dependency on
   version specific DTLS mechanisms such as renegotiation in DTLS 1.2,
   which is disabled by default in many DTLS implementations, or
   post-handshake messages in DTLS 1.3, which does not allow periodic
   mutual endpoint re-authentication or re-keying of
   SCTP-AUTH.</t>
        <t>Parallel DTLS connections enable opening a new DTLS
   connection performing an handshake, while the existing DTLS
   connection is kept in place.  In DTLS 1.3 the handshake MAY be a
   full handshake or a resumption handshake, and resumption can be done
   while the original connection is still open. In DTLS 1.2 the
   handshake MUST be a full handshake. The new parallel connection MUST
   use the same DTLS version as the existing connection.</t>
        <t>On DTLS handshake completion, DTLS/SCTP starts using
   the security context of the new DTLS connection for protection
   of ULP user messages and then ensure delivery of all the SCTP chunks
   using the old DTLS connections security context. When that has been
   achieved DTLS/SCTP shall close the old DTLS connection and discard
   the related security context.</t>
        <t>As specified in <xref target="Mapping-DTLS"/> the usage of DTLS connection ID is
   required to ensure that the receiver can correctly identify the
   DTLS connection and its security context when performing its
   de-protection operations. There is also only a single SCTP-AUTH key
   exported per DTLS connection and transmission direction ensuring
   that there is clear mapping between the DTLS connection ID and the
   SCTP-AUTH security context for each Key Identifier.</t>
        <t>Application writers should be aware that establishing a new DTLS
   connection may result in changes of security parameters.  See
   <xref target="sec-Consideration"/> for security considerations regarding rekeying.</t>
        <t>A DTLS/SCTP Endpoint MUST NOT have more than two DTLS connections
   open at the same time. Either of the endpoints MAY initiate a new
   DTLS connection by performing a DTLS handshake. To support this
   implementations and certificates need to support both DTLS client
   and server roles. Note that resumption is not possible between DTLS
   connections unless the endpoints have the same roles. As either
   endpoint can initiate a DTLS handshake on either side at the same
   time, either endpoint may receive a DTLS ClientHello message when
   it has sent its own ClientHello. In this case the ClientHello from
   the endpoint that had the DTLS Client role in the establishment of
   the existing DTLS connection shall be continued to be processed and
   the other dropped.</t>
        <t>When performing the DTLS handshake the endpoint MUST verify that
   the peer identifies using the same identity as in the previous DTLS
   connection.</t>
        <t>When the DTLS handshake has been completed, the new DTLS connection
   MUST be used for the DTLS protection of any new ULP user message,
   and SHOULD be switched to for protection of not yet protected user
   message fragments of partially transmitted user messages.  Also,
   after the completion of the DTLS handshake, a new SCTP-AUTH key will
   be exported per <xref target="handling-endpoint-secret"/>. To enable the sender
   and receiver to correctly identify when the old DTLS connection is
   no longer in use, the SCTP-AUTH key used to protect a SCTP packet
   MUST NOT be from a newer DTLS connection than produced any included
   DTLS record fragment.</t>
        <t>The SCTP API defined in <xref target="RFC6458"/> has limitation in changing the
   SCTP-AUTH key until the whole SCTP user message has been
   delivered. However, the DTLS/SCTP implementation can switch the
   DTLS connection used to protect the user message fragments to a
   newer, even if the older DTLS connections exported key is used
   for the SCTP-AUTH. And for SCTP implementations where the SCTP-AUTH
   key can be switched in the middle of a user message the SCTP-AUTH
   key should be changed as soon as all DTLS record fragments included
   in an SCTP packet have been protected by the newer DTLS connection.
   Any SCTP-AUTH receiver implementation is expected to be able to
   select key on per SCTP packet basis.</t>
        <t>The DTLS/SCTP endpoint timely indicates to its peer when the
   previous DTLS connection and its context are no longer needed for
   receiving any more data from this endpoint. This is done by sending
   a DTLS/SCTP Control Message (<xref target="Control-Message"/>) of type
   "Ready_To_Close" (<xref target="Ready_To_Close"/>) to its peer. The endpoint MUST
   NOT send the Ready_To_Close until the following two conditions are
   fulfilled:</t>
        <ol spacing="normal" type="1"><li>
            <t>All SCTP packets containing part of any DTLS record or message
protected using the security context of this DTLS connection
have been acknowledged in a non-renegable way.</t>
          </li>
          <li>
            <t>All SCTP packets using the SCTP-AUTH key associated with the
security context of this DTLS connection have been acknowledged
in a non-renegable way.</t>
          </li>
        </ol>
        <t>A DTLS/SCTP endpoint that fulfills the above conditions for the
   SCTP packets it sends, and have received a Ready_To_Close message,
   SHALL immediately initiate closing of this DTLS connection by
   sending a DTLS close_notify. Then when it has received the peer's
   close_notify terminate the DTLS connection and expunges the
   associated security context and SCTP-AUTH key. Note that it is not
   required for a DTLS/SCTP implementation that has received a
   Ready_To_Close message to send that message itself when it
   fulfills the conditions. However, in some situations both endpoints
   will fulfill the conditions close enough in time that both
   endpoints will send their Ready_To_Close prior to receiving the
   indication from the peer, that works as both endpoints will then
   initiate DTLS close_notify and terminate the DTLS connections upon
   the reception of the peers close_notify.</t>
        <t>SCTP implementations exposing APIs like <xref target="RFC6458"/> fulfilling
   these conditions require draining the SCTP association of all
   outstanding data after having completed all the user messages using
   the previous SCTP-AUTH key identifier, relying on the
   SCTP_SENDER_DRY_EVENT to know when delivery has been accomplished.
   A richer API could also be used that allows user message level
   tracking of delivery, see <xref target="api-considerations"/> for API
   considerations.</t>
        <t>For SCTP implementations exposing APIs like <xref target="RFC6458"/> where it is
   not possible to change the SCTP-AUTH key for a partial SCTP message
   initiated before the change of security context, it will be forced to
   track the SCTP messages and determine when all using the old
   security context has been transmitted. This maybe be impossible to
   do completely reliable without tighter integration between the
   DTLS/SCTP layer and the SCTP implementation. This type of
   implementations also has an implicit limitation in how large SCTP
   messages it can support. Each SCTP message needs to have completed
   delivery and enabling closing of the previous DTLS connection prior
   to the need to create yet another DTLS connection. Thus, SCTP
   messages can't be larger than that the transmission completes in
   less than the duration between the rekeying or re-authentications
   needed for this SCTP association.</t>
        <t>The consequences of sending a DTLS close_notify alert in the old
   DTLS connection prior to the receiver having received the data can
   result in failure case 1 described in <xref target="Mapping-DTLS"/>, which likely
   result in SCTP association termination.</t>
      </section>
      <section anchor="handling-endpoint-secret">
        <name>Handling of Endpoint Pair Shared Secrets</name>
        <t>Editor's Note: Assuming that RFC 4895 is updates to address the
   security issues this section is expected to be able to be updated
   to not require generating two different keys.</t>
        <t>SCTP-AUTH <xref target="RFC4895"/> is keyed using endpoint pair shared
   secrets. In DTLS/SCTP, DTLS is used to establish these secrets.
   The endpoint pair shared secrets MUST be provided to the SCTP stack
   as soon as the computation is possible. The endpoints MUST NOT use
   another mechanism for establishing endpoint pair shared secrets for
   SCTP-AUTH.  The endpoint pair shared secret for Shared Key
   Identifier zero (0) is empty, it is used by both endpoints
   when establishing the first DTLS connection and MUST NOT be
   used to protect ULP data.</t>
        <t>The initial DTLS connection will be used to establish two new
   endpoint pair shared secrets which MUST use shared key identifier 2
   and 3. The endpoint pair shared secrets are derived using the TLS
   exporter interface using the ASCII strings
   "EXPORTER-DTLS-OVER-SCTP-CLIENT-WRITE" and
   "EXPORTER-DTLS-OVER-SCTP-SERVER-WRITE" with no terminating NUL, no
   context, and length 64.</t>
        <artwork><![CDATA[
TLS-Exporter("EXPORTER-DTLS-OVER-SCTP-CLIENT-WRITE", , 64)
TLS-Exporter("EXPORTER-DTLS-OVER-SCTP-SERVER-WRITE", , 64)
]]></artwork>
        <t>Keys derived with the label "EXPORTER-DTLS-OVER-SCTP-CLIENT-WRITE"
   always have an even Shared Key Identifier.  They are used by the
   TLS client for sending AUTH chunks and MUST NOT be used by the TLS
   client for receiving AUTH chunks.  Keys derived with the label
   "EXPORTER-DTLS-OVER-SCTP-SERVER-WRITE" always have an odd Shared
   Key Identifier.  They are used by the TLS server for sending AUTH
   chunks and MUST NOT be used by the TLS server for receiving AUTH
   chunks.  These directional keys change the behavior of SCTP-AUTH
   <xref target="RFC4895"/> and requires extensions to the SCTP API defined in
   <xref target="RFC6458"/>.</t>
        <t>When a subsequent DTLS connection is setup, two new 64-byte
   endpoint pair shared secrets are derived using the TLS-Exporter as
   defined above. The Shared Key Identifiers form a sequence. If the
   previous endpoint pair shared secrets used Shared Key Identifiers
   2n and 2n+1, the new ones MUST use Shared Key Identifier 2n+2 and
   2n+3, unless 2n = 65534, in which case the new Shared Key
   Identifiers are 2 and 3.</t>
        <t>A DTLS connection MUST NOT be used be used for protection of ULP
   data before the two SCTP-AUTH endpoint pair shared secrets has been
   exported and the other endpoint has been authenticated.</t>
        <section anchor="dtls-12-considerations">
          <name>DTLS 1.2 Considerations</name>
          <t>Whenever a new DTLS connection is established, two 64-byte endpoint
   pair shared secrets are derived using the TLS-Exporter described in
   <xref target="RFC5705"/>.</t>
          <t>After sending or receiving the DTLS client Finished message for the
   initial DTLS connection, the active SCTP-AUTH key MUST be switched
   from key identifier zero (0) to key identifiers 2 and 3 and the
   SCTP-AUTH Shared Key Identifier zero MUST NOT be used.</t>
          <t>When the endpoint has sent or received a close_notify on the old DTLS
   connection then the endpoint SHALL remove the two SCTP-AUTH endpoint
   pair shared secrets derived from the old DTLS connection.</t>
        </section>
        <section anchor="dtls-13-considerations">
          <name>DTLS 1.3 Considerations</name>
          <t>Whenever a new exporter_secret can be computed, two 64-byte
   endpoint pair shared secrets are derived using the TLS-Exporter
   described in Section 7.5 of <xref target="RFC8446"/>.</t>
          <t>After sending or receiving the DTLS server Finished message for the
   initial DTLS connection, the active SCTP-AUTH key MUST be switched
   from key identifier zero (0) to key identifiers 2 and 3 and the
   SCTP-AUTH Shared Key Identifier zero MUST NOT be used.</t>
          <t>When the endpoint has sent or received a close_notify in one
   direction on the old DTLS connection then the endpoint SHALL remove
   the SCTP-AUTH endpoint pair shared secret associated with that
   direction in the old DTLS connection.</t>
        </section>
      </section>
      <section anchor="sec-shutdown">
        <name>Shutdown</name>
        <t>To prevent DTLS from discarding DTLS user messages while it is
   shutting down, the below procedure has been defined. Its goal is to
   avoid the need for APIs requiring per user message data level
   acknowledgments and utilizes existing SCTP protocol behavior to
   ensure delivery of the protected user messages data.</t>
        <t>To support DTLS 1.2 close_notify behavior and avoid any uncertainty
   related to rekeying, a DTLS/SCTP protocol message
   (<xref target="Control-Message"/>) sent as protected SCTP user message is
   defined, with its own PPID, to inform the DTLS/SCTP layer that
   it is targeting the remote DTLS/SCTP function and act on the
   request to close in a controlled fashion.</t>
        <t>The shutdown procedure is initiated by any of the two peers,
   targeting the closure of the SCTP Association and the DTLS
   connections.  In order to ensure that shutdown is completed without
   data lost, DTLS/SCTP must control that both SCTP Tx buffers are
   empty first, then it must ensure that all data in SCTP Rx buffer
   has been fetched and delivered to ULP and finally it shall shutdown
   the DTLS connections and the SCTP Association.</t>
        <t>The interaction between peers (local and remote) and protocol
   stacks is as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Local instance of ULP asks for terminating the DTLS/SCTP
   Association.</t>
          </li>
          <li>
            <t>Local DTLS/SCTP acknowledges the request, from this time on no
   new data from local instance of ULP will be accepted.</t>
          </li>
          <li>
            <t>Local DTLS/SCTP finishes any protection operation on buffered
   user messages and ensures that all protected user message data has
   been successfully transferred to the remote peer.</t>
          </li>
          <li>
            <t>Local DTLS/SCTP sends a DTLS/SCTP Control Message
   (<xref target="Control-Message"/>) of type "SHUTDOWN_Request"
   (<xref target="SHUTDOWN-Request"/>) to its peer.</t>
          </li>
          <li>
            <t>The remote DTLS/SCTP, when receiving the SHUTDOWN-Request,
   informs its ULP that shutdown has been initiated. No more ULP user
   message data to be sent to the peer can be accepted by DTLS/SCTP.</t>
          </li>
          <li>
            <t>Remote DTLS/SCTP finishes any protection operation on buffered
   user messages and ensures that all protected user message data has
   been successfully transferred to the remote ULP.</t>
          </li>
          <li>
            <t>Remote DTLS/SCTP sends DTLS close_notify to Local DTLS/SCTP
   for each and all DTLS connections. Then it initiates the
   SCTP shutdown procedure (section 9.2 of <xref target="RFC9260"/>).</t>
          </li>
          <li>
            <t>When the local DTLS/SCTP receives a close_notify on a DTLS
   connection, in case it is DTLS 1.3 it SHALL send its corresponding
   DTLS close_notify on each open DTLS connection. When the last open
   DTLS connection has received close_notify and any if needed
   corresponding close_notify have been sent, the local DTLS/SCTP
   initiates the SCTP shutdown procedure (section 9.2 of <xref target="RFC9260"/>).</t>
          </li>
          <li>
            <t>Upon receiving the information that SCTP has closed the
   Association, independently the local and remote DTLS/SCTP entities
   destroy the DTLS connection completing the shutdown.</t>
          </li>
        </ol>
        <t>The verification in step 3 and 6 that all user data message has been
   successfully delivered to the remote ULP can be provided by the
   SCTP stack that implements <xref target="RFC6458"/> by means of SCTP_SENDER_DRY
   event (section 6.1.9 of <xref target="RFC6458"/>).</t>
        <t>A successful SCTP shutdown will indicate successful delivery of all
   data. However, in cases of communication failures and extensive
   packet loss the SCTP shutdown procedure can time out and result in
   SCTP association termination where its unknown if all data has been
   delivered. The DTLS/SCTP should indicate to ULP successful
   completion or failure to shutdown gracefully.</t>
      </section>
      <section anchor="transmission-limitations">
        <name>Transmission Limitations</name>
        <section anchor="Prevent-DTLS-Seq-wraps">
          <name>Preventing DTLS sequence number wraps</name>
          <t>To avoid failures in DTLS record decryption it is necessary to
   ensure that the sequence number space never wraps for the DTLS
   records that are outstanding between the DTLS encryption and
   decryption. As discussed in <xref target="buffering"/> the amount of packets
   this include is a combination of any buffering in the endpoint and
   the amount of data in the SCTP sender/receiver buffer for the
   transmission.</t>
          <t>To avoid overlapping sequence number the DTLS sender should first
   of all use 16-bit sequence number to enable a larger
   space. Secondly, it should track which DTLS records has been
   non-renegable ACKed by the receiver and always maintain a certain
   safety buffer in number of DTLS records. Thirdly, the
   implementation needs to attempt to minimize usage of buffers that
   exist after the DTLS encryption until the DTLS Decryption in its
   sender and receiver implementation.</t>
          <t>If the receiver implementation keeps with the assumption to timely
   decrypt DTLS records after it has been completely received, the
   tracking of when a records has been fully received can maintain a
   good view of the total number of outstanding records in regard to
   the DTLS sequence number space and prevent wrapping of the sequence
   number space by not protecting additional user message fragments
   until further DTLS records has been acknowledged.</t>
          <t>Assuming a that a quarter of the sequence number space is used as
   safety margin it will limit the number of simultaneous in-flight
   DTLS records to 49152, and thus also the number of simultaneous user
   messages. Technically, if the DTLS implementation supports trial
   decoding, overlap of the sequence number but that results in both
   implementation requirements, need to signal the window it supports,
   and additional decryption overhead due to trial decoding and will
   be left for future extension.</t>
          <t>So, what size of SCTP receiver window this limitation corresponds
   to is highly dependent on the SCTP user message size. If all SCTP
   user messages are large, e.g., 1 MB, then most DTLS Records will be
   close to maximum DTLS record size. Thus, the SCTP receiver window
   size required before this becomes an issue becomes fairly close to
   49152 times 16384, i.e., approximately 800 MB. While SCTP user
   messages of almost exclusively 100 bytes would only need a receiver
   window of approximately 5 MB.</t>
        </section>
        <section anchor="sctp-api-limitations">
          <name>SCTP API Limitations</name>
          <t>The SCTP-API defined in <xref target="RFC6458"/> results in an implementation
   limitation when it comes to support transmission of user messages
   of arbitrary sizes. That API does not allow changing the SCTP-AUTH
   key used for protecting the sending of a particular user
   message. Thus, user messages that will be transmitted over periods
   of time on the order or longer than the interval between rekeying
   can't be supported. Beyond delaying the completion of a rekeying
   until the message has been transmitted, the session can deadlock if
   the DTLS connection used to protect this long user message reaches
   the limit of number of bytes transmitted with a particular
   key. However, this is not an interoperability issue as it is the
   sender side's API that limits what can be sent and thus the sender
   implementation will have to address this issue.</t>
        </section>
      </section>
    </section>
    <section anchor="Control-Message">
      <name>DTLS/SCTP Control Message</name>
      <t>The DTLS/SCTP Control Message is defined as its own upper layer
   protocol for DTLS/SCTP identified by its own PPID. The control
   message is sent in network byte order.</t>
      <t>The first 32 bits are split in two 16-bit integers where the first
   contains the Control Message Number and the next 16-bit integer
   contains the length of the optional Variable Parameter.
   Granularity of Variable Parameter is 32-bit with trailing zeroes.</t>
      <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Control Message No      |      Parameter Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\                                                               \
/                      Variable Parameter                       /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      <t>Each message is sent as its own SCTP user message after
   having been protected by an open DTLS connection on any SCTP stream
   and MUST be marked with SCTP Payload Protocol Identifier (PPID)
   value TBD1 (<xref target="sec-IANA-PPID"/>).</t>
      <t>The DTLS/SCTP implementation MUST consume all SCTP messages
   received with the PPID value of TBD1. If the message is not 32-bit
   long the message MUST be discarded and the error SHOULD be logged.
   In case the message has an unknown value the message is
   discarded and the event SHOULD be logged.</t>
      <t>Two control messages are defined in this specification.</t>
      <section anchor="SHUTDOWN-Request">
        <name>SHUTDOWN-Request</name>
        <t>The value "1" is defined as a request to the peer to initiate
   controlled shutdown. This is used per step 4 and 5 in
   <xref target="sec-shutdown"/>.  Control Message 1 "Shutdown request" has
   Parameter Length = 0.</t>
      </section>
      <section anchor="Ready_To_Close">
        <name>Ready To Close Indication</name>
        <t>The value "2" is defined as an indication to the peer that from its
   perspective all SCTP packets with user message or using the
   SCTP-AUTH key associated with the indicated DTLS connection have been
   sent and acknowledged as received in a non-renegable way. This is
   used per <xref target="Parallel-Dtls"/> to initiate the closing of the DTLS
   connections during rekeying.  Control Message 2 "Ready To Close"
   has Parameter Length equal to the size of the DTLS Connection ID
   parameter in bytes.  The Variable Parameter contains the DTLS
   Connection ID that is to be closed.</t>
      </section>
    </section>
    <section anchor="Negotiation">
      <name>DTLS over SCTP Service</name>
      <t>The adoption of DTLS over SCTP according to the current
   specification is meant to add to SCTP the option for transferring
   encrypted data.  When DTLS over SCTP is used, all data being
   transferred MUST be protected by chunk authentication and DTLS
   encrypted.  Chunks that need to be received in an authenticated way
   will be specified in the CHUNK list parameter according to
   <xref target="RFC4895"/>.  Error handling for authenticated chunks is according
   to <xref target="RFC4895"/>.</t>
      <section anchor="adaptation-layer-indication-in-initinit-ack">
        <name>Adaptation Layer Indication in INIT/INIT ACK</name>
        <t>At the initialization of the association, a sender of the INIT or
   INIT ACK chunk that intends to use DTLS/SCTP as specified in this
   specification MUST include an Adaptation Layer Indication Parameter
   <xref target="RFC5061"/> with the IANA assigned value TBD
   (<xref target="sec-IANA-ACP"/>) to inform its peer that it is able to support
   DTLS over SCTP per this specification.</t>
      </section>
      <section anchor="DTLS-init">
        <name>DTLS over SCTP Initialization</name>
        <t>Initialization of DTLS/SCTP requires all the following options to
   be part of the INIT/INIT ACK handshake:</t>
        <t>RANDOM: defined in <xref target="RFC4895"/></t>
        <t>CHUNKS: defined in <xref target="RFC4895"/></t>
        <t>HMAC-ALGO: defined in <xref target="RFC4895"/></t>
        <t>ADAPTATION-LAYER-INDICATION: defined in <xref target="RFC5061"/></t>
        <t>When all the above options are present and having acceptable
   parameters, the Association will start with support of DTLS/SCTP.
   The set of options indicated are the DTLS/SCTP Mandatory Options.
   No data transfer is permitted before DTLS handshake is
   completed. Chunk bundling is permitted according to
   <xref target="RFC9260"/>. The DTLS handshake will enable authentication of both
   the peers.</t>
        <t>The extension described in this document is given by the following
   message exchange.</t>
        <artwork><![CDATA[
   --- INIT[RANDOM; CHUNKS; HMAC-ALGO; ADAPTATION-LAYER-IND] --->
   <- INIT ACK[RANDOM; CHUNKS; HMAC-ALGO; ADAPTATION-LAYER-IND] -
   --------------------- AUTH; COOKIE ECHO --------------------->
   <-------------------- AUTH; COOKIE ACK -----------------------
   ---------------- AUTH; DATA[DTLS Handshake] ----------------->
                               ...
                               ...
   <--------------- AUTH; DATA[DTLS Handshake] ------------------
]]></artwork>
      </section>
      <section anchor="client-use-case">
        <name>Client Use Case</name>
        <t>When a client initiates an SCTP Association with DTLS protection,
   i.e., the SCTP INIT containing DTLS/SCTP Mandatory Options, it can
   receive an INIT ACK also containing DTLS/SCTP Mandatory Options, in
   that case the Association will proceed as specified in the previous
   <xref target="DTLS-init"/> section.  If the peer replies with an INIT ACK not
   containing all DTLS/SCTP Mandatory Options, the client SHOULD reply
   with an SCTP ABORT.</t>
      </section>
      <section anchor="server-use-case">
        <name>Server Use Case</name>
        <t>If a SCTP Server supports DTLS/SCTP, i.e., per this specification,
   when receiving an INIT chunk with all DTLS/SCTP Mandatory Options
   it will reply with an INIT ACK also containing all the DTLS/SCTP
   Mandatory Options, following the sequence for DTLS initialization
   <xref target="DTLS-init"/> and the related traffic case.  If a SCTP Server that
   supports DTLS and configured to use it, receives an INIT chunk
   without all DTLS/SCTP Mandatory Options, it SHOULD reply with an
   SCTP ABORT.</t>
      </section>
      <section anchor="Fallback">
        <name>RFC 6083 Fallback</name>
        <t>This section discusses how an endpoint supporting this
   specification can fallback to follow the DTLS/SCTP behavior in
   RFC6083.  It is recommended to define a setting that represents the
   policy to allow fallback or not. However, the possibility to use
   fallback is based on the ULP can operate using user messages that
   are no longer than 16384 bytes and where the security issues can be
   mitigated or considered acceptable. If fallback is enabled,
   implementations MUST use the dtls_sctp_ext extension
   (<xref target="auth_fallback"/>) to authenticate the fallback. This mitigates
   on-path attacker to trigger fallback to RFC 6083. Fallback is NOT
   RECOMMENDED to be enabled as it permits weaker algorithms and
   versions of DTLS.</t>
        <t>An SCTP endpoint that receives an INIT chunk or an INIT ACK chunk
   that does not contain the SCTP-Adaptation-Indication parameter with
   the DTLS/SCTP adaptation layer codepoint, see <xref target="sec-IANA-ACP"/>, may
   in certain cases potentially perform a fallback to RFC 6083
   behavior.  However, the fallback attempt should only be performed
   if policy says that is acceptable.</t>
        <t>If fallback is allowed, it is possible that the client will send
   plain text user messages prior to DTLS handshake as it is allowed
   per RFC 6083.  So that needs to be part of the consideration for a
   policy allowing fallback.</t>
        <section anchor="client-fallback">
          <name>Client Fallback</name>
          <t>A DTLS/SCTP client supporting this specification encountering a
   server not compatible with this specification MAY attempt RFC 6083
   fallback per this procedure.</t>
          <ol spacing="normal" type="1"><li>
              <t>Fallback procedure, if enabled, is initiated when receiving an
SCTP INIT ACK that does not contain the DTLS/SCTP Adaptation
Layer indication. If fallback is not enabled the SCTP handshake
is aborted.</t>
            </li>
            <li>
              <t>The client checks that the SCTP INIT ACK contained the necessary
chunks and parameters to establish SCTP-AUTH per RFC 6083 with
this endpoint. If not all necessary parameters or support
algorithms don't match the client MUST abort the
handshake. Otherwise it completes the SCTP handshake.</t>
            </li>
            <li>
              <t>Client performs DTLS connection handshake per RFC 6083 over
established SCTP association. If successful authenticating the
targeted server the client has successful fallen back to use
RFC 6083. If not terminate the SCTP association.</t>
            </li>
          </ol>
        </section>
        <section anchor="server-fallback">
          <name>Server Fallback</name>
          <t>A DTLS/SCTP Server that supports both this specification and RFC
   6083 and where fallback has been enabled for the ULP can follow
   this procedure.</t>
          <ol spacing="normal" type="1"><li>
              <t>When receiving an SCTP INIT message without the DTLS/SCTP
adaptation layer indication fallback procedure is initiated.</t>
            </li>
            <li>
              <t>Verify that the SCTP INIT contains SCTP-AUTH parameters required
by RFC 6083 and compatible with this server. If that is not the
case abort the SCTP handshake.</t>
            </li>
            <li>
              <t>Send an SCTP INIT ACK with the required SCTP-AUTH chunks and
parameters to the client.</t>
            </li>
            <li>
              <t>Complete the SCTP Handshake. Await DTLS handshake per RFC 6083.
Plain text SCTP messages MAY be received.</t>
            </li>
            <li>
              <t>Upon successful completion of DTLS handshake successful fallback
to RFC 6083 have been accomplished.</t>
            </li>
          </ol>
        </section>
        <section anchor="auth_fallback">
          <name>Authenticated Fallback</name>
          <t>A DTLS/SCTP implementation supporting this document MUST include the
dtls_sctp_ext extension in all DTLS Client Hello used in DTLS/SCTP
according to RFC 6083. A DTLS/SCTP implementation supporting this
document MUST abort the SCTP association if the dtls_sctp_ext
extension is received when DTLS/SCTP according to RFC 6083 is
used. This mechanism provides authenticated fallback to RFC 6083.</t>
          <t>The dtls_sctp_ext extention is defined as follows:</t>
          <artwork><![CDATA[
enum {
    dtls_sctp_ext(TBD2), (65535)
} ExtensionType;
]]></artwork>
          <t>Clients MAY send this extention in ClientHello. It contains the
following structure:</t>
          <artwork><![CDATA[
struct {
    Empty;
} DTLSOverSCTPExt;
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="api-considerations">
      <name>SCTP API Consideration</name>
      <t>DTLS/SCTP needs certain functionality on the API that the SCTP
   implementation provides to the ULP to function optimally. A
   DTLS/SCTP implementation will need to provide its own API to the
   ULP, while itself using the SCTP API. This discussion is focused on
   the needed functionality on the SCTP API.</t>
      <t>The following functionality is needed:</t>
      <ul spacing="normal">
        <li>
          <t>Controlling SCTP-AUTH negotiation so that SHA-256 algorithm is
included, and determine that SHA-1 is not selected when the
association is established.</t>
        </li>
        <li>
          <t>Determining when all SCTP packets that uses an SCTP-AUTH key or
contains DTLS records associated to a particular DTLS connection
has been acknowledged non-renegable.</t>
        </li>
        <li>
          <t>Install SCTP-AUTH keys with directionality</t>
        </li>
        <li>
          <t>Determining when all SCTP packets have been acknowledged
non-renegable.</t>
        </li>
        <li>
          <t>Negotiating the adaptation layer indication that indicates
DTLS/SCTP and determine if it was agreed or not.</t>
        </li>
        <li>
          <t>Partial user messages transmission and reception.</t>
        </li>
      </ul>
    </section>
    <section anchor="IANA-Consideration">
      <name>IANA Considerations</name>
      <t>This document registers a number of protocol values per the
below. RFC-Editor Note: Please replace [RFC-TBD] with the RFC number
given to this specification.</t>
      <section anchor="transport-layer-security-tls-extensions">
        <name>Transport Layer Security (TLS) Extensions</name>
        <t>IANA is requested to add a value to the Transport Layer Security
   (TLS) Extensions' "TLS ExtensionType Values" registry defined by
   <xref target="RFC8447"/>.  At time of writing located at:
   <eref target="https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#tls-extensiontype-values-1">TLS ExtensionType Values Registry</eref></t>
        <table anchor="iana-TLS-extension">
          <name>TLS Extension</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Extension Name</th>
              <th align="left">TLS 1.3</th>
              <th align="left">DTLS-OK</th>
              <th align="left">Recommended</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD2</td>
              <td align="left">dtls_sctp_ext</td>
              <td align="left">CH</td>
              <td align="left">Y</td>
              <td align="left">Y</td>
              <td align="left">[RFC-TBD]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="tls-exporter-labels">
        <name>TLS Exporter Labels</name>
        <t>IANA is requested to add two values to the TLS Exporter Label
   registry as defined by <xref target="RFC5705"/>, and <xref target="RFC8447"/>. At time of
   writing located at: <eref target="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels">TLS Exporter Label
   registry</eref></t>
        <table anchor="iana-TLS">
          <name>TLS Exporter Label</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">DTLS-OK</th>
              <th align="left">Recommended</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">EXPORTER-DTLS-OVER-SCTP-CLIENT-WRITE</td>
              <td align="left">Y</td>
              <td align="left">Y</td>
              <td align="left">[RFC-TBD]</td>
            </tr>
            <tr>
              <td align="left">EXPORTER-DTLS-OVER-SCTP-SERVER-WRITE</td>
              <td align="left">Y</td>
              <td align="left">Y</td>
              <td align="left">[RFC-TBD]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-IANA-ACP">
        <name>SCTP Adaptation Layer Indication Code Point</name>
        <t>IANA is requested to assign an Adaptation Code Point to DTLS/SCTP
   for usage in the Adaptation Layer Indication Parameter. The
   Adaptation Code Point is registered in the SCTP Adaptation Code
   Points registry defined by <xref target="RFC5061"/>. The registry was at time of
   writing located: <eref target="https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-27">Adaptation Code Point
   registry</eref></t>
        <table anchor="iana-ACP">
          <name>Adaptation Code Point</name>
          <thead>
            <tr>
              <th align="left">Code Point (32-bit number)</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">DTLS/SCTP</td>
              <td align="left">[RFC-TBD]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-IANA-PPID">
        <name>SCTP Payload Protocol Identifiers</name>
        <t>IANA is requested to assign one SCTP Payload Protocol Identifier
   (PPID) to be used to identify the DTLS/SCTP control messages
   (<xref target="Control-Message"/>). This PPID is registered in the SCTP Payload
   Protocol Identifiers registry defined by <xref target="RFC9260"/>.  The registry
   was at time of writing located: <eref target="https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-25">SCTP Payload Protocol
   Identifiers</eref></t>
        <table anchor="iana-PPID">
          <name>SCTP Payload Protocol Identifier</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">SCTP PPID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD1</td>
              <td align="left">DTLS/SCTP Control Message</td>
              <td align="left">[RFC-TBD]</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="sec-Consideration">
      <name>Security Considerations</name>
      <t>The security considerations given in <xref target="RFC9147"/>,
   <xref target="RFC4895"/>, and <xref target="RFC9260"/> also apply to this document.</t>
      <section anchor="cryptographic-considerations">
        <name>Cryptographic Considerations</name>
        <t>Over the years, there have been several serious attacks on earlier
   versions of Transport Layer Security (TLS), including attacks on
   its most commonly used ciphers and modes of operation.  <xref target="RFC7457"/>
   summarizes the attacks that were known at the time of publishing
   and BCP 195 <xref target="RFC7525"/> <xref target="RFC8996"/> provide recommendations for
   improving the security of deployed services that use TLS.</t>
        <t>When DTLS/SCTP is used with DTLS 1.2 <xref target="RFC6347"/>, DTLS 1.2 MUST be
   configured to disable options known to provide insufficient
   security. HTTP/2 <xref target="RFC9113"/> gives good minimum requirements based
   on the attacks that where publicly known in 2022. DTLS 1.3
   <xref target="RFC9147"/> only defines strong algorithms without major
   weaknesses at the time of publication. Many of the TLS registries
   have a "Recommended" column. Parameters not marked as "Y" are NOT
   RECOMMENDED to support. DTLS 1.3 is preferred over DTLS 1.2 being a
   newer protocol that addresses known vulnerabilities and only
   defines strong algorithms without known major weaknesses at the
   time of publication.</t>
        <t>DTLS 1.3 requires rekeying before algorithm specific AEAD limits
   have been reached. The AEAD limits equations are equally valid for
   DTLS 1.2 and SHOULD be followed for DTLS/SCTP, but are not mandated
   by the DTLS 1.2 specification.</t>
        <t>HMAC-SHA-256 as used in SCTP-AUTH has a very large tag length and
   very good integrity properties.  The SCTP-AUTH key can be used
   longer than the current algorithms in the TLS record layer. The
   SCTP-AUTH key is rekeyed when a new DTLS connection is set up at
   which point a new SCTP-AUTH key is derived using the TLS-Exporter.</t>
        <t>(D)TLS 1.3 <xref target="RFC8446"/> discusses forward secrecy from (EC)DHE,
   Key Update, and tickets/resumption. Forward secrecy limits the
   effect of key leakage in one direction (compromise of a key at
   time T2 does not compromise some key at time T1 where T1 &lt; T2).
   Protection in the other direction (compromise at time T1 does not
   compromise keys at time T2) can be achieved by rerunning (EC)DHE.
   If a long-term authentication key has been compromised, a full
   handshake with (EC)DHE gives protection against passive
   attackers. If the resumption_master_secret has been compromised,
   a resumption handshake with (EC)DHE gives protection against passive
   attackers and a full handshake with (EC)DHE gives protection against
   active attackers. If a traffic secret has been compromised, any
   handshake with (EC)DHE gives protection against active attackers.</t>
        <t>The document “Confidentiality in the Face of Pervasive Surveillance:
   A Threat Model and Problem Statement” <xref target="RFC7624"/> defines key
   exfiltration as the transmission of cryptographic keying material
   for an encrypted communication from a collaborator, deliberately or
   unwittingly, to an attacker. Using the terms in RFC 7624, forward
   secrecy without rerunning (EC)DHE still allows an attacker to do
   static key exfiltration. Rerunning (EC)DHE forces and attacker to
   dynamic key exfiltration (or content exfiltration).</t>
        <t>When using DTLS 1.3 <xref target="RFC9147"/>, AEAD limits and
   forward secrecy can be achieved by sending post-handshake KeyUpdate
   messages, which triggers rekeying of DTLS. Such symmetric rekeying
   gives significantly less protection against key leakage than
   re-running Diffie-Hellman as explained above.  After leakage of
   application_traffic_secret_N, an attacker can passively eavesdrop
   on all future data sent on the connection including data encrypted
   with application_traffic_secret_N+1,
   application_traffic_secret_N+2, etc. Note that Key Update does not
   update the exporter_secret.</t>
        <t>DTLS/SCTP is in many deployments replacing IPsec. For IPsec, NIST
   (US), BSI (Germany), and ANSSI (France) recommends very frequent
   re-run of Diffie-Hellman to provide forward secrecy and
   force attackers to 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"/>.</t>
        <t>For many DTLS/SCTP deployments the SCTP association is expected to
   have a very long lifetime of months or even years. For associations
   with such long lifetimes there is a need to frequently
   re-authenticate both client and server. TLS Certificate lifetimes
   significantly shorter than a year are common which is shorter than
   expected to be used DTLS/SCTP associations lifetimes.</t>
        <t>SCTP-AUTH re-rekeying, periodic authentication of both endpoints,
   and frequent re-run of Diffie-Hellman to force attackers to dynamic
   key extraction is in DTLS/SCTP per this specification achieved by
   setting up new DTLS connections over the same SCTP
   association. Implementations SHOULD set up new connections
   frequently to force attackers to dynamic key
   extraction. Implementations MUST set up new connections before any
   of the certificates expire. It is RECOMMENDED that all negotiated
   and exchanged parameters are the same except for the timestamps in
   the certificates. Clients and servers MUST NOT accept a change of
   identity during the setup of a new connections, but MAY accept
   negotiation of stronger algorithms and security parameters, which
   might be motivated by new attacks.</t>
        <t>Allowing new connections can enable denial-of-service attacks.  The
   endpoints MUST limit the number of simultaneous connections to two.
   The implementor shall take into account that an existing DTLS
   connection can only be closed after "Ready_To_Close"
   <xref target="Ready_To_Close"/> indication.</t>
        <t>When DTLS/SCTP is used with DTLS 1.2 <xref target="RFC6347"/>, the TLS Session
   Hash and Extended Master Secret Extension <xref target="RFC7627"/> MUST be used
   to prevent unknown key-share attacks where an attacker establishes
   the same key on several connections. DTLS 1.3 always prevents these
   kinds of attacks. The use of SCTP-AUTH then cryptographically binds
   new connections to the old connections. This together with
   mandatory mutual authentication (on the DTLS layer) and a
   requirement to not accept new identities mitigates MITM attacks
   that have plagued renegotiation <xref target="TRISHAKE"/>.</t>
      </section>
      <section anchor="downgrade-attacks">
        <name>Downgrade Attacks</name>
        <t>A peer supporting DTLS/SCTP according to this specification,
   DTLS/SCTP according to <xref target="RFC6083"/> and/or SCTP without DTLS may be
   vulnerable to downgrade attacks where on on-path attacker
   interferes with the protocol setup to lower or disable security. If
   possible, it is RECOMMENDED that the peers have a policy only
   allowing DTLS/SCTP according to this specification.</t>
      </section>
      <section anchor="targeting-dtls-messages">
        <name>Targeting DTLS Messages</name>
        <t>The DTLS handshake messages and other control messages, i.e., not
   application data can easily be identified when using DTLS 1.2 as
   their content type is not encrypted. With DTLS 1.3 there is no
   unprotected content type. However, they will be sent with an PPID
   of 0 if sent in their own SCTP user messages. <xref target="Stream-Usage"/>
   proposes a basic behavior that will still make it easily for anyone
   to detect the DTLS messages that are not protected user messages.</t>
      </section>
      <section anchor="authentication-and-policy-decisions">
        <name>Authentication and Policy Decisions</name>
        <t>DTLS/SCTP MUST be mutually authenticated. Authentication is the
   process of establishing the identity of a user or system and
   verifying that the identity is valid. DTLS only provides proof of
   possession of a key.  DTLS/SCTP MUST perform identity
   authentication. It is RECOMMENDED that DTLS/SCTP is used with
   certificate-based authentication. When certificates are used the
   application using DTLS/SCTP is responsible for certificate
   policies, certificate chain validation, and identity authentication
   (HTTPS does for example match the hostname with a subjectAltName of
   type dNSName). The application using DTLS/SCTP MUST define what the
   identity is and how it is encoded and the client and server MUST
   use the same identity format.  Guidance on server certificate
   validation can be found in <xref target="RFC6125"/>.  DTLS/SCTP enables periodic
   transfer of mutual revocation information (OSCP stapling) every
   time a new parallel connection is set up.  All security decisions
   MUST be based on the peer's authenticated identity, not on its
   transport layer identity.</t>
        <t>It is possible to authenticate DTLS endpoints based on IP addresses
   in certificates. SCTP associations can use multiple IP addresses
   per SCTP endpoint. Therefore, it is possible that DTLS records will
   be sent from a different source IP address or to a different
   destination IP address than that originally authenticated. This is
   not a problem provided that no security decisions are made based on
   the source or destination IP addresses.</t>
      </section>
      <section anchor="resumption-and-tickets">
        <name>Resumption and Tickets</name>
        <t>In DTLS 1.3 any number of tickets can be issued in a connection and
   the tickets can be used for resumption as long as they are valid,
   which is up to seven days. The nodes in a resumed connection have
   the same roles (client or server) as in the connection where the
   ticket was issued. Resumption can have significant latency benefits
   for quickly restarting a broken DTLS/SCTP association. If tickets
   and resumption are used it is enough to issue a single ticket per
   connection.</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t><xref target="RFC6973"/> suggests that the privacy considerations of IETF
   protocols be documented.</t>
        <t>For each SCTP user message, the user also provides a stream
   identifier, a flag to indicate whether the message is sent ordered
   or unordered, and a payload protocol identifier.  Although
   DTLS/SCTP provides privacy for the actual user message, the other
   three information fields are not confidentiality protected.  They
   are sent as clear text because they are part of the SCTP DATA chunk
   header.</t>
        <t>It is RECOMMENDED that DTLS/SCTP is used with certificate-based
   authentication in DTLS 1.3 <xref target="RFC9147"/> to provide identity
   protection. DTLS/SCTP MUST be used with a key exchange method
   providing forward secrecy.</t>
      </section>
      <section anchor="pervasive-monitoring">
        <name>Pervasive Monitoring</name>
        <t>As required by <xref target="RFC7258"/>, work on IETF protocols needs to
   consider the effects of pervasive monitoring and mitigate them when
   possible.</t>
        <t>Pervasive Monitoring is widespread surveillance of users.  By
   encrypting more information including user identities, DTLS 1.3
   offers much better protection against pervasive monitoring.</t>
        <t>Massive pervasive monitoring attacks relying on key exchange
   without forward secrecy has been reported. By mandating forward
   secrecy, DTLS/SCTP effectively mitigate many forms of passive
   pervasive monitoring and limits the amount of compromised data due
   to key compromise.</t>
        <t>An important mitigation of pervasive monitoring is to force
   attackers to do dynamic key exfiltration instead of static key
   exfiltration. Dynamic key exfiltration increases the risk of
   discovery for the attacker <xref target="RFC7624"/>. DTLS/SCTP per this
   specification encourages implementations to frequently set up new
   DTLS connections with (EC)DHE over the same SCTP association to
   force attackers to do dynamic key exfiltration.</t>
        <t>In addition to the privacy attacks discussed above, surveillance on
   a large scale may enable tracking of a user over a wider
   geographical area and across different access networks.  Using
   information from DTLS/SCTP together with information gathered from
   other protocols increase the risk of identifying individual users.</t>
      </section>
      <section anchor="replay_issues">
        <name>Replay attacks</name>
        <t>Replay attack breaks data origin authentication, data integrity
   protection, and data confidentiality. The peculiar architecture of
   rfc6083 makes hard to predict how a replay attack can get success.
   What is clear is that replay attack hasn't been considered when
   rfc6083 has been specified, making it weak from the beginning.  In
   rfc6083 the replay window is open during the lifetime of the
   SCTP-AUTH key validity and being TSN visible it's relatively easy
   to inject an old Data Chunk that passes validation.  Since DTLS
   replay protection is not used and because a single chunk is also a
   single DTLS record, the attack surface of rfc6083 is large and even
   if SCTP-AUTH will be fixed in regards to replay attack, the
   combination of SCTP-AUTH and DTLS as described in rfc6083 is not by
   architecture.</t>
        <t>Details are described in <xref target="replay_protection"/></t>
      </section>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>Michael Tüxen contributed as co-author to the initial versions
   this draft. Michael's contributions include:</t>
      <ul spacing="normal">
        <li>
          <t>The use of the Adaptation Layer Indication.</t>
        </li>
        <li>
          <t>Many editorial improvements.</t>
        </li>
      </ul>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors of RFC 6083 which this document is based on are
   Michael Tüxen, Eric Rescorla, and Robin Seggelmann.</t>
      <t>The RFC 6083 authors thanked Anna Brunstrom, Lars Eggert, Gorry
   Fairhurst, Ian Goldberg, Alfred Hoenes, Carsten Hohendorf, Stefan
   Lindskog, Daniel Mentz, and Sean Turner for their invaluable comments.</t>
      <t>The authors of this document want to thank Daria Ivanova, Li Yan,
   and GitHub user vanrein for their contribution.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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="RFC3758" target="https://www.rfc-editor.org/info/rfc3758" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3758.xml">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) Partial Reliability Extension</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="M. Ramalho" initials="M." surname="Ramalho"/>
            <author fullname="Q. Xie" initials="Q." surname="Xie"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="P. Conrad" initials="P." surname="Conrad"/>
            <date month="May" year="2004"/>
            <abstract>
              <t>This memo describes an extension to the Stream Control Transmission Protocol (SCTP) that allows an SCTP endpoint to signal to its peer that it should move the cumulative ack point forward. When both sides of an SCTP association support this extension, it can be used by an SCTP implementation to provide partially reliable data transmission service to an upper layer protocol. This memo describes the protocol extensions, which consist of a new parameter for INIT and INIT ACK, and a new FORWARD TSN chunk type, and provides one example of a partially reliable service that can be provided to the upper layer via this mechanism. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3758"/>
          <seriesInfo name="DOI" value="10.17487/RFC3758"/>
        </reference>
        <reference anchor="RFC4895" target="https://www.rfc-editor.org/info/rfc4895" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4895.xml">
          <front>
            <title>Authenticated Chunks for the Stream Control Transmission Protocol (SCTP)</title>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="P. Lei" initials="P." surname="Lei"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This document describes a new chunk type, several parameters, and procedures for the Stream Control Transmission Protocol (SCTP). This new chunk type can be used to authenticate SCTP chunks by using shared keys between the sender and receiver. The new parameters are used to establish the shared keys. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4895"/>
          <seriesInfo name="DOI" value="10.17487/RFC4895"/>
        </reference>
        <reference anchor="RFC5061" target="https://www.rfc-editor.org/info/rfc5061" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5061.xml">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="Q. Xie" initials="Q." surname="Xie"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="S. Maruyama" initials="S." surname="Maruyama"/>
            <author fullname="M. Kozuka" initials="M." surname="Kozuka"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>A local host may have multiple points of attachment to the Internet, giving it a degree of fault tolerance from hardware failures. Stream Control Transmission Protocol (SCTP) (RFC 4960) was developed to take full advantage of such a multi-homed host to provide a fast failover and association survivability in the face of such hardware failures. This document describes an extension to SCTP that will allow an SCTP stack to dynamically add an IP address to an SCTP association, dynamically delete an IP address from an SCTP association, and to request to set the primary address the peer will use when sending to an endpoint. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5061"/>
          <seriesInfo name="DOI" value="10.17487/RFC5061"/>
        </reference>
        <reference anchor="RFC5705" target="https://www.rfc-editor.org/info/rfc5705" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5705.xml">
          <front>
            <title>Keying Material Exporters for Transport Layer Security (TLS)</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="March" year="2010"/>
            <abstract>
              <t>A number of protocols wish to leverage Transport Layer Security (TLS) to perform key establishment but then use some of the keying material for their own purposes. This document describes a general mechanism for allowing that. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5705"/>
          <seriesInfo name="DOI" value="10.17487/RFC5705"/>
        </reference>
        <reference anchor="RFC6347" target="https://www.rfc-editor.org/info/rfc6347" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6347.xml">
          <front>
            <title>Datagram Transport Layer Security Version 1.2</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="January" year="2012"/>
            <abstract>
              <t>This document specifies version 1.2 of the Datagram Transport Layer Security (DTLS) protocol. The DTLS protocol provides communications privacy for datagram protocols. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees. Datagram semantics of the underlying transport are preserved by the DTLS protocol. This document updates DTLS 1.0 to work with TLS version 1.2. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6347"/>
          <seriesInfo name="DOI" value="10.17487/RFC6347"/>
        </reference>
        <reference anchor="RFC7627" target="https://www.rfc-editor.org/info/rfc7627" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7627.xml">
          <front>
            <title>Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension</title>
            <author fullname="K. Bhargavan" initials="K." role="editor" surname="Bhargavan"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="A. Pironti" initials="A." surname="Pironti"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="M. Ray" initials="M." surname="Ray"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>The Transport Layer Security (TLS) master secret is not cryptographically bound to important session parameters such as the server certificate. Consequently, it is possible for an active attacker to set up two sessions, one with a client and another with a server, such that the master secrets on the two sessions are the same. Thereafter, any mechanism that relies on the master secret for authentication, including session resumption, becomes vulnerable to a man-in-the-middle attack, where the attacker can simply forward messages back and forth between the client and server. This specification defines a TLS extension that contextually binds the master secret to a log of the full handshake that computes it, thus preventing such attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7627"/>
          <seriesInfo name="DOI" value="10.17487/RFC7627"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8260" target="https://www.rfc-editor.org/info/rfc8260" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8260.xml">
          <front>
            <title>Stream Schedulers and User Message Interleaving for the Stream Control Transmission Protocol</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="S. Loreto" initials="S." surname="Loreto"/>
            <author fullname="R. Seggelmann" initials="R." surname="Seggelmann"/>
            <date month="November" year="2017"/>
            <abstract>
              <t>The Stream Control Transmission Protocol (SCTP) is a message-oriented transport protocol supporting arbitrarily large user messages. This document adds a new chunk to SCTP for carrying payload data. This allows a sender to interleave different user messages that would otherwise result in head-of-line blocking at the sender. The interleaving of user messages is required for WebRTC data channels.</t>
              <t>Whenever an SCTP sender is allowed to send user data, it may choose from multiple outgoing SCTP streams. Multiple ways for performing this selection, called stream schedulers, are defined in this document. A stream scheduler can choose to either implement, or not implement, user message interleaving.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8260"/>
          <seriesInfo name="DOI" value="10.17487/RFC8260"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <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.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8447" target="https://www.rfc-editor.org/info/rfc8447" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8447.xml">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document describes a number of changes to TLS and DTLS IANA registries that range from adding notes to the registry all the way to changing the registration policy. These changes were mostly motivated by WG review of the TLS- and DTLS-related registries undertaken as part of the TLS 1.3 development process.</t>
              <t>This document updates the following RFCs: 3749, 5077, 4680, 5246, 5705, 5878, 6520, and 7301.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8447"/>
          <seriesInfo name="DOI" value="10.17487/RFC8447"/>
        </reference>
        <reference anchor="RFC8449" target="https://www.rfc-editor.org/info/rfc8449" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8449.xml">
          <front>
            <title>Record Size Limit Extension for TLS</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>An extension to Transport Layer Security (TLS) is defined that allows endpoints to negotiate the maximum size of protected records that each will send the other.</t>
              <t>This replaces the maximum fragment length extension defined in RFC 6066.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8449"/>
          <seriesInfo name="DOI" value="10.17487/RFC8449"/>
        </reference>
        <reference anchor="RFC8996" target="https://www.rfc-editor.org/info/rfc8996" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8996.xml">
          <front>
            <title>Deprecating TLS 1.0 and TLS 1.1</title>
            <author fullname="K. Moriarty" initials="K." surname="Moriarty"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <date month="March" year="2021"/>
            <abstract>
              <t>This document formally deprecates Transport Layer Security (TLS) versions 1.0 (RFC 2246) and 1.1 (RFC 4346). Accordingly, those documents have been moved to Historic status. These versions lack support for current and recommended cryptographic algorithms and mechanisms, and various government and industry profiles of applications using TLS now mandate avoiding these old TLS versions. TLS version 1.2 became the recommended version for IETF protocols in 2008 (subsequently being obsoleted by TLS version 1.3 in 2018), providing sufficient time to transition away from older versions. Removing support for older versions from implementations reduces the attack surface, reduces opportunity for misconfiguration, and streamlines library and product maintenance.</t>
              <t>This document also deprecates Datagram TLS (DTLS) version 1.0 (RFC 4347) but not DTLS version 1.2, and there is no DTLS version 1.1.</t>
              <t>This document updates many RFCs that normatively refer to TLS version 1.0 or TLS version 1.1, as described herein. This document also updates the best practices for TLS usage in RFC 7525; hence, it is part of BCP 195.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="8996"/>
          <seriesInfo name="DOI" value="10.17487/RFC8996"/>
        </reference>
        <reference anchor="RFC9113" target="https://www.rfc-editor.org/info/rfc9113" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9113.xml">
          <front>
            <title>HTTP/2</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="C. Benfield" initials="C." role="editor" surname="Benfield"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced latency by introducing field compression and allowing multiple concurrent exchanges on the same connection.</t>
              <t>This document obsoletes RFCs 7540 and 8740.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9113"/>
          <seriesInfo name="DOI" value="10.17487/RFC9113"/>
        </reference>
        <reference anchor="RFC9146" target="https://www.rfc-editor.org/info/rfc9146" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9146.xml">
          <front>
            <title>Connection Identifier for DTLS 1.2</title>
            <author fullname="E. Rescorla" initials="E." role="editor" surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="A. Kraus" initials="A." surname="Kraus"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document specifies the Connection ID (CID) construct for the Datagram Transport Layer Security (DTLS) protocol version 1.2.</t>
              <t>A CID is an identifier carried in the record layer header that gives the recipient additional information for selecting the appropriate security association. In "classical" DTLS, selecting a security association of an incoming DTLS record is accomplished with the help of the 5-tuple. If the source IP address and/or source port changes during the lifetime of an ongoing DTLS session, then the receiver will be unable to locate the correct security context.</t>
              <t>The new ciphertext record format with the CID also provides content type encryption and record layer padding.</t>
              <t>This document updates RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9146"/>
          <seriesInfo name="DOI" value="10.17487/RFC9146"/>
        </reference>
        <reference anchor="RFC9147" target="https://www.rfc-editor.org/info/rfc9147" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml">
          <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="RFC9260" target="https://www.rfc-editor.org/info/rfc9260" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9260.xml">
          <front>
            <title>Stream Control Transmission Protocol</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="M. Tüxen" initials="M." surname="Tüxen"/>
            <author fullname="K. Nielsen" initials="K." surname="Nielsen"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This document describes the Stream Control Transmission Protocol (SCTP) and obsoletes RFC 4960. It incorporates the specification of the chunk flags registry from RFC 6096 and the specification of the I bit of DATA chunks from RFC 7053. Therefore, RFCs 6096 and 7053 are also obsoleted by this document. In addition, RFCs 4460 and 8540, which describe errata for SCTP, are obsoleted by this document.</t>
              <t>SCTP was originally designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks. It is also suited to be used for other applications, for example, WebRTC.</t>
              <t>SCTP is a reliable transport protocol operating on top of a connectionless packet network, such as IP. It offers the following services to its users:</t>
              <t>The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9260"/>
          <seriesInfo name="DOI" value="10.17487/RFC9260"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3436" target="https://www.rfc-editor.org/info/rfc3436" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3436.xml">
          <front>
            <title>Transport Layer Security over Stream Control Transmission Protocol</title>
            <author fullname="A. Jungmaier" initials="A." surname="Jungmaier"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <date month="December" year="2002"/>
            <abstract>
              <t>This document describes the usage of the Transport Layer Security (TLS) protocol, as defined in RFC 2246, over the Stream Control Transmission Protocol (SCTP), as defined in RFC 2960 and RFC 3309. The user of TLS can take advantage of the features provided by SCTP, namely the support of multiple streams to avoid head of line blocking and the support of multi-homing to provide network level fault tolerance. Additionally, discussions of extensions of SCTP are also supported, meaning especially the support of dynamic reconfiguration of IP- addresses. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3436"/>
          <seriesInfo name="DOI" value="10.17487/RFC3436"/>
        </reference>
        <reference anchor="RFC3788" target="https://www.rfc-editor.org/info/rfc3788" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3788.xml">
          <front>
            <title>Security Considerations for Signaling Transport (SIGTRAN) Protocols</title>
            <author fullname="J. Loughney" initials="J." surname="Loughney"/>
            <author fullname="M. Tuexen" initials="M." role="editor" surname="Tuexen"/>
            <author fullname="J. Pastor-Balbas" initials="J." surname="Pastor-Balbas"/>
            <date month="June" year="2004"/>
            <abstract>
              <t>This document discusses how Transport Layer Security (TLS) and IPsec can be used to secure communication for SIGTRAN protocols. The main goal is to recommend the minimum security means that a SIGTRAN node must implement in order to attain secured communication. The support of IPsec is mandatory for all nodes running SIGTRAN protocols. TLS support is optional. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3788"/>
          <seriesInfo name="DOI" value="10.17487/RFC3788"/>
        </reference>
        <reference anchor="RFC6083" target="https://www.rfc-editor.org/info/rfc6083" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6083.xml">
          <front>
            <title>Datagram Transport Layer Security (DTLS) for Stream Control Transmission Protocol (SCTP)</title>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="R. Seggelmann" initials="R." surname="Seggelmann"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="January" year="2011"/>
            <abstract>
              <t>This document describes the usage of the Datagram Transport Layer Security (DTLS) protocol over the Stream Control Transmission Protocol (SCTP).</t>
              <t>DTLS over SCTP provides communications privacy for applications that use SCTP as their transport protocol and allows client/server applications to communicate in a way that is designed to prevent eavesdropping and detect tampering or message forgery.</t>
              <t>Applications using DTLS over SCTP can use almost all transport features provided by SCTP and its extensions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6083"/>
          <seriesInfo name="DOI" value="10.17487/RFC6083"/>
        </reference>
        <reference anchor="RFC6125" target="https://www.rfc-editor.org/info/rfc6125" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6125.xml">
          <front>
            <title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Hodges" initials="J." surname="Hodges"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6125"/>
          <seriesInfo name="DOI" value="10.17487/RFC6125"/>
        </reference>
        <reference anchor="RFC6458" target="https://www.rfc-editor.org/info/rfc6458" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6458.xml">
          <front>
            <title>Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="K. Poon" initials="K." surname="Poon"/>
            <author fullname="P. Lei" initials="P." surname="Lei"/>
            <author fullname="V. Yasevich" initials="V." surname="Yasevich"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document describes a mapping of the Stream Control Transmission Protocol (SCTP) into a sockets API. The benefits of this mapping include compatibility for TCP applications, access to new SCTP features, and a consolidated error and event notification scheme. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6458"/>
          <seriesInfo name="DOI" value="10.17487/RFC6458"/>
        </reference>
        <reference anchor="RFC6525" target="https://www.rfc-editor.org/info/rfc6525" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6525.xml">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) Stream Reconfiguration</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="P. Lei" initials="P." surname="Lei"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>Many applications that use the Stream Control Transmission Protocol (SCTP) want the ability to "reset" a stream. The intention of resetting a stream is to set the numbering sequence of the stream back to 'zero' with a corresponding notification to the application layer that the reset has been performed. Applications requiring this feature want it so that they can "reuse" streams for different purposes but still utilize the stream sequence number so that the application can track the message flows. Thus, without this feature, a new use of an old stream would result in message numbers greater than expected, unless there is a protocol mechanism to "reset the streams back to zero". This document also includes methods for resetting the transmission sequence numbers, adding additional streams, and resetting all stream sequence numbers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6525"/>
          <seriesInfo name="DOI" value="10.17487/RFC6525"/>
        </reference>
        <reference anchor="RFC6973" target="https://www.rfc-editor.org/info/rfc6973" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6973.xml">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC7258" target="https://www.rfc-editor.org/info/rfc7258" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7258.xml">
          <front>
            <title>Pervasive Monitoring Is an Attack</title>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>Pervasive monitoring is a technical attack that should be mitigated in the design of IETF protocols, where possible.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="188"/>
          <seriesInfo name="RFC" value="7258"/>
          <seriesInfo name="DOI" value="10.17487/RFC7258"/>
        </reference>
        <reference anchor="RFC7457" target="https://www.rfc-editor.org/info/rfc7457" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7457.xml">
          <front>
            <title>Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="R. Holz" initials="R." surname="Holz"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <date month="February" year="2015"/>
            <abstract>
              <t>Over the last few years, there have been several serious attacks on Transport Layer Security (TLS), including attacks on its most commonly used ciphers and modes of operation. This document summarizes these attacks, with the goal of motivating generic and protocol-specific recommendations on the usage of TLS and Datagram TLS (DTLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7457"/>
          <seriesInfo name="DOI" value="10.17487/RFC7457"/>
        </reference>
        <reference anchor="RFC7525" target="https://www.rfc-editor.org/info/rfc7525" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7525.xml">
          <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="R. Holz" initials="R." surname="Holz"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are widely used to protect data exchanged over application protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the last few years, several serious attacks on TLS have emerged, including attacks on its most commonly used cipher suites and their modes of operation. This document provides recommendations for improving the security of deployed services that use TLS and DTLS. The recommendations are applicable to the majority of use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7525"/>
          <seriesInfo name="DOI" value="10.17487/RFC7525"/>
        </reference>
        <reference anchor="RFC7624" target="https://www.rfc-editor.org/info/rfc7624" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7624.xml">
          <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="ANSSI-DAT-NT-003" target="&lt;https://www.ssi.gouv.fr/uploads/2015/09/NT_IPsec_EN.pdf&gt;">
          <front>
            <title>Recommendations for securing networks with IPsec</title>
            <author initials="" surname="Agence nationale de la sécurité des systèmes d'information">
              <organization/>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ANSSI Technical Report DAT-NT-003" value=""/>
        </reference>
        <reference anchor="TRISHAKE" target="https://hal.inria.fr/hal-01102259/file/triple-handshakes-and-cookie-cutters-oakland14.pdf">
          <front>
            <title>Triple Handshakes and Cookie Cutters: Breaking and Fixing Authentication over TLS</title>
            <author initials="K." surname="Bhargavan" fullname="Karthikeyan Bhargavan">
              <organization/>
            </author>
            <author initials="A." surname="Delignat-Lavaud" fullname="Antoine Delignat-Lavaud">
              <organization/>
            </author>
            <author initials="C." surname="Fournet" fullname="Cédric Fournet">
              <organization/>
            </author>
            <author initials="A." surname="Pironti" fullname="Alfredo Pironti">
              <organization/>
            </author>
            <author initials="P." surname="Strub" fullname="Pierre-Yves Strub">
              <organization/>
            </author>
            <date year="2016" month="April"/>
          </front>
          <seriesInfo name="IEEE Symposium on Security &amp; Privacy" value=""/>
        </reference>
      </references>
    </references>
    <?line 1902?>

<section anchor="motivation-for-changes">
      <name>Motivation for Changes</name>
      <t>This document proposes a number of changes to RFC 6083 that have
various different motivations:</t>
      <t>Supporting Large User Messages: RFC 6083 allowed only user messages
   that could fit within a single DTLS record. 3GPP has run into this
   limitation where they have at least four SCTP using protocols (F1,
   E1, Xn, NG-C) that can potentially generate messages over the size
   of 16384 bytes.</t>
      <t>New Versions: 10 years has passed since RFC 6083 was written, and
   significant evolution has happened in the area of DTLS and security
   algorithms. Thus, DTLS 1.3 is the newest version of DTLS and also
   the SHA-1 HMAC algorithm of RFC 4895 is getting towards the end of
   usefulness. Use of DTLS 1.3 with long lived associations require a
   solution to enable mutual re-authentication and (EC)DHE based
   rekeying to ensure forward secrecy. Thus, this document mandates
   usage of relevant versions and algorithms as well as defining the
   parallel DTLS connection solution.</t>
      <t>Allowing DTLS Messages on any stream: RFC6083 requires DTLS messages
   that are not user message data to be sent on stream 0 and that this
   stream is used with in-order delivery. That can actually limit the
   applications that can use DTLS/SCTP. In addition, with DTLS 1.3
   encrypting the actual message type it is anyway not available.
   Therefore, a more flexible rule set is used that relies on DTLS
   handling reordering.</t>
      <t>Clarifications: Some implementation experiences have been gained that
   motivates additional clarifications on the specification.</t>
      <ul spacing="normal">
        <li>
          <t>Avoid unsecured messages prior to DTLS handshake have completed.</t>
        </li>
        <li>
          <t>Make clear that all messages are encrypted after DTLS handshake.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+2963Ic2ZEm+D+fIgw02wKkzCQB3qooqW1QIKqIKd6WAFUj
626jBTIjgRAzI7IjIoFKsTg2DzJr+3f7Hfaf3mSeZP1+/JyIBCm12nZ/bI2N
GgQiTpyLH79+7j6ZTEbzelblq+JZNm/yRTcpi24x6dqb26vJvFu2k/qmaCbt
rFtPLst28uDbUVd2S3h673ne5VdNvsoumrxq13XTZS/zbdFk58Vs05TdNtt/
fvHy/CDDEbLzring2ZO66pp6ye+syrYt6yp729RdPYPf7p+fXLw92Bvll5dN
cfMsw/fldfjDqL5s62XRFe2z0SzvnmVtNx+V6+ZZ1jWbtjt68OC7B0ej26tn
2cX5H3/+cZTDF5+F2Y3azaV8sduuYQVnpxc/ZNm9LF+2NaynrObFuoD/qbq9
cbZ3dvw9/J+6gZ/eXfywNxrdFNWmeDbKsqum3qzdwNkxfCj7uW4+ltVV9iP+
NdunHTyAp1d5uYQZ4j//C+7ttG6ucJCyu95cPsuulnVZbZb3efNvi7YrmuWm
mu88gtEo33TXdfNsNIFhsrJqn2XZq2n2s72Kv+YTfZVfVZs2+RN8/1l22pSz
tq0r/EXBU1zRw9Mwhf9SyEPTWb1yX/uvUzixYvPX/xPG7zodhb/4X+vrauiv
uz76Z3h+upIHd33wBD5YN4uyKcOHTpb5Zl7W/g+7vjHjR6drfjT+yqisFnUD
Myhv6HDf/XDy8NHDJ/rj02+/lR+fPPj2of54ePRYf3z02B54HH773VN99umR
PfD00eOn+mN49umTo0fPRvDz8evz87PJ8+OLyeuLyYMHNECWdXlzVQCt//66
69bts/v3b29vp0DE06t6czNdNPc362Wdz9v7Rw8OH99/8N391xcfzt62xezD
6evper74Jx6F7+y7Apa8AhqH5dZVm8HKs5ZuKxBuVXS3QMNtdgukmdEY9G4L
+1W0uE08I5lpdlHMrqtyli9hWLoGYer0nJIpvzOR/ytHenxVVLMCzhInki+L
bF5kyzxr//rvxDv++u/wizZrt2331/9rBT/Nv7Fz4rPNYA2wouPNFVz9DBeP
e3jx7uz8xfFPp/He7eneXefLaVk1ZY4bB/+YPDg8fHB09Pi7+4tyWdzvmnK9
LCbXeTVvr/OPRTuBnyazuv5YFpPZpoN7AZcx/7iEXx8+wt3d87u7d0HvZy/s
/Qx+ApaH72cn/P6z7HvgFsQp8I8/lL/gj8ewV8B3YDdxfczygPftpQcAzOj0
9DQ7367WdVtuVhk8bOz2f4OLV97ks+3el/f/p2n2/TVsT36TV/YXvlk/5U13
XX4stnnVeyY9xWn2vFiWV3CMk5fw2GaejHVcdcDeih1PJaPBNf+h3jRAh8ko
J3/99znc2eSv/bm8LRvg7WU6h+WiKeZ18tfk7bdTlFCby+Tdt2XRNMXkTzdw
luHvQnrrplwi5T0ZjUZVwkOODg+/Mx5iHODRt9/ptX/84Mmh/vj0gTGOh4+e
Br6gP357+PSR/nj05IH++OjRk/Dj0/Cjfvjb777TB747PHxoPz4Kv7XXvqNx
R6PJZJLll23X5LMOL1R2cV3C7atnG2AbHV7KWVNewm4AvWabNr8qsnpB/9il
DuAgqUawVoHf1fRzMetgMKB5uOo4Jtx8/BpdAxibhvh6/WGanXVZiZcvK1cw
/E1BBJcv4f5VdEj4XZxz8UvZdnj/YAcyZPBTWnOsduAMb0pkR6tNtwF2l0eX
dZzN6mpRotpQ5ktY5JjlVldc0ZJlffQk3vg1XC94MGuK9TL3fyZunK/XSxm4
xXG665y2hmeS076XsCm2x7aVOHa+XNa3LQi8EmZzHzb0hvffj4prRymwQd7d
FTDTLM9uYSb0KTxs4DVXVTHHB69gs3CA8AINsWY+Q9+kIyxu8LyKHO7JvKnX
a2Vv8wIXRwvJV+uC5Extx4wrviqaLe/6sZ/kpsVHk4OYwYniXuTLVQ1MH1Yb
NgJHWBR5t2mKVk9snl1uZeNgLmXXwoF3RYU0004TyiZ6oZMTkknpRUmExmqK
VX0jt+DwSfbxcgtaabYsV2VnEgpOVA4XBvPUnbXlXwqc2rxYlBVtFUvhInqM
VtTkVzg9FgttzYe02iw7kjS0Pw0I9Wbe0u5c0hBzd6/o+DPczWU8PN2SxQZ4
PfwOSLjLgRHCo0sUmlm1WV3C7+vFiASQXN9F+YsINdklnFtLI23WyBV5R2ha
cGq00fg4XWA4h8nx+4sX2YtXxyewu1c1jHm9IoKEidEosH/lFY3TFIul3AvQ
DvPZR7oOwGvgMzlNYSasYHa9qT62cix0p+QFe5qfmGbwBVoOTH5ZLkpiM7Tt
+Isi7DMcTVuv4JxAIYDTa2Dcf9uUDa8249Ml9tF2+eWybK+JgmBDZsWc6A/u
6W0B1JnjOkCS4hnDKnMUgqxe/aVoahoGLRe8T9UMT7SdMgtelfP5shiN7mVn
uMj5hnfi073S/fMz/P1e9gY2+qYsbv/zufUY10M0CxQGbIOO+XB6lH36JKLr
8+exHrf88SH/ESUN/lE5+lexcxyGOXr6ZR4TRNbnz8iaLun3tK9OkWKuf8LU
gbyVOMG+0eEBD4My+fNnZkFvUCel6Rmx5m27Wa2ZKYFBCTdmCbriEr633xYF
DHEcHvj8+WDMtAGn0K6LGRCZaHR3yxA8FdDK16ArdS0NwXSbCBb+LVybK2Ta
iRSiv5nYwTFSyQMDFg1e82wJ/Hpp16MvieAvyCpwEJPIqXT6etFE54ibBV+m
rWmKq7yBA8MB4Ap1eqg8kQ9ABpsCNxN59KYdA+dm+d0Xbn+TZKN9TYTb10k2
MiZ3CLe7JRvdg/vkvYAxYLdavhm4mzvUCeAXIKdmYIXAOETU8PAtbJiwYuD3
W6NnItKx8kNPLUOH6KbjTg7eDfSOAw8pL3QCd6ov8D2UyDSm3DraeJZLI7FI
7HLCsVazJRjmsHGR7vf/jjYQNqbdrHGIlozy7DdIA0hsdlH1iC/rDRjSaJpN
5cme8MyAsuYgOGZs5dKHL6PftMQHbQQQ5EWDugc8uKn0X3OwnmDZdKR6dul+
/Yb4VjidZZlflkQHtsohJorGiXI/HmK+BdMHjK18PoeFt6ReAGFdbRregR3D
ieFEg6JtEwZ9Hyn2SCXVllSgqYisAv4Kpurc5NXcOIWJMpHAQlLKokVf87Jb
T4+eqdeyzUIL+PVYpWIFp7+puwXOlGacfJWZi0ySOMc1sAu0QGjo47dn2T7e
rOKXHF/kyVVFtOKRbh/6lID78VJtPXq0kSZplMHaf1vzNMTLgzPBMcirdGyK
Un9l37IoLVvVHonhLUB6Ia9dbsNy6UMyJ6b2ZogaL2rVsrbpVrGeBioM70JT
th+dHwro9boGPYiEYNCnW97Py6KobPLtZnbN6zu/OH53gcwhN7Eb7yi68Xh9
VZ0t6wpnLYso5lNSowIHdAIdFC4v3kejs5QuS7Yc8CHd7TBS6XgPMvIRyol6
DpfLtEJgSfZLVtA6ug/I/st2RTsjWj6/MeL9myQKhDvRaIKk9NIUgTh0nqNk
nrGq4rQi2PWWN53Ve6JsYQwj4rqiTn6s6lu8BSi4YT+9+mRTg6XKwGFYlld0
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

-->

</rfc>
