<?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.29 (Ruby 3.3.8) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-dtls-rrc-14" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="DTLS Return Routability Check">Return Routability Check for DTLS 1.2 and DTLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-dtls-rrc-14"/>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig" role="editor">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="A." surname="Kraus" fullname="Achim Kraus">
      <organization/>
      <address>
        <email>achimkraus@gmx.net</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <date year="2025" month="June" day="02"/>
    <area>Security</area>
    <workgroup>TLS</workgroup>
    <keyword>DTLS, RRC, CID</keyword>
    <abstract>
      <?line 46?>

<t>This document specifies a return routability check for use in context of the
Connection ID (CID) construct for the Datagram Transport Layer Security (DTLS)
protocol versions 1.2 and 1.3.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
  Transport Layer Security Working Group mailing list (tls@ietf.org),
  which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/tlswg/dtls-rrc"/>.</t>
    </note>
  </front>
  <middle>
    <?line 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A CID is an identifier carried in the record layer header of a DTLS datagram
that gives the receiver additional information for selecting the appropriate
security context.  The CID mechanism has been specified in <xref target="RFC9146"/> for
DTLS 1.2 and in <xref target="RFC9147"/> for DTLS 1.3.</t>
      <t>Section 6 of <xref target="RFC9146"/> describes how the use of CID increases the attack
surface of DTLS 1.2 and 1.3 by providing both on-path and off-path attackers an opportunity for
(D)DoS.  It then goes on describing the steps a DTLS principal must take when a
record with a CID is received that has a source address (and/or port) different
from the one currently associated with the DTLS connection.  However, the
actual mechanism for ensuring that the new peer address is willing to receive
and process DTLS records is left open.  To address the gap, this document defines a return
routability check (RRC) sub-protocol for DTLS 1.2 and 1.3.</t>
      <t>The return routability check is performed by the receiving endpoint before the
CID-address binding is updated in that endpoint's session state.
This is done in order to give the receiving endpoint confidence
that the sending peer is in fact reachable at the source address (and port) indicated in the received datagram.</t>
      <t><xref target="regular"/> of this document explains the fundamental mechanism that aims to reduce the DDoS attack surface.
Additionally, in <xref target="enhanced"/>, a more advanced address validation mechanism is discussed.
This mechanism is designed to counteract off-path attackers trying to place themselves on-path by racing packets that trigger address rebinding at the receiver.
To gain a detailed understanding of the attacker model, please refer to <xref target="attacker"/>.</t>
      <t>Apart from of its use in the context of CID-address binding updates,
the path validation capability offered by RRC can be used at any time by either endpoint. For
instance, an endpoint might use RRC to check that a peer is still reachable at
its last known address after a period of quiescence.</t>
    </section>
    <section anchor="conventions-and-terminology">
      <name>Conventions and Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document assumes familiarity with the CID format and protocol defined for
DTLS 1.2 <xref target="RFC9146"/> and for DTLS 1.3 <xref target="RFC9147"/>.  The presentation language
used in this document is described in Section 4 of <xref target="RFC8446"/>.</t>
      <t>This document reuses the definition of "anti-amplification limit" from
<xref target="RFC9000"/> to mean three times the amount of data received from an
unvalidated address.  This includes all DTLS records originating from that
source address, excluding discarded ones.</t>
      <t>The terms "peer" and "endpoint" are defined in <xref section="1.1" sectionFormat="of" target="RFC8446"/>.</t>
    </section>
    <section anchor="rrc-extension">
      <name>RRC Extension</name>
      <t>The use of RRC is negotiated via the <tt>rrc</tt> extension.
The <tt>rrc</tt> extension is only defined for DTLS 1.2 and DTLS 1.3.
On connecting, a client wishing to use RRC includes the <tt>rrc</tt> extension in its ClientHello.
If the server is capable of meeting this requirement, it responds with a
<tt>rrc</tt> extension in its ServerHello.  The <tt>extension_type</tt> value for this
extension is TBD1 and the <tt>extension_data</tt> field of this extension is empty.
The client and server <bcp14>MUST NOT</bcp14> use RRC unless both sides have successfully
exchanged <tt>rrc</tt> extensions.</t>
    </section>
    <section anchor="return-routability-check-message-types">
      <name>Return Routability Check Message Types</name>
      <t>This document defines the <tt>return_routability_check</tt> content type
(<xref target="fig-rrc-msg"/>) to carry Return Routability Check messages.</t>
      <t>The RRC sub-protocol consists of three message types: <tt>path_challenge</tt>, <tt>path_response</tt>
and <tt>path_drop</tt> that are used for path validation and selection as described in
<xref target="path-validation"/>.</t>
      <t>Each message carries a Cookie, an 8-byte field containing arbitrary data.</t>
      <t>The <tt>return_routability_check</tt> message <bcp14>MUST</bcp14> be authenticated and encrypted
using the currently active security context.</t>
      <figure anchor="fig-rrc-msg">
        <name>Return Routability Check Message</name>
        <sourcecode type="tls-msg"><![CDATA[
enum {
    invalid(0),
    change_cipher_spec(20),
    alert(21),
    handshake(22),
    application_data(23),
    heartbeat(24),  /* RFC 6520 */
    tls12_cid(25),  /* RFC 9146, DTLS 1.2 only */
    return_routability_check(TBD2), /* NEW */
    (255)
} ContentType;

uint64 Cookie;

enum {
    path_challenge(0),
    path_response(1),
    path_drop(2),
    (255)
} rrc_msg_type;

struct {
    rrc_msg_type msg_type;
    select (return_routability_check.msg_type) {
        case path_challenge: Cookie;
        case path_response:  Cookie;
        case path_drop:      Cookie;
    };
} return_routability_check;
]]></sourcecode>
      </figure>
      <t>Future extensions to the Return Routability Check sub-protocol may
define new message types.  Implementations <bcp14>MUST</bcp14> be able to parse and ignore
messages with an unknown <tt>msg_type</tt>.
(Naturally, implementations <bcp14>MUST</bcp14> be able to parse and understand the three RRC message types defined in this document.)</t>
    </section>
    <section anchor="rrc-and-cid-interplay">
      <name>RRC and CID Interplay</name>
      <t>RRC offers an in-protocol mechanism to perform peer address validation that
complements the "peer address update" procedure described in <xref section="6" sectionFormat="of" target="RFC9146"/>.  Specifically, when both CID <xref target="RFC9146"/> and RRC have been
successfully negotiated for the session, if a record with CID is received that
has the source address and/or source port number of the enclosing UDP datagram different from what is
currently associated with that CID value, the receiver <bcp14>SHOULD</bcp14> perform a return
routability check as described in <xref target="path-validation"/>, unless an application
layer specific address validation mechanism can be triggered instead (e.g., CoAP Echo <xref target="RFC9175"/>).</t>
    </section>
    <section anchor="attacker">
      <name>Attacker Model</name>
      <t>We define two classes of attackers, off-path and on-path, with increasing
capabilities (see <xref target="fig-attacker-capabilities"/>) partly following terminology
introduced in QUIC <xref target="RFC9000"/>:</t>
      <ul spacing="normal">
        <li>
          <t>An off-path attacker is not on the original path between the DTLS peers, but
is able to observe packets on the original path and has faster routing
compared to the DTLS peers, which allows it to make copies of the observed
packets, race its copies to either peer and consistently win the race.</t>
        </li>
        <li>
          <t>An on-path attacker is on the original path between the DTLS peers and is
therefore capable, compared to the off-path attacker, to also drop and delay
records at will.</t>
        </li>
      </ul>
      <t>Note that, in general, attackers cannot craft DTLS records in a way that would
