<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-porfiri-tsvwg-sctp-dtls-handshake-02" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="TLS based Key Management for SCTP DTLS Chunk">Transport Layer Security (TLS) based Key Management of the Stream Control Transmission Protocol (SCTP) DTLS Chunk</title>
    <seriesInfo name="Internet-Draft" value="draft-porfiri-tsvwg-sctp-dtls-handshake-02"/>
    <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>
    <author initials="M." surname="Tüxen" fullname="Michael Tüxen">
      <organization abbrev="Münster Univ. of Appl. Sciences">Münster University of Applied Sciences</organization>
      <address>
        <postal>
          <street>Stegerwaldstrasse 39</street>
          <city>Steinfurt</city>
          <code>48565</code>
          <country>Germany</country>
        </postal>
        <email>tuexen@fh-muenster.de</email>
      </address>
    </author>
    <date year="2026" month="October" day="08"/>
    <area>Transport</area>
    <workgroup>TSVWG</workgroup>
    <abstract>
      <?line 80?>

<t>This document defines how Transport Layer Security (TLS) 1.3
is used as a key management method for the SCTP DTLS Chunk mechanism.
It specifies how a TLS handshake establishes the initial security
context for an SCTP association and how subsequent TLS handshakes
provide key updates and re-authentication. The goal is to enable
authenticated and confidential communication over SCTP using the
DTLS Chunk, leveraging standardized TLS 1.3 features for key
management and rekeying.</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-porfiri-tsvwg-sctp-dtls-handshake/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Area Working Group (tsvwg) Working Group mailing list (<eref target="mailto:tsvwg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tsvwg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tsvwg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/teiclap/draft-porfiri-tsvwg-sctp-dtls-handshake"/>.</t>
    </note>
  </front>
  <middle>
    <?line 91?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Stream Control Transmission Protocol (SCTP) <xref target="RFC9260"/> is a
transport protocol designed to support message-oriented communication
with features such as multiple streams for messages and multi-homing.
In many deployments, particularly telecommunication networks, it is
essential to provide confidentiality, integrity, and peer
authentication for SCTP traffic.</t>
      <t><xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/> defines a mechanism for
securing SCTP by encapsulating SCTP chunks within DTLS 1.3 records at
the chunk level.  That specification defines the DTLS chunk format,
negotiation procedures, and an abstract API for key management, but
delegates the actual key management to external methods identified by
a DTLS Key Management Identifier.</t>
      <t>This document defines one such method: it uses TLS 1.3 <xref target="RFC9846"/>
handshakes carried as SCTP user messages to perform mutual
authentication and derive keying material for the DTLS Chunk
Protection Operator.  The combination of the SCTP DTLS Chunk and the
key management defined in this document is referred to as "DTLS in SCTP".</t>
      <t>The key advantages of this approach are:</t>
      <ul spacing="normal">
        <li>
          <t>It requires no extensions to TLS 1.3 to support long-lived sessions.</t>
        </li>
        <li>
          <t>It is based on TLS 1.3 rather than DTLS 1.3, leveraging widely
available TLS implementations.</t>
        </li>
      </ul>
      <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>
        <t>In this document, || denotes concatenation of byte sequences.</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document uses the following terms:</t>
        <dl>
          <dt>Association:</dt>
          <dd>
            <t>An SCTP association.</t>
          </dd>
          <dt>Client:</dt>
          <dd>
            <t>The endpoint that has the key management client role. This
corresponds to the "client" role (C bit) in the DTLS Key Management
Parameter of <xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>.</t>
          </dd>
          <dt>Connection:</dt>
          <dd>
            <t>A TLS 1.3 connection used for key management.</t>
          </dd>
          <dt>DTLS Key Context (DKC):</dt>
          <dd>
            <t>The keying material (record payload key, sequence number key, and
IV) for both send and receive directions, together with the replay
window and last used sequence number.  Each DKC is identified by a
tuple of (SCTP Association, restart indicator, DTLS epoch).</t>
          </dd>
          <dt>Initiator:</dt>
          <dd>
            <t>The endpoint initiating the SCTP association. In case of simultaneous open,
both SCTP endpoints may have started as Initiator.</t>
          </dd>
          <dt>Primary DKC:</dt>
          <dd>
            <t>A DTLS Key Context used to protect regular SCTP association traffic.</t>
          </dd>
          <dt>Responder:</dt>
          <dd>
            <t>The endpoint acting as server during SCTP association
establishment.</t>
          </dd>
          <dt>Restart DKC:</dt>
          <dd>
            <t>A DTLS Key Context reserved exclusively for the SCTP association
restart procedure.</t>
          </dd>
          <dt>Server:</dt>
          <dd>
            <t>The endpoint taking the key management server role. This corresponds
to the "server" role (S bit) in the DTLS Key Management Parameter of
<xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>.</t>
          </dd>
        </dl>
      </section>
      <section anchor="abbreviations">
        <name>Abbreviations</name>
        <dl>
          <dt>AEAD:</dt>
          <dd>
            <t>Authenticated Encryption with Associated Data</t>
          </dd>
          <dt>DKC:</dt>
          <dd>
            <t>DTLS Key Context</t>
          </dd>
          <dt>DTLS:</dt>
          <dd>
            <t>Datagram Transport Layer Security</t>
          </dd>
          <dt>PPID:</dt>
          <dd>
            <t>Payload Protocol Identifier</t>
          </dd>
          <dt>SCTP:</dt>
          <dd>
            <t>Stream Control Transmission Protocol</t>
          </dd>
          <dt>TLS:</dt>
          <dd>
            <t>Transport Layer Security</t>
          </dd>
          <dt>ULP:</dt>
          <dd>
            <t>Upper Layer Protocol</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>This section provides an informational overview of TLS for DTLS in
SCTP.  Normative procedures are specified in <xref target="procedures"/>.</t>
      <section anchor="architecture">
        <name>Architecture</name>
        <figure anchor="overview-layering">
          <name>Architecture</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="528" width="464" viewBox="0 0 464 528" 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 8,432 L 8,512" fill="none" stroke="black"/>
                <path d="M 72,344 L 72,384" fill="none" stroke="black"/>
                <path d="M 96,384 L 96,424" fill="none" stroke="black"/>
                <path d="M 136,32 L 136,336" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,336" fill="none" stroke="black"/>
                <path d="M 168,64 L 168,304" fill="none" stroke="black"/>
                <path d="M 176,344 L 176,384" fill="none" stroke="black"/>
                <path d="M 184,112 L 184,256" fill="none" stroke="black"/>
                <path d="M 192,448 L 192,496" fill="none" stroke="black"/>
                <path d="M 208,96 L 208,128" fill="none" stroke="black"/>
                <path d="M 208,160 L 208,192" fill="none" stroke="black"/>
                <path d="M 208,240 L 208,288" fill="none" stroke="black"/>
                <path d="M 296,192 L 296,240" fill="none" stroke="black"/>
                <path d="M 296,312 L 296,384" fill="none" stroke="black"/>
                <path d="M 368,448 L 368,496" fill="none" stroke="black"/>
                <path d="M 384,96 L 384,128" fill="none" stroke="black"/>
                <path d="M 384,160 L 384,192" fill="none" stroke="black"/>
                <path d="M 384,240 L 384,288" fill="none" stroke="black"/>
                <path d="M 400,64 L 400,304" fill="none" stroke="black"/>
                <path d="M 416,112 L 416,464" fill="none" stroke="black"/>
                <path d="M 432,32 L 432,336" fill="none" stroke="black"/>
                <path d="M 432,432 L 432,512" fill="none" stroke="black"/>
                <path d="M 8,32 L 136,32" fill="none" stroke="black"/>
                <path d="M 152,32 L 432,32" fill="none" stroke="black"/>
                <path d="M 168,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 208,96 L 384,96" fill="none" stroke="black"/>
                <path d="M 184,112 L 200,112" fill="none" stroke="black"/>
                <path d="M 384,112 L 416,112" fill="none" stroke="black"/>
                <path d="M 208,128 L 384,128" fill="none" stroke="black"/>
                <path d="M 208,160 L 384,160" fill="none" stroke="black"/>
                <path d="M 184,176 L 208,176" fill="none" stroke="black"/>
                <path d="M 208,192 L 384,192" fill="none" stroke="black"/>
                <path d="M 208,240 L 384,240" fill="none" stroke="black"/>
                <path d="M 184,256 L 200,256" fill="none" stroke="black"/>
                <path d="M 208,288 L 384,288" fill="none" stroke="black"/>
                <path d="M 168,304 L 400,304" fill="none" stroke="black"/>
                <path d="M 8,336 L 136,336" fill="none" stroke="black"/>
                <path d="M 152,336 L 432,336" fill="none" stroke="black"/>
                <path d="M 72,384 L 296,384" fill="none" stroke="black"/>
                <path d="M 8,432 L 432,432" fill="none" stroke="black"/>
                <path d="M 192,448 L 368,448" fill="none" stroke="black"/>
                <path d="M 376,464 L 416,464" fill="none" stroke="black"/>
                <path d="M 192,496 L 368,496" fill="none" stroke="black"/>
                <path d="M 8,512 L 432,512" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="424,424 412,418.4 412,429.6" fill="black" transform="rotate(90,416,424)"/>
                <polygon class="arrowhead" points="384,464 372,458.4 372,469.6" fill="black" transform="rotate(180,376,464)"/>
                <polygon class="arrowhead" points="304,312 292,306.4 292,317.6" fill="black" transform="rotate(270,296,312)"/>
                <polygon class="arrowhead" points="208,256 196,250.4 196,261.6" fill="black" transform="rotate(0,200,256)"/>
                <polygon class="arrowhead" points="208,112 196,106.4 196,117.6" fill="black" transform="rotate(0,200,112)"/>
                <polygon class="arrowhead" points="184,344 172,338.4 172,349.6" fill="black" transform="rotate(270,176,344)"/>
                <polygon class="arrowhead" points="104,424 92,418.4 92,429.6" fill="black" transform="rotate(90,96,424)"/>
                <polygon class="arrowhead" points="80,344 68,338.4 68,349.6" fill="black" transform="rotate(270,72,344)"/>
                <g class="text">
                  <text x="72" y="52">ULP</text>
                  <text x="232" y="52">Key</text>
                  <text x="292" y="52">Management</text>
                  <text x="364" y="52">Method</text>
                  <text x="288" y="84">TLS</text>
                  <text x="320" y="84">1.3</text>
                  <text x="256" y="116">Key</text>
                  <text x="308" y="116">Exporter</text>
                  <text x="256" y="180">Key</text>
                  <text x="316" y="180">Management</text>
                  <text x="240" y="228">ContentType</text>
                  <text x="264" y="260">TLS</text>
                  <text x="308" y="260">Record</text>
                  <text x="260" y="276">Protection</text>
                  <text x="340" y="276">Operator</text>
                  <text x="224" y="372">PPID=4243</text>
                  <text x="344" y="372">PPID=4242</text>
                  <text x="444" y="388">keys</text>
                  <text x="68" y="404">PPID</text>
                  <text x="92" y="468">SCTP</text>
                  <text x="252" y="468">DTLS</text>
                  <text x="296" y="468">Chunk</text>
                  <text x="244" y="484">Protection</text>
                  <text x="324" y="484">Operator</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+---------------+ +----------------------------------+
|      ULP      | |        Key Management Method     |
|               | | +----------------------------+   |
|               | | |             TLS 1.3        |   |
|               | | |    +---------------------+ |   |
|               | | | +->+    Key Exporter     +-+-+ |
|               | | | |  +---------------------+ | | |
|               | | | |                          | | |
|               | | | |  +---------------------+ | | |
|               | | | +--+    Key Management   + | | |
|               | | | |  +----------+----------+ | | |
|               | | | |             |            | | |
|               | | | | ContentType |            | | |
|               | | | |  +----------+----------+ | | |
|               | | | +->|     TLS Record      | | | |
|               | | |    | Protection Operator | | | |
|               | | |    +----------+----------+ | | |
|               | | +----------------------------+ | |
|               | |                 ^              | |
+-------+-------+ +-----------------+--------------+-+
        ^            ^              |              |
        |            | PPID=4243    | PPID=4242    |
        +--+---------+--------------+              | keys
      PPID |                                       |
           V                                       V
+--------------------------------------------------+-+
|                      +---------------------+     | |
|        SCTP          |     DTLS Chunk      |<----+ |
|                      | Protection Operator |       |
|                      +---------------------+       |
+----------------------------------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>Application data is never transmitted in TLS application_data records.
Instead, application data is sent via SCTP DATA chunks protected by
the DTLS Chunk Protection Operator.  TLS 1.3 is used solely for key
management: performing handshakes, deriving keys via the TLS Exporter,
and then closing the TLS connection.</t>
      </section>
      <section anchor="protocol-flow-summary">
        <name>Protocol Flow Summary</name>
        <t>The protocol operates in three phases:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Initial Establishment:</strong> After SCTP association setup (with
DTLS Key Management Parameter negotiation), a TLS 1.3 handshake
derives the initial Primary and Restart DKCs.  Protection is then
enforced.</t>
          </li>
          <li>
            <t><strong>Rekeying:</strong> Either endpoint may trigger rekeying to derive fresh
DKCs for the next epoch, providing forward secrecy and
re-authentication.  The client key manager always performs the
TLS 1.3 handshake; when the server key manager needs to rekey it
requests one via a Rekey Request.  Old DKCs are removed after
draining.</t>
          </li>
          <li>
            <t><strong>SCTP Restart:</strong> The pre-established Restart DKC protects the
COOKIE ECHO/COOKIE ACK exchange, followed by a new TLS handshake
to establish fresh Primary and Restart DKCs.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="tls-config">
      <name>TLS Configuration Requirements</name>
      <section anchor="tls-version">
        <name>TLS Version</name>
        <t>This document defines the usage of TLS 1.3 <xref target="RFC9846"/>.  Earlier
versions of TLS MUST NOT be used.  Only one version of TLS MUST be
used during the lifetime of an SCTP Association.</t>
      </section>
      <section anchor="cipher-suite-constraints">
        <name>Cipher Suite Constraints</name>
        <t>Parameters not marked as "Y" in the "Recommended" column of TLS
registries are NOT RECOMMENDED to support.  Non-AEAD cipher suites
or cipher suites without confidentiality MUST NOT be supported.
Cipher suites and parameters that do not provide ephemeral
key-exchange MUST NOT be supported.</t>
        <t>The cipher suites negotiated in the key management TLS connection
MUST only include those supported by the DTLS Chunk Protection
Operator.  The DTLS Chunk provides an API to query supported cipher
suites (see Section 7.3 of <xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>).</t>
      </section>
      <section anchor="tls-auth">
        <name>Authentication and Identity</name>
        <t>DTLS in SCTP MUST be mutually authenticated.  It is
RECOMMENDED to use certificate-based authentication.</t>
        <t>When certificates are used, the application is responsible for
trust anchor management, certificate chain validation, and identity
authentication.  The application defines what the identity is and
how it is encoded.  Guidance on server certificate validation can be
found in <xref target="RFC9525"/>.</t>
        <t>All security decisions MUST be based on the peer's authenticated
identity, not on its transport layer identity.  Since SCTP
associations can use multiple IP addresses per endpoint, DTLS records
may arrive from different source IP addresses than those originally
authenticated.</t>
        <t>The authenticated peer identity MUST remain stable across every TLS
connection established for the lifetime of the SCTP association,
including the connections used for rekeying (<xref target="rekeying"/>) and the
connection established after an SCTP restart (<xref target="sctp-restart"/>).
Clients and servers MUST NOT accept a change of identity during the
setup of a new TLS connection, but MAY accept negotiation of stronger
algorithms and security parameters.</t>
        <t>This requirement is independent of the key management role: the Client
and Server roles are re-derived from the SCTP handshake and MAY differ
after an SCTP restart (<xref target="sctp-restart"/>), but an endpoint that changes
role MUST still present the same authenticated identity.</t>
      </section>
      <section anchor="rekey-strategy">
        <name>Rekeying Considerations</name>
        <t>Implementations need to implement criteria for when to initiate
rekeying.  Implementations are RECOMMENDED to rekey at least every hour
and every 100 GB of data, which matches what is specified for IPsec in
<xref target="ANSSI-DAT-NT-003"/>.</t>
        <t>Implementations MUST set up a new TLS connection using a full
handshake with new certificates before any last used certificates
expire.</t>
        <t>The PSK key exchange mode psk_ke MUST NOT be used as it does not
provide ephemeral key exchange.  TLS Key Update MUST NOT be used as it
doesn't provide a new ephemeral key for the key exporter.</t>
        <t>TLS 1.3 tickets MAY be used for session resumption (see
<xref target="session-resumption"/>).</t>
        <t>The endpoints MUST limit the number of simultaneous TLS connections
to one.</t>
      </section>
      <section anchor="session-resumption">
        <name>Session Resumption</name>
        <t>Support for TLS 1.3 session resumption is OPTIONAL. When supported, it
provides the following benefits:</t>
        <ul spacing="normal">
          <li>
            <t>It avoids re-sending the full certificate chain on subsequent TLS
 connections. This saves a significant amount of message size,
 especially with post-quantum cryptography (PQC) certificates, which
 can be significantly larger than certificates based on Elliptic Curve
 Cryptography.</t>
          </li>
          <li>
            <t>It reduces processing, and thus energy consumption and latency.</t>
          </li>
          <li>
            <t>It allows successive TLS connections to be chained, increasing
 security by forcing an adversary to break them in sequence
 <xref target="KTH-NCSA"/>.</t>
          </li>
        </ul>
        <t>Session resumption tickets are delivered using the standard TLS 1.3
mechanisms: the server MAY send tickets unsolicited <xref target="RFC9846"/>, and
the client MAY request them <xref target="RFC9149"/>. To ensure the client has
the opportunity to obtain a ticket before the
TLS connection is torn down, the client key manager SHOULD initiate the
closure of the TLS connection, and the server key manager SHOULD NOT
close the TLS connection before the client has had the opportunity to
obtain the tickets it requested.</t>
      </section>
    </section>
    <section anchor="tls-user-message">
      <name>Key Management Messages</name>
      <t>All key management messages MUST be sent as SCTP user messages
using reliable in-order delivery on stream 0.</t>
      <t>There are two classes of these key management messages:</t>
      <ul spacing="normal">
        <li>
          <t>SCTP user messages containing TLS records.</t>
        </li>
        <li>
          <t>SCTP user messages containing control information.</t>
        </li>
      </ul>
      <t>These two classes are identified by using a specific PPID each.</t>
      <section anchor="tls-records">
        <name>TLS Records</name>
        <t>One or more complete TLS records are sent as an SCTP user message.
These user messages MUST use PPID 4242.
Other SCTP user messages MUST NOT use this PPID.</t>
      </section>
      <section anchor="control-messages">
        <name>Control Messages</name>
        <t>Control messages are sent as SCTP user messages, they MUST use PPID 4243
and contain a single byte identifying the type as shown in the following
<xref target="control-message-format"/>. Other user messages MUST NOT use this PPID.</t>
        <figure anchor="control-message-format">
          <name>Control Message Format</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="96" width="144" viewBox="0 0 144 96" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,80" fill="none" stroke="black"/>
                <path d="M 136,48 L 136,80" fill="none" stroke="black"/>
                <path d="M 8,48 L 136,48" fill="none" stroke="black"/>
                <path d="M 8,80 L 136,80" fill="none" stroke="black"/>
                <g class="text">
                  <text x="16" y="36">0</text>
                  <text x="32" y="36">1</text>
                  <text x="48" y="36">2</text>
                  <text x="64" y="36">3</text>
                  <text x="80" y="36">4</text>
                  <text x="96" y="36">5</text>
                  <text x="112" y="36">6</text>
                  <text x="128" y="36">7</text>
                  <text x="52" y="68">Ctrl</text>
                  <text x="92" y="68">Type</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|   Ctrl Type   |
+-+-+-+-+-+-+-+-+
]]></artwork>
          </artset>
        </figure>
        <dl>
          <dt>Ctrl Type: 8 bits</dt>
          <dd>
            <t>Identifies the control message type.</t>
          </dd>
        </dl>
        <t>The following control message type is defined:</t>
        <table anchor="control-message-types">
          <name>Control Message Types</name>
          <thead>
            <tr>
              <th align="left">Ctrl Type</th>
              <th align="left">Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x01</td>
              <td align="left">Read Key Installed</td>
              <td align="left">Notifies the peer that the read key is installed</td>
            </tr>
            <tr>
              <td align="left">0x02</td>
              <td align="left">Rekey Request</td>
              <td align="left">Requests the client key manager to initiate a rekeying TLS handshake</td>
            </tr>
          </tbody>
        </table>
        <section anchor="read-key-installed">
          <name>Read Key Installed</name>
          <t>The Read Key Installed control message (Ctrl Type = 0x01) is sent
