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

<t>This document describes a method for adding Cryptographic protection
to the Stream Control Transmission Protocol (SCTP). The SCTP DTLS
chunk defined in this document is intended to enable communications
privacy for applications that use SCTP as their transport protocol and
allows applications to communicate in a way that is designed to
prevent eavesdropping and detect tampering or message forgery.</t>
      <t>Applications using SCTP DTLS chunk can use all transport
features provided by SCTP and its extensions but with some limitations.</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-chunk/"/>.
      </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-chunk"/>.</t>
    </note>
  </front>
  <middle>
    <?line 83?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines a DTLS chunk for the Stream Control
   Transmission Protocol (SCTP), as defined in <xref target="RFC9260"/>.</t>
      <t>This specification defines the actual DTLS chunk, how to enable
   it usage, how it interacts with the SCTP association establishment
   to enable endpoint authentication, key-establishment, and key
   updates.</t>
      <t>The DTLS chunk is designed to enable mutual
   authentication of endpoints, data confidentiality, data origin
   authentication, data integrity protection, and data replay
   protection for SCTP packets after the SCTP association has been
   established. It is dependent on a key management function that is
   defined seperately to achieve all these capabilities. The
   key management function uses an API to provision the SCTP
   association's DTLS chunk protection with key-material to enable and
   rekey the protection operations.</t>
      <t>Applications using SCTP DTLS chunk can use most transport features
   provided by SCTP and its extensions. However, there can be some
   limitations or additional requirements for them to function such as
   those noted for SCTP restart and use of Dynamic Address
   Reconfiguration, see <xref target="sec-asconf"/> and <xref target="sec-restart"/>. Due to its
   level of integration as discussed in next section it will provide
   its security functions on all content of the SCTP packet, and will
   thus not impact the potential to utilize any SCTP functionalities
   or extensions that are possible to use between two SCTP peers with
   full security and SCTP association state.</t>
      <t>DTLS is considered version 1.3 as specified in <xref target="RFC9147"/> whereas
   other versions are explicitely not part of this document.</t>
    </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 anchor="overview">
      <name>Overview</name>
      <section anchor="protocol-overview">
        <name>Protocol Overview</name>
        <t>The DTLS chunk is defined as a method for secure and confidential
transfer for SCTP packets.  This is implemented inside the SCTP
protocol, in a sublayer between the SCTP common header handling and
the SCTP chunk handling.  Once an SCTP packet has been received and
the SCTP common header has been used to identify the SCTP association,
the DTLS chunk is sent to the DTLS Protection Operator that will
return the SCTP payload containing the unprotected SCTP chunks, those
chunks will then be handled according to their SCTP protocol
specifications. <xref target="sctp-DTLS-chunk-layering"/> illustrates the DTLS
chunk layering in regard to SCTP and the Upper Layer Protocol (ULP).</t>
        <figure anchor="sctp-DTLS-chunk-layering">
          <name>DTLS Chunk Layering in Regard to SCTP and ULP</name>
          <artset>
            <artwork type="svg" align="center"><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" align="center"><![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>
        <t>Use of the DTLS chunk is defined per SCTP association.</t>
        <t>On the outgoing direction, once the SCTP stack has created the
unprotected SCTP packet payload containing control and/or DATA chunks,
that payload will be sent to the DTLS Protection Operator to be
protected. The format of the protected payload is a DTLS 1.3 record
encapsulated in a SCTP chunk which is named the DTLS chunk.</t>
        <t>The SCTP Protection Operator performs protection operations on the
whole unprotected SCTP packet payload, i.e., all chunks after the SCTP
common header. Information protection is kept during the lifetime of
the association and no information is sent unprotected except than the
initial SCTP handshake, DTLS handshake, the SCTP common
header, the SCTP DTLS chunk header, the INIT and INIT-ACK of an SCTP
association restart, and the SHUTDOWN-COMPLETE chunk.</t>
        <t>SCTP DTLS chunk capability is agreed by the peers at the
initialization of the SCTP association. Until the DTLS protection has
been keyed only plain text key-management traffic using a special PPID
may flow, no ULP traffic. The key management function uses an API
to key the DTLS protection operation function. Usage of the DTLS 1.3
handshake for initial mutual authentication and key establishment as
well as periodic re-authentication and rekeying with Diffe-Hellman of
the DTLS chunk protection is defied in a seperate document
<xref target="I-D.westerlund-tsvwg-sctp-DTLS-handshake"/>.</t>
        <t>When the endpoint authentication and key establishment has been
completed, the association is considered to be secured and the ULP is
informed about that. From this time on it's possible for the ULPs to
exchange data securely.</t>
        <t>A DTLS chunk will never be retransmitted, retransmission is implemented
by SCTP endpoint at chunk level as specified in <xref target="RFC9260"/>. DTLS replay
protection will be used to supress duplicated DTLS chunks, however a
failure to prevent replay will only result in duplicated SCTP chunks and
will be handled as duplicated chunks by SCTP endpoint in the same way
a duplicated SCTP packet with those SCTP chunks would have been.</t>
      </section>
      <section anchor="DTLS-engines">
        <name>DTLS Considerations</name>
        <t>The DTLS Chunk architecture splits DTLS 1.3 as shown in
<xref target="sctp-DTLS-chunk-layering"/>, where there's a Key Management functionality
on top of SCTP Chunks Handler and a Protection Operator functionality
interfacing DTLS Chunk Handler.</t>
        <t>Key Management is the set of data and procedures that take care of key
distribution, verification, and update, DTLS connection setup, update and
maintenance.</t>
        <t>Protection Operator functionality is the set of data and procedures
taking care of User Data encryption into DTLS Record and DTLS record
decryption into User Data.</t>
        <t>DTLS 1.3 operations requires to directly handshake messages
with the remote peer for connection setup and other features,
this kind of handshake is part of the Key Management functionality.
Key Management function achieves these features behaving as a SCTP User.
Key Management sends and receives its own data via the SCTP User Level interface.
Key Management's own data are distinguished from any other data by
means of a dedicated PPID (see <xref target="iana-payload-protection-id"/>).</t>
        <t>Once the Key Management has established the DTLS 1.3 connection,
it can set the Protection Operator for User Data encryption/decription
via the API shown in <xref target="sctp-DTLS-chunk-layering"/>.</t>
        <t>DTLS 1.3 expects that handshake messages, that is from SCTP
User Data with dedicated PPID, to be sent and received as plain
DATA chunks.</t>
      </section>
      <section anchor="buffering">
        <name>SCTP DTLS Chunk Buffering and Flow Control</name>
        <t>DTLS 1.3 operations and SCTP are asynchronous, meaning that the
Protection Operator may deliver the decrypted SCTP Payload to the SCTP
endpoint without respecting the reception order.  It's up to SCTP
endpoint to reorder the chunks in the reception buffer and to take
care of the flow control according to what specified in
<xref target="RFC9260"/>. From SCTP perspective the DTLS chunk processing is part
of the transport network.</t>
        <t>Even though the above allows the implementors to adopt a
multithreading design of the Protection Operators, the actual
implementation should consider that out-of-order handling of SCTP
chunks is not desired and may cause false congestion signals and
trigger retransmissions.</t>
      </section>
      <section anchor="pmtu">
        <name>PMTU Considerations</name>
        <t>The addition of the DTLS chunk to SCTP reduces the room for payload,
due to the size of the DTLS chunk header, padding, and authentication
tag.  Thus, the SCTP layer creating the plain text payload needs to
know about the overhead to adjust its target payload size
appropriately.</t>
        <t>A path MTU discovery function in SCTP will need to know the actual
sent and received size of packets for the SCTP packets. This to
correctly handle PMTUD probe packets.</t>
        <t>From SCTP perspective, if there is a maximum size of plain text data
that can be protected by the Protection Operator that must be
communicated to SCTP. As such a limit will limit the PMTU for SCTP to
the maximum plain text plus DTLS chunk and algorithm overhead plus
the SCTP common header.</t>
      </section>
      <section anchor="congestion">
        <name>Congestion Control Considerations</name>
        <t>The SCTP mechanism for handling congestion control does depend on
successful data transfer for enlarging or reducing the congestion
window CWND (see <xref target="RFC9260"/> Section 7.2).</t>
        <t>It may happen that Protection Operator discards packets due to internal
checks or because it has detected a malicious attempt. As those
packets do not represent what the peer sent, it is acceptable to
ignore them, although in-situ modification on the path of a packet
resulting in discarding due to integrity failure will leave a gap, but
has to be accepted as part of the path behavior.</t>
        <t>The Protection Operator will not interfere with the SCTP congestion
control mechanism, this basically means that from SCTP perspective
the congestion control is exactly the same as how specified
in <xref target="RFC9260"/>.</t>
      </section>
      <section anchor="icmp">
        <name>ICMP Considerations</name>
        <t>The SCTP implementation will be responsible for handling ICMP messages
and their validation as specified in <xref target="RFC9260"/> Section 10. This
means that the ICMP validation needs to be done in relation to the
actual sent SCTP packets with the DTLS chunk and not the unprotected
payload.</t>
      </section>
      <section anchor="multipath">
        <name>Path Selection Considerations</name>
        <t>When an Association is multihomed there are multiple paths between
