<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.2 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-westerlund-tsvwg-sctp-dtls-chunk-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <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-00"/>
    <author initials="M." surname="Westerlund" fullname="Magnus Westerlund">
      <organization>Ericsson</organization>
      <address>
        <email>magnus.westerlund@ericsson.com</email>
      </address>
    </author>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="C." surname="Porfiri" fullname="Claudio Porfiri">
      <organization>Ericsson</organization>
      <address>
        <email>claudio.porfiri@ericsson.com</email>
      </address>
    </author>
    <date year="2023" month="November" day="23"/>
    <area>Transport</area>
    <workgroup>TSVWG</workgroup>
    <abstract>
      <?line 73?>

<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 85?>

<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
   keymanagement 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 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, initial DTLS handshake, the SCTP common
header, the SCTP DTLS chunk header 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 be 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 a periodic re-authentication and rekeying with Diffe-Hellman of
the DTLS chunk protection is defied in a sepearte 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>DTLS chunks will never be retransmitted, retransmission is implemented
by SCTP endpoint at chunk level as in the legacy. 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>DTLS 1.3 is assumed to be implemented by a key handler and a
protection operator. The key handler implements the key management by
means of handshake, it's properly configured using secrets. The way
DTLS 1.3 is configured with secrets is part of the another document
<xref target="I-D.westerlund-tsvwg-sctp-DTLS-handshake"/>. The DTLS protection
operator is the encryption engine of DTLS 1.3, it's configured with
the needed keys by the key handler.</t>
        <t>SCTP DTLS chunk directly uses DTLS 1.3 protection operator by
requesting protection and unprotection of a buffer, in particular the
protection buffer should never exceed the possible SCTP packet size
thus DTLS protection operator needs to be aware of the PMTU (see <xref target="pmtu"/>).</t>
        <t>The key management part of the DTLS 1.3 is the set of data
and procedures that take care of key distribution, verification, and
update. SCTP DTLS provides support for in-band key management, on
those cases the Protection Engines uses SCTP DATA chunks identified
with a dedicated Payload Protocol Identifier.</t>
        <t>During protection engine initialization, that is after the SCTP
association reaches the ESTABLISHED state (see <xref target="RFC9260"/> Section 4),
but before DTLS 1.3 key-management has completed and the
Protected Assocation Parameter Validation is completed, any in-band
Key Management MAY use SCTP user message that SHALL use the SCTP-DTLS
PPID (see <xref target="iana-payload-protection-id"/>). These DATA chunks
SHALL be sent unprotected by the protection engine as no keys have
been established yet. As soon as the protection engine has been
intialized and the validation has occured, further DTLS 1.3 handshakes
being sent using SCTP use messages with the
SCTP-DTLS PPID, will have their message protected inside SCTP
DTLS chunk protected with the currently established key.
SCTP DTLS chunk state evolution is described in <xref target="init-state-machine"/>.</t>
        <t>DTLS related procedures MAY use the Flags byte provided by the
DTLS chunk header (see <xref target="sctp-DTLS-chunk-newchunk-crypt-struct"/>)
for their needs. Details of the use of Flags are specified within
this document in the relevant sections.</t>
        <t>The SCTP common header is assumed to be implicitly protected by the
protection engine. This protection is based on the assumption that
there will be a one-to-one mapping between SCTP association and
individually established security contexts.</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 engines, 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>On the other hand, the protection operator needs to be informed about
the PMTU by removing from the value the sum of the common SCTP header
and the DTLS chunk header. This implies that SCTP can propagate
the computed PMTU at run time specifically.</t>
        <t>From SCTP perspective, if there is a maximum size of plain text data
that can be protected by the protection engine 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 engine 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 shall 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. However, valid ICMP errors or information may indirectly be
provided to the protection operator, such as an update to PMTU values
based on packet to big ICMP messages.</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 Chunks 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 The introduction of
DTLS CHUNK opens for two alternatives depending on if the protection engine
preserves its key material state or not.</t>
        <t>When the encryption engine can preserve the key material, meaning that
encrypted data belonging to the current Association can be encrypted and
decrypted, the request for SCTP Restart SHOULD use INIT chunk in DTLS chunk.</t>
        <t>When the DTLS context is not preserved, the SCTP Restart can only be
accomplished by means of plain text INIT.  This opens to a
man-in-the-middle attack where a malicious attacker may theoretically
generate an INIT chunk with proper parameters and hijack the SCTP
association. This should only be allowed under explictly configured
policy.</t>
        <t>Editors note: The whole section related to SCTP Restart requires