by a key manager to its peer key manager for indicating that it has
set the read key material.
This enables the peer receiving this message to set its write key.</t>
          <t>The message is also used during rekeying in the same way as in the
initial handshake.</t>
        </section>
        <section anchor="rekey-request">
          <name>Rekey Request</name>
          <t>The Rekey Request control message (Ctrl Type = 0x02) is sent by the
server key manager to the client key manager to request that the client
key manager initiate a rekeying TLS handshake (see <xref target="rekeying"/>).</t>
          <t>Because only the client key manager initiates a TLS handshake, the
server key manager uses this message when it determines that rekeying
is needed (per its own criteria in <xref target="rekey-strategy"/>).  This division of
roles allows an endpoint holding only the client role to implement
a TLS client only, and an endpoint holding only the server role to implement
a TLS server only.</t>
          <t>Upon receiving a Rekey Request, the client key manager initiates a
rekeying TLS handshake as described in <xref target="rekeying"/>, unless a rekeying
is already in progress, in which case the Rekey Request is ignored (see
<xref target="sim-rekeying"/>).</t>
        </section>
      </section>
    </section>
    <section anchor="dtls-key-derivation">
      <name>Key Derivation</name>
      <section anchor="role-determination">
        <name>Role Determination</name>
        <t>Role determination and method selection follow the procedure defined
