<?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.6.22 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-westerlund-tsvwg-sctp-crypto-dtls-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="DTLS in SCTP">Datagram Transport Layer Security (DTLS) in the Stream Control Transmission Protocol (SCTP) CRYPTO Chunk</title>
    <seriesInfo name="Internet-Draft" value="draft-westerlund-tsvwg-sctp-crypto-dtls-00"/>
    <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="February" day="16"/>
    <area>Transport</area>
    <workgroup>TSVWG</workgroup>
    <abstract>
      <t>This document defines a usage of Datagram Transport Layer Security (DTLS)
1.2 or 1.3 to protect the content of Stream Control Transmission Protocol
(SCTP) packets using the framework provided by the SCTP
CRYPTO chunk which we name DTLS in SCTP. DTLS in SCTP provides
encryption, source authentication, integrity and replay protection for
the SCTP association with mutual authentication of the peers. The
specification is also targeting very long-lived sessions of weeks and
months and supports mutual re-authentication and rekeying with ephemeral
key exchange. This is intended as an alternative to using DTLS/SCTP (RFC
6083) and SCTP-AUTH (RFC 4895).</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Transport Area Working Group Working Group mailing list (tsvwg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tsvwg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/gloinul/draft-westerlund-tsvwg-sctp-crypto-dtls"/>.</t>
    </note>
  </front>
  <middle>
    <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"/>, as protection engine in the Stream Control
   Transmission Protocol (SCTP), as defined in <xref target="RFC9260"/> with SCTP
   CRYPTO chunk <xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/>.  This
   specification is intended as an alternative to DTLS/SCTP <xref target="RFC6083"/>
   and usage of SCTP-AUTH <xref target="RFC4895"/>.</t>
        <t>This specification provides mutual authentication of endpoints,
   data confidentiality, data origin authentication, data integrity
   protection, and data replay protection of SCTP packets. Ensuring
   these security services to the application and its upper layer
   protocol over SCTP.  Thus, it allows client/server applications to
   communicate in a way that is designed with communications
   privacy and preventing eavesdropping and detect tampering or
   message forgery.</t>
        <t>Applications using DTLS in SCTP can use all currently existing
   transport features provided by SCTP and its extensions. DTLS in
   SCTP supports:</t>
        <ul spacing="normal">
          <li>preservation of message boundaries.</li>
          <li>no limitation on number of unidirectional and bidirectional streams.</li>
          <li>ordered and unordered delivery of SCTP user messages.</li>
          <li>the partial reliability extension as defined in <xref target="RFC3758"/>.</li>
          <li>multi-homing of the SCTP association per <xref target="RFC9260"/>.</li>
          <li>the dynamic address reconfiguration extension as defined in
 <xref target="RFC5061"/>.</li>
          <li>User messages of any size.</li>
          <li>SCTP Packets with a protected set of chunks up to a size of
2<sup>14</sup> bytes.</li>
        </ul>
      </section>
      <section anchor="protocol-overview">
        <name>Protocol Overview</name>
        <t>DTLS in SCTP is a protection engine specification for the SCTP
   CRYPTO chunk <xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/> that
   utilizes DTLS 1.2 or 1.3 for the security functions like
   key exchange, authentication, encryption, integrity protection,
   and replay protection. The basic functionalities and how things
   are related are described below.</t>
        <t>In a SCTP association initiation where DTLS in SCTP is chosen as
   the protection engine for the CRYPTO chunk the DTLS handshake
   is exchanged encapsulated in the CRYPTO chunk until an initial
   DTLS connection has been established. If the DTLS handshake fails, the
   SCTP association is aborted. When the DTLS connection has been
   established PVALID chunks are exchanged to verify that no
   downgrade attack between different protection engines has
   occurred. To prevent manipulation, the PVALID chunks are protected
   by encapsulating them in DTLS protected CRYPTO chunks.</t>
        <t>Assuming that the PVALID validation is successful the SCTP
   association is established and the Upper Layer Protocol (ULP) can
   start sending data over the SCTP association. From this point all
   chunks will be protected by encapsulating them in DTLS protected
   CRYPTO chunks. The SCTP chunks to be included in an SCTP packet
   are input as plaint text application data input to DTLS. The
   encrypted DTLS application data record is then encapsulated in the
   CRYPTO chunk and the packet is transmitted, see <xref target="chunk-processing"/>.</t>
        <t>In the receiving SCTP endpoint each incoming SCTP packet on any of
   its interfaces and ports are matched to the SCTP association based
   on ports and VTAG in the common header. In that association context
   for the CRYPTO chunk there will exist reference to one or more DTLS
   connections used to protect the data. The DTLS connection actually
   used to protect this packet is identified by two DCI bits in the
   CRYPTO chunk's flags. Using the identified DTLS session the content
   of the CRYPTO chunk is attempted to be processed, including replay
   protection, decryption, and integrity checking. And if decryption
   and integrity verification was successful the produced plain text
   of one or more SCTP chunks are provided for normal SCTP processing
   in the identified SCTP association along with associated meta data
   such as path received on, original packet size, and ECN bits.</t>
        <t>When mutual re-authentication or rekeying with ephemeral key exchange is
   needed or desired by either endpoint a new DTLS connection handshake
   is performed between the SCTP endpoints. A different DTLS Connection
   Index (DCI) than currently used among the CRYPTO chunk flags are used to
   indicate that this is a new handshake. When the handshake has
   completed the DTLS in SCTP implementation can simply switch to use
   this DTLS connection to protect the plain text payload. After a
   short while (no longer than 2 min) to enable any outstanding
   packets to drain from the network path between the endpoints the
   old DTLS connection can be terminated.</t>
        <t>The DTLS connection is free to send any alert, handshake message, or
   other non-application data to its peer at any point in time. Thus,
   enabling DTLS 1.3 Key Updates for example.</t>
        <figure anchor="overview-layering">
          <name>DTLS in SCTP layer 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="320" width="424" viewBox="0 0 424 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
                <path d="M 8,32 L 8,288" fill="none" stroke="black"/>
                <path d="M 184,32 L 184,288" fill="none" stroke="black"/>
                <path d="M 224,160 L 224,224" fill="none" stroke="black"/>
                <path d="M 344,160 L 344,224" 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 200,96 L 216,96" fill="none" stroke="black"/>
                <path d="M 200,128 L 216,128" fill="none" stroke="black"/>
                <path d="M 8,160 L 184,160" fill="none" stroke="black"/>
                <path d="M 224,160 L 344,160" fill="none" stroke="black"/>
                <path d="M 184,176 L 216,176" fill="none" stroke="black"/>
                <path d="M 192,208 L 224,208" fill="none" stroke="black"/>
                <path d="M 8,224 L 184,224" fill="none" stroke="black"/>
                <path d="M 224,224 L 344,224" fill="none" stroke="black"/>
                <path d="M 200,256 L 216,256" fill="none" stroke="black"/>
                <path d="M 8,288 L 184,288" fill="none" stroke="black"/>
                <path d="M 184,224 L 200,256" fill="none" stroke="black"/>
                <path d="M 184,160 L 200,128" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="224,176 212,170.4 212,181.6" fill="black" transform="rotate(0,216,176)"/>
                <polygon class="arrowhead" points="208,96 196,90.4 196,101.6" fill="black" transform="rotate(180,200,96)"/>
                <polygon class="arrowhead" points="200,208 188,202.4 188,213.6" fill="black" transform="rotate(180,192,208)"/>
                <g class="text">
                  <text x="88" y="68">ULP</text>
                  <text x="244" y="100">User</text>
                  <text x="288" y="100">Level</text>
                  <text x="348" y="100">Messages</text>
                  <text x="36" y="132">SCTP</text>
                  <text x="84" y="132">Chunks</text>
                  <text x="144" y="132">Handler</text>
                  <text x="244" y="132">SCTP</text>
                  <text x="312" y="132">Unprotected</text>
                  <text x="392" y="132">Payload</text>
                  <text x="100" y="180">CRYPTO</text>
                  <text x="96" y="196">Chunk</text>
                  <text x="252" y="196">DTLS</text>
                  <text x="284" y="196">in</text>
                  <text x="316" y="196">SCTP</text>
                  <text x="96" y="212">Handler</text>
                  <text x="36" y="260">SCTP</text>
                  <text x="84" y="260">Header</text>
                  <text x="144" y="260">Handler</text>
                  <text x="244" y="260">SCTP</text>
                  <text x="304" y="260">Protected</text>
                  <text x="376" y="260">Payload</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+---------------------+
|                     |
|        ULP          |
|                     |
+---------------------+ <-- User Level Messages
|                     |
| SCTP Chunks Handler | +-- SCTP Unprotected Payload
|                     |/
+---------------------+    +--------------+
|        CRYPTO       +--->|              |
|        Chunk        |    + DTLS in SCTP +
|       Handler       |<---+              |
+---------------------+    +--------------+
|                     |\
| SCTP Header Handler | +-- SCTP Protected Payload
|                     |
+---------------------+

]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="properties-of-dtls-in-sctp">
        <name>Properties of DTLS in SCTP</name>
        <t>DTLS in SCTP has a number of properties that are attractive.</t>
        <ul spacing="normal">
          <li>Provides confidentiality, integrity protection, and source