further work, though.</t>
        <section anchor="init-chunk-in-dtls-chunk">
          <name>INIT chunk in DTLS chunk</name>
          <t>This procedure as currently defined updates <xref target="RFC9260"/>, thus this
part requires agreements and possibly a new approach.</t>
          <t>If the key material associated with the SCTP association has been
preserved the peer aiming for a SCTP Restart can still send DTLS
chunks that can be processed by the remote peer.  In such case the
peer willing to restart the Association SHOULD send the INIT chunk in
a DTLS chunk and encrypt it.  At reception of the DTLS chunk
containing INIT, the receiver will follow the procedure described in
<xref target="RFC9260"/> section 5.2.2 with the exception that all the chunks will
be sent in DTLS chunks.</t>
          <t>An endpoint supporting SCTP Association Restart and implementing DTLS
Chunk MUST accept receiving SCTP packets with a verification tag with
value 0.  The endpoint will attempt to map the packet to an
association based on source IP address, destination address and
port. 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. Note that type
of trial decrypting of the SCTP packets will increase the resource
consumption per packet with the number of matching SCTP associations.</t>
          <t>Note that the Association Restart will update the verification tags
for both endpoints.  At the end of the unexpected INIT handshaking the
receiver of INIT chunk SHALL perform a rekeying as soon
as possible to verify the peer identity.</t>
        </section>
        <section anchor="init-chunk-as-plain-text">
          <name>INIT chunk as plain text</name>
          <t>If the key material isn't preserved the peer aiming for a SCTP Restart
can only perform an INIT in plain text. Supporting this option opens
up the SCTP association to an availability attack, where an capable
attacker may be able to hijack the SCTP association. Therefore an
implementation should only support and enable this option if restart
is crucial and only when a policy is explicit set to enable the
function.</t>
          <t>To mount the attack the attacker needs to be able to process copies of
packets sent from the target endpoint towards its peer for the
targeted SCTP association. In addition the attacker needs to be able
to send IP packets with a source address of the target's peer. If the
attacker can send an SCTP INIT that appear to be from the peer, if the
target is allowing this option it will generate an INIT ACK back, and
assuming the attacker succesfully completes the restart handshake
process the attack has managed to change the VTAG for the association
and the peer will no longer respond, leading to a SCTP associatons
failure.</t>
          <t>As mitigation an SCTP endpoint supporting Association Restart by means
of plain text INIT SHOULD support is the following. The endpoint
receiving an INIT should send HEARTBEATs protected by DTLS CHUNK to
its peer to validate that the peer is unreachable. If the endpoint
receive an HEARTBEAT ACK within a reasonable time (at least a couple
of RTTs) the restart INIT SHOULD be discarded as the peer obviously
can respond, and thus have no need for a restart. A capable attacker
can still succeed in its attack supressing the HEARTBEAT(s) through
packet filtering, congestion overload or any other method preventing
the HEARTBEATS or there ACKs to reach their destination. If it has
been validated that the peer is unreachable, the INIT chunk will
trigger the procedure described in <xref target="RFC9260"/> section 5.2.2</t>
          <t>Note that the Association Restart will update the verification tags
for both endpoints.  At the end of the unexpected INIT handshaking the
receiver of INIT chunk SHALL trigger the creation of a new DTLS
connection to be executed as soon as possible.  Also note that failure
in handshaking of a new DTLS connection is considered a protocol
violation and will lead to Association Abort (see <xref target="ekeyhandshake"/>).</t>
        </section>
      </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 contains indication of