in Section 5.1 of
<xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>.  After
the SCTP association is established, the key management function
retrieves from the SCTP stack's DTLS chunk API the assigned role
(Client or Server), the selected DTLS Key
Management Method, and the downgrade prevention data (both endpoints'
DTLS Key Management Parameters) used as input to key derivation.</t>
      </section>
      <section anchor="exporter-context">
        <name>Exporter Context</name>
        <t>DTLS Key Contexts are derived using the TLS Exporter as defined in
Section 7.5 of <xref target="RFC9846"/>.  The exporter context is constructed as
the concatenation of the following fields:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Length</th>
              <th align="left">Value</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Direction</td>
              <td align="left">1 byte</td>
              <td align="left">0x00 = Client to Server, 0x01 = Server to Client</td>
            </tr>
            <tr>
              <td align="left">Key role</td>
              <td align="left">1 byte</td>
              <td align="left">0x00 = primary/traffic, 0x01 = restart</td>
            </tr>
            <tr>
              <td align="left">Key type</td>
              <td align="left">1 byte</td>
              <td align="left">0x00 = Key, 0x01 = SN_KEY, 0x02 = IV</td>
            </tr>
            <tr>
              <td align="left">Client KM Param</td>
              <td align="left">variable</td>
              <td align="left">DTLS Key Management Parameter sent by the endpoint designated as Client</td>
            </tr>
            <tr>
              <td align="left">Server KM Param</td>
              <td align="left">variable</td>
              <td align="left">DTLS Key Management Parameter sent by the endpoint designated as Server</td>
            </tr>
          </tbody>
        </table>
        <t>Each DTLS Key Management Parameter (Section 4.1 of
<xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>) is included as the
sequence of bytes sent on the wire, including the parameter header
and excluding padding.</t>
        <t>This construction ensures that any modification to the DTLS Key
Management Parameter during the SCTP handshake (a downgrade attack)
results in mismatched keys and association failure.</t>
      </section>
      <section anchor="exporter-labels">
        <name>Exporter Labels</name>
        <t>A single TLS Exporter label is used to derive all keying material:</t>
        <artwork><![CDATA[
EXPORTER_TLS_FOR_DTLS_IN_SCTP
]]></artwork>
        <t>The specific key material (direction, role, and type) is
differentiated by the exporter context (<xref target="exporter-context"/>).  Each
combination of Direction, Key role, and Key type values produces a
distinct export, yielding 12 values in total (2 directions × 2 roles
× 3 types).</t>
        <t>The Client installs exports with Direction=Client to server as its
write keys and Direction=Server to client as its read keys.  The
Responder does the reverse.</t>
        <t>The length of exported material depends on the negotiated cipher
suite.</t>
      </section>
      <section anchor="dkc-installation">
        <name>DKC Installation</name>
        <t>Each successful TLS handshake produces one or two (if restart is
supported) DKCs:</t>
        <ul spacing="normal">
          <li>
            <t>A Primary DKC for regular SCTP traffic.</t>
          </li>
          <li>
            <t>A Restart DKC for the SCTP restart procedure.</t>
          </li>
        </ul>
        <t>The first DKC established for any SCTP association MUST use DTLS
epoch 3.  Each subsequent Primary DKC, together with its paired
Restart DKC, uses the next consecutive epoch.  After an SCTP restart,
the epoch resets to 3.</t>
        <t>If SCTP Restart is supported the endpoint MUST generate a Restart DKC