authentication for each packet.</li>
          <li>Provides replay protection on SCTP packet level preventing
malicious replay attacks on SCTP, both protecting the data as well
as the SCTP functions themselves.</li>
          <li>Provides mutual authentication of the endpoints based on any
authentication mechanism supported by DTLS.</li>
          <li>Uses parallel DTLS connections to enable mutual re-authentication
and rekeying with ephemeral key exchange. Thus, enabling SCTP association
lifetimes without known limitations.</li>
          <li>Uses core of DTLS as it is and updates and fixes to DTLS security
properties can be implemented without further changes to this
specification.</li>
          <li>Secures all SCTP packets exchanged after SCTP association has
reached the established state. Making targeted attacks against
the SCTP protocol and implementation much harder.</li>
          <li>DTLS in SCTP results in no limitations on user message
transmission, those properties are the same as for an unprotected
SCTP association.</li>
          <li>Limited overhead on a per packet basis, with 4 bytes for the
CRYPTO chunk plus the DTLS record overhead. The DTLS
overhead is dependent on the DTLS version.</li>
          <li>Support of SCTP packet plain text payload sizes up to
2<sup>14</sup> bytes.</li>
        </ul>
        <section anchor="benefits-compared-to-dtlssctp">
          <name>Benefits Compared to DTLS/SCTP</name>
          <t>DTLS/SCTP as defined by <xref target="I-D.ietf-tsvwg-dtls-over-sctp-bis"/>
   has several important differences most to the benefit of DTLS in
   SCTP. This section reviews these differences.</t>
          <ul spacing="normal">
            <li>Replay Protection in DTLS/SCTP has some limitations due to
SCTP-AUTH <xref target="RFC4895"/> and its interaction with the SCTP implementation and
dependencies on the actual SCTP-AUTH rekeying frequency. DTLS
in SCTP relies on DTLS mechanism for replay protection that can
prevent both duplicates from being delivered as well as
preventing packets from outside the current window to be
delivered. Thus, a stronger protection especially for non-DATA
chunk are provided and protects the SCTP stack from replayed or
duplicated packets.</li>
            <li>Encryption in DTLS/SCTP is only applied to ULP data. For
DTLS in SCTP all chunk type after the association has reached
established state will be encrypted. This, makes protocol attacks
harder as a third-party attacker will have less insight into SCTP
protocol state. Also, protocol header information likes PPIDs will
also be encrypted, which makes targeted attacks harder but also
make management and debugging harder.</li>
            <li>DTLS/SCTP Rekeying is complicated and require advanced API or
user message tracking to determine when a key is no longer needed
so that it can be discarded. A DTLS/SCTP key that is prematurely
discarded can result in loss of parts of a user message and
failure of the assumptions on the transport where the sender
believes it delivered and the receiver never gets it. This
usually will result in the need to terminate the SCTP association
to restart the ULP session to avoid worse issues. DTLS in SCTP is
robust to discarding the DTLS key after having switched to a new
established DTLS connection. Any outstanding packets that have
not been decoded yet will simply be treated as lost between the
SCTP endpoints and SCTP's retransmission will retransmit any user
message data that requires it. Also, the algorithm for when to
discard a DTLS connection can be much simpler.</li>
            <li>DTLS/SCTP rekeying can put restrictions on user message sizes
unless the right APIs exist to the SCTP implementation to
determine the state of user messages. No such restriction exists
in DTLS in SCTP.</li>
            <li>By using the CRYPTO chunk that is acting on SCTP packet level
instead of user messages the consideration for extensions are
quite different. Only extensions that would affect the common
header or how packets are formed would interact with this
mechanism, any extension that just defines new chunks or
parameters for existing chunks is expected to just work and be
secured by the mechanism. DTLS/SCTP instead interact with
extensions that affects how user messages are handled.</li>
            <li>A known downside is that the defined DTLS in SCTP usage creates a
limitation on the maximum SCTP packet size that can be used of
2<sup>14</sup> bytes. If the DTLS implementation does not support
the maximum DTLS record size the maximum supported packet size
might be even lower. However, this value needs to be compared to
the supported MTU of IP, and are thus in reality often not an
actual limitation. Only for some special deployments or over
loopback may this limitation be visible.</li>
          </ul>
          <t>There are several significant differences in regard to
   implementation between the two realizations.</t>
          <ul spacing="normal">
            <li>DTLS in SCTP do requires the CRYPTO chunk to be implemented in
the SCTP stack implementation, and not as an adaptation layer
above the SCTP stack which DTLS/SCTP instead requires. This has
some extra challenges for operating system level
implementations. However, as some updates anyway will be required
to support the corrected SCTP-AUTH the implementation burden is
likely similar in this regard.</li>
            <li>
              <t>DTLS in SCTP can use a DTLS implementation that does not rely on
features from outside of the core protocol, where DTLS/SCTP
required a number of features as listed below:  </t>
              <ul spacing="normal">
                <li>DTLS Connection Index to identify which DTLS connection that
should process the DTLS record.</li>
                <li>Support for DTLS records of the maximum size of 16 KB.</li>
                <li>Optional to support negotiation of maximum DTLS record size
unless not supporting 16 KB records when it is
required. Even if implementing the negotiation,
interoperability failure may occur. DTLS in SCTP will only
require supporting DTLS record sizes that matches the
largest IP packet size that endpoint support or the SCTP
implementation.</li>
                <li>Implementation is required to support turning off the DTLS
replay protection.</li>
                <li>Implementation is required to not use DTLS Key-update
functionality. Where DTLS in SCTP is agnostic to its usage,
and it provides a useful tool to ensure that the key lifetime
never is an issue.</li>
              </ul>
            </li>
          </ul>
          <t>The conclusion of these implementation details is that where DTLS
   in SCTP can use existing DTLS implementations, including OpenSSL's
   DTLS 1.2 implementation. It is not known if any DTLS stack exist
   that fully support the requirements in DTLS/SCTP. It is
   expected that a DTLS/SCTP implementation will have to also
   extend some DTLS implementation.</t>
        </section>
      </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>DCI:</dt>
          <dd>
            <t>DTLS Connection Index</t>
          </dd>
          <dt>DTLS:</dt>
          <dd>
            <t>Datagram Transport Layer Security</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>ULP:</dt>
          <dd>
            <t>Upper Layer Protocol</t>
          </dd>
        </dl>
      </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>
    <section anchor="dtls-identification">
      <name>DTLS Identification</name>
      <t>This section identifies how the extension described in this document