Endpoints.  The selection of the specific path to be used at a certain
time belongs to SCTP protocol that will decide according to
<xref target="RFC9260"/>.  The Protection Operator shall not influence the path
selection algorithm, actually the Protection Operator will not even
know what path is being used.</t>
      </section>
      <section anchor="sec-asconf">
        <name>Dynamic Address Reconfiguration Considerations</name>
        <t>When using Dynamic Address Reconfiguration <xref target="RFC5061"/> in an SCTP
association using DTLS Chunk the ASCONF chunk is protected, thus it
needs to be unprotected first, furthermore it MAY come from an unknown
IP Address.  In order to properly address the ASCONF chunk to the
relevant Association for being unprotected, Destination Address,
Source, Destination ports and VTag shall be used. If the
combination of those parameters is not unique the implementor MAY
choose to send the DTLS Chunk to all Associations that fit with the
parameters in order to find the right one. The association will
attempt de-protection operations on the DTLS chunk, and if that is
successful the ASCONF chunk can be processed.</t>
        <t>The section 4.1.1 of <xref target="RFC5061"/> specifies that ASCONF message are
required to be sent authenticated with SCTP-AUTH <xref target="RFC4895"/>.  For
SCTP associations using DTLS Chunk this results in the use of
redundant mechanism for Authentication with both SCTP-AUTH and the
DTLS Chunk. We recommend to amend <xref target="RFC5061"/> for including DTLS
Chunks as Authentication mechanism for ASCONF chunks.</t>
      </section>
      <section anchor="sec-restart">
        <name>SCTP Restart Considerations</name>
        <t>This section deals with the handling of an unexpected INIT chunk
during an Association lifetime as described in <xref target="RFC9260"/> section 5.2
with the purpose of achieving a Restart of the current Association.</t>
        <t>The SCTP Restart procedure is defined to maintain the security
characteristics of a SCTP Association using DTLS Chunk, this requires
that SCTP Restart procedure is modified in regards to how it is
described in <xref target="RFC9260"/>.</t>
        <t>In order to support SCTP Restart, the SCTP Endpoints shall allocate
and maintain dedicated DTLS connections, those connection will be
identified with specific DCIs.  Both SCTP Endpoints shall guarantee
that Restart DTLS connections and related keys are preserved for
supporting the SCTP Restart use case.</t>
        <t>In order to be available for SCTP Restart purposes, the Restart DTLS
connection must be kept in a well-known state so that both SCTP
Endpoints are aware of the DTLS sequence numbers and replay window. An
SCTP Endpoint SHALL NEVER use the SCTP Restart DTLS connection for any
other use case than SCTP Restart.</t>
        <t>The DTLS Restart Connections, the related key materials, the
information related to the sequence numbers and replay window SHALL be
stored in a safe way that survives the events that are causing SCTP
Restart procedure to be used, for instance a Crash of the SCTP Stack.</t>
        <t>The SCTP Restart handshakes INIT/INIT-ACK exactly as in legacy SCTP
whilst COOCKIE-ECHO/COOKIE-ACK SHALL be sent as DTLS chunk protected
using the keying material for the restart DTLS connection, that is the
DTLS Restart Connection and its DCI.</t>
        <t>A Restart DCI is identified by having the Restart Indicator bit set in
the DTLS Chunk (see <xref target="sctp-DTLS-chunk-newchunk-crypt-struct"/>).
There's exactly one active Restart DCI at a time, the newest. Whereas
a number of Restart DTLS connection MAY exist at the same time with
the purpose of replace the aging active Restart DTLS connection.</t>
        <figure anchor="DTLS-chunk-restart">
          <name>Handshake of SCTP Restart for DTLS in SCTP</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="536" viewBox="0 0 536 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 40,48 L 40,160" fill="none" stroke="black"/>
                <path d="M 408,48 L 408,160" fill="none" stroke="black"/>
                <path d="M 440,64 L 440,80" fill="none" stroke="black"/>
                <path d="M 440,128 L 440,144" fill="none" stroke="black"/>
                <path d="M 40,64 L 200,64" fill="none" stroke="black"/>
                <path d="M 256,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 48,80 L 184,80" fill="none" stroke="black"/>
                <path d="M 272,80 L 408,80" fill="none" stroke="black"/>
                <path d="M 440,80 L 528,80" fill="none" stroke="black"/>
                <path d="M 40,128 L 112,128" fill="none" stroke="black"/>
                <path d="M 320,128 L 400,128" fill="none" stroke="black"/>
                <path d="M 48,144 L 112,144" fill="none" stroke="black"/>
                <path d="M 312,144 L 408,144" fill="none" stroke="black"/>
                <path d="M 440,144 L 520,144" fill="none" stroke="black"/>
                <path d="M 424,48 C 432.83064,48 440,55.16936 440,64" fill="none" stroke="black"/>
                <path d="M 424,96 C 432.83064,96 440,88.83064 440,80" fill="none" stroke="black"/>
                <path d="M 424,112 C 432.83064,112 440,119.16936 440,128" fill="none" stroke="black"/>
                <path d="M 424,160 C 432.83064,160 440,152.83064 440,144" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="408,128 396,122.4 396,133.6" fill="black" transform="rotate(0,400,128)"/>
                <polygon class="arrowhead" points="408,64 396,58.4 396,69.6" fill="black" transform="rotate(0,400,64)"/>
                <polygon class="arrowhead" points="56,144 44,138.4 44,149.6" fill="black" transform="rotate(180,48,144)"/>
                <polygon class="arrowhead" points="56,80 44,74.4 44,85.6" fill="black" transform="rotate(180,48,80)"/>
                <g class="text">
                  <text x="40" y="36">Initiator</text>
                  <text x="408" y="36">Responder</text>
                  <text x="228" y="68">[INIT]</text>
                  <text x="472" y="68">Plain</text>
                  <text x="516" y="68">SCTP</text>
                  <text x="228" y="84">[INIT-ACK]</text>
                  <text x="136" y="132">[DTLS</text>
                  <text x="212" y="132">CHUNK(COOKIE</text>
                  <text x="292" y="132">ECHO)]</text>
                  <text x="488" y="132">Encrypted</text>
                  <text x="136" y="148">[DTLS</text>
                  <text x="212" y="148">CHUNK(COOKIE</text>
                  <text x="288" y="148">ACK)]</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
Initiator                                     Responder
    |                                             | -.
    +--------------------[INIT]------------------>|   | Plain SCTP
    |<-----------------[INIT-ACK]-----------------+   +-----------
    |                                             | -'
    |                                             | -.
    +---------[DTLS CHUNK(COOKIE ECHO)]---------->|   | Encrypted
    |<--------[DTLS CHUNK(COOKIE ACK)]------------+   +----------
    |                                             | -'

]]></artwork>
          </artset>
        </figure>
        <t>The <xref target="DTLS-chunk-restart"/> shows how the control chunks being
used for SCTP Association Restart are transported within DTLS in SCTP.</t>
        <t>Sending INIT and INIT-ACK plain text guarantees the compliance with
the legacy SCTP Restart, whilst the transport of the COOCKIE-ECHO
and COOCKIE-ACK by means of DTLS chunk ensures that the
peer requesting the restart has been previously validated.</t>
        <t>A restarted SCTP Association SHALL use the Restart DCI, thus the
Restart DTLS connection, for User Traffic until a new traffic
DTLS connection will be available.
The implementors SHOULD guarantee that a new replacement
Restart DTLS connection as well as a new Restart DCI are handshaked
as soon as possible so that the time when no Restart DCI are available
is kept to a minimum.</t>
      </section>
    </section>
    <section anchor="new-parameter-type">
      <name>New Parameter Type</name>
      <t>This section defines the new parameter type that will be used to
negotiate the use of the DTLS 1.3 chunk during
association setup. <xref target="sctp-DTLS-chunk-init-parameter"/> illustrates
the new parameter type.</t>
      <table anchor="sctp-DTLS-chunk-init-parameter">
        <name>New INIT/INIT-ACK Parameter</name>
        <thead>
          <tr>
            <th align="right">Parameter Type</th>
            <th align="left">Parameter Name</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">0x80xx</td>
            <td align="left">DTLS 1.3 Chunk Protected Association</td>
          </tr>
        </tbody>
      </table>
      <t>Note that the parameter format requires the receiver to ignore the
parameter and continue processing if the parameter is not understood.
This is accomplished (as described in <xref target="RFC9260"/>, Section 3.2.1.)  by
the use of the upper bits of the parameter type.</t>
      <section anchor="protectedassoc-parameter">
        <name>DTLS 1.3 Chunk Protected Association</name>
        <t>This parameter is only used to indicate the request and acknowledge of
support of DTLS 1.3 Chunk during INIT/INIT-ACK handshake.</t>
        <figure anchor="sctp-DTLS-chunk-init-options">
          <name>Protected Association Parameter</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="144" width="528" viewBox="0 0 528 144" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,128" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,128" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,128" 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 8,128 L 520,128" 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="80" y="84">Parameter</text>
                  <text x="140" y="84">Type</text>
                  <text x="168" y="84">=</text>
                  <text x="204" y="84">0x80XX</text>
                  <text x="360" y="84">Parameter</text>
                  <text x="428" y="84">Length</text>
                  <text x="72" y="116">Options</text>
                  <text x="352" y="116">Padding</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Parameter Type = 0x80XX    |       Parameter Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Options                    |       Padding                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </artset>
        </figure>
        <dl newline="true">
          <dt>Parameter Type: 16 bits (unsigned integer)</dt>
          <dd>
            <t>This value MUST be set to 0x80XX.</t>
          </dd>
          <dt>Parameter Length: 16 bits (unsigned integer)</dt>
          <dd>
            <t>This value holds the length of the Options field in