for each epoch where a Primary DKC is generated.  The Restart DKC uses
the same DTLS epoch as the Primary DKC generated alongside it; the two
are distinguished not by epoch but by the restart indicator (the R bit
in the DTLS chunk, see <xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>) and by the
Key role field of the exporter context (<xref target="exporter-context"/>).  The
Restart DKC MUST be maintained in a well-defined state (initialized but
never used for regular traffic) so that both endpoints have a
consistent view of sequence numbers and replay window.</t>
      </section>
    </section>
    <section anchor="procedures">
      <name>Procedures</name>
      <section anchor="initial-establishment">
        <name>Initial Establishment</name>
        <figure anchor="initial-establishment-diagram">
          <name>Initial Establishment</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="472" viewBox="0 0 472 480" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 40,48 L 40,432" fill="none" stroke="black"/>
                <path d="M 64,160 L 64,368" fill="none" stroke="black"/>
                <path d="M 104,160 L 104,368" fill="none" stroke="black"/>
                <path d="M 344,160 L 344,368" fill="none" stroke="black"/>
                <path d="M 384,160 L 384,368" fill="none" stroke="black"/>
                <path d="M 408,48 L 408,432" fill="none" stroke="black"/>
                <path d="M 432,384 L 432,432" fill="none" stroke="black"/>
                <path d="M 40,64 L 112,64" fill="none" stroke="black"/>
                <path d="M 168,64 L 400,64" fill="none" stroke="black"/>
                <path d="M 48,80 L 112,80" fill="none" stroke="black"/>
                <path d="M 200,80 L 408,80" fill="none" stroke="black"/>
                <path d="M 40,96 L 112,96" fill="none" stroke="black"/>
                <path d="M 224,96 L 400,96" fill="none" stroke="black"/>
                <path d="M 48,112 L 112,112" fill="none" stroke="black"/>
                <path d="M 216,112 L 408,112" fill="none" stroke="black"/>
                <path d="M 72,176 L 104,176" fill="none" stroke="black"/>
                <path d="M 344,176 L 376,176" fill="none" stroke="black"/>
                <path d="M 72,208 L 376,208" fill="none" stroke="black"/>
                <path d="M 64,256 L 96,256" fill="none" stroke="black"/>
                <path d="M 104,272 L 192,272" fill="none" stroke="black"/>
                <path d="M 240,272 L 336,272" fill="none" stroke="black"/>
                <path d="M 352,288 L 384,288" fill="none" stroke="black"/>
                <path d="M 112,336 L 200,336" fill="none" stroke="black"/>
                <path d="M 248,336 L 344,336" fill="none" stroke="black"/>
                <path d="M 40,400 L 112,400" fill="none" stroke="black"/>
                <path d="M 280,400 L 400,400" fill="none" stroke="black"/>
                <path d="M 48,416 L 112,416" fill="none" stroke="black"/>
                <path d="M 280,416 L 408,416" fill="none" stroke="black"/>
                <path d="M 432,416 L 456,416" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="408,400 396,394.4 396,405.6" fill="black" transform="rotate(0,400,400)"/>
                <polygon class="arrowhead" points="408,96 396,90.4 396,101.6" fill="black" transform="rotate(0,400,96)"/>
                <polygon class="arrowhead" points="408,64 396,58.4 396,69.6" fill="black" transform="rotate(0,400,64)"/>
                <polygon class="arrowhead" points="384,208 372,202.4 372,213.6" fill="black" transform="rotate(0,376,208)"/>
                <polygon class="arrowhead" points="384,176 372,170.4 372,181.6" fill="black" transform="rotate(0,376,176)"/>
                <polygon class="arrowhead" points="360,288 348,282.4 348,293.6" fill="black" transform="rotate(180,352,288)"/>
                <polygon class="arrowhead" points="344,272 332,266.4 332,277.6" fill="black" transform="rotate(0,336,272)"/>
                <polygon class="arrowhead" points="120,336 108,330.4 108,341.6" fill="black" transform="rotate(180,112,336)"/>
                <polygon class="arrowhead" points="104,256 92,250.4 92,261.6" fill="black" transform="rotate(0,96,256)"/>
                <polygon class="arrowhead" points="80,208 68,202.4 68,213.6" fill="black" transform="rotate(180,72,208)"/>
                <polygon class="arrowhead" points="80,176 68,170.4 68,181.6" fill="black" transform="rotate(180,72,176)"/>
                <polygon class="arrowhead" points="56,416 44,410.4 44,421.6" fill="black" transform="rotate(180,48,416)"/>
                <polygon class="arrowhead" points="56,112 44,106.4 44,117.6" fill="black" transform="rotate(180,48,112)"/>
                <polygon class="arrowhead" points="56,80 44,74.4 44,85.6" fill="black" transform="rotate(180,48,80)"/>
                <g class="text">
                  <text x="40" y="36">Initiator</text>
                  <text x="408" y="36">Responder</text>
                  <text x="20" y="68">1.</text>
                  <text x="140" y="68">[INIT]</text>
                  <text x="156" y="84">[INIT-ACK]</text>
                  <text x="144" y="100">[COOKIE</text>
                  <text x="200" y="100">ECHO]</text>
                  <text x="428" y="100">2.</text>
                  <text x="20" y="116">3.</text>
                  <text x="144" y="116">[COOKIE</text>
                  <text x="196" y="116">ACK]</text>
                  <text x="64" y="148">TLS</text>
                  <text x="116" y="148">client</text>
                  <text x="156" y="148">KM</text>
                  <text x="308" y="148">server</text>
                  <text x="348" y="148">KM</text>
                  <text x="384" y="148">TLS</text>
                  <text x="20" y="180">4.</text>
                  <text x="168" y="180">SSL_connect()</text>
                  <text x="284" y="180">SSL_accept()</text>
                  <text x="452" y="180">5.</text>
                  <text x="452" y="212">6.</text>
                  <text x="20" y="260">7.</text>
                  <text x="132" y="260">READ</text>
                  <text x="192" y="260">installed</text>
                  <text x="216" y="276">[RKI]</text>
                  <text x="456" y="276">8b.</text>
                  <text x="456" y="292">8a.</text>
                  <text x="136" y="308">(wait</text>
                  <text x="176" y="308">for</text>
                  <text x="212" y="308">done</text>
                  <text x="240" y="308">+</text>
                  <text x="276" y="308">client</text>
                  <text x="324" y="308">RKI)</text>
                  <text x="180" y="324">(install</text>
                  <text x="236" y="324">R+W,</text>
                  <text x="292" y="324">enforce)</text>
                  <text x="224" y="340">[RKI]</text>
                  <text x="20" y="356">9.</text>
                  <text x="148" y="356">READ</text>
                  <text x="212" y="356">installed,</text>
                  <text x="288" y="356">enforce</text>
                  <text x="424" y="388">-</text>
                  <text x="16" y="404">10.</text>
                  <text x="156" y="404">[protected</text>
                  <text x="216" y="404">APP</text>
                  <text x="256" y="404">DATA]</text>
                  <text x="456" y="404">APP</text>
                  <text x="156" y="420">[protected</text>
                  <text x="216" y="420">APP</text>
                  <text x="256" y="420">DATA]</text>
                  <text x="200" y="436">...</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
 Initiator                                     Responder
     |                                             |
  1. +---------[INIT]----------------------------->|
     |<--------[INIT-ACK]--------------------------+
     +---------[COOKIE ECHO]---------------------->| 2.
  3. |<--------[COOKIE ACK]------------------------+
     |                                             |
     | TLS  client KM               server KM  TLS |
     |  |    |                             |    |  |
  4. |  |<---+ SSL_connect()  SSL_accept() +--->|  |    5.
     |  |    |                             |    |  |
     |  |<---+-----------------------------+--->|  |    6.
     |  |    |                             |    |  |
     |  |    |                             |    |  |
  7. |  +--->| READ installed              |    |  |
     |  |    +-----------[RKI]------------>|    |  |    8b.
     |  |    |                             |<---+  |    8a.
     |  |    | (wait for done + client RKI)|    |  |
     |  |    |     (install R+W, enforce)  |    |  |
     |  |    |<-----------[RKI]------------+    |  |
  9. |  |    |   READ installed, enforce   |    |  |
     |  |    |                             |    |  |
     |                                             | -.
 10. +---------[protected APP DATA]--------------->|  | APP
     +<--------[protected APP DATA]----------------+  +---
     |                  ...                        |  |

]]></artwork>
          </artset>
        </figure>
        <t>Legend: TLS = local TLS engine; client KM/server KM = client/server key manager;
RKI = Read Key Installed control message; R+W = read and write keys.</t>
        <t>The diagram <xref target="initial-establishment-diagram"/> shows the case where SCTP
  Initiator ends up with the Key Manager client role. The opposite case is
  identical but with inverted roles among Key Managers. In the following
  procedure we use Initiator and Responder referring to SCTP, Client and Server
  referring to Keymanager role, and implicitly TLS roles. The key managers drive
  TLS solely through the TLS user API.</t>
        <t>The procedure is as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>The Initiator sends INIT containing the DTLS Key Management Parameter
   (Section 4.1 of <xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>) with this
   method's identifier (see <xref target="sec-iana-psi"/>) in its preference-ordered list.</t>
          </li>
          <li>
            <t>The Responder enters ESTABLISHED state. It retrieves the agreed DTLS
   Key Management Method and role from the SCTP stack (e.g., using
   the "Get Agreed DTLS Key Management Method and Role" API defined in
   Section 7.2 of <xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>) and verifies that
   the selected method matches the one defined in this document
   (see <xref target="sec-iana-psi"/>) and gets the assigned role as key manager client or
   server (in the example depicted in <xref target="initial-establishment-diagram"/>
   it is server).</t>
          </li>
          <li>
            <t>The Initiator enters ESTABLISHED state. It performs the same retrieval and
   verification as the Responder, confirming the assigned role as key manager
   client or server (in the example depicted in
   <xref target="initial-establishment-diagram"/> it is client).</t>
          </li>
          <li>
            <t>The client key manager starts a TLS 1.3 handshake, limiting offered cipher
   suites to those supported by the DTLS Chunk Protection Operator, and relays
   the resulting flight of TLS records to the server key manager per
   <xref target="tls-user-message"/>.</t>
          </li>
          <li>
            <t>The server key manager starts a TLS 1.3 server and is ready to relay any
   received TLS records to the TLS server and to forward any TLS records
   produced by the TLS server to the client key manager per <xref target="tls-user-message"/>.</t>
          </li>
          <li>
            <t>The TLS endpoints continue exchange TLS messages to complete the TLS handshake.</t>
          </li>
          <li>
            <t>The client key manager's TLS handshake completes. It exports all Primary
   and Restart DKC keys, installs the server to client key material as its read
   (receive) key, and sends a Read Key Installed control message
   (<xref target="read-key-installed"/>) to the server key manager.</t>
          </li>
          <li>
            <t>The server key manager proceeds only after both its own TLS handshake has
   completed (8a) and it has received the client key manager's Read Key
   Installed control message (8b). Once both conditions are met, it exports
   both direction key material for both the Primary and Restart DKCs, installs
   both the read (receive) key and the write (send) key, calls Require Protected
   SCTP Packets to enforce DTLS chunk protection for all future packets, informs
   the ULP that the association is protected, and sends a Read Key Installed
   control message (<xref target="read-key-installed"/>) to the client key manager.</t>
          </li>
          <li>
            <t>The client key manager receives the Read Key Installed control
   message, installs the client key material as its write (send) key, calls
   Require Protected SCTP Packets to enforce DTLS chunk protection for all
   future packets, and informs the ULP that the association is protected.</t>
          </li>
          <li>
            <t>Protected application traffic can begin.</t>
          </li>
        </ol>
        <t>If the TLS handshake fails in step 6, it SHOULD be retried according to <xref target="error-handling"/>.</t>
        <t>After key installation, the TLS connection SHOULD be closed promptly. When
 session resumption is supported, closure follows the procedure in
 <xref target="session-resumption"/>.</t>
      </section>
      <section anchor="rekeying">
        <name>Rekeying</name>
        <section anchor="triggering-criteria">
          <name>Triggering Criteria</name>
          <t>Rekeying is triggered by implementation-configurable criteria,