optional feature support.</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" 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 136,64 L 136,96" fill="none" stroke="black"/>
                <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
                <path d="M 264,160 L 264,192" fill="none" stroke="black"/>
                <path d="M 520,64 L 520,192" fill="none" stroke="black"/>
                <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
                <path d="M 264,160 L 520,160" fill="none" stroke="black"/>
                <path d="M 8,192 L 520,192" fill="none" stroke="black"/>
                <g class="text">
                  <text x="16" y="36">0</text>
                  <text x="176" y="36">1</text>
                  <text x="336" y="36">2</text>
                  <text x="496" y="36">3</text>
                  <text x="16" y="52">0</text>
                  <text x="32" y="52">1</text>
                  <text x="48" y="52">2</text>
                  <text x="64" y="52">3</text>
                  <text x="80" y="52">4</text>
                  <text x="96" y="52">5</text>
                  <text x="112" y="52">6</text>
                  <text x="128" y="52">7</text>
                  <text x="144" y="52">8</text>
                  <text x="160" y="52">9</text>
                  <text x="176" y="52">0</text>
                  <text x="192" y="52">1</text>
                  <text x="208" y="52">2</text>
                  <text x="224" y="52">3</text>
                  <text x="240" y="52">4</text>
                  <text x="256" y="52">5</text>
                  <text x="272" y="52">6</text>
                  <text x="288" y="52">7</text>
                  <text x="304" y="52">8</text>
                  <text x="320" y="52">9</text>
                  <text x="336" y="52">0</text>
                  <text x="352" y="52">1</text>
                  <text x="368" y="52">2</text>
                  <text x="384" y="52">3</text>
                  <text x="400" y="52">4</text>
                  <text x="416" y="52">5</text>
                  <text x="432" y="52">6</text>
                  <text x="448" y="52">7</text>
                  <text x="464" y="52">8</text>
                  <text x="480" y="52">9</text>
                  <text x="496" y="52">0</text>
                  <text x="512" y="52">1</text>
                  <text x="44" y="84">Type</text>
                  <text x="72" y="84">=</text>
                  <text x="100" y="84">0x4X</text>
                  <text x="160" 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" 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  | DCI           |         Chunk Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                            Payload                            |
|                                                               |
|                               +-------------------------------+
|                               |           Padding             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </artset>
        </figure>
        <dl newline="true">
          <dt>Chunk Type: 8 bits (unsigned integer)</dt>
          <dd>
            <t>This value MUST be set to 0x4X for all DTLS chunks.</t>
          </dd>
        </dl>
        <t>DTLS Connection ID (DCI): 8 bits : This is used to indicate the set of Keys and other
parameters used in the protection operation to form the DTLS record
present in the Payload.</t>
        <dl>
          <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 Engines 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 indiacte 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
protected association parameter identifier
<xref target="protectedassoc-parameter"/> in the missing param Information field.</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="72" y="148">Protected</text>
                  <text x="160" y="148">Association</text>
                  <text x="220" y="148">ID</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                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Protected Association ID    |     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 Protection</name>
        <t>A new Error Type is defined for DTLS Chunk, it's used for any
error related to the 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 Protection 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>Casuse 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, and key management is implemented in-band, 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 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 1.3 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 sent on 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 1.3 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 1.3 Chunk initialization the setup of the Protected association is
complete and one enters the VALIDATION state, and from that time on
only DTLS 1.3 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>
      </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="164" y="292">protection</text>
                  <text x="236" y="292">engine</text>
                  <text x="304" 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
             | protection engine 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 user messages for message transmission that will be
protected by the DTLS 1.3 protected and encapsulated in DTLS chunks.</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"/>.</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 engine 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 Suit</t>
        <t>Parameters : none</t>
        <t>Reply   : Cipher Suit</t>
        <t>Parameters : list of cipher suits</t>
      </section>
      <section anchor="establish-keying-material">
        <name>Establish 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 Keying material:</t>
        <t>Request : Establish Key</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>
        </ul>
        <dl>
          <dt>DCI:</dt>
          <dd>
            <t>The DTLS connection ID value to establish (or overwrite)</t>
          </dd>
          <dt>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>
        <ul spacing="normal">
          <li>
            <dl>
              <dt>Cipher Suit:</dt>
              <dd>
                <t>2 bytes cipher suit identification for the DTLS 1.3 Cipher suit used
to identify the operators to perform the DTLS record protection.</t>
              </dd>
            </dl>
          </li>
          <li>
            <t>client_application_traffic_secret:</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>server_application_traffic_secret:'</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="destroying-keying-material">
        <name>Destroying Keying Material</name>
        <t>A function to destory the keying material for a given DCI for a
given SCTP Association.</t>
        <t>Request : Destroy Key</t>
        <t>Paramters :</t>
        <ul spacing="normal">
          <li>
            <t>DCI</t>
          </li>
          <li>
            <t>SCTP Association</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>DCI</t>
          </li>
        </ul>
        <t>Reply: DCI set</t>
        <t>Parameters : true or false</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>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>Protection Engine 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 for
their protection engine. 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 Engine 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 Engines 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">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">Protection Engine 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 Engine 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 Engine 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 engine 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 engines 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 Engine architecture.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="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>
      </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="2023" month="June"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