is identified in the Crypto Chunk and its negotiation
<xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/>.</t>
      <section anchor="new-protection-engines-protection-engines">
        <name>New protection Engines {protection-engines}</name>
        <t>This document specifies the adoption of DTLS as protection engine
for SCTP Crypto Chunks for DTLS1.2 and DTLS1.3</t>
        <t>The following table applies.</t>
        <table anchor="dtls-protection-engines">
          <name>DTLS protection engines</name>
          <thead>
            <tr>
              <th align="right">VALUE</th>
              <th align="left">DTLS VERSION</th>
              <th align="left">REFERENCE</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">0</td>
              <td align="left">DTLS 1.2</td>
              <td align="left">RFC-To-Be</td>
            </tr>
            <tr>
              <td align="right">1</td>
              <td align="left">DTLS 1.3</td>
              <td align="left">RFC-To-Be</td>
            </tr>
          </tbody>
        </table>
        <t>The values specified above shall be used in the Protected Association
parameter as protection engines as specified in
<xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/> and are registered with
IANA below in <xref target="iana-protection-engines"/>.</t>
      </section>
    </section>
    <section anchor="dtls-usage-of-crypto-chunk">
      <name>DTLS Usage of CRYPTO Chunk</name>
      <t>DTLS in SCTP uses the CRYPTO chunk in the following way. Fields
   not discussed are used as specified in
   <xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/>.</t>
      <figure anchor="sctp-CRYPTO-chunk-structure">
        <name>CRYPTO Chunk Structure</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="528" viewBox="0 0 528 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
              <path d="M 8,64 L 8,192" fill="none" stroke="black"/>
              <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
              <path d="M 232,64 L 232,96" fill="none" stroke="black"/>
              <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
              <path d="M 264,160 L 264,192" fill="none" stroke="black"/>
              <path d="M 520,64 L 520,192" fill="none" stroke="black"/>
              <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
              <path d="M 264,160 L 520,160" fill="none" stroke="black"/>
              <path d="M 8,192 L 520,192" fill="none" stroke="black"/>
              <g class="text">
                <text x="16" y="36">0</text>
                <text x="176" y="36">1</text>
                <text x="336" y="36">2</text>
                <text x="496" y="36">3</text>
                <text x="16" y="52">0</text>
                <text x="32" y="52">1</text>
                <text x="48" y="52">2</text>
                <text x="64" y="52">3</text>
                <text x="80" y="52">4</text>
                <text x="96" y="52">5</text>
                <text x="112" y="52">6</text>
                <text x="128" y="52">7</text>
                <text x="144" y="52">8</text>
                <text x="160" y="52">9</text>
                <text x="176" y="52">0</text>
                <text x="192" y="52">1</text>
                <text x="208" y="52">2</text>
                <text x="224" y="52">3</text>
                <text x="240" y="52">4</text>
                <text x="256" y="52">5</text>
                <text x="272" y="52">6</text>
                <text x="288" y="52">7</text>
                <text x="304" y="52">8</text>
                <text x="320" y="52">9</text>
                <text x="336" y="52">0</text>
                <text x="352" y="52">1</text>
                <text x="368" y="52">2</text>
                <text x="384" y="52">3</text>
                <text x="400" y="52">4</text>
                <text x="416" y="52">5</text>
                <text x="432" y="52">6</text>
                <text x="448" y="52">7</text>
                <text x="464" y="52">8</text>
                <text x="480" y="52">9</text>
                <text x="496" y="52">0</text>
                <text x="512" y="52">1</text>
                <text x="36" y="84">Type</text>
                <text x="64" y="84">=</text>
                <text x="92" y="84">0x4x</text>
                <text x="184" y="84">Flags</text>
                <text x="248" y="84">DCI</text>
                <text x="360" y="84">Chunk</text>
                <text x="412" y="84">Length</text>
                <text x="264" y="132">Payload</text>
                <text x="384" y="180">Padding</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x4x   |   Flags   |DCI|         Chunk Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Payload                            |
|                                                               |
|                               +-------------------------------+
|                               |           Padding             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </artset>
      </figure>
      <dl newline="true">
        <dt>DCI: 2 bits (unsigned integer)</dt>
        <dd>
          <t>DTLS Connection Index is the
   lower two bits of an DTLS Connection Index counter. This is a
   counter implemented in DTLS in SCTP that is used to identify which
   DTLS connection instance that is capable of processing any received
   packet. This counter is recommended to be 64-bit to guarantee no
   lifetime issues for the SCTP Association.</t>
        </dd>
        <dt>Flags: 6 bits</dt>
        <dd>
          <t>Chunk Flag bits not currently used by DTLS in SCTP. They
   MUST be set to zero (0) and MUST be ignored on reception. They may
   be used in future updated specifications for DTLS in SCTP.</t>
        </dd>
        <dt>Payload: variable length</dt>
        <dd>
          <t>One or more DTLS records. In cases more
   than one DTLS record is included all DTLS records except the last
   MUST include a length field. Note that this matches what is specified in
   DTLS 1.3 <xref target="RFC9147"/> and DTLS 1.2 will always include the length
   field in each record.</t>
        </dd>
      </dl>
    </section>
    <section anchor="crypto-chunk-integration">
      <name>Crypto Chunk Integration</name>
      <t>There are a set of requirements stated in <xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/> that
need to be addressed in this specification, this section deals with those
requirements and how they are met in the current specification.</t>
      <section anchor="state-machine">
        <name>State Machine</name>
        <t>The CRYPTO Chunk allows the protection engine to have inband or
out-of-band key establishment. DTLS in SCTP uses inband key
establishment, thus the DTLS handshake establishes shared keys with the
remote peer. As soon as the SCTP State Machine enters PROTECTION
PENDING state, DTLS is responsible for progressing to the PROTECTED
state when DTLS handshake has completed. The DCI counter is
initialized to the value zero that is used for the initial DTLS
handshake.</t>
        <section anchor="protection-pending-state">
          <name>PROTECTION PENDING state</name>
          <t>When entering PROTECTION PENDING state, DTLS will start the handshake
according to <xref target="dtls-handshake"/>.</t>
          <t>DTLS protection engine being initialized for a new SCTP association
will set the DCI counter = 0, which implies a DCI field value of 0,
for the initial DTLS connection.  CRYPTO chunk handler in this state
will put DTLS records in CRYPTO chunks and deliver to the remote peer.</t>
          <t>When a successful handshake has been completed, DTLS protection engine
will inform CRYPTO chunk Handler that will move SCTP State Machine
into PROTECTED state.</t>
        </section>
        <section anchor="protected-state">
          <name>PROTECTED state</name>
          <t>In the PROTECTED state the currently active DTLS connection is used
for protection operation of the payload of SCTP chunks in each packet
per below specification.  When necessary to meet requirements on
periodic re-authentication of the peer and establishment of new
forward secrecy keys a new parallel DTSL connection is established as
further specified in <xref target="parallel-dtls"/>.</t>
        </section>
        <section anchor="shutdown-states">
          <name>SHUTDOWN states</name>
          <t>When the SCTP association leaves the ESTABLISHED state per <xref target="RFC9260"/>
to be shutdown the DTLS connection is kept and continues to protect
the SCTP packet payloads through the shutdown process.
Even new DTLS connections can be established if necessary to maintain
the protection of the SCTP packet. Although it is recommended to avoid
establishing new DTLS connection if not necessary to be able to
conclude the shutdown process.</t>
          <t>When the association reaches the CLOSED state as part of the SCTP
association closing process all DTLS connections that existed are
terminated without further transmissions, i.e. DTLS close_notify is
not transmitted.</t>
        </section>
      </section>
      <section anchor="dtls-connection-handling">
        <name>DTLS Connection Handling</name>
        <t>It's up to DTLS protection engine to manage the DTLS connections and