bytes plus 4.</t>
          </dd>
          <dt>Options: 16 bits (unsigned integer)</dt>
          <dd>
            <t>This value is set by default to zero. It may contain indication of
optional feature support in the future.</t>
          </dd>
          <dt>Padding: 16 bits</dt>
          <dd>
            <t>The sender MUST pad the chunk with two all zero bytes
to make the chunk 32-bit aligned. The Padding MUST NOT be longer
than 2 bytes and it MUST be ignored by the receiver.</t>
          </dd>
        </dl>
        <t>RFC-Editor Note: Please replace 0x08XX with the actual parameter type
value assigned by IANA and then remove this note.</t>
      </section>
    </section>
    <section anchor="new-chunk-types">
      <name>New Chunk Types</name>
      <section anchor="DTLS-chunk">
        <name>DTLS Chunk (DTLS)</name>
        <t>This section defines the new chunk type that will be used to
transport DTLS 1.3 Records containing SCTP payload.
<xref target="sctp-DTLS-chunk-newchunk-crypt"/> illustrates the new chunk type.</t>
        <table anchor="sctp-DTLS-chunk-newchunk-crypt">
          <name>DTLS Chunk Type</name>
          <thead>
            <tr>
              <th align="right">Chunk Type</th>
              <th align="left">Chunk Name</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">0x4X</td>
              <td align="left">DTLS Chunk (DTLS)</td>
            </tr>
          </tbody>
        </table>
        <t>RFC-Editor Note: Please replace 0x4x with the actual chunk type value
assigned by IANA and then remove this note.</t>
        <t>It should be noted that the DTLS chunk format requires the receiver
stop processing this SCTP packet, discard the unrecognized chunk and
all further chunks, and report the unrecognized chunk in an ERROR
chunk using the 'Unrecognized Chunk Type' error cause.  This is
accomplished (as described in <xref target="RFC9260"/> Section 3.2.) by the use of
the upper bits of the chunk type.</t>
        <t>The DTLS chunk is used to hold the DTLS 1.3 record with the protected
payload of a plain SCTP packet.</t>
        <figure anchor="sctp-DTLS-chunk-newchunk-crypt-struct">
          <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 216,64 L 216,96" fill="none" stroke="black"/>
                <path d="M 232,64 L 232,96" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 264,160 L 264,192" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,192" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                <path d="M 264,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,192 L 520,192" fill="none" stroke="black"/>
                <g class="text">
                  <text x="16" y="36">0</text>
                  <text x="176" y="36">1</text>
                  <text x="336" y="36">2</text>
                  <text x="496" y="36">3</text>
                  <text x="16" y="52">0</text>
                  <text x="32" y="52">1</text>
                  <text x="48" y="52">2</text>
                  <text x="64" y="52">3</text>
                  <text x="80" y="52">4</text>
                  <text x="96" y="52">5</text>
                  <text x="112" y="52">6</text>
                  <text x="128" y="52">7</text>
                  <text x="144" y="52">8</text>
                  <text x="160" y="52">9</text>
                  <text x="176" y="52">0</text>
                  <text x="192" y="52">1</text>
                  <text x="208" y="52">2</text>
                  <text x="224" y="52">3</text>
                  <text x="240" y="52">4</text>
                  <text x="256" y="52">5</text>
                  <text x="272" y="52">6</text>
                  <text x="288" y="52">7</text>
                  <text x="304" y="52">8</text>
                  <text x="320" y="52">9</text>
                  <text x="336" y="52">0</text>
                  <text x="352" y="52">1</text>
                  <text x="368" y="52">2</text>
                  <text x="384" y="52">3</text>
                  <text x="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="36" y="84">Type</text>
                  <text x="64" y="84">=</text>
                  <text x="92" y="84">0x4x</text>
                  <text x="172" y="84">reserved</text>
                  <text x="224" y="84">R</text>
                  <text x="248" y="84">DCI</text>
                  <text x="360" y="84">Chunk</text>
                  <text x="412" y="84">Length</text>
                  <text x="264" y="132">Payload</text>
                  <text x="384" y="180">Padding</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x4x   |reserved |R|DCI|         Chunk Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Payload                            |
|                                                               |
|                               +-------------------------------+
|                               |           Padding             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </artset>
        </figure>
        <dl>
          <dt>reserved: 5 bits</dt>
          <dd>
            <t>Reserved bits for future use. Sender MUST set these bits to 0 and
MUST be ignored on reception.</t>
          </dd>
          <dt>R: 1 bit (boolean)</dt>
          <dd>
            <t>Restart indicator. If this bit is set this DTLS chunk is protected
with by an restart DTLS Connection with the index indicated by the
DCI. If not set, then a traffic DCI is indicated.</t>
          </dd>
          <dt>DCI: 2 bits (unsigned integer)</dt>
          <dd>
            <t>DTLS Connection Index is the lower two bits of an DTLS Connection
 Index counter for the traffic or restart DTLS connection index.
 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 the lower part
 of a larger variable.
 DCI is unrelated to the DTLS Connection ID (CID) <xref target="RFC9147"/>.</t>
          </dd>
          <dt>Chunk Length: 16 bits (unsigned integer)</dt>
          <dd>
            <t>This value holds the length of the Payload in bytes plus 4.</t>
          </dd>
          <dt>Payload: variable length</dt>
          <dd>
            <t>This holds the encrypted data in one or more DTLS 1.3 Records <xref target="RFC9147"/>.</t>
          </dd>
          <dt>Padding: 0, 8, 16, or 24 bits</dt>
          <dd>
            <t>If the length of the Payload is not a multiple of 4 bytes, the sender
MUST pad the chunk with all zero bytes to make the chunk 32-bit
aligned.  The Padding MUST NOT be longer than 3 bytes and it MUST
be ignored by the receiver.</t>
          </dd>
        </dl>
      </section>
      <section anchor="pvalid-chunk">
        <name>Protection Solution Validation Chunk (PVALID)</name>
        <t>This section defines the new chunk types that will be used to validate
the Init/Init-ACK negotiation that selected the DTLS 1.3 chunk.  This
to prevent down grade attacks on the negotiation if other protection
solutions where offered. <xref target="sctp-DTLS-chunk-newchunk-pvalid-chunk"/>
illustrates the new chunk type.</t>
        <table anchor="sctp-DTLS-chunk-newchunk-pvalid-chunk">
          <name>PVALID Chunk Type</name>
          <thead>
            <tr>
              <th align="right">Chunk Type</th>
              <th align="left">Chunk Name</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">0x4X</td>
              <td align="left">Protection Solution Validation (PVALID)</td>
            </tr>
          </tbody>
        </table>
        <t>It should be noted that the PVALID chunk format requires the receiver
stop processing this SCTP packet, discard the unrecognized chunk and
all further chunks, and report the unrecognized chunk in an ERROR
chunk using the 'Unrecognized Chunk Type' error cause.  This is
accomplished (as described in <xref target="RFC9260"/> Section 3.2.) by the use of
the upper bits of the chunk type.</t>
        <t>The PVALID chunk is used to hold a 32-bit vector of offered protection
solutions in the INIT.</t>
        <figure anchor="sctp-DTLS-chunk-newchunk-PVALID">
          <name>PVALID Chunk Structure</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="144" width="528" viewBox="0 0 528 144" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,128" 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 520,64 L 520,128" 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 8,128 L 520,128" 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="44" y="84">Type</text>
                  <text x="72" y="84">=</text>
                  <text x="100" y="84">0x4X</text>
                  <text x="184" y="84">Flags</text>
                  <text x="216" y="84">=</text>
                  <text x="232" y="84">0</text>
                  <text x="360" y="84">Chunk</text>
                  <text x="412" y="84">Length</text>
                  <text x="68" y="116">Protection</text>
                  <text x="152" y="116">Solutions</text>
                  <text x="232" y="116">Indicator</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Type = 0x4X  |   Flags = 0   |         Chunk Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Protection Solutions Indicator                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </artset>
        </figure>
        <dl newline="true">
          <dt>Chunk Type: 8 bits (unsigned integer)</dt>
          <dd>
            <t>This value MUST be set to 0x4X.</t>
          </dd>
          <dt>Chunk Flags: 8 bits</dt>
          <dd>
            <t>MUST be set to zero on transmit and MUST be ignored on receipt.</t>
          </dd>
          <dt>Chunk Length: 16 bits (unsigned integer)</dt>
          <dd>
            <t>This value holds the length of the Protection Solutions Indicator
field in bytes plus 4.</t>
          </dd>
          <dt>Protection Solutions Indicator: 32 bits (unsigned integer)</dt>
          <dd>
            <t>This value is set by default to zero. It uses the different
bit-values to indicate that the INIT contained an offer of the
indiacted protection solutions. Value 0x1 is used to indicate that
one offered DTLS 1.3 Chunk.</t>
          </dd>
        </dl>
        <t>RFC-Editor Note: Please replace 0x4X with the actual chunk type value