successfully pass verification, due to the cryptographic protections applied by
the DTLS record layer.</t>
      <figure anchor="fig-attacker-capabilities">
        <name>Attacker capabilities</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="448" viewBox="0 0 448 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 40,32 L 40,80" fill="none" stroke="black"/>
              <path d="M 40,112 L 40,160" fill="none" stroke="black"/>
              <path d="M 80,32 L 80,256" fill="none" stroke="black"/>
              <path d="M 376,32 L 376,256" fill="none" stroke="black"/>
              <path d="M 416,32 L 416,128" fill="none" stroke="black"/>
              <path d="M 416,160 L 416,256" fill="none" stroke="black"/>
              <path d="M 40,32 L 64,32" fill="none" stroke="black"/>
              <path d="M 80,32 L 376,32" fill="none" stroke="black"/>
              <path d="M 392,32 L 416,32" fill="none" stroke="black"/>
              <path d="M 80,64 L 376,64" fill="none" stroke="black"/>
              <path d="M 80,96 L 376,96" fill="none" stroke="black"/>
              <path d="M 80,128 L 376,128" fill="none" stroke="black"/>
              <path d="M 40,160 L 64,160" fill="none" stroke="black"/>
              <path d="M 80,160 L 376,160" fill="none" stroke="black"/>
              <path d="M 80,192 L 376,192" fill="none" stroke="black"/>
              <path d="M 80,224 L 376,224" fill="none" stroke="black"/>
              <path d="M 80,256 L 376,256" fill="none" stroke="black"/>
              <path d="M 392,256 L 416,256" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="400,256 388,250.4 388,261.6" fill="black" transform="rotate(180,392,256)"/>
              <polygon class="arrowhead" points="400,32 388,26.4 388,37.6" fill="black" transform="rotate(180,392,32)"/>
              <polygon class="arrowhead" points="72,160 60,154.4 60,165.6" fill="black" transform="rotate(0,64,160)"/>
              <polygon class="arrowhead" points="72,32 60,26.4 60,37.6" fill="black" transform="rotate(0,64,32)"/>
              <g class="text">
                <text x="120" y="52">Inspect</text>
                <text x="204" y="52">un-encrypted</text>
                <text x="292" y="52">portions</text>
                <text x="116" y="84">Inject</text>
                <text x="36" y="100">off-path</text>
                <text x="120" y="116">Reorder</text>
                <text x="116" y="148">Modify</text>
                <text x="212" y="148">un-authenticated</text>
                <text x="316" y="148">portions</text>
                <text x="416" y="148">on-path</text>
                <text x="112" y="180">Delay</text>
                <text x="108" y="212">Drop</text>
                <text x="132" y="244">Manipulate</text>
                <text x="192" y="244">the</text>
                <text x="264" y="244">packetization</text>
                <text x="344" y="244">layer</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
    .--> .------------------------------------. <--.
    |    | Inspect un-encrypted portions      |    |
    |    +------------------------------------+    |
    |    | Inject                             |    |
off-path +------------------------------------+    |
    |    | Reorder                            |    |
    |    +------------------------------------+    |
    |    | Modify un-authenticated portions   | on-path
    '--> +------------------------------------+    |
         | Delay                              |    |
         +------------------------------------+    |
         | Drop                               |    |
         +------------------------------------+    |
         | Manipulate the packetization layer |    |
         '------------------------------------' <--'
]]></artwork>
        </artset>
      </figure>
      <t>RRC is designed to defend against the following attacks:</t>
      <ul spacing="normal">
        <li>
          <t>On-path and off-path attackers that try to create an amplification attack by
spoofing the source address of the victim (<xref target="sec-amplification"/>).</t>
        </li>
        <li>
          <t>Off-path attackers that try to put themselves on-path (<xref target="off-path"/>),
provided that the enhanced path validation algorithm is used (<xref target="enhanced"/>).</t>
        </li>
      </ul>
      <section anchor="sec-amplification">
        <name>Amplification</name>
        <t>Both on-path and off-path attackers can send a packet (either by modifying it
on the fly, or by copying, injecting, and racing it, respectively) with the
source address modified to that of a victim host.  If the traffic generated by
the server in response is larger compared to the received packet (e.g., a CoAP
server returning an MTU's worth of data from a 20-bytes GET request <xref target="I-D.irtf-t2trg-amplification-attacks"/>) the
attacker can use the server as a traffic amplifier toward the victim.</t>
        <section anchor="mitigation-strategy">
          <name>Mitigation Strategy</name>
          <t>When receiving a packet with a known CID and a spoofed source address, an
RRC-capable endpoint will not send a (potentially large) response but instead a
small <tt>path_challenge</tt> message to the victim host.  Since the host is not able
to decrypt it and generate a valid <tt>path_response</tt>, the address validation
fails, which in turn keeps the original address binding unaltered.</t>
          <t>Note that in case of an off-path attacker, the original packet still reaches
the intended destination; therefore, an implementation could use a different
strategy to mitigate the attack.</t>
        </section>
      </section>
      <section anchor="off-path">
        <name>Off-Path Packet Forwarding</name>
        <t>An off-path attacker that can observe packets might forward copies of
genuine packets to endpoints over a different path. If the copied packet arrives before
the genuine packet, this will appear as a path change, like in a genuine NAT rebinding occurrence. Any genuine
packet will be discarded as a duplicate. If the attacker is able to
continue forwarding packets, it might be able to cause migration to a
path via the attacker. This places the attacker on-path, giving it
the ability to observe or drop all subsequent packets.</t>
        <t>This style of attack relies on the attacker using a path that has
the same or better characteristics (e.g., due to a more favourable service level agreements) as the direct path between
endpoints. The attack is more reliable if relatively few packets are
sent or if packet loss coincides with the attempted attack.</t>
        <t>A data packet received on the original path that increases the
maximum received packet number will cause the endpoint to move back
to that path. Therefore, eliciting packets on this path increases the
likelihood that the attack is unsuccessful. Note however that, unlike QUIC,
DTLS has no "non-probing" packets so this would require application specific
mechanisms.</t>
        <section anchor="mitigation-strategy-1">
          <name>Mitigation Strategy</name>
          <t><xref target="fig-off-path"/> illustrates the case where a receiver receives a
packet with a new source IP address and/or new port number. In order
to determine whether this path change was not triggered
by an off-path attacker, the receiver will send a RRC message of type
<tt>path_challenge</tt> (1) on the old path.</t>
          <figure anchor="fig-off-path">
            <name>Off-Path Packet Forwarding Scenario</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="256" viewBox="0 0 256 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 64,80 L 64,176" fill="none" stroke="black"/>
                  <path d="M 64,208 L 64,304" fill="none" stroke="black"/>
                  <path d="M 112,48 L 112,112" fill="none" stroke="black"/>
                  <path d="M 112,272 L 112,336" fill="none" stroke="black"/>
                  <path d="M 200,48 L 200,112" fill="none" stroke="black"/>
                  <path d="M 200,272 L 200,336" fill="none" stroke="black"/>
                  <path d="M 248,80 L 248,304" fill="none" stroke="black"/>
                  <path d="M 112,48 L 200,48" fill="none" stroke="black"/>
                  <path d="M 64,80 L 112,80" fill="none" stroke="black"/>
                  <path d="M 200,80 L 248,80" fill="none" stroke="black"/>
                  <path d="M 112,112 L 200,112" fill="none" stroke="black"/>
                  <path d="M 24,176 L 120,176" fill="none" stroke="black"/>
                  <path d="M 8,208 L 104,208" fill="none" stroke="black"/>
                  <path d="M 112,272 L 200,272" fill="none" stroke="black"/>
                  <path d="M 64,304 L 112,304" fill="none" stroke="black"/>
                  <path d="M 200,304 L 248,304" fill="none" stroke="black"/>
                  <path d="M 112,336 L 200,336" fill="none" stroke="black"/>
                  <path d="M 8,208 L 24,176" fill="none" stroke="black"/>
                  <path d="M 104,208 L 120,176" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="72" y="36">new</text>
                    <text x="240" y="36">old</text>
                    <text x="76" y="52">path</text>
                    <text x="236" y="52">path</text>
                    <text x="156" y="84">Receiver</text>
                    <text x="64" y="196">Attacker?</text>
                    <text x="156" y="308">Sender</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
        new                  old
        path  .----------.  path
              |          |
        .-----+ Receiver +-----.
        |     |          |     |
        |     '----------'     |
        |                      |
        |                      |
        |                      |
   .----+------.               |
  / Attacker? /                |
 '------+----'                 |
        |                      |
        |                      |
        |                      |
        |     .----------.     |
        |     |          |     |
        '-----+  Sender  +-----'
              |          |
              '----------'
]]></artwork>
            </artset>
          </figure>
          <t>Three cases need to be considered:</t>
          <t>Case 1: The old path is dead (e.g., due to a NAT rebinding), which leads to a