their related DCI.</t>
        <section anchor="add-dtls-connection">
          <name>Add a New DTLS Connection</name>
          <t>Either peer can add a new DTLS connection to the SCTP association at
any time, but no more than 2 DTLS connections can exist at the same
time.  The new DCI value shall be the last active DCI increased by one
modulo 4, this makes the attempt to create a new DTLS connection to
use the same, known, value of DCI from both peers.  A new handshake
will be initiated by DTLS using the new DCI.  Details of the handshake
are described in <xref target="dtls-handshake"/>.</t>
          <t>As either endpoint can initiate a DTLS handshake 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
previous DTLS connection shall be continued to be processed and the
other dropped.</t>
          <t>When the handshake has been completed successfully, the new DTLS
connection will be possible to use for traffic, if the handshake is
not completed successfully, the new DCI value will not be considered
and a next attempt will reuse that DCI.</t>
        </section>
        <section anchor="remove-dtls-connection">
          <name>Remove an existing DTLS Connection</name>
          <t>Either peers can initialize the removal of a DTLS connection from the
current SCTP association when it is no longer the active one, i.e. when a
newer DTLS connection is in use. It is RECOMMENDED to not initiate
removal until at least one SCTP packet protected by the new DTLS
connection has been received, and any transmitted packets protected
using the new DTLS connection has been acknowledge, alternatively one
Maximum Segment Lifetime (120 seconds) has passed since the last SCTP
packet protected by the old DTLS connection was transmitted.</t>
          <t>The closing of the DTLS connection when the SCTP association is in
PROTECTED and ESTABLISHED state is done by having the DTLS connection
send a DTLS close_notify. Note the difference in process for DTLS 1.2
and DTLS 1.3. Where sending the DTLS 1.2 close_notify will trigger an
immediate close also in the peer. Which is why it is recommended to
ensure that one have received packets from the peer using the new DTLS
connection.</t>
          <t>When DTLS closure for a DTLS connection is completed, the related DCI is
released in the DTLS protection engine.</t>
        </section>
      </section>
      <section anchor="error-cases">
        <name>Error Cases</name>
        <t>As DTLS has its own error reporting mechanism by exchanging DTLS alert
messages no new DTLS related cause codes are defined to use the error
handling defined in <xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/>.</t>
        <t>When DTLS encounters an error it may report that issue using DTLS
alert message to its peer by putting the created DTLS record in a
CRYPTO chunk and issuing an SCTP packet. This is independent of what
to do in relation to the SCTP association.  Depending on the severance
of the error different paths can be the result:</t>
        <dl>
          <dt>Non-critical:</dt>
          <dd>
            <t>the DTLS connection can continue to protect
   the SCTP association. In this case the issue may be worth reporting
   to the peer using a DTLS alert message, but otherwise continue
   without further action.</t>
          </dd>
          <dt>Critical, but recoverable:</dt>
          <dd>
            <t>In cases the DTLS connection fails fatally but it is not ensured
   that the issue will persist the protection engine SHOULD attempt to
   establish a new DTLS connection. If the DTLS handshake fails in the
   end the SCTP association will time out as the SCTP higher layer
   during this period is unable to pass any packets acknowledging a
   working path.</t>
          </dd>
          <dt>Critical, non-recoverable but not immediately fatal:</dt>
          <dd>
            <t>If the
   error requires termination of the SCTP association but allows for
   sending some additional SCTP packets. Then this critical issue MUST be
   reported to the SCTP association so that it can send an ERROR chunk
   with the Error in Protection cause code without any extra cause
   code, combined with an ABORT chunk. This will terminate the SCTP
   association immediately, provide ULP with notification of the failure
   and speeding up any higher layer management of the failure.</t>
          </dd>
          <dt>Critical, non-recoverable and immediately fatal:</dt>
          <dd>
            <t>If the DTLS connection fails so that no further data can be
   protected (i.e. either sent or received) with maintained security
   and establishing a new DTLS connection will not address the failure
   then the protection engine will have to indicate this to the SCTP
   implementation so it can perform a one sides SCTP association
   termination. This will lead to an eventual SCTP association timeout
   in the peer.</t>
          </dd>
        </dl>
      </section>
    </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 in 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="configuration-of-dtls">
        <name>Configuration of DTLS</name>
        <section anchor="general">
          <name>General</name>
          <t>The DTLS Connection ID SHALL NOT be included in the DTLS records as
   it is not needed, the CRYPTO chunk indicates which DTLS connection
   the DTLS records are intended for using the DCI bits. Avoiding
   overhead and addition implementation requirements on DTLS
   implementation.</t>
          <t>The DTLS record length field is normally not needed as the CRYPTO
   Chunk provides a length field unless multiple records are put in
   same chunk payload. If multiple DTLS records are included in one
   CRYPTO chunk payload the DTLS record length field MUST be present
   in all but the last.</t>
          <t>DTLS record replay detection MUST be used.</t>
          <t>Sequence number size can be adapted based on how quickly it wraps.</t>
          <t>Many of the TLS registries have a "Recommended" column. Parameters
   not marked as "Y" are NOT RECOMMENDED to support in DTLS in
   SCTP. Non-AEAD cipher suites or cipher suites without
   confidentiality MUST NOT be supported. Cipher suites and parameters
   that do not provide ephemeral key exchange MUST NOT be supported.</t>
        </section>
        <section anchor="authentication-and-policy-decisions">
          <name>Authentication and Policy Decisions</name>
          <t>DTLS in 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 in SCTP MUST perform identity authentication. It is
RECOMMENDED that DTLS in SCTP is used with certificate-based
authentication. When certificates are used the application using DTLS
in 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 in SCTP defines 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="I-D.ietf-uta-rfc6125bis"/>. DTLS in 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="new-connections">
          <name>New Connections</name>
          <t>Implementations MUST set up new DTLS 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.</t>
          <t>To force attackers to do dynamic key exfiltration and limits the
amount of compromised data due to key compromise implementations MUST
have policies for how often to set up new connections with ephemeral
key exchange such as ECDHE. Implementations SHOULD set up new
connections frequently to force attackers to dynamic key
extraction. E.g., at least every hour and every 100 GB of data which
is a common policy for IPsec <xref target="ANSSI-DAT-NT-003"/>. See
<xref target="I-D.ietf-tls-rfc8446bis"/> for a more detailed discussion on key
compromise and key exfiltration in (D)TLS.</t>
          <t>For many DTLS in 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 by setting up new connections. TLS Certificate
lifetimes significantly shorter than a year are common which is
shorter than many expected SCTP associations protected by DTLS in
SCTP.</t>
        </section>
        <section anchor="padding-of-dtls-records">
          <name>Padding of DTLS Records</name>
          <t>Both SCTP and DTLS contains mechanisms to padd SCTP payloads, and DTLS
records respectively. If padding of SCTP packets are desired to hide
actual message sizes it RECOMMEDED to use the SCTP Padding Chunck
<xref target="RFC4820"/> to generate a consisted SCTP payload size. Support of this
chunk is only required on the sender side. However, if the PAD chunk
is not supported DTLS padding MAY be used.</t>
          <t>It needs to be noted that independent if SCTP padding or DTLS padding
is used the padding is not taken into account by the SCTP congestion
control. Extensive use of padding has potential for worsen congestion
situations as the SCTP association will consume more bandwidth than
its derived share by the congestion control.</t>
          <t>The use of SCTP PAD chunk is recommened as it at least can enable
future extension or SCTP implementation that account also for the
padding. Use of DTLS padding hides this packet expansion from SCTP.</t>
        </section>
        <section anchor="dtls-12">
          <name>DTLS 1.2</name>
          <t>The updates in Section 13 <xref target="RFC9147"/> SHALL be followed for DTLS
1.2. 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.</t>
          <t>The AEAD limits in DTLS 1.3 are equally valid for DTLS 1.2 and SHOULD