assigned by IANA and then remove this note.</t>
      </section>
    </section>
    <section anchor="error_handling">
      <name>Error Handling</name>
      <t>This specification introduces a new set of error causes that are to be
used when SCTP endpoint detects a faulty condition. The special case is
when the error is detected by the DTLS 1.3 Protection that may provide
additional information.</t>
      <section anchor="enoprotected">
        <name>Mandatory Protected Association Parameter Missing</name>
        <t>When an initiator SCTP endpoint sends an INIT chunk that doesn't
contain the DTLS 1.3 Chunk Protected Association or other protection
solutions towards an SCTP endpoint that only accepts protected
associations, the responder endpoint SHALL raise a Missing Mandatory
Parameter error. The ERROR chunk will contain the cause code 'Missing
Mandatory Parameter' (2) (see <xref target="RFC9260"/> Section 3.3.10.7) and the
DTLS 1.3 chunk protected association parameter identifier
<xref target="protectedassoc-parameter"/> in the missing param Information
field. It may also include additional parameters representing other
supported protection mechanisms that are acceptable per endpoint
security policy.</t>
        <figure anchor="sctp-DTLS-init-chunk-missing-protected">
          <name>ERROR Missing Protected Association Paramater</name>
          <artset>
            <artwork type="svg" align="center"><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 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 264,128 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 8,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,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="96" y="84">Cause</text>
                  <text x="140" y="84">Code</text>
                  <text x="168" y="84">=</text>
                  <text x="184" y="84">2</text>
                  <text x="360" y="84">Cause</text>
                  <text x="412" y="84">Length</text>
                  <text x="172" y="116">Number</text>
                  <text x="212" y="116">of</text>
                  <text x="256" y="116">missing</text>
                  <text x="316" y="116">params</text>
                  <text x="352" y="116">=</text>
                  <text x="368" y="116">N</text>
                  <text x="44" y="148">DTLS</text>
                  <text x="80" y="148">1.3</text>
                  <text x="120" y="148">Chunk</text>
                  <text x="184" y="148">Protected</text>
                  <text x="240" y="148">Asc</text>
                  <text x="336" y="148">Missing</text>
                  <text x="392" y="148">Param</text>
                  <text x="436" y="148">Type</text>
                  <text x="468" y="148">#2</text>
                  <text x="72" y="180">Missing</text>
                  <text x="128" y="180">Param</text>
                  <text x="172" y="180">Type</text>
                  <text x="212" y="180">#N-1</text>
                  <text x="336" y="180">Missing</text>
                  <text x="392" y="180">Param</text>
                  <text x="436" y="180">Type</text>
                  <text x="468" y="180">#N</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Cause Code = 2         |         Cause Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Number of missing params = N                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  DTLS 1.3 Chunk Protected Asc |     Missing Param Type #2     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Missing Param Type #N-1    |     Missing Param Type #N     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </artset>
        </figure>
        <t>Note: Cause Length is equal to the number of missing parameters 8 + N
* 2 according to <xref target="RFC9260"/>, section 3.3.10.2. Also the Protection
Association ID may be present in any of the N missing params, no order
implied by the example in <xref target="sctp-DTLS-init-chunk-missing-protected"/>.</t>
      </section>
      <section anchor="eprotect">
        <name>Error in DTLS Chunk</name>
        <t>A new Error Type is defined for DTLS Chunk, it's used for any error
related to the DTLS chunk's protection mechanism described in this
document and has a structure that allows detailed information to be
added as extra causes.</t>
        <t>This specification describes some of the causes whilst the key
establishment specification MAY add further causes.</t>
        <t>When detecting an error, SCTP will send an ABORT chunk containing
the relevant Error Type and Causes.</t>
        <figure anchor="sctp-eprotect-error-structure">
          <name>Error in DTLS Chunk Cause Format</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="176" width="528" viewBox="0 0 528 176" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,64 L 8,160" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,160" 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 520,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 520,128" fill="none" stroke="black"/>
                <path d="M 8,160 L 520,160" 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="72" y="84">Cause</text>
                  <text x="116" y="84">Code</text>
                  <text x="144" y="84">=</text>
                  <text x="172" y="84">TBA9</text>
                  <text x="360" y="84">Cause</text>
                  <text x="412" y="84">Length</text>
                  <text x="104" y="116">Extra</text>
                  <text x="152" y="116">Cause</text>
                  <text x="188" y="116">#1</text>
                  <text x="360" y="116">Extra</text>
                  <text x="408" y="116">Cause</text>
                  <text x="444" y="116">#2</text>
                  <text x="96" y="148">Extra</text>
                  <text x="144" y="148">Cause</text>
                  <text x="188" y="148">#N-1</text>
                  <text x="360" y="148">Extra</text>
                  <text x="408" y="148">Cause</text>
                  <text x="444" y="148">#N</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Cause Code = TBA9         |         Cause Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Extra Cause #1        |         Extra Cause #2        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Extra Cause #N-1       |         Extra Cause #N        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </artset>
        </figure>
        <dl newline="true">
          <dt>Cause Code: 16 bits (unsigned integer)</dt>
          <dd>
            <t>The SCTP Error Chunk Cause Code indicating "Error in Protection" is TBA9.</t>
          </dd>
          <dt>Cause Length: 16 bits (unsigned integer)</dt>
          <dd>
            <t>Is for N extra Causes equal to  4 + N * 2</t>
          </dd>
          <dt>Extra Cause: 16 bits (unsigned integer)</dt>
          <dd>
            <t>Each Extra Cause indicate an additional piece of information as part
of the error. There MAY be zero to as many as can fit in the extra
cause field in the ERROR Chunk (A maximum of 32764).</t>
          </dd>
        </dl>
        <t>Editor's Note: Please replace TBA9 above with what is assigned by IANA.</t>
        <t>Below a number of defined Error Causes are defined, additional causes
can be registered with IANA following the rules in <xref target="IANA-Extra-Cause"/>.</t>
        <section anchor="ekeyhandshake">
          <name>Error During Protection Handshake</name>
          <t>If the protection specifies a handshake for example for
authentication, it may
happen that the procedure has errors. In such case an ABORT chunk will
be sent with error in protection cause code (specified in
<xref target="eprotect"/>) and extra cause "Error During Protection Handshake"
identifier 0x01.</t>
        </section>
        <section anchor="evalidate">
          <name>Failure in Protection Solution Validation</name>
          <t>A Failure may occur during protection solution validation, i.e. when
the PVALID chunks <xref target="pvalid-chunk"/> are exchanged to validate the
initialization.  In such case an ABORT chunk will be sent with error
in protection cause code (specified in <xref target="eprotect"/>) and extra cause
"Failure in Validation" identifier 0x02 to indicate this failure.</t>
        </section>
        <section anchor="etmout">
          <name>Timeout During Protection Handshake or Validation</name>
          <t>Whenever a T-valid timeout occurs, the SCTP endpoint will send an
ABORT chunk with "Error in Protection" cause (specified in
<xref target="eprotect"/>) and extra cause "Timeout During Protection Handshake or
Validation" identifier 0x03 to indicate this failure.  To indicate in
which phase the timeout occurred an additional extra cause code is
added. If the protection solution specifies that key management is
implemented in-band and the T-valid timeout occurs during the
handshake the Cause-Specific code to add is "Error During Protection
Handshake" identifier 0x01.  If the T-valid timeout occurs during the
protection association parameter validation, the extra cause code to
use is "Failure in Validation" identifier 0x02.</t>
        </section>
      </section>
      <section anchor="eengine">
        <name>Critical Error from DTLS</name>
        <t>DTLS 1.3 MAY inform local SCTP endpoint about errors.  When an Error
in the DTLS 1.3 compromises the protection mechanism, the protection
operator may stop processing data altogether, thus the local SCTP
endpoint will not be able to send or receive any chunk for the
specified Association.  This will cause the Association to be closed
by legacy timer-based mechanism. Since the Association protection is
compromised no further data will be sent and the remote peer will also
experience timeout on the Association.</t>
      </section>
      <section anchor="non-critical-errors">
        <name>Non-critical Error in the Protection</name>
        <t>A non-critical error in DTLS 1.3 means that the
Protection Operator is capable of recovering without the need
of the whole Association to be restarted.</t>
        <t>From SCTP perspective, a non-critical error will be perceived
as a temporary problem in the transport and will be handled
with retransmissions and SACKS according to <xref target="RFC9260"/>.</t>
        <t>When the Protection Operator will experience a non-critical error,
an ABORT chunk SHALL NOT be sent.</t>
      </section>
    </section>
    <section anchor="procedures">
      <name>Procedures</name>
      <section anchor="establishment-procedure">
        <name>Establishment of a Protected Association</name>
        <t>An SCTP Endpoint acting as initiator willing to create a DTLS 1.3
chunk protected association shall send to the remote peer an INIT
chunk containing the DTLS 1.3 Chunk Protected Association parameter
(see <xref target="protectedassoc-parameter"/>) whith the optional information, if
any (see <xref target="sctp-DTLS-chunk-init-options"/>).</t>
        <t>An SCTP Endpoint acting as responder, when receiving an INIT chunk
with DTLS 1.3 Chunk Protected Association parameter, will reply with
INIT-ACK with its own DTLS 1.3 Chunk Protected Association parameter
and any optional information.</t>
        <t>Additionally, an SCTP Endpoint acting as responder willing to support