timeout of (1).</t>
          <t>As shown in <xref target="fig-old-path-dead"/>, a <tt>path_challenge</tt> (2) needs to be sent on
the new path.  If the sender replies with a <tt>path_response</tt> on the new path
(3), the switch to the new path is considered legitimate.</t>
          <figure anchor="fig-old-path-dead">
            <name>Old path is dead</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="384" viewBox="0 0 384 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 80,64 L 80,112" fill="none" stroke="black"/>
                  <path d="M 80,144 L 80,320" fill="none" stroke="black"/>
                  <path d="M 96,80 L 96,176" fill="none" stroke="black"/>
                  <path d="M 96,208 L 96,304" fill="none" stroke="black"/>
                  <path d="M 112,96 L 112,224" fill="none" stroke="black"/>
                  <path d="M 112,256 L 112,288" fill="none" stroke="black"/>
                  <path d="M 144,48 L 144,112" fill="none" stroke="black"/>
                  <path d="M 144,272 L 144,336" fill="none" stroke="black"/>
                  <path d="M 232,48 L 232,112" fill="none" stroke="black"/>
                  <path d="M 232,272 L 232,336" fill="none" stroke="black"/>
                  <path d="M 296,64 L 296,112" fill="none" stroke="black"/>
                  <path d="M 296,144 L 296,176" fill="none" stroke="black"/>
                  <path d="M 144,48 L 232,48" fill="none" stroke="black"/>
                  <path d="M 80,64 L 136,64" fill="none" stroke="black"/>
                  <path d="M 232,64 L 296,64" fill="none" stroke="black"/>
                  <path d="M 96,80 L 144,80" fill="none" stroke="black"/>
                  <path d="M 112,96 L 144,96" fill="none" stroke="black"/>
                  <path d="M 144,112 L 232,112" fill="none" stroke="black"/>
                  <path d="M 56,176 L 72,176" fill="none" stroke="black"/>
                  <path d="M 88,176 L 104,176" fill="none" stroke="black"/>
                  <path d="M 120,176 L 288,176" fill="none" stroke="black"/>
                  <path d="M 304,176 L 320,176" fill="none" stroke="black"/>
                  <path d="M 40,208 L 72,208" fill="none" stroke="black"/>
                  <path d="M 88,208 L 104,208" fill="none" stroke="black"/>
                  <path d="M 120,208 L 304,208" fill="none" stroke="black"/>
                  <path d="M 144,272 L 232,272" fill="none" stroke="black"/>
                  <path d="M 112,288 L 136,288" fill="none" stroke="black"/>
                  <path d="M 96,304 L 144,304" fill="none" stroke="black"/>
                  <path d="M 80,320 L 144,320" fill="none" stroke="black"/>
                  <path d="M 144,336 L 232,336" fill="none" stroke="black"/>
                  <path d="M 40,208 L 56,176" fill="none" stroke="black"/>
                  <path d="M 304,208 L 320,176" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="304,176 292,170.4 292,181.6" fill="black" transform="rotate(90,296,176)"/>
                  <polygon class="arrowhead" points="144,288 132,282.4 132,293.6" fill="black" transform="rotate(0,136,288)"/>
                  <polygon class="arrowhead" points="144,64 132,58.4 132,69.6" fill="black" transform="rotate(0,136,64)"/>
                  <g class="text">
                    <text x="88" y="36">new</text>
                    <text x="288" y="36">old</text>
                    <text x="92" y="52">path</text>
                    <text x="284" y="52">path</text>
                    <text x="188" y="84">Receiver</text>
                    <text x="260" y="84">......</text>
                    <text x="280" y="100">.</text>
                    <text x="280" y="116">.</text>
                    <text x="24" y="132">path-</text>
                    <text x="80" y="132">3</text>
                    <text x="280" y="132">.</text>
                    <text x="296" y="132">1</text>
                    <text x="328" y="132">path-</text>
                    <text x="36" y="148">response</text>
                    <text x="280" y="148">.</text>
                    <text x="344" y="148">challenge</text>
                    <text x="280" y="164">.</text>
                    <text x="184" y="196">NAT</text>
                    <text x="296" y="196">X</text>
                    <text x="352" y="196">timeout</text>
                    <text x="280" y="228">.</text>
                    <text x="112" y="244">2</text>
                    <text x="144" y="244">path-</text>
                    <text x="280" y="244">.</text>
                    <text x="160" y="260">challenge</text>
                    <text x="280" y="260">.</text>
                    <text x="280" y="276">.</text>
                    <text x="280" y="292">.</text>
                    <text x="188" y="308">Sender</text>
                    <text x="260" y="308">.....'</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
          new                      old
          path    .----------.    path
          .------>|          +-------.
          | .-----+ Receiver +...... |
          | | .---+          |     . |
          | | |   '----------'     . |
 path-    3 | |                    . 1 path-
 response | | |                    . | challenge
          | | |                    . |
       .--|-+-|----------------------v--.
      /   |   |       NAT            X / timeout
     '----|-+-|-----------------------'
          | | |                    .
          | | 2 path-              .
          | | | challenge          .
          | | |   .----------.     .
          | | '-->|          |     .
          | '-----+  Sender  +.....'
          '-------+          |
                  '----------'
]]></artwork>
            </artset>
          </figure>
          <t>Case 2: The old path is alive but not preferred.</t>
          <t>This case is shown in <xref target="fig-old-path-not-preferred"/> whereby the sender