including:</t>
          <ul spacing="normal">
            <li>
              <t>Time elapsed since last peer authentication.</t>
            </li>
            <li>
              <t>Volume of data transferred since last forward-secrecy rekeying.</t>
            </li>
            <li>
              <t>Approaching the cipher suite's AEAD usage limits.</t>
            </li>
          </ul>
        </section>
        <section anchor="rekey-procedure">
          <name>Procedure</name>
          <t>The client key manager and the server key manager keep the same
  key management roles for the entire lifetime of the SCTP association:
  the client key manager is always the TLS client and the server key
  manager is always the TLS server, for the initial handshake and for
  every rekeying.  Consequently, only the client key manager ever
  initiates a TLS handshake.  This allows an endpoint holding only the
  client role to implement only a TLS client, and an endpoint holding
  only the server role to implement only a TLS server.</t>
          <t>Either endpoint may need to rekey.  The need is acted upon as follows:</t>
          <ul spacing="normal">
            <li>
              <t>If the client key manager needs to rekey, it directly initiates a
rekeying TLS handshake.</t>
            </li>
            <li>
              <t>If the server key manager needs to rekey, it cannot initiate a TLS
handshake itself.  Instead it sends a Rekey Request control message
(<xref target="rekey-request"/>) to the client key manager, which then initiates
the rekeying TLS handshake.</t>
            </li>
          </ul>
          <t>Because the key management messages are carried on SCTP stream 0 with
  reliable, in-order delivery, the Rekey Request and all handshake
  messages are guaranteed to be delivered and are not lost; no
  key-management-level retransmission is required.</t>
          <figure anchor="rekey-diagram">
            <name>Rekeying Procedure</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="456" viewBox="0 0 456 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 40,48 L 40,416" fill="none" stroke="black"/>
                  <path d="M 64,96 L 64,392" fill="none" stroke="black"/>
                  <path d="M 104,96 L 104,384" fill="none" stroke="black"/>
                  <path d="M 344,96 L 344,384" fill="none" stroke="black"/>
                  <path d="M 384,96 L 384,384" fill="none" stroke="black"/>
                  <path d="M 408,48 L 408,416" fill="none" stroke="black"/>
                  <path d="M 112,128 L 176,128" fill="none" stroke="black"/>
                  <path d="M 272,128 L 344,128" fill="none" stroke="black"/>
                  <path d="M 72,192 L 104,192" fill="none" stroke="black"/>
                  <path d="M 344,192 L 376,192" fill="none" stroke="black"/>
                  <path d="M 72,224 L 376,224" fill="none" stroke="black"/>
                  <path d="M 64,256 L 96,256" fill="none" stroke="black"/>
                  <path d="M 104,272 L 176,272" fill="none" stroke="black"/>
                  <path d="M 224,272 L 336,272" fill="none" stroke="black"/>
                  <path d="M 352,288 L 384,288" fill="none" stroke="black"/>
                  <path d="M 112,352 L 176,352" fill="none" stroke="black"/>
                  <path d="M 224,352 L 344,352" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="384,224 372,218.4 372,229.6" fill="black" transform="rotate(0,376,224)"/>
                  <polygon class="arrowhead" points="384,192 372,186.4 372,197.6" fill="black" transform="rotate(0,376,192)"/>
                  <polygon class="arrowhead" points="360,288 348,282.4 348,293.6" fill="black" transform="rotate(180,352,288)"/>
                  <polygon class="arrowhead" points="344,272 332,266.4 332,277.6" fill="black" transform="rotate(0,336,272)"/>
                  <polygon class="arrowhead" points="120,352 108,346.4 108,357.6" fill="black" transform="rotate(180,112,352)"/>
                  <polygon class="arrowhead" points="120,128 108,122.4 108,133.6" fill="black" transform="rotate(180,112,128)"/>
                  <polygon class="arrowhead" points="104,256 92,250.4 92,261.6" fill="black" transform="rotate(0,96,256)"/>
                  <polygon class="arrowhead" points="80,224 68,218.4 68,229.6" fill="black" transform="rotate(180,72,224)"/>
                  <polygon class="arrowhead" points="80,192 68,186.4 68,197.6" fill="black" transform="rotate(180,72,192)"/>
                  <g class="text">
                    <text x="40" y="36">Initiator</text>
                    <text x="408" y="36">Responder</text>
                    <text x="92" y="52">(traffic</text>
                    <text x="168" y="52">continues</text>
                    <text x="232" y="52">using</text>
                    <text x="280" y="52">epoch</text>
                    <text x="312" y="52">N</text>
                    <text x="340" y="52">DKC)</text>
                    <text x="64" y="84">TLS</text>
                    <text x="112" y="84">cliKM</text>
                    <text x="336" y="84">srvKM</text>
                    <text x="384" y="84">TLS</text>
                    <text x="152" y="116">(server</text>
                    <text x="208" y="116">needs</text>
                    <text x="244" y="116">to</text>
                    <text x="288" y="116">rekey:)</text>
                    <text x="20" y="132">2.</text>
                    <text x="204" y="132">[Rekey</text>
                    <text x="252" y="132">Req]</text>
                    <text x="436" y="132">1.</text>
                    <text x="176" y="164">(client</text>
                    <text x="240" y="164">rekeys,</text>
                    <text x="164" y="180">or</text>
                    <text x="192" y="180">got</text>
                    <text x="232" y="180">Rekey</text>
                    <text x="280" y="180">Req:)</text>
                    <text x="20" y="196">3.</text>
                    <text x="168" y="196">SSL_connect()</text>
                    <text x="284" y="196">SSL_accept()</text>
                    <text x="436" y="196">4.</text>
                    <text x="436" y="228">5.</text>
                    <text x="20" y="260">6.</text>
                    <text x="132" y="260">READ</text>
                    <text x="180" y="260">(epoch</text>
                    <text x="228" y="260">N+1)</text>
                    <text x="200" y="276">[RKI]</text>
                    <text x="440" y="276">7b.</text>
                    <text x="440" y="292">7a.</text>
                    <text x="144" y="308">(wait</text>
                    <text x="184" y="308">own</text>
                    <text x="220" y="308">done</text>
                    <text x="248" y="308">+</text>
                    <text x="272" y="308">cli</text>
                    <text x="308" y="308">RKI)</text>
                    <text x="156" y="324">(install</text>
                    <text x="208" y="324">R+W</text>
                    <text x="244" y="324">N+1,</text>
                    <text x="292" y="324">drain,</text>
                    <text x="164" y="340">TX-&gt;N+1)</text>
                    <text x="200" y="356">[RKI]</text>
                    <text x="20" y="372">8.</text>
                    <text x="148" y="372">READ</text>
                    <text x="188" y="372">N+1,</text>
                    <text x="236" y="372">drain,</text>
                    <text x="296" y="372">TX-&gt;N+1</text>
                    <text x="92" y="404">(traffic</text>
                    <text x="176" y="404">transitions</text>
                    <text x="236" y="404">to</text>
                    <text x="272" y="404">epoch</text>
                    <text x="312" y="404">N+1</text>
                    <text x="348" y="404">DKC)</text>
                    <text x="84" y="420">(after</text>
                    <text x="152" y="420">draining,</text>
                    <text x="220" y="420">remove</text>
                    <text x="272" y="420">epoch</text>
                    <text x="304" y="420">N</text>
                    <text x="332" y="420">DKC)</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
 Initiator                                     Responder
     |  (traffic continues using epoch N DKC)      |
     |                                             |
     | TLS  cliKM                       srvKM  TLS |
     |  |    |                             |    |  |
     |  |    |  (server needs to rekey:)   |    |  |
  2. |  |    |<--------[Rekey Req]---------+    |  |  1.
     |  |    |                             |    |  |
     |  |    |     (client rekeys,         |    |  |
     |  |    |      or got Rekey Req:)     |    |  |
  3. |  |<---+ SSL_connect()  SSL_accept() +--->|  |  4.
     |  |    |                             |    |  |
     |  |<---+-----------------------------+--->|  |  5.
     |  |    |                             |    |  |
  6. |  +--->| READ (epoch N+1)            |    |  |
     |  |    +---------[RKI]-------------->|    |  |  7b.
     |  |    |                             |<---+  |  7a.
     |  |    |  (wait own done + cli RKI)  |    |  |
     |  |    |  (install R+W N+1, drain,   |    |  |
     |  |    |   TX->N+1)                  |    |  |
     |  |    |<--------[RKI]---------------+    |  |
  8. |  |    |   READ N+1, drain, TX->N+1  |    |  |
     |  |    |                             |    |  |
     |  (traffic transitions to epoch N+1 DKC)     |
     |  (after draining, remove epoch N DKC)       |

]]></artwork>
            </artset>
          </figure>
          <t>Legend: TLS = local TLS engine; cliKM/srvKM = client/server key manager;