only protected associations shall consider INIT chunk not containing
the DTLS 1.3 Chunk Protected Association parameter or another by
security policy accepted security solution as an error, thus it will
reply with an ABORT chunk according to what specified in
<xref target="enoprotected"/> indicating that for this endpoint mandatory DTLS 1.3
Chunk Protected Association parameter is missing.</t>
        <t>When initiator and responder have agreed on a protected association by
means of handshaking INIT/INIT-ACK the SCTP association establishment
continues until it has reached the ESTABLISHED state. However, before
the SCTP assocation is protected by the DTLS 1.3 Chunk some additional
states needs to be passed. First DTLS Chunk needs be initializied
in the PROTECTION INTILIZATION state. This MAY be accomplished by the
procedure defined in <xref target="I-D.westerlund-tsvwg-sctp-DTLS-handshake"/>, or
through other methods that results in at least one DCI has
initialized state using the API. When that has been accomplished one
enters the VALIDATION state where one validates the exchange of the
DTLS 1.3 Chunk Protected Association Parameter and any alternative
protection solutions. If that is successful one enters the PROTECTED
state. This state sequence is depicted in <xref target="init-state-machine"/>.</t>
        <t>Until the procedure has reached the PROTECTED state the only usage of
DATA Chunks that is accepted is DATA Chunks with the SCTP-DTLS PPID
used to exchange in-band key establishment messages for DTLS. Any
other DATA chunk being received in a Protected association SHALL be
silently discarded.</t>
        <t>DTLS 1.3 initializes itself by transferring its own handshake messages
as payload of the DATA chunk necessary
<xref target="I-D.westerlund-tsvwg-sctp-DTLS-handshake"/>. The DTLS Chunk
initialization SHOULD be supervised by a T-valid timer that fits DTLS
1.3 handshake and may also be further adjusted based on whether
expected RTT values are outside of the ones commonly occurring on the
general Internet, see <xref target="t-valid-considerations"/>. At completion of
DTLS Chunk initialization the setup of the Protected association is
complete and one enters the VALIDATION state, and from that time on
only DTLS chunks will be exchanged. Any plain text chunk will be
silently discarded.</t>
        <t>In case of T-valid timeout, the endpoint will generate an ABORT chunk.
The ERROR handling follows what specified in <xref target="ekeyhandshake"/>.</t>
        <t>When entering the VALIDATION state, the initiator MUST send to the
responder a PVALID chunk (see
<xref target="sctp-DTLS-chunk-newchunk-pvalid-chunk"/>) containing indication of
all offered protection solutions previously sent in the INIT chunk,
including the 0x1 value indicating that DTLS 1.3 Chunk Protected
Association parameter was included. The transmission of the PVALID
chunk MUST be done reliably. The responder receiving the PVALID chunk
will compare the indicated solutions with the ones previously received
as parameters in the INIT chunk, if they are exactly the same, it will
reply to the initiator with a PVALID chunk containing the chose
proteciton solution, otherwise it will reply with an ABORT
chunk. ERROR CAUSE will indicate "Failure in Validation" and the SCTP
association will be terminated. If the association was not aborted the
protected association is considered successfully established and the
PROTECTED state is entered.</t>
        <t>When the initiator receives the PVALID chunk, it will compare with the
previous chosen Options and in case of mismatch with the one received
previously in the protected association parameter in the INIT-ACK
chunk, it will reply with ABORT with the ERROR CAUSE "Failure in
Validation", otherwise the protected association is successfully
established and the initiator enters the PROTECTED state.</t>
        <t>If T-valid timer expires either at initiator or responder, it will
generate an ABORT chunk.  The ERROR handling follows what specified in
<xref target="etmout"/>.</t>
        <t>In the PROTECTED state any ULP SCTP messages for any PPID MAY be
exchanged in the protected SCTP association.</t>
        <t>When entering the PROTECTED state, a Restart DTLS connection
SHOULD be created.</t>
      </section>
      <section anchor="termination-procedure">
        <name>Termination of a Protected Association</name>
        <t>Besides the procedures for terminating an association explained in
<xref target="RFC9260"/>, DTLS 1.3 SHALL ask SCTP endpoint for
terminating an association when having an internal error or by
detecting a security violation.
During the termination procedure all Control Chunks SHALL be protected
except SHUTDOWN-COMPLETE. The internal design of Protection
Engines and their capability is out of the scope of the current
document.</t>
      </section>
      <section anchor="init-state-machine">
        <name>Protection Initialization State Machine</name>
        <figure anchor="sctp-DTLS-state-diagram">
          <name>DTLS Chunk State Diagram</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="528" width="368" viewBox="0 0 368 528" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,144 L 8,176" fill="none" stroke="black"/>
                <path d="M 16,320 L 16,352" fill="none" stroke="black"/>
                <path d="M 48,32 L 48,64" fill="none" stroke="black"/>
                <path d="M 48,480 L 48,512" fill="none" stroke="black"/>
                <path d="M 112,64 L 112,136" fill="none" stroke="black"/>
                <path d="M 112,176 L 112,312" fill="none" stroke="black"/>
                <path d="M 112,352 L 112,472" fill="none" stroke="black"/>
                <path d="M 176,32 L 176,64" fill="none" stroke="black"/>
                <path d="M 176,480 L 176,512" fill="none" stroke="black"/>
                <path d="M 200,320 L 200,352" fill="none" stroke="black"/>
                <path d="M 224,144 L 224,176" fill="none" stroke="black"/>
                <path d="M 48,32 L 176,32" fill="none" stroke="black"/>
                <path d="M 48,64 L 176,64" fill="none" stroke="black"/>
                <path d="M 8,144 L 224,144" fill="none" stroke="black"/>
                <path d="M 8,176 L 224,176" fill="none" stroke="black"/>
                <path d="M 120,256 L 248,256" fill="none" stroke="black"/>
                <path d="M 16,320 L 200,320" fill="none" stroke="black"/>
                <path d="M 16,352 L 200,352" fill="none" stroke="black"/>
                <path d="M 120,400 L 304,400" fill="none" stroke="black"/>
                <path d="M 48,480 L 176,480" fill="none" stroke="black"/>
                <path d="M 48,512 L 176,512" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="120,472 108,466.4 108,477.6" fill="black" transform="rotate(90,112,472)"/>
                <polygon class="arrowhead" points="120,312 108,306.4 108,317.6" fill="black" transform="rotate(90,112,312)"/>
                <polygon class="arrowhead" points="120,136 108,130.4 108,141.6" fill="black" transform="rotate(90,112,136)"/>
                <g class="text">
                  <text x="112" y="52">ESTABLISHED</text>
                  <text x="132" y="100">If</text>
                  <text x="200" y="100">INIT/INIT-ACK</text>
                  <text x="272" y="100">has</text>
                  <text x="328" y="100">Protected</text>
                  <text x="168" y="116">Association</text>
                  <text x="256" y="116">Parameter</text>
                  <text x="60" y="164">PROTECTION</text>
                  <text x="160" y="164">INITILIZATION</text>
                  <text x="144" y="212">start</text>
                  <text x="200" y="212">T-valid</text>
                  <text x="260" y="212">timer.</text>
                  <text x="144" y="244">[DTLS</text>
                  <text x="196" y="244">SETUP]</text>
                  <text x="140" y="276">send</text>
                  <text x="176" y="276">and</text>
                  <text x="224" y="276">receive</text>
                  <text x="140" y="292">DTLS</text>
                  <text x="200" y="292">handshake</text>
                  <text x="108" y="340">VALIDATION</text>
                  <text x="160" y="388">[ENDPOINT</text>
                  <text x="248" y="388">VALIDATION]</text>
                  <text x="140" y="420">send</text>
                  <text x="176" y="420">and</text>
                  <text x="224" y="420">receive</text>
                  <text x="148" y="436">PVALID</text>
                  <text x="188" y="436">by</text>
                  <text x="224" y="436">means</text>
                  <text x="260" y="436">of</text>
                  <text x="140" y="452">DTLS</text>
                  <text x="188" y="452">chunk.</text>
                  <text x="112" y="500">PROTECTED</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
     +---------------+
     |  ESTABLISHED  |
     +-------+-------+
             |
             | If INIT/INIT-ACK has Protected
             | Association Parameter
             v
+--------------------------+
| PROTECTION INITILIZATION |
+------------+-------------+
             |
             | start T-valid timer.
             |
             | [DTLS SETUP]
             |-----------------
             | send and receive
             | DTLS handshake
             v
 +----------------------+
 |      VALIDATION      |
 +-----------+----------+
             |
             | [ENDPOINT VALIDATION]
             |------------------------
             | send and receive
             | PVALID by means of
             | DTLS chunk.
             v
     +---------------+
     |   PROTECTED   |
     +---------------+
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="key-management-considerations">
        <name>Considerations on Key Management</name>
        <t>When the Association is in PROTECTION INITILIZATION state, in-band key
management MAY use SCTP user messages with the SCTP-DTLS PPID (see
<xref target="iana-payload-protection-id"/>) for message transfer that will be sent
unencrypted.</t>
        <t>When the Association is in DTLS chunk PROTECTED state and the SCTP