replies with a <tt>path_drop</tt> message (2) on the old path.  This triggers
the receiver to send a <tt>path_challenge</tt> (3) on the new path. The sender
will reply with a <tt>path_response</tt> (4) on the new path, thus providing
confirmation for the path migration.</t>
          <figure anchor="fig-old-path-not-preferred">
            <name>Old path is not preferred</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="424" viewBox="0 0 424 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 104,64 L 104,112" fill="none" stroke="black"/>
                  <path d="M 104,144 L 104,320" fill="none" stroke="black"/>
                  <path d="M 120,80 L 120,176" fill="none" stroke="black"/>
                  <path d="M 120,216 L 120,304" fill="none" stroke="black"/>
                  <path d="M 136,96 L 136,224" fill="none" stroke="black"/>
                  <path d="M 136,256 L 136,288" fill="none" stroke="black"/>
                  <path d="M 168,48 L 168,112" fill="none" stroke="black"/>
                  <path d="M 168,272 L 168,336" fill="none" stroke="black"/>
                  <path d="M 256,48 L 256,112" fill="none" stroke="black"/>
                  <path d="M 256,272 L 256,336" fill="none" stroke="black"/>
                  <path d="M 288,96 L 288,112" fill="none" stroke="black"/>
                  <path d="M 288,144 L 288,288" fill="none" stroke="black"/>
                  <path d="M 304,80 L 304,176" fill="none" stroke="black"/>
                  <path d="M 304,208 L 304,304" fill="none" stroke="black"/>
                  <path d="M 320,64 L 320,224" fill="none" stroke="black"/>
                  <path d="M 320,256 L 320,320" fill="none" stroke="black"/>
                  <path d="M 168,48 L 256,48" fill="none" stroke="black"/>
                  <path d="M 104,64 L 160,64" fill="none" stroke="black"/>
                  <path d="M 264,64 L 320,64" fill="none" stroke="black"/>
                  <path d="M 120,80 L 168,80" fill="none" stroke="black"/>
                  <path d="M 256,80 L 304,80" fill="none" stroke="black"/>
                  <path d="M 136,96 L 168,96" fill="none" stroke="black"/>
                  <path d="M 256,96 L 288,96" fill="none" stroke="black"/>
                  <path d="M 168,112 L 256,112" fill="none" stroke="black"/>
                  <path d="M 24,176 L 96,176" fill="none" stroke="black"/>
                  <path d="M 112,176 L 128,176" fill="none" stroke="black"/>
                  <path d="M 144,176 L 176,176" fill="none" stroke="black"/>
                  <path d="M 264,176 L 280,176" fill="none" stroke="black"/>
                  <path d="M 296,176 L 312,176" fill="none" stroke="black"/>
                  <path d="M 328,176 L 416,176" fill="none" stroke="black"/>
                  <path d="M 8,208 L 96,208" fill="none" stroke="black"/>
                  <path d="M 112,208 L 128,208" fill="none" stroke="black"/>
                  <path d="M 144,208 L 160,208" fill="none" stroke="black"/>
                  <path d="M 248,208 L 280,208" fill="none" stroke="black"/>
                  <path d="M 296,208 L 312,208" fill="none" stroke="black"/>
                  <path d="M 328,208 L 400,208" fill="none" stroke="black"/>
                  <path d="M 168,272 L 256,272" fill="none" stroke="black"/>
                  <path d="M 136,288 L 160,288" fill="none" stroke="black"/>
                  <path d="M 264,288 L 288,288" fill="none" stroke="black"/>
                  <path d="M 120,304 L 168,304" fill="none" stroke="black"/>
                  <path d="M 256,304 L 304,304" fill="none" stroke="black"/>
                  <path d="M 104,320 L 168,320" fill="none" stroke="black"/>
                  <path d="M 256,320 L 320,320" fill="none" stroke="black"/>
                  <path d="M 168,336 L 256,336" fill="none" stroke="black"/>
                  <path d="M 8,208 L 24,176" fill="none" stroke="black"/>
                  <path d="M 160,208 L 176,176" fill="none" stroke="black"/>
                  <path d="M 248,208 L 264,176" fill="none" stroke="black"/>
                  <path d="M 400,208 L 416,176" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="272,288 260,282.4 260,293.6" fill="black" transform="rotate(180,264,288)"/>
                  <polygon class="arrowhead" points="272,64 260,58.4 260,69.6" fill="black" transform="rotate(180,264,64)"/>
                  <polygon class="arrowhead" points="168,288 156,282.4 156,293.6" fill="black" transform="rotate(0,160,288)"/>
                  <polygon class="arrowhead" points="168,64 156,58.4 156,69.6" fill="black" transform="rotate(0,160,64)"/>
                  <g class="text">
                    <text x="112" y="36">new</text>
                    <text x="312" y="36">old</text>
                    <text x="116" y="52">path</text>
                    <text x="308" y="52">path</text>
                    <text x="212" y="84">Receiver</text>
                    <text x="48" y="132">path-</text>
                    <text x="104" y="132">4</text>
                    <text x="224" y="132">path-</text>
                    <text x="288" y="132">1</text>
                    <text x="60" y="148">response</text>
                    <text x="240" y="148">challenge</text>
                    <text x="52" y="196">AP/NAT</text>
                    <text x="88" y="196">A</text>
                    <text x="356" y="196">AP/NAT</text>
                    <text x="392" y="196">B</text>
                    <text x="136" y="244">3</text>
                    <text x="168" y="244">path-</text>
                    <text x="320" y="244">2</text>
                    <text x="352" y="244">path-</text>
                    <text x="184" y="260">challenge</text>
                    <text x="348" y="260">drop</text>
                    <text x="212" y="308">Sender</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
            new                      old
            path    .----------.    path
            .------>|          |<------.
            | .-----+ Receiver +-----. |
            | | .---+          +---. | |
            | | |   '----------'   | | |
   path-    4 | |        path-     1 | |
   response | | |        challenge | | |
            | | |                  | | |
  .---------|-+-|----.          .--|-+-|-----------.
 / AP/NAT A |   |   /          /   |   | AP/NAT B /
'-----------|---|--'          '----|-+-|---------'
            | | |                  | | |
            | | 3 path-            | | 2 path-
            | | | challenge        | | | drop
            | | |   .----------.   | | |
            | | '-->|          |<--' | |
            | '-----+  Sender  +-----' |
            '-------+          +-------'
                    '----------'
]]></artwork>
            </artset>
          </figure>
          <t>Case 3: The old path is alive and preferred.</t>
          <t>This is most likely the result of an off-path attacker trying to place itself