be followed for DTLS in SCTP, but are not mandated by the DTLS 1.2
specification.</t>
          <t>Use of renegotiation is NOT RECOMMNEDED as it is disables in many
implementations and does not provide any benefits in DTLS in SCTP
compared to setting up a new connection. Resumption MAY be used but
does not provide ephemeral key exchange as in DTLS 1.3</t>
        </section>
        <section anchor="dtls-13">
          <name>DTLS 1.3</name>
          <t>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. Implementations MAY setup a new DTLS connection instead
of using key update.</t>
          <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>
          <t>The PSK key exchange mode psk_ke MUST NOT be used as it does not
provide ephemeral key exchange.</t>
        </section>
      </section>
    </section>
    <section anchor="establishing-dtls-in-sctp">
      <name>Establishing DTLS in SCTP</name>
      <t>This section specifies how DTLS in SCTP is established after
   Protected Association Parameter with DTLS 1.2 or DTLS 1.3 as
   protection engine has been negotiated in the Init and Init-ACK
   exchange per <xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/>.</t>
      <section anchor="dtls-handshake">
        <name>DTLS Handshake</name>
        <t>As soon the SCTP Association has entered the SCTP state PROTECTION
   PENDING as defined by <xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/>
   the DTLS handshake procedure is initiated by the endpoint that
   has initiated the SCTP association.</t>
        <t>The DTLS endpoint needs if necessary fragment the handshake into
   multiple records each meeting the known MTU limit of the path
   between SCTP endpoints. Each DTLS handshake message fragment is
   encapsulated in a CRYPTO chunk. The DTLS instance SHALL use
   DTLS retransmission to repair any packet losses of handshake
   message fragment.</t>
        <t>Both SCTP endpoints SHALL perform authentication of the peer
   endpoint. This may require exchange or input from the ULP
   application for what peer identity that is accepted.</t>
        <t>If the DTLS handshake is successful in establishing a security
   context to protect further communication and the peer identity is
   accepted then the SCTP association is informed that it can
   move to the PROTECTED state.</t>
        <t>If the DTLS handshake failed the SCTP association SHALL be aborted
   and an ERROR chunk with the Error in Protection error cause, with
   the appropriate extra error causes is generated, the right
   selection of "Error During Protection Handshake" or "Timeout During
   Protection Handshake or Validation".</t>
      </section>
      <section anchor="validation-against-downgrade-attacks">
        <name>Validation Against Downgrade Attacks</name>
        <t>When the SCTP association has entered the PROTECTED state after the
   DTLS handshake has completed, the protection against downgrade in
   the negotiation of protection engine is performed per
   <xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/>. The PVALID chunk will
   sent inside a CRYPTO chunk protecting the plain text chunk as
   defined in <xref target="chunk-processing"/>.</t>
        <t>If the validation completes successful the SCTP association will
   enter ESTABLISHED state. ULP data exchanges can now happen and
   will be protected together will all other SCTP packets.</t>
      </section>
    </section>
    <section anchor="chunk-processing">
      <name>Processing a CRYPTO Chunk</name>
      <section anchor="sending">
        <name>Sending</name>
        <t>CRYPTO chunk sending happens either when DTLS needs to send its own
data directly to the DTLS peer i.e. due to handshaking or when SCTP
requires transferring control or DATA chunk to the remote SCTP Endpoint.
For a proper handling, DCI shall be set to an established instance
of DTLS connection.</t>
        <section anchor="dtls-signaling">
          <name>DTLS Signaling</name>
          <t>DTLS shall transfer DTLS records to SCTP Header Handler as array of
bytes. Each array has maximum size equal to the maximum size of SCTP
payload as computed by SCTP minus the size of the CRYPTO chunk header.
Each array shall contain one or more DTLS records, this is up to DTLS.
From SCTP perspective each array is opaque data and will be used as
payload of one CRYPTO chunk.</t>
        </section>
        <section anchor="sctp-payload">
          <name>SCTP Payload</name>
          <t>SCTP Chunk handler will create the payload of a legacy SCTP packet
according to <xref target="RFC9260"/>. Such payload will assume a PMTU that is
equal to the value computed by SCTP minus the size of the CRYPTO Chunk
header and DTLS record and authentication tag overhead. It's up to
SCTP Chunk Handler to implement all the SCTP rules for bundling and
retransmission mechanism.  Once ready, the payload will be
transferred to DTLS as a single array of bytes.</t>
          <t>Once DTLS has created the related DTLS record (or DTLS records), it
will transfer the encrypted data as an array of bytes to CRYPTO chunk
handler for encapsulation into a CRYPTO chunk and being forwarded to
the SCTP header handler for transmission.</t>
          <t>The interface between SCTP and DTLS related to SCTP Payload will need
to carefully evaluate the PMTU as seen by SCTP and DTLS so that each
payload generated by SCTP Chunk Handler will not cause the finished
SCTP packet to exceed the known path MTU unless it is a Path MTUD
discovery packet.</t>
        </section>
      </section>
      <section anchor="receiving">
        <name>Receiving</name>
        <t>When receiving an SCTP packet containing a CRYPTO Chunk it may
be part of the DTLS signaling or SCTP signaling. Since there's at most
one CRYPTO Chunk per SCTP packet, the payload of that chunk will
be transferred to the proper DTLS instance according to DCI for
decryption and processing.</t>
        <t>As discussed in CRYPTO Chunk specification when receiving packets
certain meta data will be needed to associate with the protected
CRYPTO chunk payload for SCTP to correctly process it. This includes
packet size, source IP and arrival interface, i.e. path information,
ECN bits.</t>
        <section anchor="dtls-signaling-1">
          <name>DTLS Signaling</name>
          <t>The payload contains a DTLS record that is addressed to DTLS,
e.g. handshaking, DTLS will handle it and behave according. If there
are no DTLS connection state for this DCI the DTLS will have to treat
this as incoming to a DTLS server accepting new connection.</t>
        </section>
        <section anchor="sctp-signaling">
          <name>SCTP Signaling</name>
          <t>When DTLS processes a DTLS record with decryption and integrity
verification and that contains application data, it will output the
data as an array of bytes and transfer it back to the CRYPTO Handler
that delivers it for SCTP chunk handling.</t>
          <t>SCTP Chunk handler will threat the array as the payload of an SCTP
packet, thus it will extract all the chunks and handle them according
to <xref target="RFC9260"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="parallel-dtls">
      <name>Parallel DTLS Rekeying</name>
      <t>Rekeying in this specification is implemented by replacing the DTLS connection
getting old with a new one. This feature exploits the capability of parallel
DTLS connections and the possibility to add and remove DTLS connections
during the lifetime of the SCTP Association.</t>
      <section anchor="criteria-for-rekeying">
        <name>Criteria for Rekeying</name>
        <t>The criteria for rekeying may vary depending on the ULP requirement on
security properties, chosen cipher suits etc. Therefore it is assumed
that the implementation will be configurable by the ULP to meet its demand.</t>
        <t>Likely criteria to impact the need for rekeying through the usage of
new DTLS connection are:</t>
        <ul spacing="normal">
          <li>Maximum time since last authentication of the peer</li>
          <li>Amount of data transferred since last forward secrecy preserving
rekeying</li>
          <li>The cipher suit's maximum key usage being reached. Although for
DTLS 1.3 usage of the Key Update mechanism can generate new keys
without forward secrecy properties.</li>
        </ul>
      </section>
      <section anchor="procedure-for-rekeying">
        <name>Procedure for Rekeying</name>
        <t>This specification allows up to 2 DTLS connection to be active at the same