Rekey Req = Rekey Request control message;
RKI = Read Key Installed control message; R+W = read and
write keys; N, N+1 = old and new epoch; TX-&gt;N+1 = switch sending to the
epoch N+1 DKC.</t>
          <t>The diagram in <xref target="rekey-diagram"/> shows both triggers.  Steps 1 and 2 (the
  Rekey Request) are present only when the server key manager is the one
  that needs to rekey; when the client key manager needs to rekey it
  starts directly at step 3.  As in initial establishment, the key
  managers drive TLS solely through the TLS user API.</t>
          <t>The procedure is as follows:</t>
          <ol spacing="normal" type="1"><li>
              <t>If the server key manager needs to rekey, it sends a Rekey Request
control message (<xref target="rekey-request"/>) to the client key manager.  The
server key manager does not start a TLS handshake.</t>
            </li>
            <li>
              <t>The client key manager receives the Rekey Request.  If it is not
already rekeying, it proceeds to initiate a rekeying TLS handshake
(step 3).  If it is already rekeying, it ignores the Rekey Request
(see <xref target="sim-rekeying"/>).</t>
            </li>
            <li>
              <t>The client key manager starts a rekeying TLS handshake for epoch
N+1 and relays the resulting flight of TLS records to the server key manager
per <xref target="tls-user-message"/>.</t>
            </li>
            <li>
              <t>The server key manager awaits the rekeying TLS handshake as a TLS
server.</t>
            </li>
            <li>
              <t>The TLS endpoints continue exchange TLS messages to complete the TLS handshake.</t>
            </li>
            <li>
              <t>The client key manager's TLS handshake completes.  It exports all
Primary and Restart DKC keys for epoch N+1, installs the server to
client key material as its read (receive) key, and sends a
Read Key Installed control message (<xref target="read-key-installed"/>)
to the server key manager.</t>
            </li>
            <li>
              <t>The server key manager proceeds only after both its own TLS
handshake has completed (7a) and it has received the client key
manager's Read Key Installed control message (7b).  Once both
conditions are met, it exports both direction key material for
both the Primary and Restart DKCs for epoch N+1, installs both
the read (receive) key and the write (send) key, starts the drain
timer to remove the old (epoch N) DKC, and switches sending to
the epoch N+1 DKC. The server key manager sends a Read Key
Installed control message (<xref target="read-key-installed"/>) to the
client key manager.</t>
            </li>
            <li>
              <t>The client key manager receives the Read Key Installed
control message (<xref target="read-key-installed"/>), installs the client
key material as its write (send) key, starts the drain timer to
remove the old (epoch N) DKC, and switches sending to the epoch
N+1 DKC.</t>
            </li>
          </ol>
          <t>If the TLS handshake fails in step 5, it SHOULD be retried according to <xref target="error-handling"/>.</t>
          <t>The new DKCs use epoch N+1 (where N is the current epoch when
  initiating rekeying).  Both old (epoch N) and new (epoch N+1) DKCs
  coexist temporarily until the drain timer expires (see
  <xref target="drain-timer"/>).</t>
          <t>All rekeying MUST use ephemeral key exchange.  TLS Key Update MUST
  NOT be used.</t>
        </section>
        <section anchor="drain-timer">
          <name>Drain Timer Considerations</name>
          <t>The drain timer determines how long old (epoch N) DKCs are retained
after new (epoch N+1) DKCs have been activated.  Its purpose is to
allow in-flight packets protected with the old keys to be received
and processed before those keys are removed.</t>
          <t>The drain timer value depends on whether the delivery of the final
rekeying message has been confirmed:</t>
          <ul spacing="normal">
            <li>
              <t>If delivery of the last rekeying message has been confirmed (e.g.,
through SCTP acknowledgment of the DATA chunk carrying the TLS
Finished), the old DKC MAY be removed after a short drain timer.
A value of 120 seconds (one Maximum Segment Lifetime) is
RECOMMENDED in this case.</t>
            </li>
            <li>
              <t>If delivery has not been confirmed, the drain timer MUST be set to
at least the SCTP association failure time (T_fail).  This ensures
that if the final rekeying message is lost and requires
retransmission, the old DKC remains available for as long as SCTP
continues retransmission attempts.  If the association fails
(i.e., SCTP declares the peer unreachable), the DKCs are removed
as part of association teardown.</t>
            </li>
          </ul>
          <t>The SCTP association failure time depends on the Retransmission
Timeout (RTO) and the maximum number of retransmissions
(Association.Max.Retrans, as defined in <xref target="RFC9260"/>).  With the
default values from <xref target="RFC9260"/> (RTO.Initial = 1s, RTO.Max = 60s,
Association.Max.Retrans = 10), T_fail is approximately 303 seconds.</t>
          <t>Implementations SHOULD set the drain timer to at least T_fail when
delivery of the final rekeying message has not been confirmed.</t>
        </section>
        <section anchor="sim-rekeying">
          <name>Concurrent Rekey Requests</name>
          <t>Because only the client key manager ever initiates a TLS handshake,
two ClientHellos cannot cross and no tie-breaker is needed.</t>
          <t>The only concurrency to resolve is when the server key manager sends a
Rekey Request while the client key manager has already initiated (or is
about to initiate) a rekeying to epoch N+1.  Since both the direct
client trigger and the server's Rekey Request lead to the same outcome,
a single client-initiated rekeying to epoch N+1, the client key
manager treats an incoming Rekey Request as redundant and ignores it
while a rekeying is already in progress.</t>
          <t>Similarly, if the server key manager needs to rekey while a
client-initiated rekeying is already in progress, it does not send a
Rekey Request, as the in-progress rekeying already satisfies the need.</t>
        </section>
      </section>
      <section anchor="sctp-restart">
        <name>SCTP Association Restart</name>
        <section anchor="prerequisites">
          <name>Prerequisites</name>
          <t>For protected SCTP restart to succeed:</t>
          <ul spacing="normal">
            <li>
              <t>Both endpoints MUST have a valid Restart DKC.</t>
            </li>
            <li>
              <t>The Restart DKC MUST be stored securely and persistently to
survive crash events (see Section 10.4 of <xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/>).</t>
            </li>
            <li>
              <t>Both endpoints MUST have indicated restart support (R bit) in the