on path.  The receiver sends a <tt>path_challenge</tt> on the old path and the sender
replies with a <tt>path_response</tt> (2) on the old path. The interaction is shown in
<xref target="fig-old-path-preferred"/>. This results in the connection not being migrated
to the new path, thus thwarting the attack.</t>
          <figure anchor="fig-old-path-preferred">
            <name>Old path is preferred</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="384" width="352" viewBox="0 0 352 384" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 64,80 L 64,176" fill="none" stroke="black"/>
                  <path d="M 64,224 L 64,320" fill="none" stroke="black"/>
                  <path d="M 112,48 L 112,112" fill="none" stroke="black"/>
                  <path d="M 112,288 L 112,352" fill="none" stroke="black"/>
                  <path d="M 200,48 L 200,112" fill="none" stroke="black"/>
                  <path d="M 200,288 L 200,352" fill="none" stroke="black"/>
                  <path d="M 232,96 L 232,240" fill="none" stroke="black"/>
                  <path d="M 232,272 L 232,304" fill="none" stroke="black"/>
                  <path d="M 248,80 L 248,176" fill="none" stroke="black"/>
                  <path d="M 248,208 L 248,320" fill="none" stroke="black"/>
                  <path d="M 264,64 L 264,112" fill="none" stroke="black"/>
                  <path d="M 264,144 L 264,336" fill="none" stroke="black"/>
                  <path d="M 112,48 L 200,48" fill="none" stroke="black"/>
                  <path d="M 200,64 L 264,64" fill="none" stroke="black"/>
                  <path d="M 64,80 L 112,80" fill="none" stroke="black"/>
                  <path d="M 200,80 L 248,80" fill="none" stroke="black"/>
                  <path d="M 208,96 L 232,96" fill="none" stroke="black"/>
                  <path d="M 112,112 L 200,112" fill="none" stroke="black"/>
                  <path d="M 32,176 L 120,176" fill="none" stroke="black"/>
                  <path d="M 208,176 L 224,176" fill="none" stroke="black"/>
                  <path d="M 240,176 L 256,176" fill="none" stroke="black"/>
                  <path d="M 272,176 L 312,176" fill="none" stroke="black"/>
                  <path d="M 192,208 L 224,208" fill="none" stroke="black"/>
                  <path d="M 240,208 L 256,208" fill="none" stroke="black"/>
                  <path d="M 272,208 L 296,208" fill="none" stroke="black"/>
                  <path d="M 8,224 L 96,224" fill="none" stroke="black"/>
                  <path d="M 112,288 L 200,288" fill="none" stroke="black"/>
                  <path d="M 200,304 L 232,304" fill="none" stroke="black"/>
                  <path d="M 64,320 L 112,320" fill="none" stroke="black"/>
                  <path d="M 200,320 L 248,320" fill="none" stroke="black"/>
                  <path d="M 208,336 L 264,336" fill="none" stroke="black"/>
                  <path d="M 112,352 L 200,352" fill="none" stroke="black"/>
                  <path d="M 8,224 L 32,176" fill="none" stroke="black"/>
                  <path d="M 96,224 L 120,176" fill="none" stroke="black"/>
                  <path d="M 192,208 L 208,176" fill="none" stroke="black"/>
                  <path d="M 296,208 L 312,176" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="216,336 204,330.4 204,341.6" fill="black" transform="rotate(180,208,336)"/>
                  <polygon class="arrowhead" points="216,96 204,90.4 204,101.6" fill="black" transform="rotate(180,208,96)"/>
                  <g class="text">
                    <text x="72" y="36">new</text>
                    <text x="256" y="36">old</text>
                    <text x="76" y="52">path</text>
                    <text x="252" y="52">path</text>
                    <text x="156" y="84">Receiver</text>
                    <text x="264" y="132">1</text>
                    <text x="296" y="132">path-</text>
                    <text x="312" y="148">challenge</text>
                    <text x="68" y="196">off-path</text>
                    <text x="220" y="196">AP</text>
                    <text x="248" y="196">/</text>
                    <text x="280" y="196">NAT</text>
                    <text x="60" y="212">attacker</text>
                    <text x="176" y="260">path-</text>
                    <text x="232" y="260">2</text>
                    <text x="188" y="276">response</text>
                    <text x="156" y="324">Sender</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
        new                    old
        path  .----------.    path
              |          +-------.
        .-----+ Receiver +-----. |
        |     |          |<--. | |
        |     '----------'   | | |
        |                    | | 1 path-
        |                    | | | challenge
        |                    | | |
    .---+------.          .--|-+-|-----.
   / off-path /          / AP| / |NAT /
  / attacker /          '----|-+-|---'
 '------+---'                | | |
        |                    | | |
        |           path-    2 | |
        |           response | | |
        |     .----------.   | | |
        |     |          +---' | |
        '-----+  Sender  +-----' |
              |          |<------'
              '----------'
]]></artwork>
            </artset>
          </figure>
          <t>Note that this defense is imperfect, but this is not considered a serious
problem. If the path via the attacker is reliably faster than the
old path despite multiple attempts to use that old path, it
is not possible to distinguish between an attack and an improvement
in routing.</t>
          <t>An endpoint could also use heuristics to improve detection of this
style of attack. For instance, NAT rebinding is improbable if
packets were recently received on the old path; similarly, rebinding
is rare on IPv6 paths. Endpoints can also look for duplicated
packets. Conversely, a change in connection ID is more likely to
indicate an intentional migration rather than an attack. Note that
changes in connection IDs are supported in DTLS 1.3 but not in
DTLS 1.2.</t>
        </section>
      </section>
    </section>
    <section anchor="path-validation">
      <name>Path Validation Procedure</name>
      <t>The receiver that observes the peer's address or port change <bcp14>MUST</bcp14> stop sending
any buffered application data, or limit the data sent to the unvalidated
address to the anti-amplification limit.</t>
      <t>It then initiates the return routability check that proceeds as described
either in <xref target="enhanced"/> or <xref target="regular"/>, depending on whether the off-path
attacker scenario described in <xref target="off-path"/> is to be taken into account or not.</t>
      <t>(The decision on what strategy to choose depends mainly on the threat model, but
may also be influenced by other considerations.  Examples of impacting factors
include: the need to minimise implementation complexity, privacy concerns, and the
need to reduce the time it takes to switch path.  The choice may be offered as
a configuration option to the user of the TLS implementation.)</t>
      <t>After the path validation procedure is completed, any pending send operation is
resumed to the bound peer address.</t>
      <t><xref target="path-challenge-reqs"/> and <xref target="path-response-reqs"/> list the requirements for
the initiator and responder roles, broken down per protocol phase.</t>
      <section anchor="regular">
        <name>Basic</name>
        <t>The basic return routability check comprises the following steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>The receiver (i.e., the initiator) creates a <tt>return_routability_check</tt> message of
type <tt>path_challenge</tt> and places the unpredictable cookie into the message.</t>
          </li>
          <li>
            <t>The message is sent to the observed new address and a timer T (see
<xref target="timer-choice"/>) is started.</t>
          </li>
          <li>
            <t>The peer (i.e., the responder) cryptographically verifies the received
<tt>return_routability_check</tt> message of
type <tt>path_challenge</tt> and responds by echoing the cookie value in a
<tt>return_routability_check</tt> message of type <tt>path_response</tt>.</t>
          </li>
          <li>
            <t>When the initiator receives the <tt>return_routability_check</tt>
message  of type <tt>path_response</tt> and verifies that it contains the sent cookie, it updates the peer
address binding.</t>
          </li>
          <li>
            <t>If T expires the peer address binding is not updated.</t>
          </li>
        </ol>
      </section>
      <section anchor="enhanced">
        <name>Enhanced</name>
        <t>The enhanced return routability check comprises the following steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>The receiver (i.e., the initiator) creates a <tt>return_routability_check</tt> message of
type <tt>path_challenge</tt> and places the unpredictable cookie into the message.</t>
          </li>
          <li>
            <t>The message is sent to the previously valid address, which corresponds to the
old path. Additionally, a timer T, see <xref target="timer-choice"/>, is started.</t>
          </li>
          <li>
            <t>If the path is still functional, the peer (i.e., the responder) cryptographically verifies the received
<tt>return_routability_check</tt> message of
type <tt>path_challenge</tt>.
The action to be taken depends on whether the path through which
the message was received is the preferred one or not anymore:
            </t>
            <ul spacing="normal">
              <li>
                <t>If the path through which the message was received is preferred,
a <tt>return_routability_check</tt> message of type <tt>path_response</tt> <bcp14>MUST</bcp14> be returned.</t>
              </li>
              <li>
                <t>If the path through which the message was received is not preferred,
a <tt>return_routability_check</tt> message of type <tt>path_drop</tt> <bcp14>MUST</bcp14> be returned.
In either case, the peer echoes the cookie value in the response.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The initiator receives and verifies that the <tt>return_routability_check</tt>
message contains the previously sent cookie. The actions taken by the
initiator differ based on the received message:
            </t>
            <ul spacing="normal">
              <li>
                <t>When a <tt>return_routability_check</tt> message of type <tt>path_response</tt> was received,
the initiator <bcp14>MUST</bcp14> continue using the previously valid address, i.e., no switch
to the new path takes place and the peer address binding is not updated.</t>
              </li>
              <li>
                <t>When a <tt>return_routability_check</tt> message of type <tt>path_drop</tt> was received,
the initiator <bcp14>MUST</bcp14> perform a return routability check on the observed new
address, as described in <xref target="regular"/>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>If T expires the peer address binding is not updated. In this case, the
initiator <bcp14>MUST</bcp14> perform a return routability check on the observed new
address, as described in <xref target="regular"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="path-challenge-reqs">
        <name> Path Challenge Requirements</name>
        <ul spacing="normal">
          <li>
            <t>The initiator <bcp14>MAY</bcp14> send multiple <tt>return_routability_check</tt> messages of type
<tt>path_challenge</tt> to cater for packet loss on the probed path.
            </t>
            <ul spacing="normal">
              <li>
                <t>Each <tt>path_challenge</tt> <bcp14>SHOULD</bcp14> go into different transport packets.  (Note that
the DTLS implementation may not have control over the packetization done by
the transport layer.)</t>
              </li>
              <li>
                <t>The transmission of subsequent <tt>path_challenge</tt> messages <bcp14>SHOULD</bcp14> be paced to
