<?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.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tsvwg-dtls-over-sctp-bis-07" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <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-07"/>
    <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="2023" month="October" day="23"/>
    <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
rFtPLst28uDpqCu7JTy99zzv8qsmX2UXTV6167rpspf5tmiy82K2acpum+0/
v3h5fpDhCNl51xTw7ElddU295HdWZduWdZW9bequnsFv989PLt4e7I3yy8um
uHmW4fvyOvxhVF+29bLoivbZaJZ3z7K2m4/KdfMs65pN2x09ePDdg6PR7dWz
7OL8jz//OMrhi8/C7Ebt5lK+2G3XsIKz04sfsuxeli/bGtZTVvNiXcD/VN3e
ONs7O/4e/k/dwE/vLn7YG41uimpTPBtl2VVTb9Zu4OwYPpT9XDcfy+oq+xH/
mu3TDh7A06u8XMIM8Z//Bfd2WjdXOEjZXW8un2VXy7qsNsv7vPm3RdsVzXJT
zXcewWiUb7rrunk2msAwWVm1z7Ls1TT72V7FX/OJvsqvqk2b/Am+/yw7bcpZ
29YV/qLgKa7o4WmYwn8p5KHprF65r/3XKZxYsfnr/wnjd52Owl/8r/V1NfTX
XR/9Mzw/XcmDuz54Ah+sm0XZlOFDJ8t8My9r/4dd35jxo9M1Pxp/ZVRWi7qB
GZQ3dLjvfjh5+OjhE/3x6bffyo9PHnz7UH88PHqsPz56bA88Dr/97qk++/TI
Hnj66PFT/TE8+/TJ0aNnI/j5+PX5+dnk+fHF5PXF5MEDGiDLury5KoDWf3/d
dev22f37t7e3UyDi6VW9uZkumvub9bLO5+39oweHj+8/+O7+64sPZ2/bYvbh
9PV0PV/8E4/Cd/ZdAUteAY3DcuuqzWDlWUu3FQi3KrpboOE2uwXSzGgMereF
/Spa3Caekcw0uyhm11U5y5cwLF2DMHV6TsmU35nI/5UjPb4qqlkBZ4kTyZdF
Ni+yZZ61f/134h1//Xf4RZu127b76/+1gp/m39g58dlmsAZY0fHmCq5+hovH
Pbx4d3b+4vin03jv9nTvrvPltKyaMseNg39MHhwePjg6evzd/UW5LO53Tble
FpPrvJq31/nHop3AT5NZXX8si8ls08G9gMuYf1zCrw8f4e7u+d3du6D3sxf2
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
/v3b29tpmVf5tG6u7nNYnJJP7oNUnJjIx/IIEz6znX+Y/nLdrZb3dv15cngA
FPUrzyT7Ncwve43NqH7NND3914xrMf4EP71zTlj8lzTuzX6FgTjM9KtGk8JP
6b/oaZTr8MtYf/g1O3kB//Mn+f+evH4dfXqW3cOdmeBsgvLTld2y+EN8iHuf
mbrod1Lm7SXWmPwCHSGUWW6CklJvCA43CV24htxgdrjKcczpI0IJdEIO/T6p
KJ3s+tpXEkkwKJJ/CkFoIbMJVd1sDzwR/Gec9NcUMt156Ltf9xVBv4pmYkrx
myzkkjiZ+mCWkxr0mLfkHuYyW+Z1vYOs6HQSmIwbSPySUZkLThsV/9dXoWvI
ZUVehsGP0KSY/xdR4/L0eRziLZd5HuB9HuyhxVXkIRJzdxE4UPfg3P5GAkdW
4Sk8+beQePLbydFTonK3I/uC9WdBdYCkT9AIxscNEvzgf1/mcnKrWEPYSZ9A
REqfg9uEJGo0egcAu808aRLY+ou0iZ2ivjQuiU7Cdmv9dMkR8j1lvQ87QShL
DKlf7EeUewJu7yZTmRmR59CidxKrwmkiaiXyjAh2gFoHd4S2Mnz3P49gH0ds
meeCW/SPpMzDiDRT7O1OUqV5CK1+iWyYbINa19Nc+y1rQ/23HV1rWalU6Nl3
hyhdx6aWMYTNiV+mAOnsvsaQuOqjqhuzKnqC2NP6qsnX1+VsqB7oG3Uhb4tc
0GlU9jBUvoEHcgxINVSUmMOcLVfqaZZyiXz48W7tdyxmI/ljbSxGR7ScRYsi
muJudBtn5fqaFHxY+qqec96pFYOaygY9ffQYNoxRCatV3lDpRLJ75BucColr
47QFbb4hN2W90SL5FNWGb30PvOvwu8cy/OMjrFXNms933z2Bn9UDYBF8OUgp
/F+u6IG03Rp10lkv663478tZEWzYzAK3P8f+Ls0uCHgjLNPI2a4PiVLCbwWl
LGgbB8eYl610r+eJ8j54X0bVbhD4oe2BddLT7MXFxdv7R0qahw9h+VcUQaa6
BVQYYrOKssoZUcDx8YFzICKjPZ/BOUsdmSo7enB0NLUSUkb9fBs4FsusEDvQ
NzVhZCwOpI78Vf5nPgIMllcFYTuGTluja69cvUV2EBA/lYJIXI0dEfumOe7B
xi43K3j1bfByo5tDcoqAB+/9aY+gEcPhfWtrE4plYfSiEJw5YXXtPAmK7tpv
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

-->

</rfc>