time for the current SCTP Association.
The following state machine applies.</t>
        <figure anchor="dtls-rekeying-state-diagram">
          <name>State Diagram for Rekeying</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="560" width="472" viewBox="0 0 472 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
                <path d="M 8,48 L 8,528" fill="none" stroke="black"/>
                <path d="M 96,32 L 96,64" fill="none" stroke="black"/>
                <path d="M 96,144 L 96,176" fill="none" stroke="black"/>
                <path d="M 96,240 L 96,272" fill="none" stroke="black"/>
                <path d="M 96,336 L 96,368" fill="none" stroke="black"/>
                <path d="M 96,448 L 96,480" fill="none" stroke="black"/>
                <path d="M 136,64 L 136,136" fill="none" stroke="black"/>
                <path d="M 136,176 L 136,232" fill="none" stroke="black"/>
                <path d="M 136,272 L 136,328" fill="none" stroke="black"/>
                <path d="M 136,368 L 136,440" fill="none" stroke="black"/>
                <path d="M 136,480 L 136,528" fill="none" stroke="black"/>
                <path d="M 176,32 L 176,64" fill="none" stroke="black"/>
                <path d="M 176,144 L 176,176" fill="none" stroke="black"/>
                <path d="M 176,240 L 176,272" fill="none" stroke="black"/>
                <path d="M 176,336 L 176,368" fill="none" stroke="black"/>
                <path d="M 176,448 L 176,480" fill="none" stroke="black"/>
                <path d="M 96,32 L 176,32" fill="none" stroke="black"/>
                <path d="M 8,48 L 88,48" fill="none" stroke="black"/>
                <path d="M 96,64 L 176,64" fill="none" stroke="black"/>
                <path d="M 96,144 L 176,144" fill="none" stroke="black"/>
                <path d="M 96,176 L 176,176" fill="none" stroke="black"/>
                <path d="M 96,240 L 176,240" fill="none" stroke="black"/>
                <path d="M 96,272 L 176,272" fill="none" stroke="black"/>
                <path d="M 96,336 L 176,336" fill="none" stroke="black"/>
                <path d="M 96,368 L 176,368" fill="none" stroke="black"/>
                <path d="M 96,448 L 176,448" fill="none" stroke="black"/>
                <path d="M 96,480 L 176,480" fill="none" stroke="black"/>
                <path d="M 8,528 L 136,528" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="144,440 132,434.4 132,445.6" fill="black" transform="rotate(90,136,440)"/>
                <polygon class="arrowhead" points="144,328 132,322.4 132,333.6" fill="black" transform="rotate(90,136,328)"/>
                <polygon class="arrowhead" points="144,232 132,226.4 132,237.6" fill="black" transform="rotate(90,136,232)"/>
                <polygon class="arrowhead" points="144,136 132,130.4 132,141.6" fill="black" transform="rotate(90,136,136)"/>
                <polygon class="arrowhead" points="96,48 84,42.4 84,53.6" fill="black" transform="rotate(0,88,48)"/>
                <g class="text">
                  <text x="136" y="52">YOUNG</text>
                  <text x="224" y="52">There's</text>
                  <text x="276" y="52">only</text>
                  <text x="312" y="52">one</text>
                  <text x="212" y="68">DTLS</text>
                  <text x="276" y="68">connection</text>
                  <text x="344" y="68">until</text>
                  <text x="216" y="84">aging</text>
                  <text x="276" y="84">criteria</text>
                  <text x="328" y="84">are</text>
                  <text x="360" y="84">met</text>
                  <text x="96" y="116">AGING</text>
                  <text x="180" y="116">REMOTE</text>
                  <text x="232" y="116">AGING</text>
                  <text x="132" y="164">AGED</text>
                  <text x="212" y="164">When</text>
                  <text x="244" y="164">in</text>
                  <text x="276" y="164">AGED</text>
                  <text x="320" y="164">state</text>
                  <text x="352" y="164">a</text>
                  <text x="208" y="180">new</text>
                  <text x="244" y="180">DTLS</text>
                  <text x="308" y="180">connection</text>
                  <text x="204" y="196">is</text>
                  <text x="240" y="196">added</text>
                  <text x="284" y="196">with</text>
                  <text x="312" y="196">a</text>
                  <text x="336" y="196">new</text>
                  <text x="368" y="196">DCI</text>
                  <text x="72" y="212">NEW</text>
                  <text x="108" y="212">DTLS</text>
                  <text x="136" y="260">OLD</text>
                  <text x="204" y="260">In</text>
                  <text x="232" y="260">OLD</text>
                  <text x="272" y="260">state</text>
                  <text x="320" y="260">there</text>
                  <text x="208" y="276">are</text>
                  <text x="232" y="276">2</text>
                  <text x="268" y="276">active</text>
                  <text x="316" y="276">DTLS</text>
                  <text x="384" y="276">connections</text>
                  <text x="224" y="292">Traffic</text>
                  <text x="268" y="292">is</text>
                  <text x="316" y="292">switched</text>
                  <text x="364" y="292">to</text>
                  <text x="392" y="292">the</text>
                  <text x="424" y="292">new</text>
                  <text x="456" y="292">one</text>
                  <text x="84" y="308">SWITCH</text>
                  <text x="136" y="356">DRAIN</text>
                  <text x="208" y="356">The</text>
                  <text x="244" y="356">aged</text>
                  <text x="284" y="356">DTLS</text>
                  <text x="348" y="356">connection</text>
                  <text x="204" y="372">is</text>
                  <text x="248" y="372">drained</text>
                  <text x="308" y="372">before</text>
                  <text x="360" y="372">being</text>
                  <text x="408" y="372">ready</text>
                  <text x="204" y="388">to</text>
                  <text x="228" y="388">be</text>
                  <text x="268" y="388">closed</text>
                  <text x="96" y="420">DRAINED</text>
                  <text x="164" y="420">DTLS</text>
                  <text x="236" y="420">close_notify</text>
                  <text x="132" y="468">DEAD</text>
                  <text x="204" y="468">In</text>
                  <text x="236" y="468">DEAD</text>
                  <text x="280" y="468">state</text>
                  <text x="320" y="468">the</text>
                  <text x="356" y="468">aged</text>
                  <text x="236" y="484">connection</text>
                  <text x="292" y="484">is</text>
                  <text x="332" y="484">closed</text>
                  <text x="88" y="516">REMOVED</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
           +---------+
+--------->|  YOUNG  |  There's only one
|          +----+----+  DTLS connection until
|               |       aging criteria are met
|               |
|        AGING  |  REMOTE AGING
|               V
|          +---------+
|          |  AGED   |  When in AGED state a
|          +----+----+  new DTLS connection
|               |       is added with a new DCI
|      NEW DTLS |
|               V
|          +---------+
|          |   OLD   |  In OLD state there
|          +----+----+  are 2 active DTLS connections
|               |       Traffic is switched to the new one
|      SWITCH   |
|               V
|          +---------+
|          |  DRAIN  |  The aged DTLS connection
|          +----+----+  is drained before being ready
|               |       to be closed
|               |
|       DRAINED | DTLS close_notify
|               V
|          +---------+
|          |  DEAD   |  In DEAD state the aged
|          +----+----+  connection is closed
|               |
|      REMOVED  |
+---------------+

]]></artwork>
          </artset>
        </figure>
        <t>Trigger for rekeying can either be a local AGING event, triggered by
the DTLS connection meeting the criteria for rekeying, or a REMOTE AGING
event, triggered by receiving a DTLS record on the DCI that would be
used for new DTLS connection. In such case a new DTLS connection
shall be added according to <xref target="add-dtls-connection"/> with a new DCI.</t>
        <t>As soon as the new DTLS connection completes handshaking, the traffic is moved
from the old one, then the procedure for closing the old DTLS connection is
initiated, see <xref target="remove-dtls-connection"/>.</t>
      </section>
      <section anchor="race-condition-in-rekeying">
        <name>Race Condition in Rekeying</name>
        <t>A race condition may happen when both peer experience local AGING event at
the same time and start creation of a new DTLS connection.</t>
        <t>Since the criteria for calculating a new DCI is known and specified in