decrease the chance of loss.</t>
              </li>
              <li>
                <t>Each <tt>path_challenge</tt> message <bcp14>MUST</bcp14> contain random data.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The initiator <bcp14>MAY</bcp14> use padding using the record padding mechanism available in
DTLS 1.3 (and in DTLS 1.2, when CID is enabled on the sending direction) up
to the anti-amplification limit to probe if the path MTU (PMTU) for the new
path is still acceptable.</t>
          </li>
        </ul>
      </section>
      <section anchor="path-response-reqs">
        <name>Path Response/Drop Requirements</name>
        <ul spacing="normal">
          <li>
            <t>The responder <bcp14>MUST NOT</bcp14> delay sending an elicited <tt>path_response</tt> or
<tt>path_drop</tt> messages.</t>
          </li>
          <li>
            <t>The responder <bcp14>MUST</bcp14> send exactly one <tt>path_response</tt> or <tt>path_drop</tt> message
for each received <tt>path_challenge</tt>.</t>
          </li>
          <li>
            <t>The responder <bcp14>MUST</bcp14> send the <tt>path_response</tt> or the <tt>path_drop</tt> on the path
where the corresponding <tt>path_challenge</tt> has been received, so that validation
succeeds only if the path is functional in both directions. The initiator
<bcp14>MUST NOT</bcp14> enforce this behaviour.</t>
          </li>
          <li>
            <t>The initiator <bcp14>MUST</bcp14> silently discard any invalid <tt>path_response</tt> or
<tt>path_drop</tt> it receives.</t>
          </li>
        </ul>
        <t>Note that RRC does not cater for PMTU discovery on the reverse path.  If the
responder wants to do PMTU discovery using RRC, it should initiate a new path
validation procedure.</t>
      </section>
      <section anchor="timer-choice">
        <name>Timer Choice</name>
        <t>When setting T, implementations are cautioned that the new path could have a
longer round-trip time (RTT) than the original.</t>
        <t>In settings where there is external information about the RTT of the active
path, implementations <bcp14>SHOULD</bcp14> use T = 3xRTT.</t>
        <t>If an implementation has no way to obtain information regarding the RTT of the
active path, T <bcp14>SHOULD</bcp14> be set to 1s.</t>
        <t>Profiles for specific deployment environments -- for example, constrained
networks <xref target="I-D.ietf-uta-tls13-iot-profile"/> -- <bcp14>MAY</bcp14> specify a different, more
suitable value.</t>
      </section>
    </section>
    <section anchor="example">
      <name>Example</name>
      <t>In the example DTLS 1.3 handshake shown in <xref target="fig-handshake"/>, a client
and a server successfully negotiate support for both CID and the RRC
extension.</t>
      <figure anchor="fig-handshake">
        <name>Message Flow for Full DTLS Handshake</name>
        <artwork><![CDATA[
       Client                                           Server

Key  ^ ClientHello
Exch | + key_share
     | + signature_algorithms
     | + rrc
     v + connection_id=empty
                               -------->
                                                  ServerHello  ^ Key
                                                 +  key_share  | Exch
                                          + connection_id=100  |
                                                        + rrc  v
                                        {EncryptedExtensions}  ^  Server
                                         {CertificateRequest}  v  Params
                                                {Certificate}  ^
                                          {CertificateVerify}  | Auth
                               <--------           {Finished}  v

     ^ {Certificate}
Auth | {CertificateVerify}
     v {Finished}              -------->
       [Application Data]      <------->  [Application Data]

              +  Indicates noteworthy extensions sent in the
                 previously noted message.

              *  Indicates optional or situation-dependent
                 messages/extensions that are not always sent.

              {} Indicates messages protected using keys
                 derived from a [sender]_handshake_traffic_secret.

              [] Indicates messages protected using keys
                 derived from [sender]_application_traffic_secret_N.
]]></artwork>
      </figure>
      <t>Once a connection has been established, the client and the server
exchange application payloads protected by DTLS with a unilaterally used
CID. In our case, the client is requested to use CID 100 for records
sent to the server.</t>
      <t>At some point in the communication interaction, the IP address used by
the client changes and, thanks to the CID usage, the security context to
interpret the record is successfully located by the server.  However, the
server wants to test the reachability of the client at its new IP address.</t>
      <t><xref target="fig-rrc-example"/> shows the server initiating a "basic" RRC exchange
(see <xref target="regular"/>) that establishes reachability of the client at the new
IP address.</t>
      <figure anchor="fig-rrc-example">
        <name>"Basic" Return Routability Example</name>
        <artwork><![CDATA[
      Client                                             Server
      ------                                             ------

      Application Data            ========>
      <CID=100>
      Src-IP=A
      Dst-IP=Z
                                  <========        Application Data
                                                       Src-IP=Z
                                                       Dst-IP=A


                              <<------------->>
                              <<   Some      >>
                              <<   Time      >>
                              <<   Later     >>
                              <<------------->>


      Application Data            ========>
      <CID=100>
      Src-IP=B
      Dst-IP=Z

                                             <<< Unverified IP
                                                 Address B >>

                                  <--------  Return Routability Check
                                             path_challenge(cookie)
                                                    Src-IP=Z
                                                    Dst-IP=B

      Return Routability Check    -------->
      path_response(cookie)
      Src-IP=B
      Dst-IP=Z

                                             <<< IP Address B
                                                 Verified >>


                                  <========        Application Data
                                                       Src-IP=Z
                                                       Dst-IP=B
]]></artwork>
      </figure>
    </section>
    <section anchor="security-and-privacy-considerations">
      <name>Security and Privacy Considerations</name>
      <t>Note that the return routability checks do not protect against flooding of
third-parties if the attacker is on-path, as the attacker can redirect the
return routability checks to the real peer (even if those datagrams are
cryptographically authenticated).  On-path adversaries can, in general, pose a
harm to connectivity.</t>
      <t>When using DTLS 1.3, peers <bcp14>SHOULD</bcp14> avoid using the same CID on multiple network
paths, in particular when initiating connection migration or when probing a new
network path, as described in <xref target="path-validation"/>, as an adversary can otherwise
correlate the communication interaction across those different paths.  DTLS 1.3
provides mechanisms to ensure that a new CID can always be used.  In
general, an endpoint should proactively send a RequestConnectionId message to ask for new
CIDs as soon as the pool of spare CIDs is depleted (or goes below a threshold).
Also, in case a peer might have exhausted available CIDs, a migrating endpoint
could include NewConnectionId in packets sent on the new path to make sure that
the subsequent path validation can use fresh CIDs.</t>
      <t>Note that DTLS 1.2 does not offer the ability to request new CIDs during the session lifetime since CIDs have the same life-span
of the connection.  Therefore, deployments that use DTLS in multihoming
environments <bcp14>SHOULD</bcp14> refuse to use CIDs with DTLS 1.2
and switch to DTLS 1.3 if the correlation privacy threat is a concern.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><cref anchor="to-be-removed">RFC Editor: please replace RFCthis with this RFC number and remove this note.</cref></t>
      <section anchor="new-tls-contenttype">
        <name>New TLS ContentType</name>
        <t>IANA is requested to allocate an entry to the TLS <tt>ContentType</tt>
registry, for the <tt>return_routability_check(TBD2)</tt> message defined in
this document.  IANA is requested to set the <tt>DTLS_OK</tt> column to <tt>Y</tt> and
to add the following note prior to the table:</t>
        <ul empty="true">
          <li>
            <t>NOTE: The return_routability_check content type is only