DTLS Key Management Parameter.</t>
            </li>
          </ul>
        </section>
        <section anchor="restart-procedure">
          <name>Restart Procedure</name>
          <figure anchor="restart-diagram">
            <name>SCTP Restart Procedure</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="488" viewBox="0 0 488 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 40,48 L 40,288" fill="none" stroke="black"/>
                  <path d="M 368,48 L 368,288" fill="none" stroke="black"/>
                  <path d="M 400,96 L 400,112" fill="none" stroke="black"/>
                  <path d="M 400,160 L 400,176" fill="none" stroke="black"/>
                  <path d="M 40,96 L 112,96" fill="none" stroke="black"/>
                  <path d="M 168,96 L 360,96" fill="none" stroke="black"/>
                  <path d="M 48,112 L 112,112" fill="none" stroke="black"/>
                  <path d="M 200,112 L 368,112" fill="none" stroke="black"/>
                  <path d="M 400,112 L 448,112" fill="none" stroke="black"/>
                  <path d="M 40,160 L 88,160" fill="none" stroke="black"/>
                  <path d="M 248,160 L 360,160" fill="none" stroke="black"/>
                  <path d="M 48,176 L 88,176" fill="none" stroke="black"/>
                  <path d="M 240,176 L 368,176" fill="none" stroke="black"/>
                  <path d="M 400,176 L 480,176" fill="none" stroke="black"/>
                  <path d="M 40,256 L 88,256" fill="none" stroke="black"/>
                  <path d="M 304,256 L 360,256" fill="none" stroke="black"/>
                  <path d="M 48,272 L 88,272" fill="none" stroke="black"/>
                  <path d="M 304,272 L 368,272" fill="none" stroke="black"/>
                  <path d="M 384,80 C 392.83064,80 400,87.16936 400,96" fill="none" stroke="black"/>
                  <path d="M 384,128 C 392.83064,128 400,120.83064 400,112" fill="none" stroke="black"/>
                  <path d="M 384,144 C 392.83064,144 400,151.16936 400,160" fill="none" stroke="black"/>
                  <path d="M 384,192 C 392.83064,192 400,184.83064 400,176" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="368,256 356,250.4 356,261.6" fill="black" transform="rotate(0,360,256)"/>
                  <polygon class="arrowhead" points="368,160 356,154.4 356,165.6" fill="black" transform="rotate(0,360,160)"/>
                  <polygon class="arrowhead" points="368,96 356,90.4 356,101.6" fill="black" transform="rotate(0,360,96)"/>
                  <polygon class="arrowhead" points="56,272 44,266.4 44,277.6" fill="black" transform="rotate(180,48,272)"/>
                  <polygon class="arrowhead" points="56,176 44,170.4 44,181.6" fill="black" transform="rotate(180,48,176)"/>
                  <polygon class="arrowhead" points="56,112 44,106.4 44,117.6" fill="black" transform="rotate(180,48,112)"/>
                  <g class="text">
                    <text x="40" y="36">Initiator</text>
                    <text x="368" y="36">Responder</text>
                    <text x="20" y="68">1.</text>
                    <text x="84" y="68">(install</text>
                    <text x="152" y="68">Restart</text>
                    <text x="200" y="68">DKC</text>
                    <text x="236" y="68">from</text>
                    <text x="292" y="68">storage)</text>
                    <text x="20" y="100">2.</text>
                    <text x="140" y="100">[INIT]</text>
                    <text x="432" y="100">Plain</text>
                    <text x="20" y="116">3.</text>
                    <text x="156" y="116">[INIT-ACK]</text>
                    <text x="20" y="164">4.</text>
                    <text x="140" y="164">[DTLS(COOKIE</text>
                    <text x="220" y="164">ECHO)]</text>
                    <text x="448" y="164">Protected</text>
                    <text x="20" y="180">5.</text>
                    <text x="140" y="180">[DTLS(COOKIE</text>
                    <text x="216" y="180">ACK)]</text>
                    <text x="20" y="196">6.</text>
                    <text x="68" y="212">(TLS</text>
                    <text x="128" y="212">handshake</text>
                    <text x="184" y="212">for</text>
                    <text x="216" y="212">new</text>
                    <text x="256" y="212">keys,</text>
                    <text x="80" y="228">steps</text>
                    <text x="128" y="228">7-12,</text>
                    <text x="164" y="228">as</text>
                    <text x="188" y="228">in</text>
                    <text x="232" y="228">initial</text>
                    <text x="292" y="228">setup)</text>
                    <text x="16" y="260">13.</text>
                    <text x="152" y="260">[DTLS(protected</text>
                    <text x="232" y="260">APP</text>
                    <text x="276" y="260">DATA)]</text>
                    <text x="400" y="260">APP</text>
                    <text x="436" y="260">DATA</text>
                    <text x="152" y="276">[DTLS(protected</text>
                    <text x="232" y="276">APP</text>
                    <text x="276" y="276">DATA)]</text>
                    <text x="200" y="292">...</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
 Initiator                                Responder
     |                                        |
  1. | (install Restart DKC from storage)     |
     |                                        | -.
  2. +---------[INIT]------------------------>|   | Plain
  3. |<--------[INIT-ACK]---------------------+   +------
     |                                        | -'
     |                                        | -.
  4. +------[DTLS(COOKIE ECHO)]-------------->|   | Protected
  5. |<-----[DTLS(COOKIE ACK)]----------------+   +----------
  6. |                                        | -'
     | (TLS handshake for new keys,           |
     |  steps 7-12, as in initial setup)      |
     |                                        |
 13. +------[DTLS(protected APP DATA)]------->|  APP DATA
     |<-----[DTLS(protected APP DATA)]--------+
     |                  ...                   |


]]></artwork>
            </artset>
          </figure>
          <ol spacing="normal" type="1"><li>
              <t>The restarting endpoint (Initiator) retrieves the restart key
material from persistent secure storage and installs the Restart
DKC for both send and receive directions.</t>
            </li>
            <li>
              <t>The Initiator sends INIT (VTag=0). Include the DTLS Key Management
Parameter with the same method list but a new random Tie Breaker.</t>
            </li>
            <li>
              <t>The Responder (the not restarting endpoint) replies INIT-ACK in
plain text per <xref target="RFC9260"/>.  Include the DTLS Key Management
Parameter with the same method list but a new random Tie Breaker.</t>
            </li>
            <li>
              <t>The Initiator sends COOKIE ECHO in a DTLS chunk protected with
the Restart DKC (R bit set).</t>
            </li>
            <li>
              <t>The Responder replies COOKIE ACK in a DTLS chunk protected with
the Restart DKC (R bit set).</t>
            </li>
            <li>
              <t>Both endpoints have a restarted association, whose state is
as described in Section 5.2.4.1 of <xref target="RFC9260"/>, with two differences
specific to this document: DTLS chunk protection is enforced using
the Restart DKC (the COOKIE ECHO and COOKIE ACK were exchanged
protected with it), and the DTLS Key Management Client and Server
roles may differ from those of the previous instance of the
association, since the new INIT handshake re-runs role determination.
The authenticated peer identity, however, MUST remain the same as in
the previous instance of the association (see <xref target="tls-auth"/>).
The ULP MAY be informed that the association is restarted at this
point.  ULP traffic MAY begin immediately using the Restart DKC.</t>
            </li>
            <li>
              <t>Steps 7 to 12 perform the TLS 1.3 handshake and key installation, and
correspond one-to-one to steps 4 to 9 of the initial establishment
procedure (<xref target="initial-establishment"/>).  They differ only as follows:  </t>
              <ul spacing="normal">
                <li>
                  <t>all key management messages are carried inside DTLS chunks protected
with the Restart DKC;</t>
                </li>
                <li>
                  <t>in addition to the Primary DKC, each endpoint exports, installs, and
commits the new Restart DKC to persistent secure storage, removing
the old one;</t>
                </li>
                <li>
                  <t>at the key transition (steps 11 and 12), each endpoint switches the
active DTLS key context from the Restart DKC to the new Primary DKC
after the Read Key Installed exchange completes (the Read Key
Installed messages themselves are protected with the Restart DKC),
rather than enforcing protection for the first time; the ULP was
already informed at step 6.</t>
                </li>
              </ul>
            </li>
          </ol>
          <ol spacing="normal" type="1" start="13"><li>
              <t>Protected application traffic uses the new Primary DKC.</t>
            </li>
          </ol>
          <t>After restart, the new Primary DKC MUST use epoch 3 (the epoch
resets).</t>
          <t>The Responder MUST NOT change the Restart DKC during the restart
procedure.  After the new Restart DKC is installed, the old one is
removed.</t>
          <t>It is RECOMMENDED to complete the TLS handshake and install new DKCs
as soon as possible after restart, to minimize the window during
which no Restart DKC is available for a subsequent restart.</t>
          <t>Note: There MAY exist a short time gap after association establishment
where no Restart DKC is yet installed.  If an SCTP restart is
initiated during that time, it will fail.  However, this is unlikely
as the restarting endpoint sends INIT multiple times with exponential
back-off.</t>
        </section>
      </section>
    </section>
    <section anchor="error-handling">
      <name>Error Handling</name>
      <t>TLS has its own error reporting via TLS alert messages.  When a TLS
handshake error occurs, the TLS alert is sent in an SCTP user message
(see <xref target="tls-user-message"/>) with the TLS records for DTLS Chunk
Key Management PPID (4242).</t>
      <t>If a TLS handshake fails during initial establishment and the
implementation determines that it can address the cause of the error
(for example, by retrying with different parameters, as long as doing
so does not compromise security), it SHOULD retry
the TLS handshake.  Otherwise, the SCTP association MUST be aborted.</t>
      <t>If a TLS handshake fails during rekeying, and the current DKC has not
yet reached its usage limits, the implementation SHOULD retry the
handshake.  If retry is not possible or the current DKC is aged
beyond limits, the association MUST be aborted.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="general">
        <name>General</name>
        <t>The security considerations given in <xref target="RFC9846"/>, <xref target="RFC9147"/>, and
<xref target="RFC9260"/> also apply to this document.  BCP 195 <xref target="RFC9325"/>
          <xref target="RFC8996"/> provides recommendations and requirements for improving
the security of deployed services that use TLS.  BCP 195 MUST be
followed.</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>Although DTLS in SCTP provides privacy for user messages and
almost all SCTP chunks, the SCTP common header, DTLS chunk header,
and DTLS record header are not confidentiality protected.  An
attacker can correlate TLS connections over the same SCTP association
using the SCTP common header.</t>
        <t>To provide identity protection, it is RECOMMENDED to use
certificate-based authentication in TLS 1.3 and to not reuse tickets.
TLS 1.3 with external PSK authentication does not provide identity
protection.</t>
        <t>By mandating ephemeral key exchange and cipher suites with
confidentiality, DTLS in SCTP effectively mitigates many
forms of passive pervasive monitoring.  Frequent rekeying forces
attackers to perform dynamic key exfiltration and limits the amount
of compromised data due to key compromise.</t>
        <t>It is RECOMMENDED that implementations of this key management