<xref target="add-dtls-connection"/>, the peers will use the same DCI for
identifying the new DTLS connection. And the race condition is solved
as specified in <xref target="add-dtls-connection"/>.</t>
      </section>
    </section>
    <section anchor="pmtu-discovery-considerations">
      <name>PMTU Discovery Considerations</name>
      <t>Due to the DTLS record limitation for application data SCTP MUST use
2<sup>14</sup> as input to determine absolute maximum MTU when running
PMTUD and using DTLS in SCTP as protection engine.</t>
      <t>The DTLS protection engine MUST provide its maximum overhead for DTLS
records and authentication tags when protecting the SCTP payload. This
so that SCTP PMTUD can take this into consideration and ensure that
produced packets that are not PMTUD probes does not become oversized.
This may require updating during the SCTP associations lifetime due to
future handshakes affecting cipher suit in use, or changes to record layer
configurations.</t>
      <t>DTLS protection engine is RECOMMENED to be provided with known path
MTU from SCTP so that it can operate its signaling message safely.
As the used MTU for the DTLS signaling will be DTLS responsibility.</t>
      <t>Note that this implies that DTLS protection engine is expected to
accept application data payloads of potentially larger sizes than what
it configured to use for messages the DTLS implementation generates
itself for signaling.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="general-1">
        <name>General</name>
        <t>The security considerations given in <xref target="RFC9147"/>, <xref target="RFC6347"/>, and
<xref target="RFC9260"/> also apply to this document. BCP 195 <xref target="RFC9325"/>
          <xref target="RFC8996"/> provides recommendations and requirements for improving
the security of deployed services that use DTLS. BCP 195 MUST be
followed which implies that DTLS 1.0 SHALL NOT be supported and are
therefore not defined.</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>Although DTLS in SCTP provides privacy for the actual user message as
well as almost all chunks, some fields are not confidentiality
protected.  In addition to the DTLS record header, the SCTP common
header and the CRYPTO chunk header are not confidentiality
protected. An attacker can correlate DTLS connections over the same
SCTP association using the SCTP common header.</t>
        <t>To provide identity protection it is RECOMMENDED that DTLS in SCTP is
used with certificate-based authentication in DTLS 1.3 <xref target="RFC9147"/> and
to not reuse tickets.  DTLS 1.2 and DTLS 1.3 with external PSK
authentication does not provide identity protection.</t>
        <t>By mandating ephemeral key exchange and cipher suites with
confidentiality DTLS in SCTP effectively mitigate many forms of
passive pervasive monitoring.  By recommending implementations to
frequently set up new DTLS connections with (EC)DHE force attackers to
do dynamic key exfiltration and limits the amount of compromised data
due to key compromise.</t>
      </section>
    </section>
    <section anchor="iana-consideration">
      <name>IANA Consideration</name>
      <t>This document adds the two new entries listed in
<xref target="dtls-protection-engines"/> into the "CRYPTO Chunk Protection
Engine Identifiers" registry in the Stream Control Transmission
Protocol (SCTP) Parameters grouping.</t>
      <section anchor="iana-protection-engines">
        <name>Protection Engine Registration</name>
        <t>IANA is requested to register two Protection Engine Identifiers in the
"CRYPTO Chunk Protection Engine Identifiers" registry defined by
<xref target="I-D.westerlund-tsvwg-sctp-crypto-chunk"/>. The entries to be
registered are provided in <xref target="iana-protection-engines-table"/>.</t>
        <table anchor="iana-protection-engines-table">
          <name>CRYPTO Chunk protection engines</name>
          <thead>
            <tr>
              <th align="right">ID VALUE</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
              <th align="left">Contact</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">0</td>
              <td align="left">DTLS 1.2</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
            <tr>
              <td align="right">1</td>
              <td align="left">DTLS 1.3</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC4820" target="https://www.rfc-editor.org/info/rfc4820" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4820.xml">
          <front>
            <title>Padding Chunk and Parameter 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"/>
            <date month="March" year="2007"/>
            <abstract>
              <t>This document defines a padding chunk and a padding parameter and describes the required receiver side procedures.  The padding chunk is used to pad a Stream Control Transmission Protocol (SCTP) packet to an arbitrary size.  The padding parameter is used to pad an SCTP INIT chunk to an arbitrary size. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4820"/>
          <seriesInfo name="DOI" value="10.17487/RFC4820"/>
        </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="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>
        <reference anchor="I-D.westerlund-tsvwg-sctp-crypto-chunk" target="https://datatracker.ietf.org">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) CRYPTO chunk</title>
            <author initials="M." surname="Westerlund" fullname="Magnus Westerlund">
              <organization>Ericsson</organization>
            </author>
            <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author initials="C." surname="Porfiri" fullname="Claudio Porfiri">
              <organization>Ericsson</organization>
            </author>
            <date year="2022" month="December"/>
          </front>
        </reference>
        <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="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>
      </references>
      <references>
        <name>Informative References</name>
        <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="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="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="RFC9325" target="https://www.rfc-editor.org/info/rfc9325" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9325.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="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
        <reference anchor="I-D.ietf-tls-rfc8446bis" target="https://www.ietf.org/archive/id/draft-ietf-tls-rfc8446bis-05.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-rfc8446bis.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Mozilla</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery. This document updates RFCs 5705, 6066, 7627, and 8422 and obsoletes RFCs 5077, 5246, 6961, and 8446. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8446bis-05"/>
        </reference>
        <reference anchor="I-D.ietf-tsvwg-dtls-over-sctp-bis" target="https://www.ietf.org/archive/id/draft-ietf-tsvwg-dtls-over-sctp-bis-05.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tsvwg-dtls-over-sctp-bis.xml">
          <front>
            <title>Datagram Transport Layer Security (DTLS) over Stream Control Transmission Protocol (SCTP)</title>
            <author fullname="Magnus Westerlund" initials="M." surname="Westerlund">
              <organization>Ericsson</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Claudio Porfiri" initials="C." surname="Porfiri">
              <organization>Ericsson</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <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. DTLS over SCTP provides mutual authentication, confidentiality, integrity protection, and 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. 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 kB 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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-dtls-over-sctp-bis-05"/>
        </reference>
        <reference anchor="I-D.ietf-uta-rfc6125bis" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-uta-rfc6125bis.xml">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="Peter Saint-Andre" initials="P." surname="Saint-Andre">
              <organization>independent</organization>
            </author>
            <author fullname="Rich Salz" initials="R." surname="Salz">
              <organization>Akamai Technologies</organization>
            </author>
            <date day="25" month="January" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure Using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions. This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-uta-rfc6125bis-10"/>
        </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>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