applicable to DTLS 1.2 and 1.3.</t>
          </li>
        </ul>
      </section>
      <section anchor="new-tls-extensiontype">
        <name> New TLS ExtensionType</name>
        <t>IANA is requested to allocate the extension code point (TBD1) for the <tt>rrc</tt>
extension to the <tt>TLS ExtensionType Values</tt> registry as described in
<xref target="tbl-ext"/>.</t>
        <table align="left" anchor="tbl-ext">
          <name>rrc entry in the TLS ExtensionType Values registry</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Extension Name</th>
              <th align="left">TLS 1.3</th>
              <th align="left">DTLS-Only</th>
              <th align="left">Recommended</th>
              <th align="left">Reference</th>
              <th align="left">Comment</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD1</td>
              <td align="left">rrc</td>
              <td align="left">CH, SH</td>
              <td align="left">Y</td>
              <td align="left">N</td>
              <td align="left">RFCthis</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="new-rrc-message-type-sub-registry">
        <name>New RRC Message Type Sub-registry</name>
        <t>IANA is requested to create a new registry for RRC Message Types within the TLS Parameters registry group <xref target="IANA.tls-parameters"/>.
This registry will be administered under the "Expert Review" policy (<xref section="4.5" sectionFormat="of" target="RFC8126"/>).</t>
        <t>Follow the procedures in <xref section="16" sectionFormat="of" target="I-D.ietf-tls-rfc8447bis"/> to submit registration requests.</t>
        <t>Each entry in the registry must include the following fields:</t>
        <dl newline="true">
          <dt>Value:</dt>
          <dd>
            <t>A (decimal) number in the range 0 to 253</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>A brief description of the RRC message</t>
          </dd>
          <dt>DTLS-Only:</dt>
          <dd>
            <t>Whether the message applies only to DTLS.
Since RRC is only available in DTLS, this column will be set to <tt>Y</tt> for all the entries in this registry</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>Whether the message is recommended for implementations to support.
The semantics for this field is defined in <xref section="5" sectionFormat="of" target="RFC8447"/> and updated in <xref section="3" sectionFormat="of" target="I-D.ietf-tls-rfc8447bis"/></t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>A reference to a publicly available specification for the value</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>Any relevant notes or comments that relate to this entry</t>
          </dd>
        </dl>
        <t>The initial state of this sub-registry is as follows:</t>
        <table align="left" anchor="tbl-rrc-mt">
          <name>Initial Entries in RRC Message Type registry</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">DTLS-Only</th>
              <th align="left">Recommended</th>
              <th align="left">Reference</th>
              <th align="left">Comment</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">path_challenge</td>
              <td align="left">Y</td>
              <td align="left">Y</td>
              <td align="left">RFCthis</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">path_response</td>
              <td align="left">Y</td>
              <td align="left">Y</td>
              <td align="left">RFCthis</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">path_drop</td>
              <td align="left">Y</td>
              <td align="left">Y</td>
              <td align="left">RFCthis</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">3-253</td>
              <td align="left">Unassigned</td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">254-255</td>
              <td align="left">Reserved for Private Use</td>
              <td align="left">Y</td>
              <td align="left"> </td>
              <td align="left">RFCthis</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
        <t>IANA is requested to add the following note for additional information regarding the use of RRC message codepoints in experiments:</t>
        <dl>
          <dt>Note:</dt>
          <dd>
            <t>As specified in <xref target="RFC8126"/>, assignments made in the Private Use space are not generally useful for broad interoperability.
Those making use of the Private Use range are responsible for ensuring that no conflicts occur within the intended scope of use.
For widespread experiments, provisional registrations (<xref section="4.13" sectionFormat="of" target="RFC8126"/>) are available.</t>
          </dd>
        </dl>
        <section anchor="designated-expert-instructions">
          <name>Designated Expert Instructions</name>
          <t>To enable a broadly informed review of registration decisions, it is recommended that multiple Designated Experts be appointed who are able to represent the perspectives of both the transport and security areas.</t>
          <t>In cases where a registration decision could be perceived as creating a conflict of interest for a particular Expert, that Expert <bcp14>SHOULD</bcp14> defer to the judgment of the other Experts.</t>
        </section>
      </section>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t><cref anchor="rfced-remove">RFC Editor: please remove this section before publishing as an RFC.</cref></t>
      <t>Issues against this document are tracked at https://github.com/tlswg/dtls-rrc/issues</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank
Eric Rescorla,
Hanno Becker,
<contact fullname="Hanno Böck"/>,
Joe Clarke,
<contact fullname="Manuel Pégourié-Gonnard"/>,
Marco Tiloca,
Martin Thomson,
Mohit Sahni,
Rich Salz,
Sean Turner, and
Yaron Sheffer
for their input to this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9146">
          <front>
            <title>Connection Identifier for DTLS 1.2</title>
            <author fullname="E. Rescorla" initials="E." role="editor" surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="A. Kraus" initials="A." surname="Kraus"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document specifies the Connection ID (CID) construct for the Datagram Transport Layer Security (DTLS) protocol version 1.2.</t>
              <t>A CID is an identifier carried in the record layer header that gives the recipient additional information for selecting the appropriate security association. In "classical" DTLS, selecting a security association of an incoming DTLS record is accomplished with the help of the 5-tuple. If the source IP address and/or source port changes during the lifetime of an ongoing DTLS session, then the receiver will be unable to locate the correct security context.</t>
              <t>The new ciphertext record format with the CID also provides content type encryption and record layer padding.</t>
              <t>This document updates RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9146"/>
          <seriesInfo name="DOI" value="10.17487/RFC9146"/>
        </reference>
        <reference anchor="RFC9147">
          <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="RFC2119">
          <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">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="IANA.tls-parameters" target="https://www.iana.org/assignments/tls-parameters">
          <front>
            <title>Transport Layer Security (TLS) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC8126">
          <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="I-D.ietf-tls-rfc8447bis">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Venafi</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <date day="29" month="May" year="2025"/>
            <abstract>
              <t>   This document updates the changes to TLS and DTLS IANA registries
   made in RFC 8447.  It adds a new value "D" for discouraged to the
   Recommended column of the selected TLS registries and adds a
   "Comment" column to all active registries that do not already have a
   "Comment" column.  Finally, it updates the registration request
   instructions.

   This document updates the following RFCs: 3749, 5077, 4680, 5246,
   5705, 5878, 6520, 7301, and 8447.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8447bis-13"/>
        </reference>
        <reference anchor="RFC8447">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document describes a number of changes to TLS and DTLS IANA registries that range from adding notes to the registry all the way to changing the registration policy. These changes were mostly motivated by WG review of the TLS- and DTLS-related registries undertaken as part of the TLS 1.3 development process.</t>
              <t>This document updates the following RFCs: 3749, 5077, 4680, 5246, 5705, 5878, 6520, and 7301.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8447"/>
          <seriesInfo name="DOI" value="10.17487/RFC8447"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC9175">
          <front>
            <title>Constrained Application Protocol (CoAP): Echo, Request-Tag, and Token Processing</title>
            <author fullname="C. Amsüss" initials="C." surname="Amsüss"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document specifies enhancements to the Constrained Application Protocol (CoAP) that mitigate security issues in particular use cases. The Echo option enables a CoAP server to verify the freshness of a request or to force a client to demonstrate reachability at its claimed network address. The Request-Tag option allows the CoAP server to match block-wise message fragments belonging to the same request. This document updates RFC 7252 with respect to the following: processing requirements for client Tokens, forbidding non-secure reuse of Tokens to ensure response-to-request binding when CoAP is used with a security protocol, and amplification mitigation (where the use of the Echo option is now recommended).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9175"/>
          <seriesInfo name="DOI" value="10.17487/RFC9175"/>
        </reference>
        <reference anchor="I-D.irtf-t2trg-amplification-attacks">
          <front>
            <title>Amplification Attacks Using the Constrained Application Protocol (CoAP)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
              <organization>Energy Harvesting Solutions</organization>
            </author>
            <date day="8" month="December" year="2024"/>
            <abstract>
              <t>   Protecting Internet of Things (IoT) devices against attacks is not
   enough.  IoT deployments need to make sure that they are not used for
   Distributed Denial-of-Service (DDoS) attacks.  DDoS attacks are
   typically done with compromised devices or with amplification attacks
   using a spoofed source address.  This document gives examples of
   different theoretical amplification attacks using the Constrained
   Application Protocol (CoAP).  The goal with this document is to raise
   awareness and to motivate generic and protocol-specific
   recommendations on the usage of CoAP.  Some of the discussed attacks
   can be mitigated by not using NoSec or by using the Echo option.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-t2trg-amplification-attacks-04"/>
        </reference>
        <reference anchor="I-D.ietf-uta-tls13-iot-profile">
          <front>
            <title>TLS/DTLS 1.3 Profiles for the Internet of Things</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="5" month="May" year="2025"/>
            <abstract>
              <t>   RFC 7925 offers guidance to developers on using TLS/DTLS 1.2 for
   Internet of Things (IoT) devices with resource constraints.  This
   document is a companion to RFC 7925, defining TLS/DTLS 1.3 profiles
   for IoT devices.  Additionally, it updates RFC 7925 with respect to
   the X.509 certificate profile and ciphersuite requirements.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/thomas-fossati/draft-tls13-iot.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-uta-tls13-iot-profile-14"/>
        </reference>
      </references>
    </references>
    <?line 783?>