method do not allow the ULP to exchange any data beyond the
key management information following this specification until
the peer is authenticated and the local endpoint and the remote
have both installed read and write keys and enforced protection. This is to avoid any information
leakage from the ULP to unintended parties.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="sec-iana-psi">
        <name>DTLS Key Management Method Identifier</name>
        <t>IANA is requested to assign one DTLS Key Management Method Identifier
in the "DTLS Key Management Method" registry defined by
<xref target="I-D.ietf-tsvwg-sctp-dtls-chunk"/> to identify the
key management method defined in this document.</t>
        <table anchor="iana-psi">
          <name>DTLS Key Management Method Identifier</name>
          <thead>
            <tr>
              <th align="right">Identifier</th>
              <th align="left">Key Management Method Name</th>
              <th align="left">Reference</th>
              <th align="left">Contact</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">192</td>
              <td align="left">TLS based Key Management for SCTP DTLS Chunk</td>
              <td align="left">RFC-TBD</td>
              <td align="left">Draft Authors</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-export-label">
        <name>TLS Exporter Labels</name>
        <t>IANA is requested to register the following value in the TLS
Exporter Label Registry <xref target="RFC5705"/> with Reference RFC-TBD and empty
Comment.</t>
        <table anchor="iana-tls-exporter">
          <name>TLS Exporter Label</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">DTLS-OK</th>
              <th align="left">Recommended</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">EXPORTER_TLS_FOR_DTLS_IN_SCTP</td>
              <td align="left">Y</td>
              <td align="left">N</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-iana-ctrl-types">
        <name>DTLS Chunk Key Management Control Message Types</name>
        <t>IANA is requested to create a new registry called "DTLS Chunk
Key Management Control Message Types" in the Stream Control
Transmission Protocol (SCTP) Parameters group.  This registry
governs the values of the Ctrl Type field of the control messages
defined in <xref target="control-messages"/>.</t>
        <t>The registration policy for this registry is IETF Review as defined in
<xref target="RFC8126"/>.</t>
        <t>Each entry in the registry MUST contain the following fields:</t>
        <ul spacing="normal">
          <li>
            <t>Ctrl Type: an 8-bit unsigned integer value (0x00-0xFF).</t>
          </li>
          <li>
            <t>Name: a short, human-readable name for the control message type.</t>
          </li>
          <li>
            <t>Reference: a reference to the document defining the control message
type.</t>
          </li>
        </ul>
        <t>The initial contents of the registry are shown in
<xref target="iana-ctrl-types"/>.  The value 0x00 is reserved.</t>
        <table anchor="iana-ctrl-types">
          <name>DTLS Chunk Key Management Control Message Types</name>
          <thead>
            <tr>
              <th align="left">Ctrl Type</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x00</td>
              <td align="left">Reserved</td>
              <td align="left">RFC-TBD</td>
            </tr>
            <tr>
              <td align="left">0x01</td>
              <td align="left">Read Key Installed</td>
              <td align="left">RFC-TBD</td>
            </tr>
            <tr>
              <td align="left">0x02</td>
              <td align="left">Rekey Request</td>
              <td align="left">RFC-TBD</td>
            </tr>
            <tr>
              <td align="left">0x03-0xFF</td>
              <td align="left">Unassigned</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-iana-ppid">
        <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 update the
name and reference for the PPID 4242 as depicted in
<xref target="iana-payload-protection-id"/>.
Furthermore, IANA is requested to add an entry in the "Payload Protocol
Identifiers" registry for the PPID 4243 as depicted in
<xref target="iana-payload-protection-id"/>.</t>
        <table anchor="iana-payload-protection-id">
          <name>Payload Protocol Identifier</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">4242</td>
              <td align="left">TLS records for DTLS Chunk Key Management</td>
              <td align="left">RFC-To-Be</td>
            </tr>
            <tr>
              <td align="right">4243</td>
              <td align="left">Control Messages for DTLS Chunk Key Management</td>
              <td align="left">RFC-To-Be</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC8996" target="https://www.rfc-editor.org/info/rfc8996" xml:base="https://static.ietf.org/tmp/reference.RFC.8996.xml">
          <front>
            <title>Deprecating TLS 1.0 and TLS 1.1</title>
            <author fullname="K. Moriarty" initials="K." surname="Moriarty"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <date month="March" year="2021"/>
            <abstract>
              <t>This document formally deprecates Transport Layer Security (TLS) versions 1.0 (RFC 2246) and 1.1 (RFC 4346). Accordingly, those documents have been moved to Historic status. These versions lack support for current and recommended cryptographic algorithms and mechanisms, and various government and industry profiles of applications using TLS now mandate avoiding these old TLS versions. TLS version 1.2 became the recommended version for IETF protocols in 2008 (subsequently being obsoleted by TLS version 1.3 in 2018), providing sufficient time to transition away from older versions. Removing support for older versions from implementations reduces the attack surface, reduces opportunity for misconfiguration, and streamlines library and product maintenance.</t>
              <t>This document also deprecates Datagram TLS (DTLS) version 1.0 (RFC 4347) but not DTLS version 1.2, and there is no DTLS version 1.1.</t>
              <t>This document updates many RFCs that normatively refer to TLS version 1.0 or TLS version 1.1, as described herein. This document also updates the best practices for TLS usage in RFC 7525; hence, it is part of BCP 195.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="8996"/>
          <seriesInfo name="DOI" value="10.17487/RFC8996"/>
        </reference>
        <reference anchor="RFC9147" target="https://www.rfc-editor.org/info/rfc9147" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="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="RFC9325" target="https://www.rfc-editor.org/info/rfc9325" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9325.xml">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
        <reference anchor="RFC9846" target="https://www.rfc-editor.org/info/rfc9846" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9846.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <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 obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="I-D.ietf-tsvwg-sctp-dtls-chunk" target="https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-sctp-dtls-chunk-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tsvwg-sctp-dtls-chunk.xml">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) DTLS Chunk</title>
            <author fullname="Magnus Westerlund" initials="M." surname="Westerlund">
              <organization>Ericsson</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Claudio Porfiri" initials="C." surname="Porfiri">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Michael Tüxen" initials="M." surname="Tüxen">
              <organization>Münster University of Applied Sciences</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>This document describes a method for adding Datagram Transport Layer Security (DTLS) based authentication and cryptographic protection to the Stream Control Transmission Protocol (SCTP). This SCTP extension is intended to enable communication 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. Once enabled, this also applies to the SCTP payload as well as the SCTP control information. Applications using this SCTP extension can use most of the transport features provided by SCTP and its other extensions. The use of the SCTP Authentication extension defined in RFC 4895 is incompatible with the extension defined in this document but would not provide any additional service. This implies that the Dynamic Address Reconfiguration as specified in RFC 5061 can only be used as described in this document. This document obsoletes RFC 6083 and updates RFC 5061.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-sctp-dtls-chunk-04"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5705" target="https://www.rfc-editor.org/info/rfc5705" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5705.xml">
          <front>
            <title>Keying Material Exporters for Transport Layer Security (TLS)</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="March" year="2010"/>
            <abstract>
              <t>A number of protocols wish to leverage Transport Layer Security (TLS) to perform key establishment but then use some of the keying material for their own purposes. This document describes a general mechanism for allowing that. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5705"/>
          <seriesInfo name="DOI" value="10.17487/RFC5705"/>
        </reference>
        <reference anchor="RFC9149" target="https://www.rfc-editor.org/info/rfc9149" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9149.xml">
          <front>
            <title>TLS Ticket Requests</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="C.A. Wood" initials="C.A." surname="Wood"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>TLS session tickets enable stateless connection resumption for clients without server-side, per-client state. Servers vend an arbitrary number of session tickets to clients, at their discretion, upon connection establishment. Clients store and use tickets when resuming future connections. This document describes a mechanism by which clients can specify the desired number of tickets needed for future connections. This extension aims to provide a means for servers to determine the number of tickets to generate in order to reduce ticket waste while simultaneously priming clients for future connection attempts.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9149"/>
          <seriesInfo name="DOI" value="10.17487/RFC9149"/>
        </reference>
        <reference anchor="RFC9525" target="https://www.rfc-editor.org/info/rfc9525" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9525.xml">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
              <t>This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9525"/>
          <seriesInfo name="DOI" value="10.17487/RFC9525"/>
        </reference>
        <reference anchor="ANSSI-DAT-NT-003" target="&lt;https://messervices.cyber.gouv.fr/documents-guides/NT_IPsec_EN.pdf&gt;">
          <front>
            <title>Recommendations for securing networks with IPsec</title>
            <author initials="" surname="Agence nationale de la sécurité des systèmes d'information">
              <organization/>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ANSSI Technical Report DAT-NT-003" value=""/>
        </reference>
        <reference anchor="KTH-NCSA" target="http://kth.diva-portal.org/smash/get/diva2:1902626/FULLTEXT01.pdf">
          <front>
            <title>On factoring integers, and computing discrete logarithms and orders, quantumly</title>
            <author initials="M." surname="Ekerå" fullname="Martin Ekerå">
              <organization/>
            </author>
            <date year="2024" month="October"/>
          </front>
          <seriesInfo name="KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Theoretical Computer Science, TCS. Swedish NCSA, Swedish Armed Forces." value=""/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
8iJK3/4t7q/ZcENUATz//64PPqJ6pgAA

-->

</rfc>