assocation is in ESTABLISHED or any of the states that can be reached
after ESTABLISHED state, in-band key management are RECOMMENDED to
use SCTP Data chunk with dedicated PPID, those chunks will be
sent and received unencrypted.</t>
      </section>
      <section anchor="t-valid-considerations">
        <name>Consideration on T-valid</name>
        <t>The timer T-Valid supervises initializations that depend on how the
handshake is specified for the key establishment used for the DTLS 1.3
chunk and also on the characteristics of the transport network.</t>
        <t>This specification recommends a default value of 30 seconds for
T-valid.</t>
      </section>
    </section>
    <section anchor="protected-data-handling">
      <name>Protected Data Chunk Handling</name>
      <t>With reference to the DTLS Chunk states and the state Diagram as
shown in Figure 3 of <xref target="RFC9260"/>, the handling of Control chunks, Data
chunks and DTLS chunks follows the rules defined below:</t>
      <ul spacing="normal">
        <li>
          <t>When the association is in states CLOSED, COOKIE-WAIT, and
COOKIE-ECHOED, any Control chunk is sent unprotected (i.e. plain
text). No DATA chunks shall be sent in these states and DATA chunks
received shall be silently discarded.</t>
        </li>
        <li>
          <t>When the DTLS Chunk is in state PROTECTED and the SCTP association
is in states ESTABLISHED or in the states for association shutdown,
i.e. SHUTDOWN-PENDING, SHUTDOWN-SENT, SHUTDOWN-RECEIVED,
SHUTDOWN-ACK-SENT as defined by <xref target="RFC9260"/>, any SCTP chunk
including DATA chunks, but excluding DTLS chunk, will be used to
create an SCTP payload that will be encrypted by the DTLS 1.3
protection operation and the resulting DTLS record from that
encryption will be the used as payload for a DTLS chunk that will be
the only chunk in the SCTP packet to be sent. DATA chunks are
accepted and handled according to section 4 of <xref target="RFC9260"/>.
Data chunk with dedicated PPID will be sent and received
unencrypted.</t>
        </li>
        <li>
          <t>If an SCTP restart is occurring there are exception rules to the
above. The COOKIE-ECHO and COOKIE-ACK SHALL be sent protected by
DTLS chunk using a restart DCI. The DTLS chunk with restart DCI is
continuning to protect any SCTP chunks sent while being in SCTP
state ESTABLISHED until the DTLS chunk state reaches VALIDATION,
where a newely established traffic DCI SHALL be used instead for
protecting future SCTP chunks.</t>
        </li>
      </ul>
      <figure anchor="sctp-DTLS-encrypt-chunk-states-1">
        <name>Plain Text SCTP Packet</name>
        <artset>
          <artwork type="svg" align="center"><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 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 8,128 L 520,128" fill="none" stroke="black"/>
              <path d="M 8,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="236" y="84">Common</text>
                <text x="292" y="84">Header</text>
                <text x="248" y="116">Chunk</text>
                <text x="284" y="116">#1</text>
                <text x="240" y="148">.</text>
                <text x="256" y="148">.</text>
                <text x="272" y="148">.</text>
                <text x="248" y="180">Chunk</text>
                <text x="284" y="180">#n</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Common Header                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Chunk #1                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            . . .                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Chunk #n                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </artset>
      </figure>
      <t>The diagram shown in <xref target="sctp-DTLS-encrypt-chunk-states-1"/> describes
the structure of any plain text SCTP packet being sent or received
when the DTLS Chunk is not in VALIDATION or PROTECTED state.</t>
      <figure anchor="sctp-DTLS-encrypt-chunk-states-2">
        <name>Protected SCTP Packets</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="144" width="528" viewBox="0 0 528 144" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,64 L 8,128" fill="none" stroke="black"/>
              <path d="M 520,64 L 520,128" 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 8,128 L 520,128" 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="236" y="84">Common</text>
                <text x="292" y="84">Header</text>
                <text x="228" y="116">DTLS</text>
                <text x="272" y="116">Chunk</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Common Header                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         DTLS Chunk                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </artset>
      </figure>
      <t>The diagram shown in <xref target="sctp-DTLS-encrypt-chunk-states-2"/> describes
the structure of an SCTP packet being sent after the DTLS Chunk
VALIDATION or PROTECTED state has been reached. Such packets are built
with the SCTP common header. Only one DTLS chunk can be sent in
a SCTP packet.</t>
      <section anchor="data-sending">
        <name>Protected Data Chunk Transmission</name>
        <t>When the DTLS Chunk state machine hasn't reached the VALIDATION state,
DTLS 1.3 MAY perform key management in-band, thus the DTLS chunk
Handler will receive plain control and DATA chunks from the SCTP chunk
handler.</t>
        <t>When DTLS Chunk has reached the VALIDATION and PROTECTED state,
the DTLS chunk handler will receive control chunks and DATA chunks
from the SCTP chunk handler as a complete SCTP payload with maximum
size limited by PMTU reduced by the size of the SCTP common header and
the DTLS chunk overhead.</t>
        <t>That plain payload will be sent to the Protection Operator in use for
that specific association, the Protection Operator will return an
encrypted DTLS 1.3 record.</t>
        <t>An SCTP packet containing an SCTP DTLS chunk SHALL be delivered
without delay and SCTP bundling SHALL NOT be performed.</t>
      </section>
      <section anchor="data-receiving">
        <name>Protected Data Chunk Reception</name>
        <t>When the DTLS Chunk state machine hasn't reached the VALIDATION state
it MAY perform key management in-band. In such case, the DTLS chunk
handler will receive plain control chunks and DATA chunks with
SCTP-DTLS PPID from the SCTP Header Handler. Those plain text control
chunks will be forwarded to SCTP chunk handler as well as the DATA
chunk with the SCTP-DTLS PPID.</t>
        <t>When the DTLS Chunk state machine has reached the VALIDATION or
PROTECTED state, the DTLS chunk handler will receive DTLS chunks
from the SCTP Header Handler.  Payload from DTLS chunks will be
forwarded to the Protection Operator which will return a plain
SCTP Payload.  The plain SCTP payload will be forwarded to SCTP Chunk
Handler that will split it in separated chunks and will handle them
according to <xref target="RFC9260"/>.</t>
        <t>Meta data, such as ECN, source and destination address or path ID,
belonging to the received SCTP packet SHALL be tied to the relevant
set chunks and forwarded transparently to the SCTP endpoint.</t>
        <section anchor="sctp-header-handler">
          <name>SCTP Header Handler</name>
          <t>The SCTP Header Handler is responsible for correctness of the SCTP
common header, it receives the SCTP packet from the lower transport
layer, discriminates among associations and forwards the payload and
relevant data to the SCTP Protection Operator for handling.</t>
          <t>In the opposite direction it creates the SCTP common header and fills
it with the relevant information for the specific association and
delivers it towards the lower transport layer.</t>
        </section>
      </section>
    </section>
    <section anchor="abstract-api">
      <name>Abstract API</name>
      <t>This section describes and abstract API that is needed between a key
establishment part and the DTLS 1.3 protection chunk.</t>
      <section anchor="cipher-suit-capabilities">
        <name>Cipher Suit Capabilities</name>
        <t>The key-management function needs to know which cipher suits defined
for usage with DTLS 1.3 that are supported by the DTLS chunk and its
protection operations block. All TLS cipher suit that are defined are
listed in the TLS cipher suit registry <xref target="TLS-CIPHER-SUITS"/> at IANA
and are identified by a 2-byte value. Thus this needs to return a list
of all supported cipher suits to the higher layer.</t>
        <t>Request : Get Cipher Suits</t>
        <t>Parameters : none</t>
        <t>Reply   : Cipher Suits</t>
        <t>Parameters : list of cipher suits</t>
      </section>
      <section anchor="establish-client-write-keying-material">
        <name>Establish Client Write Keying Material</name>
        <t>The DTLS Chunk can use one of out of multiple sets of cipher suit and
corresponding key materials. Which has been used are explicitly
indicated in the DCI field.</t>
        <t>The following information needs to be provided when setting Client Write (transmit) Keying material:</t>
        <t>Request : Establish Client Write Key and IV</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <dl>
              <dt>SCTP Assocation:</dt>
              <dd>
                <t>Reference to the relevant SCTP assocation to set the keying material for.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>DCI:</dt>
              <dd>
                <t>The DTLS connection index value to establish (or overwrite)</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Restart indication:</dt>
              <dd>
                <t>A bit indicating wheter the DCI is for restart purposes</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>DTLS Epoch:</dt>
              <dd>
                <t>The DTLS epoch these keys are valid for. Note that Epoch lower than
3 are note expected as they are used during DTLS handshake.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Cipher Suit:</dt>
              <dd>
                <t>2 bytes cipher suit identification for the DTLS 1.3 Cipher suit used
to identify the DTLS AEAD algorithm to perform the DTLS record protection.
The cipher suite is fixed for a (SCTP Assocation, DCI) pair.</t>
              </dd>
            </dl>
          </li>
          <li>
            <t>Write Key:</t>
          </li>
        </ul>
        <t>: The cipher suit specific binary object containing all necessary
information for protection operations. The secret will used by the DTLS 1.3 client to
encrypt the record. Binary arbitrary long object depending on the
cipher suit used.</t>
        <ul spacing="normal">
          <li>
            <t>Write IV:</t>
          </li>
        </ul>
        <t>: The cipher suit specific binary object containing all necessary