<section anchor="history">
      <name>History</name>
      <t><cref anchor="rfced-remove_1">RFC Editor: please remove this section before publishing as an RFC.</cref></t>
      <t>draft-ietf-tls-dtls-rrc-10:</t>
      <ul spacing="normal">
        <li>
          <t>WGLC comments from Marco Tiloca</t>
        </li>
        <li>
          <t>Change registration policy for new RRC messages to STD action (from expert review)</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-09:</t>
      <ul spacing="normal">
        <li>
          <t>Refresh document while queueing for WGLC</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-08</t>
      <ul spacing="normal">
        <li>
          <t>Refresh document while queueing for WGLC</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-07</t>
      <ul spacing="normal">
        <li>
          <t>Fix ambiguous wording around timer settings</t>
        </li>
        <li>
          <t>Clarify that the detailed protocol flow describes "basic" RRC</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-06</t>
      <ul spacing="normal">
        <li>
          <t>Add Achim as co-author</t>
        </li>
        <li>
          <t>Added IANA registry for RRC message types (#14)</t>
        </li>
        <li>
          <t>Small fix in the path validation algorithm (#15)</t>
        </li>
        <li>
          <t>Renamed <tt>path_delete</tt> to <tt>path_drop</tt> (#16)</t>
        </li>
        <li>
          <t>Added an "attacker model" section (#17, #31, #44, #45, #48)</t>
        </li>
        <li>
          <t>Add criteria for choosing between basic and enhanced path validation (#18)</t>
        </li>
        <li>
          <t>Reorganise Section 4 a bit (#19)</t>
        </li>
        <li>
          <t>Small fix in Path Response/Drop Requirements section (#20)</t>
        </li>
        <li>
          <t>Add privacy considerations wrt CID reuse (#30)</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-05</t>
      <ul spacing="normal">
        <li>
          <t>Added text about off-path packet forwarding</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-04</t>
      <ul spacing="normal">
        <li>
          <t>Re-submitted draft to fix references</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-03</t>
      <ul spacing="normal">
        <li>
          <t>Added details for challenge-response exchange</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-02</t>
      <ul spacing="normal">
        <li>
          <t>Undo the TLS flags extension for negotiating RRC, use a new extension type</t>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-01</t>
      <ul spacing="normal">
        <li>
          <t>Use the TLS flags extension for negotiating RRC</t>
        </li>
        <li>
          <t>Enhanced IANA consideration section</t>
        </li>
        <li>
          <t>Expanded example section</t>
        </li>
        <li>
          <t>Revamp message layout:
          </t>
          <ul spacing="normal">
            <li>
              <t>Use 8-byte fixed size cookies</t>
            </li>
            <li>
              <t>Explicitly separate path challenge from response</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>draft-ietf-tls-dtls-rrc-00</t>
      <ul spacing="normal">
        <li>
          <t>Draft name changed after WG adoption</t>
        </li>
      </ul>
      <t>draft-tschofenig-tls-dtls-rrc-01</t>
      <ul spacing="normal">
        <li>
          <t>Removed text that overlapped with draft-ietf-tls-dtls-connection-id</t>
        </li>
      </ul>
      <t>draft-tschofenig-tls-dtls-rrc-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial version</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
k9zknOaOzKSoga0olJS5sza2zqpNYcDeuYu0siabYfDdi8JA+KEgs0OiryNC
fcrnTYI4EHtDQvhMoo8YgZGkUKcKVEcVBGpAok08axscwnAnFxHNU4NzZnEJ
jmvHaBSJWy3AGm+O+LlgyS0dz8+7np9zPvuW4i0EaN/1edIVnYOO6NVAk84H
m+x22H1jwyGrcHNjt4M+4KC2hCWh4n5DxS0BefDmCv69QuF4nxxaT+NBs5ZQ
vNtya3te7S1xMtzES8u9jU3aaudm93aoSYdW2oLwliKwRytDwu/zYu9XiryW
uGu2LjgJD/dx2QJMl5ibBfxL6Tv8swjMwLmLMPyaFrXFg8XTzCx9wHswLM1J
ahRcXbu8Hhid5IXyciyBNUoBriVIk3SV+fCpdUn7vH0ozTFUrpwoL6xNJVie
YPw4n9epbdJtIr99TFtgtIsCNh4FjFWauxyjCW12BKcUMdZImTU4+sLULjYN
w0gPFL2L3UkRysnvBMbpTJhuzoS19xkY44BDiTsrF/C8MCXrAko66sWJBQnf
a5su0ywqcePW94poKTGbHA+Pvzn/mpraiT72Gy64c0MTy4qCT6H7rYvEgTDh
E2Ql6Kg1HaTgWGSahxKeExApeu70YKHcOUxO1qz4EBoeovQ7GPC/haMBvzgS
J+YsTRrM9kajCLy2NR1y5hw2f3LIeTegs1zaNaXpUdznz80m/Buf23l5p5tT
6A7YOgeEKI73RTgsjAlbd22TbcAHmh1yKD3WVsXKHWdVeFpwWsuBwjBejdsA
tNlOR4l4xwJ3BihyI1oyOBSk/CFj/mnTmSSYsTvoTUeYfDx746Fh3gtAnGD4
KEy7VJIt0Dm3ikAHp2hH8MJKDu8CFE0Qu8lVa7bArQTburmdYSDexbDw1DkR
UKGjOObjUyWuMMxx+4yOacUpnWGhYSPcUm32PeNFUVgjsAGJRilm4Av/YHYy
tJcjp5inuIzWzBF02nCW1YYSOMDHLWg6TvhxHjSoieNPiH3OLQQWjrhCAR5Z
LsCNlbNF+2LscCRxCSuyTFHOdjdx8fsnWJIRnrw/j2I6ARGbMrcjZ94p10tw
5piOoaZ8Pp+wJpG5wJwENOAuGU5vavzJ1siqiE9hz2thyWLl9hYrPrflE4OR
l9oQY7L2wawygT8cJLk0udMUEcQ3gYBHdHDWEQq59cVK8InJj2hFLpssjims
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

-->

</rfc>