3CsiGcBEDFFC884LOxmlw0CYwGnyEteRzc4sByE/ytmf250LxnlYxwTGDiey
3Tq7b2N8DWtXrx0Rv/RIKOWitygtElWY86BBR9wA4OOD0aa5cQBnXCZx1rTm
YfLCrAjL18GbS4byJiVvPWEHNnXWYyewMQjmT5i8J/5tRUdx1tDIpGv5hCMJ
HRIhijOD9KLDq0Pf77e7tnpsgsaJcnzyvWZy606qie0zyrCxoilp9pFVcXWq
SLhE/RSRKmp23SVo0FlJwKO/eVSLeEaBNr1/bHBVGvYbbpqMrnqVPtYksvlD
JNSo7SvZ8rrrYUNYKV1h552QeC8aDs29KSppxaCvjLKZ5BbYJFgE70ocn6PL
XHWDUpVYhBWgcATqu6Gka/F+snLDg6MfcZv9vderw6rcsF+U+CQoIsfJI6VE
iqnZ28n3yyXcdC2q+2d3GtdGstZkQ2LS0jpb3oWkNGyE4K+lTy97qlvn15kY
W3LSZek5KmeiDyTRQXHp2q87Dm4lJh3rzf0saUgkM2O9p8vWwY1NvhQ3BIc1
Eqi9246YifGzpi8lkLTopRCE7bhIrQv6zqdvJWkyl3K9CDYLlxgRO7ufiS92
EXtPsd/udqIBrSBGazy6sOAmgMTDQbPkRxjzTqT4SOiQtXu9GVqvqMMAQzQ3
Li9ErkSxh/JB/CXYtfqKxxdFs/9G2glw6MZAK0cZDhoCVUxcu+c51ugDBGAY
KDs5D8GNPBnrVpZgbHNPWYeop1hPCEoXWsGwioQ2smZhI3EazZnGZM/HmGTJ
0pwJj7OAlCUmmoSlg9j298PSyUGyLUP3p+KSJFFQ7q2DLfHnxwmG3moKetnd
hlS+KbdpS7GRv107Lu9RljUhC7kMCX2eYVk+g0F5unm47ROgfq0VbNxX5C/D
27+SgCtJRmQsmWdDnsMXG3j1ZuHSAZmISrZ1zcDkijgT1WtTtoO1jpXrpETC
cwG1byLoe5vwQiOPLYtgD01RKyitADm/XclsHFryQpEWtFmt1919Zedkeqa1
x0R85T70nNS2ZFzQ7BDO9myToCX3LMxLoWaOTYHlq0Y7UiBLCBZkGM2S4FLo
KSF+FRyTBfqyiN+YvWcdn4SpzRI3BwwJtJqw2w5TfSo+mYXjgK6epZYPNVwV
X9XjIm/S6TmUglcjw8EbxkZVB3TXTkIPkftC7pYndsX4zfFaNg3HmRShRA0g
46v6tKp8CBg69wEi2n2mSXQJOZusWRfAeHBXMSUucY/3vttyRm6ym3HTgMrt
C7z8cGmqoSCfMCzOrZRuPsRyDA+DTkFMObv0iO4aYcwmJ61DgnihUlGFdcTS
Aku3JIkPJniDNkOCJvDpxmNHMtBBSM2PLi21W8I+Poi7zSSJv0BsqjEZmf9B
88DF3URNQJjMvpYQChZCSx4k4g9wQKFXuVsBw3dlLcku3ECwkItLrKVOMkqq
Ml8G5avxC4i5uV54Ri6J4WvJjqKIKR+k1BAATgJCZnT4CiGp2w6/sggHuo1u
0I2XDws90aYLwngpVV1ripPd9zmDQ64pCuwTnsGm6pZBsp7KP1In8yAJeKKZ
exCl5CK9O1uM9kjiADHG6mDPr/nKDtscK4CZXJFEWR/RfsNGP1rMk0xFZIBd
vZAbP7TynsDPRfXc0mS3f45fPLRUKL64K5CEwTDDHk2Uud/cFHpfcWPHSIPS
WXpgf+XtKIoZ0Z5YW7NolLUVWkU3IqID3gqacOn+KvSgLBsNecuoQEhhDyke
xUpgRztQ9Jjb1dNBcU6IlyO6laJJNrVGjWi0lxFbW8NWNJZBGPWgiIgEoef7
ErPw2UibPd+TeqKTsP/5OmgJ63/H683/9Pbd2Y/UB/ZKFKlaap/C3rH0ztdy
Jflwf9SoYtRpVv/OqNLVkF16KI4f958c/ngqS7o4efP26oQ/GL3x02iB4563
n3C0k2P+jcQmcF76RPxyOzc5QV87t8gaiIuYMCgF+vzZyc881Lih7xfuIX37
WvZwWtHv1h2u2X1MCOmnO3rGtTv3csXdYcg9HlxUyJzpNsSLy59Pr45epVN9
ir9wW8cXh6dninuAKG7Uz2Pn5jA/oeGqUgl4G//I73ZuTi78wpYX+T0YSOsC
HPk0btbxL28VY+96gvSHb/CHG9+50UHTi19YOhLMT4jvn5Jhb+ivk1EjZooZ
KqvepwXt5wVfUiGNmLmj4bF8GHJC6i4vHUUicUV5SuygXFCf2horwpmoqQx2
pp1ISMdJJjSbKNY2qQRgwSqMHTGIicFDczRSkEVhYNXdbipcuMQSDKYbC1Sc
tEk9GybTIhJzZjJLGDivppqjfR7wDbYTw/6qU8Leu8IjK4dSDjwNo46WJxZK
Q02RehZ1Qd10IOa0UY4+O+67klgQdpZyoe+O3kwSqL5A78lRXWmRZBWI0sO0
wW+X9u2GvKzkfCfz1zqfUUJpU1Al3wif0oy7JFqXMU6FpZaq5LESTWe6WQSY
FtZzKEI1mGVJLiZfnE69ZcRhIqX74aUHk4c7Mw1L6juioiB1Gmgj8Hu6LuEt
sOJ6i6GGrLou8ZwHtxHswje+QYQcUMfm1BnWmR/3LgoZaOGmv4WQ8rMHtmJQ
2YaR6MHdkGQEkwUZXn2cLWD5fedd6Lgwdn/0FTqMElwqN1+aKNuaupJC/Hdq
Iw/CYlx4JxkoqJrrxFbYa0mJVus66eOVq9cGIa8wbVduLVZ3HnsJaTfIJjHX
VTz1FXlewqtXKdne91jClJm8XwatlTi7U/IAeVCs2nGtz8pbYDapo32hryaf
J6PAO2VsUY8hb7iNs7bNlJN77SUD1aKYrVxfSgLAa/pStk7cWqNslIbAuEQ1
XMuwhrzd3dY4KN3h9OpFcHE7cVDvyUwQhSxVddhchDvj8tF7D6Mlc2crTAlH
HswWl+NLQFVRHzgm1QQUIpHCSDKXYS+DtuzaSdmXfk3uM6w20OKgIaFZH1iq
NZUcZ9Dc6eK8xl+wV3EDpaIbpNJqO8Do8l8mrNjGVUOqxTRnV664aYO5YZGV
6A1WU80qrA/AFSWky4MRqreUjlsxxwp6UgRNKCiBPwkcL5zOjFCRyGbQ6mGO
lzClB99/I8M9e4oXUwUtKXy5rvU0C3Jao0Rg3GyxoeepGDjYA9rIVDriuPCi
WOrJ6s1+fiHaCseyeuPO2h4fDuZP4r4IPitfrspJOnNS0KU0HEmfi9Fa3GD4
bHgOZk1HnDMoWubXFMWlvCG+/r1Nbh1F2AD06GnnO6rIXTbjDkFUzd8aSxqU
nSfmg56TFmyNEyakDIdnZp4ZycXRQQRuR7D0S2Y/rKwQStp2NRzJGVcWUkaw
GeyjLAPfKSJYpYVtsTDNxIwmAwUEX0zXIw7yF5N7SruHMinMNh/c7JBIn0lp
wllI86Y4/dxe5qq0D9TQscRUz0ER+Tjxe2KDAIGXd5KhjnDalamNra9HvQuS
YdeCuLKZpQ11mgSFpFizU6Ti6mpkign23kLTF5j9TUa/wdkUXd2Qjx/vUTfi
J5fsIP0ZhZwvvLqv+pRg9fDk6NHxq5OJOrvkywsR092FiMlkISJxX7oqK6L4
4Y1pQGo8Pl5vg3uAD6l5hVy4S9rrjhvHAHtIOcHX43t5fIZVwte3BRcPtnva
I+NOk2DvuXswsasLH+LpPgr6ZqTrpu63ImgehFldMucFT8Pg/Phg1z1hCd8o
JtewulbCtnrtGEFmPHiwIa3r3QWDiVcCGPjM2V9zUx75RfSsuKdPcE9a1gQK
0H2XpO3T/XWk93/Cvjt6eR21SvgEENSmo5/odNATff/1ddRxowaY3H+RXfAY
uhvuXd3kzU+/cMEdXXH3/wAU5SI35q8AAA==

-->

</rfc>