information for protection operations. The secret that will be used by
the DTLS 1.3 server to encrypt the record. Binary arbitrary long
object depending on the cipher suit used.</t>
        <t>Reply : Established</t>
        <t>Parameters : true or false</t>
      </section>
      <section anchor="establish-server-write-keying-material">
        <name>Establish Server Write Keying Material</name>
        <t>The DTLS Chunk can use one of out of multiple sets of cipher suit and
corresponding key materials. Which has been used are explicitly
indicated in the DCI field.</t>
        <t>The following information needs to be provided when setting Server Write (transmit) Keying material:</t>
        <t>Request : Establish Server Write Key and IV</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <dl>
              <dt>SCTP Assocation:</dt>
              <dd>
                <t>Reference to the relevant SCTP assocation to set the keying material for.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>DCI:</dt>
              <dd>
                <t>The DTLS connection index value to establish (or overwrite)</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Restart indication:</dt>
              <dd>
                <t>A bit indicating wheter the DCI is for restart purposes</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>DTLS Epoch:</dt>
              <dd>
                <t>The DTLS epoch these keys are valid for. Note that Epoch lower than
3 are note expected as they are used during DTLS handshake.</t>
              </dd>
            </dl>
          </li>
          <li>
            <dl>
              <dt>Cipher Suit:</dt>
              <dd>
                <t>2 bytes cipher suit identification for the DTLS 1.3 Cipher suit used
to identify the DTLS AEAD algorithm to perform the DTLS record protection.
The cipher suite is fixed for a (SCTP Assocation, DCI) pair.</t>
              </dd>
            </dl>
          </li>
          <li>
            <t>Write Key:</t>
          </li>
        </ul>
        <t>: The cipher suit specific binary object containing all necessary
information for protection operations. The secret will used by the DTLS 1.3 client to
encrypt the record. Binary arbitrary long object depending on the
cipher suit used.</t>
        <ul spacing="normal">
          <li>
            <t>Write IV:</t>
          </li>
        </ul>
        <t>: The cipher suit specific binary object containing all necessary
information for protection operations. The secret that will be used by
the DTLS 1.3 server to encrypt the record. Binary arbitrary long
object depending on the cipher suit used.</t>
        <t>Reply : Established</t>
        <t>Parameters : true or false</t>
      </section>
      <section anchor="destroy-client-write-keying-material">
        <name>Destroy Client Write Keying Material</name>
        <t>A function to destroy the Client Write (transmit) keying material for a given epoch for a given
DCI for a given SCTP Association.</t>
        <t>Request : Destroy client write key and IV</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <t>SCTP Association</t>
          </li>
          <li>
            <t>DCI</t>
          </li>
          <li>
            <t>Restart indication</t>
          </li>
          <li>
            <t>DTLS Epoch</t>
          </li>
        </ul>
        <t>Reply: Destroyed</t>
        <t>Parameters : true or false</t>
      </section>
      <section anchor="destroy-server-write-keying-material">
        <name>Destroy Server Write Keying Material</name>
        <t>A function to destroy the Server Write (transmit) keying material for a given epoch for a given
DCI for a given SCTP Association.</t>
        <t>Request : Destroy server write key and IV</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <t>SCTP Association</t>
          </li>
          <li>
            <t>DCI</t>
          </li>
          <li>
            <t>Restart indication</t>
          </li>
          <li>
            <t>DTLS Epoch</t>
          </li>
        </ul>
        <t>Reply: Destroyed</t>
        <t>Parameters : true or false</t>
      </section>
      <section anchor="set-dci-to-use">
        <name>Set DCI to Use</name>
        <t>Set which key context (DCI) to use to protect the future SCTP packets sent by the
SCTP Association.</t>
        <t>Request : Set DCI used</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <t>SCTP Association</t>
          </li>
          <li>
            <t>DCI</t>
          </li>
          <li>
            <t>Restart indication</t>
          </li>
        </ul>
        <t>Reply: DCI set</t>
        <t>Parameters : true or false</t>
      </section>
      <section anchor="get-q">
        <name>Get q</name>
        <t>Get q, the number of protected messages (AEAD encryption invocations) for
a given epoch.</t>
        <t>Request : Get q</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <t>SCTP Association</t>
          </li>
          <li>
            <t>DCI</t>
          </li>
          <li>
            <t>Restart indication</t>
          </li>
          <li>
            <t>DTLS Epoch</t>
          </li>
        </ul>
        <t>Reply: q</t>
        <t>Parameters : non-negative integer</t>
      </section>
      <section anchor="get-v">
        <name>Get v</name>
        <t>Get v, the number of attacker forgery attempts
(failed AEAD decryption invocations) for a given epoch.</t>
        <t>Request : Get v</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <t>SCTP Association</t>
          </li>
          <li>
            <t>DCI</t>
          </li>
          <li>
            <t>Restart indication</t>
          </li>
          <li>
            <t>DTLS Epoch</t>
          </li>
        </ul>
        <t>Reply: v</t>
        <t>Parameters : non-negative integer</t>
      </section>
      <section anchor="per-packet-information">
        <name>Per Packet Information</name>
      </section>
      <section anchor="configure-replay-protection">
        <name>Configure Replay Protection</name>
        <t>The DTLS replay protection in this usage is expected to be fairly
robust. Its depth of handling is related to maximum network path
reordering that the receiver expects to see during the SCTP
association. However as the actual reordering in number of packets are
a combination of how delayed one packet may be compared to another
times the actual packet rate this can grow for some applications and
may need to be tuned. Thus, having the potential for setting this a
more suitable value depending on the use case should be considered.</t>
        <t>Request : Configure Replay Protection</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <t>DCI</t>
          </li>
          <li>
            <t>Restart indication</t>
          </li>
          <li>
            <t>SCTP Association</t>
          </li>
          <li>
            <t>Configuration parameters</t>
          </li>
        </ul>
        <t>Reply: Replay Protection Configured</t>
        <t>Parameters : true or false</t>
      </section>
    </section>
    <section anchor="IANA-Consideration">
      <name>IANA Considerations</name>
      <t>This document defines two new registries in the Stream Control
Transmission Protocol (SCTP) Parameters group that IANA
maintains. Theses registries are for the extra cause codes for
protection related errors and the Options. It also adds
registry entries into several other registries in the Stream Control
Transmission Protocol (SCTP) Parameters group:</t>
      <ul spacing="normal">
        <li>
          <t>Two new SCTP Chunk Types</t>
        </li>
        <li>
          <t>One new SCTP Chunk Parameter Type</t>
        </li>
        <li>
          <t>One new SCTP Error Cause Codes</t>
        </li>
        <li>
          <t>One new SCTP Payload Protocol Identifier</t>
        </li>
      </ul>
      <section anchor="iana-dtls-options">
        <name>DTLS Options Identifier Registry</name>
        <t>IANA is requested to create a new registry called "DTLS Chunk
Options Identifiers". This registry is part of the Stream
Control Transmission Protocol (SCTP) Parameters grouping.</t>
        <t>The purpose of this registry is to enable optional behaviors of
DTLS Chunk. Values will be assigned by IANA
a unique 16-bit unsigned integer is used.
Values 0-65534 are available for assignment. Value 65535 is
reserved for future extension. The proposed general form of the
registry is depicted below in <xref target="iana-protection-options-identifier"/>.</t>
        <table anchor="iana-protection-options-identifier">
          <name>DTLS Options Identifier Registry</name>
          <thead>
            <tr>
              <th align="right">ID Value</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
              <th align="left">Contact</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">0-65534</td>
              <td align="left">Available for Assignment</td>
              <td align="left">RFC-To-Be</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="right">65535</td>
              <td align="left">Reserved</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
          </tbody>
        </table>
        <t>New entries are registered following the Specification Required policy
as defined by <xref target="RFC8126"/>.</t>
      </section>
      <section anchor="IANA-Extra-Cause">
        <name>Protection Error Cause Codes Registry</name>
        <t>IANA is requested to create a new registry called "Protection Error
Cause Codes". This registry is part of the Stream Control Transmission
Protocol (SCTP) Parameters grouping.</t>
        <t>The purpose of this registry is to enable identification of different
protection related errors when using DTLS chunk and a protection
engine.  Entries in the registry requires a Meaning, a reference to
the specification defining the error, and a contact. Each entry will
be assigned by IANA a unique 16-bit unsigned integer
identifier. Values 0-65534 are available for assignment. Value 65535
is reserved for future extension. The proposed general form of the
registry is depicted below in <xref target="iana-protection-error-cause"/>.</t>
        <table anchor="iana-protection-error-cause">
          <name>Protection Error Cause Code</name>
          <thead>
            <tr>
              <th align="right">Cause Code</th>
              <th align="left">Meaning</th>
              <th align="left">Reference</th>
              <th align="left">Contact</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">0</td>
              <td align="left">Error in the Protection Operator List</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
            <tr>
              <td align="right">1</td>
              <td align="left">Error During Protection Handshake</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
            <tr>
              <td align="right">2</td>
              <td align="left">Failure in Protection Operators Validation</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
            <tr>
              <td align="right">3</td>
              <td align="left">Timeout During KEY Handshake or Validation</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
            <tr>
              <td align="right">4-65534</td>
              <td align="left">Available for Assignment</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
            <tr>
              <td align="right">65535</td>
              <td align="left">Reserved</td>
              <td align="left">RFC-To-Be</td>
              <td align="left">Authors</td>
            </tr>
          </tbody>
        </table>
        <t>New entries are registered following the Specification Required policy
