<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.2 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-westerlund-tsvwg-sctp-dtls-handshake-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="DTLS in SCTP">Datagram Transport Layer Security (DTLS) in the Stream Control Transmission Protocol (SCTP) DTLS Chunk</title>
    <seriesInfo name="Internet-Draft" value="draft-westerlund-tsvwg-sctp-dtls-handshake-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="November" day="23"/>
    <area>Transport</area>
    <workgroup>TSVWG</workgroup>
    <abstract>
      <?line 84?>

<t>This document defines a usage of Datagram Transport Layer Security
(DTLS) 1.3 to protect the content of Stream Control Transmission
Protocol (SCTP) packets using the framework provided by the SCTP DTLS
chunk which we name DTLS in SCTP. DTLS in SCTP provides encryption,
source authentication, integrity and replay protection for the SCTP
association with in-band DTLS based key-management and mutual
authentication of the peers. The specification is enabling 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 <xref target="RFC6083"/> and
SCTP-AUTH <xref target="RFC4895"/>.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-westerlund-tsvwg-sctp-dtls-handshake/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Area Working Group (tsvwg) Working Group mailing list (<eref target="mailto:tsvwg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tsvwg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tsvwg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/gloinul/draft-westerlund-tsvwg-sctp-dtls-handshake"/>.</t>
    </note>
  </front>
  <middle>
    <?line 98?>

<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.3 <xref target="RFC9147"/>, in the Stream Control
   Transmission Protocol (SCTP), as defined in <xref target="RFC9260"/> with SCTP
   DTLS chunk <xref target="I-D.westerlund-tsvwg-sctp-dtls-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, in some
   cases with some limitations, as specified in
   <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>. DTLS in SCTP supports:</t>
        <ul spacing="normal">
          <li>
            <t>preservation of message boundaries.</t>
          </li>
          <li>
            <t>no limitation on number of unidirectional and bidirectional streams.</t>
          </li>
          <li>
            <t>ordered and unordered delivery of SCTP user messages.</t>
          </li>
          <li>
            <t>the partial reliability extension as defined in <xref target="RFC3758"/>.</t>
          </li>
          <li>
            <t>multi-homing of the SCTP association per <xref target="RFC9260"/>.</t>
          </li>
          <li>
            <t>the dynamic address reconfiguration extension as defined in
 <xref target="RFC5061"/>.</t>
          </li>
          <li>
            <t>User messages of any size.</t>
          </li>
          <li>
            <t>SCTP Packets with a protected set of chunks up to a size of
2<sup>14</sup> bytes.</t>
          </li>
        </ul>
      </section>
      <section anchor="protocol-overview">
        <name>Protocol Overview</name>
        <t>DTLS in SCTP is a key management specification for the SCTP DTLS
   1.3 chunk <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/> that together
   utilizes all parts of DTLS 1.3 for the security functions like key
   exchange, authentication, encryption, integrity protection, and
   replay protection. All key management message exchange happens
   inband over the SCTP assocation. The basic functionalities and how
   things are related are described below.</t>
        <t>In a SCTP association where DTLS 1.3 Chunk usage has been
   negotiated in the SCTP INIT and INIT-ACK, to initilize and
   authenticate the peer the DTLS handshake is exchanged as SCTP user
   messages with a DTLS-SCTP PPID (see section 10.6 of
   <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>) until an initial DTLS
   connection has been established.  If the DTLS handshake fails, the
   SCTP association is aborted. With succesful handshake and
   authentication of the peer the key material is configured for the
   DTLS 1.3 chunk. From that point until re-authenticaiton or
   rekeying needs to occurr the DTLS chunk will protect the SCTP
   packets. Now that the DTLS connection has been established PVALID
   chunks are exchanged to verify that no downgrade attack between
   differnet protection solutions has occurred. To prevent
   manipulation, the PVALID chunks are sent encapsulated in DTLS 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 chunks as defined in <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>.
   The DTLS chunk protects all of the SCTP Chunks to be sent in a SCTP
   packet. Using the selected key-material the DTLS Protection
   operator protects the plain text producing a DTLS Record that is
   encapsualted in the DTLS chunk and the transmitted as a SCTP packet
   with a common header.</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 DTLS chunk the DTLS Connection Index (DCI) is used to look
   up the key-material from the one DTLS connection used to
   authenticate the peer and establish this key-materail. Using the
   identified key-material and context the content of the DTLS 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 per-packet 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 DCI than currently used in the DTLS chunk are used to
   indicate that this is a new handshake. The DCI is sent as pre-amble
   to any DTLS message sent as SCTP user message. When the handshake
   has completed the DTLS in SCTP implementation can simply switch to
   use this DTLS connection's key-material in the DTLS chunk.  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 and the key-material deleted
   from the DTLS chunk's key store.</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.
   All DTLS message will be sent by means of SCTP user messages
   with DTLS-SCTP PPID as specified in
   <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>.</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="352" width="496" viewBox="0 0 496 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,336" fill="none" stroke="black"/>
                <path d="M 136,32 L 136,96" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,96" fill="none" stroke="black"/>
                <path d="M 184,96 L 184,336" fill="none" stroke="black"/>
                <path d="M 224,208 L 224,272" fill="none" stroke="black"/>
                <path d="M 320,32 L 320,96" fill="none" stroke="black"/>
                <path d="M 400,208 L 400,272" fill="none" stroke="black"/>
                <path d="M 440,80 L 440,224" fill="none" stroke="black"/>
                <path d="M 8,32 L 136,32" fill="none" stroke="black"/>
                <path d="M 152,32 L 320,32" fill="none" stroke="black"/>
                <path d="M 320,64 L 424,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 320,96" fill="none" stroke="black"/>
                <path d="M 424,96 L 456,96" fill="none" stroke="black"/>
                <path d="M 336,128 L 352,128" fill="none" stroke="black"/>
                <path d="M 200,176 L 216,176" fill="none" stroke="black"/>
                <path d="M 8,208 L 184,208" fill="none" stroke="black"/>
                <path d="M 224,208 L 400,208" fill="none" stroke="black"/>
                <path d="M 192,240 L 216,240" fill="none" stroke="black"/>
                <path d="M 408,240 L 424,240" fill="none" stroke="black"/>
                <path d="M 8,272 L 184,272" fill="none" stroke="black"/>
                <path d="M 224,272 L 400,272" fill="none" stroke="black"/>
                <path d="M 200,304 L 216,304" fill="none" stroke="black"/>
                <path d="M 8,336 L 184,336" fill="none" stroke="black"/>
                <path d="M 184,272 L 200,304" fill="none" stroke="black"/>
                <path d="M 320,96 L 336,128" fill="none" stroke="black"/>
                <path d="M 184,208 L 200,176" fill="none" stroke="black"/>
                <path d="M 424,64 C 432.83064,64 440,71.16936 440,80" fill="none" stroke="black"/>
                <path d="M 424,240 C 432.83064,240 440,232.83064 440,224" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="416,240 404,234.4 404,245.6" fill="black" transform="rotate(180,408,240)"/>
                <polygon class="arrowhead" points="224,240 212,234.4 212,245.6" fill="black" transform="rotate(0,216,240)"/>
                <polygon class="arrowhead" points="200,240 188,234.4 188,245.6" fill="black" transform="rotate(180,192,240)"/>
                <g class="text">
                  <text x="228" y="52">DTLS</text>
                  <text x="264" y="52">1.3</text>
                  <text x="356" y="52">Keys</text>
                  <text x="72" y="68">ULP</text>
                  <text x="192" y="84">Key</text>
                  <text x="252" y="84">Management</text>
                  <text x="480" y="100">API</text>
                  <text x="380" y="116">User</text>
                  <text x="384" y="132">Level</text>
                  <text x="36" y="148">SCTP</text>
                  <text x="84" y="148">Chunks</text>
                  <text x="144" y="148">Handler</text>
                  <text x="396" y="148">Messages</text>
                  <text x="244" y="180">SCTP</text>
                  <text x="312" y="180">Unprotected</text>
                  <text x="392" y="180">Payload</text>
                  <text x="92" y="228">DTLS</text>
                  <text x="300" y="228">DTLS</text>
                  <text x="336" y="228">1.3</text>
                  <text x="96" y="244">Chunk</text>
                  <text x="96" y="260">Handler</text>
                  <text x="276" y="260">Protection</text>
                  <text x="356" y="260">Operator</text>
                  <text x="36" y="308">SCTP</text>
                  <text x="84" y="308">Header</text>
                  <text x="144" y="308">Handler</text>
                  <text x="244" y="308">SCTP</text>
                  <text x="304" y="308">Protected</text>
                  <text x="376" y="308">Payload</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
+---------------+ +--------------------+
|               | |       DTLS 1.3     |  Keys
|      ULP      | |                    +-------------.
|               | |   Key Management   |              |
+---------------+-+---+----------------+            --+-- API
|                     |                 \    User     |
|                     |                  +-- Level    |
| SCTP Chunks Handler |                      Messages |
|                     |                               |
|                     | +-- SCTP Unprotected Payload  |
|                     |/                              |
+---------------------+    +---------------------+    |
|        DTLS         |    |       DTLS 1.3      |    |
|        Chunk        |<-->|                     |<--'
|       Handler       |    | Protection Operator |
+---------------------+    +---------------------+
|                     |\
| 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 (as the combination of the DTLS chunk and the in-band
   authentication and key-management using DTLS handshakes defined in
   this document) has a number of properties that are attractive.</t>
        <ul spacing="normal">
          <li>
            <t>Provides confidentiality, integrity protection, and source
authentication for each SCTP packet.</t>
          </li>
          <li>
            <t>Provides replay protection on SCTP packet level preventing
malicious replay attacks on SCTP, both protecting the data as well
as the SCTP functions themselves.</t>
          </li>
          <li>
            <t>Provides mutual authentication of the endpoints based on any
authentication mechanism supported by DTLS.</t>
          </li>
          <li>
            <t>Uses parallel DTLS connections to enable mutual re-authentication
and rekeying with ephemeral key-exchange. Thus, enabling SCTP
association lifetimes without known limitations and without
needing to drain the SCTP association.</t>
          </li>
          <li>
            <t>Uses core of DTLS as it is and updates and fixes to DTLS security
properties can be implemented without further changes to this
specification.</t>
          </li>
          <li>
            <t>Secures all SCTP packets exchanged after SCTP association has
reached the established state and the initial key-exchange has
completed. Making targeted attacks against the SCTP protocol and
implementation much harder.</t>
          </li>
          <li>
            <t>DTLS in SCTP results in no limitations on user message
transmission or message sizes, those properties are the same as
for an unprotected SCTP association.</t>
          </li>
          <li>
            <t>Limited overhead on a per packet basis, with 4 bytes for the
DTLS chunk plus the DTLS record overhead. The DTLS
overhead is dependent on the DTLS version.</t>
          </li>
          <li>
            <t>Support of SCTP packet plain text payload sizes up to
2<sup>14</sup> bytes.</t>
          </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>
              <t>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.</t>
            </li>
            <li>
              <t>Encryption in DTLS/SCTP is only applied to ULP data. For DTLS in
SCTP all chunk types after the association has reached
established state and the initial DTLS handshake has compeleted
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.</t>
            </li>
            <li>
              <t>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 any issues due to
inconsistencies. DTLS in SCTP is robust to discarding the DTLS
key-material after having switched to a new established DTLS
connection and its key-material. 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.</t>
            </li>
            <li>
              <t>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.</t>
            </li>
            <li>
              <t>By using the DTLS 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.</t>
            </li>
            <li>
              <t>A known limitation is that DTLS in SCTP does not support more
than 2<sup>14</sup> bytes of chunks per SCTP packet. 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.</t>
            </li>
          </ul>
          <t>There are several significant differences in regard to
   implementation between the two realizations.</t>
          <ul spacing="normal">
            <li>
              <t>DTLS in SCTP do requires the DTLS 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.</t>
            </li>
            <li>
              <t>DTLS in SCTP implemented in operating system kernels will require
that the DTLS implementation is split. Where the protection
operations performed to create DTLS records needs to be
implemented in the kernel and have an appropriate API for setting
keying materia and managed the functions of the protection
operation. While the DTLS handshake is residing as an application
on top of SCTP interface.</t>
            </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>
                  <t>DTLS Connection Index to identify which DTLS connection that
should process the DTLS record.</t>
                </li>
                <li>
                  <t>Support for DTLS records of the maximum size of 16 KB.</t>
                </li>
                <li>
                  <t>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.</t>
                </li>
                <li>
                  <t>Implementation is required to support turning off the DTLS
replay protection.</t>
                </li>
                <li>
                  <t>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
is not an issue.</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>The conclusion of these implementation details is that DTLS
   in SCTP can use existing DTLS implementations, at least for user
   land SCTP implementation. It is not known if any DTLS 1.3 stack
   exist that fully support the requirements of 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.
<?line -6?>
        </t>
      </section>
    </section>
    <section anchor="dtls-usage-of-dtls-chunk">
      <name>DTLS usage of DTLS Chunk</name>
      <t>DTLS in SCTP uses the DTLS chunk in the following way. Fields
   not discussed are used as specified in
   <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>.</t>
      <figure anchor="sctp-dtls-chunk-structure">
        <name>DTLS 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" stroke-linecap="round">
              <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 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="176" 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   |   DCI         |         Chunk Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Payload                            |
|                                                               |
|                               +-------------------------------+
|                               |           Padding             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </artset>
      </figure>
      <dl>
        <dt>DCI: 8 bits (unsigned integer)</dt>
        <dd>
          <t>DTLS Connection Index is the lower eight 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 or DTLS message over
 an user message. This counter is recommended to be 64-bit to
 guarantee no lifetime issues for the SCTP Association.</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</t>
        </dd>
      </dl>
    </section>
    <section anchor="dtls-user-message">
      <name>DTLS messages over SCTP User Messages</name>
      <t>DTLS messages that are not DTLS records containing protected SCTP
chunk payloads will be sent using SCTP user message using format
defined below. A DTLS handshake message may be fragmented by DTLS to a
set of DTLS records of a maximum configured fragment size. Each DTLS
message fragment is sent as a SCTP user message on the same stream
where each message is configured for reliable and in-order delivery
with the PPID set to DTLS-SCTP
<xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>. Each user message DTLS SHALL
be prepended with a single byte containing the DTLS connection ID
value. These user messages MAY contain one or more DTLS records. The
SCTP stream ID used MAY be any stream ID that the ULP alreay uses, and
if not know Stream 0. Note that all fragments of a handshake message
MUST be sent with the same stream ID to ensure the in-order delivery.</t>
      <figure anchor="sctp-dtls-user-message">
        <name>DTLS User Message 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" stroke-linecap="round">
              <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 264,160 L 264,192" fill="none" stroke="black"/>
              <path d="M 520,64 L 520,160" fill="none" stroke="black"/>
              <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 136,96" fill="none" stroke="black"/>
              <path d="M 264,160 L 520,160" fill="none" stroke="black"/>
              <path d="M 8,192 L 264,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="48" y="84">DCI</text>
                <text x="252" y="132">DTLS</text>
                <text x="304" y="132">Message</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   DCI         |                                               |
+-+-+-+-+-+-+-+-+                                               |
|                                                               |
|                            DTLS Message                       |
|                                                               |
|                               +-------------------------------+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </artset>
      </figure>
      <dl>
        <dt>DCI: 8 bits (unsigned integer)</dt>
        <dd>
          <t>DTLS Connection Index is the lower eight 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 or DTLS message over
 an user message. This counter is recommended to be 64-bit to
 guarantee no lifetime issues for the SCTP Association.</t>
        </dd>
        <dt>DTLS Message: 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"/> will always include the length
 field in each record.</t>
        </dd>
      </dl>
    </section>
    <section anchor="dtls-chunk-integration">
      <name>DTLS Chunk Integration</name>
      <t>The <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/> contains a high-level
description of the basic DTLS in SCTP architecture, this section deals
with details related to the DTLS 1.3 integration with SCTP.</t>
      <section anchor="state-machine">
        <name>State Machine</name>
        <t>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 in SCTP 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 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. The DTLS handshake messages are transmitted from this
endpoint to the peer using SCTP User message <xref target="dtls-user-message"/>
with the PPID value set to DTLS-SCTP
<xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>.</t>
          <t>When a successful handshake has been completed, DTLS protection operator
will inform DTLS 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, the existing DTLS 1.3 connection is being
replaced with a new one by first opening a new parallel DTSL
connection as further specified in <xref target="parallel-dtls"/> and then close
the old DTLS connection.</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.</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 key-establishment function to manage the DTLS
connections and their related DCI state in the DTLS chunk.</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. What is encoded in the DTLS chunk and DTLS user messages are the
DCI value modulo 256. 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
used and a next attempt will reuse that DCI.</t>
        </section>
        <section anchor="remove-dtls-connection">
          <name>Remove an existing DTLS Connection</name>
          <t>A DTLS connection is removed 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>Either peers can initialize the removal of a DTLS connection from the
current SCTP association when needed when a new have been established.
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. When DTLS closure for a DTLS connection is
completed, the related DCI information in the DTLS chunk is released.</t>
        </section>
      </section>
      <section anchor="dtls-key-update">
        <name>DTLS Key Update</name>
        <t>To perform a DTLS Key Update when using the DTLS chunk for protection
the following process is performed. Either endpoint can trigger a DTLS
key update when needed to update the key used. The DTLS key-update
process is detailed in Section 8 of <xref target="RFC9147"/> including a example of
the DTLS key update procedure. Note that in line with DTLS, and in
contrast to TLS, DTLS in SCTP endpoints MUST NOT start using new epoch
keys until the DTLS ACK has been recived. This as the user message
tranmission of the KeyUpdate DTLS message occurs using one or more
SCTP packets that are protected using epoch N keys. If the sender
needs to retransmitt any SCTP packets and have switched to Epoch N+1
the receiver will never receive the KeyUpdate DTLS message.</t>
        <t>Note: The below role describes the keys in realtion to the endpoint
and traffic it will receive or send. This will have to be translated
into client or server key depending on the role the endpoint has in
the DTLS connection the KeyUpdate happens in.</t>
        <section anchor="initiator">
          <name>Initiator</name>
          <t>The below assumes that the Intitiator (I) are currentnly using key
epoch N.
  1. The endpoint Initiates the a key update and generates the new key
  for Epoch N+1. Epoch N+1 transmission key-materaial is set for the
  current DCI and epoch N+1 but not yet enabled. DTLS generates DTLS
  records containing the KeyUpdate DTLS message and update_requested,
  which is then sent using SCTP user message (<xref target="dtls-user-message"/>)
  to the responder.</t>
          <ol spacing="normal" type="1"><li>
              <t>Initiator receives a DTLS user message containing the DTLS ACK
  message acknowledging the reception of the KeyUpdate message sent in
  step 1. The Initiator actives the new Epoch N+1 key in the DTLS
  chunk for protection of future transmissions of SCTP packets. The
  epoch N send direction key can be removed from the DTLS chunk key
  store.</t>
            </li>
            <li>
              <t>Initiator receives a DTLS user message with the Responder's
  KeyUpdate message. The initator generates the recevie keys for epoch
  N+1 using the received message and installs them in the DTLS chunks
  key store. Then it generates a DTLS ACK for the KeyUpdate and sends
  it to the responder as a SCTP user message.</t>
            </li>
            <li>
              <t>When the first SCTP packet protected by epoch N+1 has been
  received and succesfully decrypted by DTLS chunk the epoch N reception
  keys can be removed. Although to deal with network reordering, a
  delay is RECOMMENDED.</t>
            </li>
          </ol>
          <t>This completes the key-update procedure.</t>
          <t>Note that even if both endpoints runs the Initiator process the
KeyUpdate will complete. The main difference is that step 3 may occur
before step 2 has happened.</t>
        </section>
        <section anchor="responder">
          <name>Responder</name>
          <t>The process for a responder to a peer initiating KeyUpdate.</t>
          <ol spacing="normal" type="1"><li>
              <t>The responder receives an SCTP DTLS user message containing a
  KeyUpdate message. The epoch N+1 keys reception keys are generated
  and installed into the DTLS chunk key store. A DTLS ACK message is
  generated and transmitted to the peer using a SCTP user message.</t>
            </li>
            <li>
              <t>The responder initiates its own Key Update by generating keys and
  creating the KeyUpdate message. The send direction keys for epoch
  N+1 is installed but not enabled for use. The KeyUpdate message is
  transmitted to the peer using a SCTP user message.</t>
            </li>
            <li>
              <t>The responder receives a DTLS user message containing the DTLS
  ACK message acknowledging the reception of the KeyUpdate message
  sent in step 2. The responder actives the new Epoch N+1 key in the
  DTLS chunk for protection of future transmissions of SCTP
  packets. The epoch N send direction key can be removed from the DTLS
  chunk key store.</t>
            </li>
            <li>
              <t>When the first SCTP packet protected by epoch N+1 has been
  received and succesfully decrypted by DTLS chunk the epoch N reception
  keys can be removed. Although to deal with network reordering, a
  delay is RECOMMENDED.</t>
            </li>
          </ol>
        </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-dtls-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 SCTP
user message (<xref target="dtls-user-message"/>).  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 not immediately fatal:</dt>
          <dd>
            <t>If the DTLS connection has a
   critical issue, but can still protect packets then a the endpoint
   SHOULD attempt to establish a new DTLS connection. If that succeeds
   then the SCTP association switches over to the new DTLS connection
   and can terminate the old one including reporting the error. In
   case the establishment fails, then this critical issue MUST be reported
   to the SCTP association so that it can send an ABORT chunk with the
   Error in Protection cause code. 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, 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 then it is not possible to
   establish a new DTLS connection and DTLS 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 DTLS 1.3 <xref target="RFC9147"/>.
   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 DTLS 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 DTLS
   Chunk provides a length field unless multiple records are put in
   same DTLS chunk payload or user message. If multiple DTLS records
   are included in one DTLS chunk payload or user message 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 limit 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-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
   <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>.</t>
      <section anchor="dtls-handshake">
        <name>DTLS Handshake</name>
        <section anchor="handshake-of-initial-dtls-connection">
          <name>Handshake of initial DTLS connection</name>
          <t>As soon the SCTP Association has entered the SCTP state PROTECTION
   PENDING as defined by <xref target="I-D.westerlund-tsvwg-sctp-dtls-chunk"/>
   the DTLS handshake procedure is initiated by the endpoint that
   has initiated the SCTP association.</t>
          <t>The DTLS endpoint will send the DTLS message in one or more SCTP
   user message depending if the DTLS endpoint fragments the message
   or not <xref target="dtls-user-message"/>.  The DTLS instance SHOULD NOT
   use DTLS retransmission to repair any packet losses of handshake
   message fragment. Note: If the DTLS implementation support
   configuring a MTU larger than the actual IP MTU it could be used as
   SCTP provides reliability and fragmentation.</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="handshake-of-further-dtls-connections">
          <name>Handshake of further DTLS connections</name>
          <t>When the SCTP Association has entered the ESTABLISHED state,
   each of the endpoint can initiate an DTLS handshake.</t>
          <t>The DTLS endpoint will if necessary fragment the handshake into
   multiple records. Each DTLS handshake message fragment
   is sent as a SCTP user message <xref target="dtls-user-message"/>.
   The DTLS instance SHOULD NOT use DTLS retransmission to repair any
   packet losses of handshake message fragment. Note: If the DTLS
   implementation support configuring a MTU larger than the actual IP
   MTU it could be used as SCTP provides reliability and
   fragmentation.</t>
          <t>If the DTLS handshake failed the SCTP association SHALL generate
   an ERROR chunk with the Error in Protection error cause, with
   extra error causes "Error During Protection Handshake".</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 by first creating the new DTLS
connection, start using it, then closing the old one.</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>
            <t>Maximum time since last authentication of the peer</t>
          </li>
          <li>
            <t>Amount of data transferred since last forward secrecy preserving
rekeying</t>
          </li>
          <li>
            <t>The cipher suit's maximum key usage being reached. Although for
DTLS 1.3 usage of the Key Update mechanism can generate new keys
not having the same security properties as opening a new DTLS
connection.</t>
          </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" stroke-linecap="round">
                <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.</t>
      <t>The implementor shall take care of DTLS 1.3 record overhead. 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>Note that this implies that DTLS 1.3 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 DTLS 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.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 has no IANA considerations currently.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-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="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="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="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="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-dtls-chunk" target="https://datatracker.ietf.orghttps://datatracker.ietf.org/doc/draft-westerlund-tsvwg-sctp-dtls-chunk/">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) DTLS 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="2023" month="June"/>
          </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 anchor="sec-informative-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="I-D.ietf-tls-rfc8446bis" target="https://datatracker.ietf.org/doc/html/draft-ietf-tls-rfc8446bis-09" 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>Windy Hill Systems, LLC</organization>
            </author>
            <date day="7" month="July" year="2023"/>
            <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-09"/>
        </reference>
        <reference anchor="I-D.ietf-tsvwg-dtls-over-sctp-bis" target="https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-dtls-over-sctp-bis-07" 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="23" month="October" year="2023"/>
            <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 partial replay protection for applications that use SCTP as their transport protocol and allows client/server applications to communicate in a way that is designed to give communications privacy and to prevent eavesdropping and detect tampering or message forgery. Applications using DTLS over SCTP can use almost all transport features provided by SCTP and its extensions. This document is an improved alternative to RFC 6083 and removes the 16 kbytes limitation on protected user message size by defining a secure user message fragmentation so that multiple DTLS records can be used to protect a single user message. It further contains a large number of security fixes and improvements. It updates the DTLS versions and SCTP-AUTH HMAC algorithms to use. It mitigates reflection attacks of data and control chunks and replay attacks of data chunks. It simplifies secure implementation by some stricter requirements on the establishment procedures as well as rekeying to align with zero trust principles.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-dtls-over-sctp-bis-07"/>
        </reference>
        <reference anchor="I-D.ietf-uta-rfc6125bis" target="https://datatracker.ietf.org/doc/html/draft-ietf-uta-rfc6125bis-15" 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="10" month="August" 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-15"/>
        </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:
H4sIAAAAAAAAA+1963Ib15ng/36Ks9QPSzEBkZSs2KokMxBJW4gliiNSdqVm
plIN9AHYUaMb6QspRta+yu7PndfYvNh+13PpblC0na2tnV3NVAwC3efyne9+
O5PJJMmqZZlu7HOT1emqndzYprV10ZXZpG2ub9aTZtluJ1lbNJOrtMyaq/S9
nRwcJG3eFvDSSdqm6zrdmMs6LZttVbfmVXpra3Nhl12dt7fm4cnlq4tHJi9N
e2XNRVtbePq4Ktu6KvitTd40eVWa87pqqyV8+/Di+PL8kcEXzfFVV75P0sWi
ttfP+SsYCh9IqkVTFba1zfNkmbbPTdNmSb6tn5u27pr26ODgm4Oj5Gb93Fxe
/PDjd0kKMz/360yabiEzt7db2Mr89PJbYx6YtGiq52YvLzO7tfA/Zbu3b/bm
sxfwn6qGT28vv91LkmtbdvZ5Ysy6rrptMLCZwUTmx6p+n5dr8x3+ah4SLB/B
05s0L2CF+Oc/57ZdTat6jYPk7VW3eG7WRZWXXfH4/oeRJGnXXlX182QC4wBw
mufGvJ6aH927+DUf8et0XXZN7ydYwHNzWufLpqlK/MLyGjf08NSv4Z+tPDRd
Vptgtj9O4ehs9/f/BuO3rY7CM/6xuirHft016V/g+elGHtw14TFMWNWrvM79
RMdF2mV5Ff6wa44lPzrd8qPxLElerqoaVpBf0+m+/fb4yW+/+lo+Pv36m6/k
41cHzw7l47ODr5/gx/nkZIpnOsEDqlfLr58+fbbIm/gnOkc6wura1nyi/Ye6
NsX3nx0efUU/wW+zs4sL+H12OTm7BPqj+Yxp03ptAfV/d9W22+b548c3NzdT
wOnpuuqup6v6cbctqjRrHh8dHH71+OCbx2eXf56fN3b559Oz6TZb/YFHYVp+
awEAG0B52HxVNgbgYBoiY8Dj0rY3gNKNuQFMNTQGvdsA9GyDQOMVyUrNpV1e
lfkyLWBYogq/dHpOkZbfmch/5YBna1suLZwsLiQtrMmsKVLT/P0/iKn8/T/g
i8Y0t0379/+xgU/ZF+7U+KQN7AF2NOvWwAkMbj5Jyt6xPv366EAP8MnT38rH
r7/55pl8/ObQffvNk6Ov6Bjw89GzA/qMx3UHhS6Rc8XHtKfHBMtL2zpdvrf1
VLnAXb89Bi79eZ5AMz7eC89072czXBpk764z2sFizN1sxoxRpLk3uxlbwzjj
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
dLcAAA==

-->

</rfc>