as defined by <xref target="RFC8126"/>.</t>
      </section>
      <section anchor="sctp-chunk-types">
        <name>SCTP Chunk Types</name>
        <t>In the Stream Control Transmission Protocol (SCTP) Parameters group's
"Chunk Types" registry, IANA is requested to add the two new entries
depicted below in in <xref target="iana-chunk-types"/> with a reference to this
document. The registry at time of writing was available at:
https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-1</t>
        <table anchor="iana-chunk-types">
          <name>New Chunk Types Registered</name>
          <thead>
            <tr>
              <th align="right">ID Value</th>
              <th align="left">Chunk Type</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">TBA6</td>
              <td align="left">DTLS Chunk (DTLS)</td>
              <td align="left">RFC-To-Be</td>
            </tr>
            <tr>
              <td align="right">TBA7</td>
              <td align="left">Protected Association Parameter Validation (PVALID)</td>
              <td align="left">RFC-To-Be</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sctp-chunk-parameter-types">
        <name>SCTP Chunk Parameter Types</name>
        <t>In the Stream Control Transmission Protocol (SCTP) Parameters group's
"Chunk Parameter Types" registry, IANA is requested to add the new
entry depicted below in in <xref target="iana-chunk-parameter-types"/> with a
reference to this document. The registry at time of writing was
available at:
https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-2</t>
        <table anchor="iana-chunk-parameter-types">
          <name>New Chunk Type Parameters Registered</name>
          <thead>
            <tr>
              <th align="right">ID Value</th>
              <th align="left">Chunk Parameter Type</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">TBA8</td>
              <td align="left">DTLS 1.3 Chunk Protected Association</td>
              <td align="left">RFC-To-Be</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sctp-error-cause-codes">
        <name>SCTP Error Cause Codes</name>
        <t>In the Stream Control Transmission Protocol (SCTP) Parameters group's
"Error Cause Codes" registry, IANA is requested to add the new
entry depicted below in in <xref target="iana-error-cause-codes"/> with a
reference to this document. The registry at time of writing was
available at:
https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-24</t>
        <table anchor="iana-error-cause-codes">
          <name>Error Cause Codes Parameters Registered</name>
          <thead>
            <tr>
              <th align="right">ID Value</th>
              <th align="left">Error Cause Codes</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">TBA9</td>
              <td align="left">DTLS Chunk Error</td>
              <td align="left">RFC-To-Be</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sctp-payload-protocol-identifier">
        <name>SCTP Payload Protocol Identifier</name>
        <t>In the Stream Control Transmission Protocol (SCTP) Parameters group's
"Payload Protocol Identifiers" registry, IANA is requested to add the new
entry depicted below in in <xref target="iana-payload-protection-id"/> with a
reference to this document. The registry at time of writing was
available at:
https://www.iana.org/assignments/sctp-parameters/sctp-parameters.xhtml#sctp-parameters-25</t>
        <table anchor="iana-payload-protection-id">
          <name>Protection Operator Protocol Identifier Registered</name>
          <thead>
            <tr>
              <th align="right">ID Value</th>
              <th align="left">SCTP Payload Protocol Identifier</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">TBA10</td>
              <td align="left">Protection Operator Protocol Identifier</td>
              <td align="left">RFC-To-Be</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="Security-Considerations">
      <name>Security Considerations</name>
      <t>All the security and privacy considerations of the security protocol
used as the Protection Operator applies.</t>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>Using a security protocol in the SCTP DTLS chunk might lower the
privacy properties of the security protocol as the SCTP Verification
Tag is an unique identifier for the association.</t>
      </section>
      <section anchor="Downgrade-Attacks">
        <name>Downgrade Attacks</name>
        <t>The pvalid chunk provides a mechanism for preventing downgrade attacks
that detects downgrading attempts between protection solutions and
terminates the association. The chosen protection solution is the same
as if the peers had been communicating in the absence of an attacker.</t>
        <t>The initial handshake is verified before the
DTLS Chunk is considered protected, thus no user data are sent before
validation.</t>
        <t>The downgrade protection is only as strong as the weakest of the
supported protection solutions as an active attacker can trick the
endpoints to negotiate the weakest protection solution and then
modify the weakly protected pvalid chunks to deceive the endpoints
that the negotiation of the Protection Operators is validated. This
is similar to the downgrade protection in TLS 1.3 specified in
Section 4.1.3. of <xref target="RFC8446"/> where downgrade protection is not
provided when TLS 1.2 with static RSA is used. It is RECOMMENDED
to only support a limited set of strongly profiled protection
solutions.</t>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors thank Michael Tüxen for his invaluable comments
   helping to cope with Association Restart, ASCONF handling and
   restructuring the Protection Operator architecture.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC9147" target="https://www.rfc-editor.org/info/rfc9147" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="RFC9260" target="https://www.rfc-editor.org/info/rfc9260" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9260.xml">
          <front>
            <title>Stream Control Transmission Protocol</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="M. Tüxen" initials="M." surname="Tüxen"/>
            <author fullname="K. Nielsen" initials="K." surname="Nielsen"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This document describes the Stream Control Transmission Protocol (SCTP) and obsoletes RFC 4960. It incorporates the specification of the chunk flags registry from RFC 6096 and the specification of the I bit of DATA chunks from RFC 7053. Therefore, RFCs 6096 and 7053 are also obsoleted by this document. In addition, RFCs 4460 and 8540, which describe errata for SCTP, are obsoleted by this document.</t>
              <t>SCTP was originally designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks. It is also suited to be used for other applications, for example, WebRTC.</t>
              <t>SCTP is a reliable transport protocol operating on top of a connectionless packet network, such as IP. It offers the following services to its users:</t>
              <t>The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9260"/>
          <seriesInfo name="DOI" value="10.17487/RFC9260"/>
        </reference>
        <reference anchor="TLS-CIPHER-SUITS" target="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4">
          <front>
            <title>TLS Cipher Suites</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="November"/>
          </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="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="I-D.westerlund-tsvwg-sctp-DTLS-handshake" target="https://datatracker.ietf.org/doc/draft-westerlund-tsvwg-sctp-dtls-handshake/">
          <front>
            <title>Datagram Transport Layer Security (DTLS) in the 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="2024" month="January"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
BDHykx+MsXbppMFE5U6BV1+Wg3z66sGQS4tp3eR5plbuQJrdEh2rrIp3uYKU
09dqpSIcBkDyFeaXnK9h+Yc+AJ+D9kqYlobS7Gxd8AAhAV36pyPDmPBI9RpT
R8WJigxHUoPTCyShnlQsPKW9mzGugQUK+ztdjxfl5B2WoVlYeiVOH0f3vlz0
My7yuol5KO1X+HZ8hT5fVO8PT85eHL8Znr89uTjHi88NXZfnuyeYLZS0zszs
3hArEXKUBEUU6Z25StQPjBRXgXfO6LZR2HsCOyGEeX6Jn3m8eSONm/bt74Ew
1bHVqqtNDV8XmNoOj2P6k4W/tzyKi0HWoKdPL2zZw0WOJ/9ThTT2A3cpfSVd
SlWHhsNgOVA5VipD6FM4Qinn2nFhVg13JCFiVJTPhKMnLWgxkR+RK1g77Jsm
DywIjQmYdzcm5iv6m6OHJ1y0QYq+xioHmrSTWxRctk8qCMJCyeOYbP6BL4f5
0MPBr3Jfn85m0HHnwx/lDPgIjPk71ReQ1rVPxexbsbDAm9qXSMg5Hmr1tHvI
jnB8LC4vJUJ667pLcA/z7cPaH2AqEbC1a1z8QxylVV9fFnrAxfVjziumfXtT
lsuiz1Rded+UmZaFazlelZN5sjqHn0icKvSK5pgsbsjGnnH0ruezIBmMtU/o
aSw+aUPeOSt4nHZK2COXqdM0EYKUIhVck+9IpPHVU/4kFQ8xy1c9i7Nxg6RQ
9D48e3B8cARM4LIEAM+X5KIXDTw8IgGbyP0w2oFwUuuh+PEsf+9LUtkHLWwa
4DE8BJGQMzIEbNw3AnW9uyDlxiDSgRmW4z9i1EAbQngVOtxPaEvKXk4tdTYd
CGXR99Z1z42nCZNLU3oTzWteaJvZ73lBWQX4RvdnUUPz6+P4urouMGmdgtr6
yY9/oZ13C7RLx8AAAeqcQQ0O7wwBswECtgcCLBIUhwLsTOVBU62posUMOK9r
CYJzXtz/n4Ig2fxnC4I26P4mCP4mCP4mCP4mCP4zCYIjINyqvLnFHjiIJiIs
firv4DI2qdI9vAqQ9xJM6kI4gPrEED9XT7Rbaid2kl+y4BNxMBIqt7JfyVBi
ltnP81LGJTANc34GQLfL1c0A3SSSfgOACnr+PwbQc8fpLwCnt/gR/s2eCVwi
0i96ix8QF4RnqPROTIxBkOoEEx9Ho9iE3HrfChw/PfH6XwgJv3cYDmT6rTtH
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
T6kZ2f8Fvy4/uRDgAAA=

-->

</rfc>
