<?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.4.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-romann-iotops-mud-constrained-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="MUD and CoAP">Using MUD in Constrained Environments</title>
    <seriesInfo name="Internet-Draft" value="draft-romann-iotops-mud-constrained-00"/>
    <author initials="J." surname="Romann" fullname="Jan Romann" role="editor">
      <organization>Universität Bremen</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>jan.romann@uni-bremen.de</email>
      </address>
    </author>
    <author initials="H." surname="Damer" fullname="Hugo Hakim Damer" role="editor">
      <organization/>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>hdamer@uni-bremen.de</email>
      </address>
    </author>
    <author initials="J." surname="Jiménez" fullname="Jaime Jiménez">
      <organization>Ericsson</organization>
      <address>
        <phone>+358-442-992-827</phone>
        <email>jaime@iki.fi</email>
      </address>
    </author>
    <date year="2025" month="November" day="05"/>
    <area>ops</area>
    <workgroup>iotops</workgroup>
    <keyword>Internet-Draft, CoAP, MUD</keyword>
    <abstract>
      <?line 45?>
<t>This document specifies additional ways for discovering and emitting
Manufacturer Usage Descriptions (MUD), especially in constrained environments,
utilizing the Constrained Application Protocol (CoAP), CoRE Resource Discovery,
and CBOR Web Tokens.</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-romann-iotops-mud-constrained/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/namib-project/draft-coap-mud"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction-and-overview">
      <name> Introduction and Overview</name>
      <t>Manufacturer Usage Descriptions (MUDs), which have been specified in <xref target="RFC8520"/>,
provide a means for end devices to indicate to the network what sort of access and
network functionality they require to properly function.
This information enables automatic configuration of firewall appliances to limit
device network access to the specified network resources only, which in turn reduces
the attack surface for MUD-capable devices.</t>
      <t>While <xref target="RFC8520"/> contemplates the use of CoAP-related <xref target="RFC7252"/> policies,
the MUD URL discovery methods it specifies (DHCP/DHCPv6, LLDP, and X.509
certificates) are not well-suited for constrained environments (e.g., 802.15.4
networks using 6LoWPAN and SLAAC).</t>
      <t>Therefore, this document introduces a number of additional ways for distributing
MUD URLs using CoAP -- such as well-known URIs and parameters for the CoRE Link-Format --
which are better suited for constrained devices.
Furthermore, this document specifies a method of encoding MUD URLs in (signed)
CBOR Web Tokens (CWTs) <xref target="RFC8392"/>, which allows MUD managers to better validate the
authenticity of both the URL itself and the associated MUD file.</t>
      <section anchor="terminology">
        <name>Terminology</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>This specification re-uses the terminology defined in <xref target="RFC8520"/>.
<!-- Additionally, it introduces following terms: TODO -->
        </t>
      </section>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <t>Building upon the MUD architecture specified in <xref target="RFC8520"/>, there are two
main network components relevant for this document:
The <em>Thing</em> that wants to obtain network access via a Router or Switch, and the
<em>MUD Manager</em> that processes MUD URLs, retrieves MUD files from the
MUD file server, and configures other network components accordingly.
For the purposes of this document, we extend the MUD architecture with another
component: The <em>MUD Receiver</em>.
The MUD Receiver is the device responsible for providing and/or performing CoAP
requests to resources intended for MUD URL delivery.
While this component can also be a part of the same physical device as the MUD
Manager or the router/switch, this is not required.
Both the Thing and the MUD Receiver can play active roles when
using CoAP <xref target="RFC7252"/> for exposing and discovering MUD URLs.</t>
      <t>A general overview of the MUD architecture adjusted for using CoAP in a
constrained environment can be seen in <xref target="arch1-fig"/>.
Here, we can see that both the Thing and the MUD Receiver (as the recipient of
the MUD URLs) may initiate the MUD discovery process:
The Thing can contact and register with MUD URL recipients, e.g. by sending a
CoAP POST request via Multicast and/or addressing a well-known registration endpoint.
Conversely, a MUD Receiver can initiate the discovery process, e.g. by sending a
CoAP GET request to a well-known URI via multicast.</t>
      <t>Note that the protocol used for communication between the MUD Receiver and
MUD Manager is considered out of scope for this document and is considered
implementation-specific.</t>
      <!-- TODO: Refine diagram -->
<!-- TODO: We might also need to mention the CoRE RD here, either in prose or as part of the diagram -->

<!--
TODO: Fix once plantuml is included in the GitHub Actions Docker image.
~ plantuml
package "MUD Architecture" {
  [Router or switch]
  [MUD manager]
  [Thing]
}

[Thing] - -> [Router or switch] : Emit MUD URL via NDP
[Thing] - -> [MUD manager] : Register MUD URL
[MUD manager] - -> [Thing] : Retrieve MUD URL
[Router or switch] - -> [MUD manager] : Pass MUD URL
~
-->
<figure anchor="arch1-fig">
        <name>Exposing and discovering MUD URLs via CoAP</name>
        <artwork align="center"><![CDATA[
...................................................
.         __________ Forward valid ____________   .
.        +          +  MUD URLs   +            +  .
.        | CoAP MUD +------------>+    MUD     |  .
.        | Receiver |             |  Manager   |  .
.        +__________+             +____________+  .
.             ^                         .         .
.             |                         .         .
. Provide MUD |     End system network  .         .
.  URL (CoAP) |                         .         .
.           __+____                 _________     .
.          +       + (DHCP et al.) + router  +    .
.     +--- | Thing +---->MUD URL+->+   or    |    .
.     |MUD +_______+               | switch  |    .
.     |File  |                     +_________+    .
.     +------+                                    .
...................................................
]]></artwork>
      </figure>
      <t>Optionally, Things may also provide additional means for proving the
authenticity of the MUD URL associated with them.
For this purpose, this document specifies how to use CBOR Web Tokens <xref target="RFC8392"/>
to include MUD URLs as part of a signed and therefore authenticable token.</t>
      <section anchor="general_methods">
        <name>Methods of MUD URL Distribution</name>
        <t>In general, we consider two mechanisms for exposing MUD URLs in a
constrained network: Using dedicated resources and embedding into existing
self description formats.</t>
        <t>Things can expose MUD URLs as a dedicated resource, which may ease discovery of MUD-capable
Things through said resource and enables the transmission of arbitrary
payload types, including ones that provide authentication (e.g., CWTs <xref target="RFC8392"/>).</t>
        <t>Alternatively, MUD URLs can also be referenced through other self description formats
such as SUIT manifests <xref target="I-D.ietf-suit-mud"/>.
Including MUD URLs with other self descriptions can be advantageous with regard to the
availability of said information (e.g., by making the MUD URL available through a central directory).
If the other self description format or its method of distribution provides means for authentication, they may also be used for validating MUD URLs.</t>
        <t>In this specification, we will describe how to embed a MUD URL into a CoRE Link
Format <xref target="RFC6690"/> resource, which may itself be retrieved directly from the device or through
a CoRE Resource Directory <xref target="RFC9176"/>.
Additionally, we will define dedicated CoAP resources both for providing and receiving MUD URLs.</t>
        <!--
TODO embed the chapter numbers into the previous paragraph once these chapters are properly refactored
The first part of this section describes the mechanisms that use a dedicated
MUD URL CoAP resource.
In the later parts of this section, discovery methods for this MUD URL resource
are specified.
As part of the discovery method description, a method of providing MUD URLs directly
using the CoRE Link-Format is also described.
-->

</section>
      <section anchor="general_submission-flows">
        <name>MUD URL CoAP Submission Flows</name>
        <t>In general, this specification provides two ways by which a MUD URL transmission can be performed using a dedicated CoAP resource.</t>
        <t>In environments where many Things need to be managed over several subnets and where multicast usage is not desirable, it may be advantageous if MUD URLs are submitted by the Thing through a CoAP resource provided by the MUD Receiver.
This will be referred to as the "Thing-initiated" submission flow for the remainder of this specification.</t>
        <t>Conversely, in environments where multicast is not an issue and things might be limited in their capabilities, it may be easier for the MUD Receiver to retrieve the MUD URL from a CoAP resource provided by the Thing.
In this specification, this will be referred to as the "Receiver-initiated" submission flow.</t>
        <section anchor="using-the-mud-url-resource-receiver-initiated">
          <name>Using the MUD URL Resource (Receiver-initiated)</name>
          <t>In the Receiver-initiated flow, Things provide a CoAP resource discoverable by the means provided in <xref target="general_discovery"/>, which is then requested by MUD Receivers to retrieve the MUD URL.</t>
          <!-- TODO ascii-drawing of this resource -->

<t>In general, the Receiver-initiated MUD URL flow can be divided into these steps:</t>
          <ol spacing="normal" type="1"><li>
              <t>After joining the network, the Thing starts providing a CoAP resource to retrieve the MUD URL.
This resource should provide the MUD URL in one of the formats specified in <xref target="general_payloads"/>.
It also makes this resource discoverable for MUD Receivers using the methods specified in <xref target="general_discovery"/>.</t>
            </li>
            <li>
              <t>The MUD Receiver discovers the resource using the aforementioned methods, e.g., by periodically requesting a well-known URI using multicast.</t>
            </li>
            <li>
              <t>The MUD Receiver retrieves the discovered resource for devices for which the MUD Controller does not have a current MUD URL.
To do so, it performs a CoAP request for the discovered MUD URL resource URI using the GET method, which is responded to with the appropriate payload.
Receivers MUST specify their desired payload format using the Accept option <xref section="5.10.4" sectionFormat="of" target="RFC7252"/>.
During content negotiation, Receivers MUST start with requesting the Content-Format that provides the greatest degree of authenticity protection (i.e., prefer CWTs over plaintext transmission).</t>
            </li>
          </ol>
          <!-- TODO advantages/disadvantages? -->

</section>
        <section anchor="using-the-mud-url-submission-resource-thing-initiated">
          <name>Using the MUD URL Submission Resource (Thing-initiated)</name>
          <t>In the Thing-initiated flow, Things discovery a submission resource provided by the MUD Receiver and submit their MUD URLs to this resource.</t>
          <t>This flow can be divided into these general steps:</t>
          <ol spacing="normal" type="1"><li>
              <t>The MUD Receiver provides a CoAP resource that Things can submit their MUD URLs to.
It also makes itself discoverable for Things using the methods specified in <xref target="general_discovery"/>.</t>
            </li>
            <li>
              <t>The Thing connects to the network.
After connecting, it discovers the MUD URL submission resource using the aforementioned methods.</t>
            </li>
            <li>
              <t>The Thing submits the MUD URL to the previously discovered URI.
To do so, it performs a CoAP request to the discovered URI with the POST method.
The MUD URL is contained as the message payload in this request using one of the content formats defined in <xref target="general_payloads"/>.
Receivers MAY be configured by the network administrator to limit the accepted Content-Formats to ones that provide some level of authenticity for the MUD URL.
However, receiver implementations MUST also support unauthenticated MUD URL transmissions unless said policy forbids it.
<!-- TODO s/MUST/SHOULD/g ? -->
<!-- TODO message response/response code indicating success? -->
              </t>
            </li>
          </ol>
          <!-- TODO advantages/disadvantages? -->

</section>
      </section>
      <section anchor="general_payloads">
        <name>MUD CoAP Payloads</name>
        <t>For the purposes of this specification, we will define two formats for transmitting MUD URLs, which are suitable for different environments.
MUD Receivers that conform to this specification MUST support both formats.</t>
        <section anchor="plain-url">
          <name>Plain URL</name>
          <t>The easiest method of transmitting MUD URLs is using a plain text payload containing only the MUD URL.
While this method has the advantage of simplicity, it does not contain any additional information that could be used by a MUD Receiver to authenticate the supplied MUD URL.</t>
          <t>CoAP requests and responses that use this format MUST use the Content-Format option with the value corresponding to the "application/mud-url+plain" media type.</t>
        </section>
        <section anchor="mud-urls-inside-of-cbor-web-tokens">
          <name>MUD URLs inside of CBOR Web Tokens</name>
          <t>Previous methods of transmitting MUD URLs do not allow for authentication of supplied MUD URLs.
To accomodate for environments where authentication of MUD URLs is desired, it is also possible to include the MUD URL as a claim inside of a CBOR Web Token <xref target="RFC8392"/>.
This allows for MUD Receivers or MUD Controllers to verify the authenticity of the provided MUD URL, given that the key used for signing the CWT is known to belong to the Thing's manufacturer.</t>
          <t>CBOR Web Tokens that contain MUD URL information have the following properties:</t>
          <ul spacing="normal">
            <li>
              <t>The MUD URL is contained as an ASCII-encoded string in the <tt>mud-url</tt> claim.</t>
            </li>
            <li>
              <t>The Token MAY contain proof-of-possession claims <xref target="RFC8747"/>.
If it does, the MUD Receiver MUST verify that the Thing is in possession of the key specified in the <tt>cnf</tt> claim (see <xref target="general_pop"/>).</t>
            </li>
            <li>
              <t>The Token MAY contain an expiry time.
If an expiry time is specified, the MUD URL should be resubmitted or requested again shortly before the original CWT expires.
Note that using an expiry time could cause problems if the device is unable to perform a refresh, e.g., due to a power outage.</t>
            </li>
          </ul>
          <t>CoAP requests and responses that use this format MUST use the Content-Format option with the value corresponding to the <tt>application/mud-url+cwt</tt> media type.</t>
        </section>
      </section>
      <section anchor="general_pop">
        <name>Proof-of-Possession for CBOR Web Tokens with MUD URLs</name>
        <t>If the MUD URL is transmitted as a CBOR Web Token that includes proof-of-possession claims, that claim MUST be verified.
In general, most already specified PoP methods aim to reduce overhead by combining proof-of-possession with the authenticity-, integrity-, and replay-protection of the underlying CoAP session.
Some examples of this approach may be found in the specifications for ACE-OAuth profiles found in <xref target="RFC9202"/>, <xref target="RFC9203"/>, and <xref target="RFC9431"/>.</t>
        <t>This specification provides two different methods for performing proof-of-possession in <xref target="behavior_pop"/>, which are adapted from the ACE-OAuth DTLS profile <xref target="RFC9202"/> and OSCORE profile <xref target="RFC9203"/>, respectively.
Additionally, we will describe the necessary steps required for defining additional proof-of-possession methods in TODO.</t>
      </section>
      <section anchor="general_discovery">
        <name>Resource Discovery</name>
        <t>In this section, additional methods for resource discovery in constrained environments are defined.</t>
        <section anchor="well-known-uri-and-multicast-addresses">
          <name>Well-known URI and Multicast Addresses</name>
          <t>This document introduces a new well-known URI for discovering MUD URLs directly: <tt>/.well-known/mud-url</tt>.</t>
          <t><tt>/.well-known/mud-url</tt> MAY be used to expose a URL pointing to a MUD file hosted by an external MUD file server.
This MUD file MUST describe the device the URL was retrieved from or is referring to within a list of CoRE links.</t>
          <t><xref target="RFC7252"/> registers one IPv4 and one IPv6 address each for the purpose of CoAP multicast.
In addition to these already existing "All CoAP Nodes" multicast addresses, this document defines an additional "All MUD CoAP Nodes" IPv6 multicast addresses that can be used to address only the subset of CoAP Nodes that support MUD.
If a device exposes a MUD URL via CoAP, it SHOULD join the respective multicast groups for the IP versions it supports.
Lastly, this document also defines an additional "All MUD Receivers" IPv6 multicast address that can be used by Things to interact with MUD Receivers in their vicinity.</t>
        </section>
        <section anchor="core-link-format-and-core-resource-directories">
          <name>CoRE Link Format and CoRE Resource Directories</name>
          <t>Resources which either host MUD URLs or MUD files MAY be indicated using the CoRE Link Format <xref target="RFC6690"/>.
For this purpose, additional link parameters are defined:
With the resource-types <tt>mud-file</tt> and <tt>mud-url</tt>, a link MAY be annotated as pointing to a MUD file or a MUD URL, respectively.
If a MUD URL is included as a resource in a list of CoRE web links, the supported Content-Formats MUST be indicated using the <tt>ct</tt> parameter.</t>
          <t>MUD Receivers or other devices can send a GET requests to a CoAP server for <tt>/.well-known/core</tt> and get in return a list of hypermedia links to other resources hosted in that server, encoded using the CoRE Link-Format <xref target="RFC6690"/>.
Among those, it will get the path to the resource exposing the MUD URL, for example <tt>/.well-known/mud-url</tt> and resource-types like <tt>rt=mud-url</tt>.</t>
          <t>Things SHOULD only provide at most one link of resource type <tt>mud-url</tt> and <tt>mud-file</tt> each, unless they use MUD URLs encoded as CWTs with expiry times and provide an additional, basic MUD URL to enable token refresh.
However, if a CoRE Link Format description contains multiple <tt>mud-url</tt> or <tt>mud-file</tt> entries of the same type, MUD Receivers MUST choose the MUD URL that provides the highest degree of authenticity protection (where CWTs with expiry time take precedence over CWTs without expiry time).
If multiple MUD URLs with the same level of authenticity protection exist, the MUD Receiver SHOULD try them in an arbitrary order until one is successfully validated.</t>
          <t>By using CoRE Resource Directories <xref target="RFC9176"/>, devices can register a MUD file or MUD URL and use the directory as a MUD repository, making it discoverable with the usual RD Lookup steps.
A MUD manager itself MAY also act as a Resource Directory, directly applying the policies from registered MUD files to the network.
In addition to the registration endpoint defined in <xref target="RFC9176"/>, MUD managers MAY define a separate registration interface when acting as a CoRE RD.</t>
        </section>
      </section>
    </section>
    <section anchor="obtaining-a-mud-url-via-dedicated-coap-resources">
      <name>Obtaining a MUD URL via dedicated CoAP Resources</name>
      <t>With the additional mechanisms for finding MUD URLs introduced in this document, MUD managers can be configured to play a more active role in discovering MUD-enabled devices.
Furthermore, IoT devices could identify their peers based on a MUD URL associated with these devices or perform a configuration process based on the linked MUD file's contents.
However, the IoT devices themselves also have more options for exposing their MUD URLs more actively, using, for instance, a MUD manager's registration interface.</t>
      <t>In the remainder of this section, we will outline potential use-cases and procedures for obtaining a MUD URL with the additional mechanisms defined above.</t>
      <section anchor="thing-behavior">
        <name>Thing Behavior</name>
        <t>This section outlines specifics of this specification regarding the behavior of Things.</t>
        <section anchor="exposing-mud-urls">
          <name>Exposing MUD URLs</name>
          <t>Things MAY expose their MUD URL using a dedicated resource hosted under
<tt>/.well-known/mud-url</tt>.
If a MUD URL is exposed this way, the resource MUST offer at least one of the
specified serialization methods and MUST allow clients to choose between them
using the Accept option, if provided.
If the Thing supports resource discovery using a <tt>/.well-known/core</tt> resource,
MUD URL resources SHOULD be advertised there using the CoRE Link-Format
<xref target="RFC6690"/>, indicating the available Content-Formats using the <tt>ct</tt> parameter.
<!-- TODO should there also be a method of not only referencing the dedicated MUD URL resource,
but also the actual MUD URL inside the CoRE Link Format resource directly? -->
          </t>
        </section>
        <section anchor="registering-mud-urls-with-mud-receivers">
          <name>Registering MUD URLs with MUD Receivers</name>
          <t>Things MAY actively register their MUD URLs with MUD Receivers offering a
registration interface.
To perform the registration process, Things can perform a discovery
process using the CoRE Link Format or directly include their MUD URL as a
payload of a CoAP POST request.
If Things are actively registering their MUD URLs with MUD managers, they
SHOULD regularly repeat the process to keep interested parties informed about
their presence and their associated MUD URL.</t>
          <t>Using the CoRE Link Format, Things MAY send a GET request to the All CoAP Nodes
(IPv4) or the All MUD Receivers (IPv6) multicast address, requesting the <tt>/.well-known/core</tt>
resources and including an (optional) query parameter <tt>rt=mud.url-register</tt>.
After filtering the obtained links for the Resource Type <tt>mud.url-register</tt> to
identify available submission interfaces, the Thing MAY then send a unicast
POST request to the discovered MUD manager, containing the MUD URL as a payload
and a corresponding Content-Format option.
Alternatively, a Thing MAY also use a CoRE Resource Directory <xref target="RFC9176"/> to
perform the discovery process.</t>
          <t>Things MAY also directly send a POST request containing the MUD URL as
a payload and a corresponding Content-Format option via unicast or to the All
CoAP Nodes (IPv4) or the All MUD Receivers (IPv6) multicast address, using the well-known URI
<tt>/.well-known/mud-submission</tt>.</t>
        </section>
        <section anchor="finding-mud-urls-of-other-things">
          <name>Finding MUD URLs of Other Things</name>
          <t>If a Thing should be interested in the MUD URLs of one or more of its peers, it
MAY use the same mechanisms specified for MUD Receivers described in the
following section.</t>
        </section>
      </section>
      <section anchor="receiver-behavior">
        <name>Receiver Behavior</name>
        <t>MUD Receivers are assumed to be mostly non-constrained devices.
Accordingly, this specification puts most of the implementation burden regarding support for flows and formats on the receivers, while keeping the requirements for Things as small as possible.
In general, it is recommended that MUD Receivers support as much of the specification as possible in order to support as many different Things as possible.</t>
        <section anchor="discovery">
          <name>Discovery</name>
          <t>For the discovery process described in <xref target="general_discovery"/>, the following considerations apply to MUD Receivers:</t>
          <ul spacing="normal">
            <li>
              <t>MUD Receivers that support IPv6 SHOULD regularly perform a CoAP request to the "All MUD CoAP Nodes" multicast address for the <tt>/.well-known/mud-url</tt> URI.</t>
            </li>
            <li>
              <t>MUD Receivers that support IPv4 SHOULD regularly perform a CoAP request to the "All CoAP Nodes" multicast address for the <tt>/.well-known/mud-url</tt> URI.</t>
            </li>
            <li>
              <t>MUD Receivers that support IPv6 devices MUST join the "All MUD Receivers" IPv6 multicast group.</t>
            </li>
            <li>
              <t>MUD Receivers that support IPv4 devices MUST join the "All CoAP Nodes" IPv4 multicast group.</t>
            </li>
            <li>
              <t>MUD Receivers SHOULD regularly query any CoRE Resource Directories relevant for the subnet they are responsible for.</t>
            </li>
            <li>
              <t>MUD Receivers SHOULD register their submission resource to any CoRE Resource Directories relevant for the subnet they are responsible for.</t>
            </li>
          </ul>
        </section>
        <section anchor="mud-url-submission-resource">
          <name>MUD URL Submission Resource</name>
          <t>This section describes the behavior for MUD Receivers regarding the Thing-initiated submission flow:</t>
          <ul spacing="normal">
            <li>
              <t>MUD Receivers MUST provide a submission resource under the <tt>/.well-known/mud-submission</tt> well-known URI.</t>
            </li>
            <li>
              <t>MUD Receivers SHOULD include their submission resource in any CoRE Link Format descriptions of their resources (both in <tt>/.well-known/core</tt> and in CoRE RD registrations, if applicable).</t>
            </li>
            <li>
              <t>MUD Receivers MAY indicate failure of MUD URL submission using a CoAP Error Code.
If the submitted MUD URL is encoded in a CBOR Web Token including proof-of-possession claims, MUD Receivers MUST return the appropriate error code to initiate the proof of possession flow as described in <xref target="general_pop"/>.</t>
            </li>
          </ul>
        </section>
        <section anchor="mud-url-resource">
          <name>MUD URL Resource</name>
          <t>This section describes considerations for MUD Receivers regarding the Receiver-initiated submission flow:</t>
          <ul spacing="normal">
            <li>
              <t>MUD Receivers MUST request MUD URLs from any resources known to them.</t>
            </li>
            <li>
              <t>MUD Receivers MUST re-request MUD URLs submitted as a CWT claim if the CWT has an expiry time that passed.</t>
            </li>
          </ul>
        </section>
        <section anchor="mud-url-payload">
          <name>MUD URL Payload</name>
          <t>Regarding the actual MUD URL payload transmitted using CoAP, the following considerations apply:</t>
          <ul spacing="normal">
            <li>
              <t>MUD Receivers SHOULD treat devices for which MUD URL retrieval failed as devices the same way as devices that do not provide a MUD URL at all, unless an explicit differing policy is defined.</t>
            </li>
            <li>
              <t>MUD Receiver implementations MUST support the plain MUD URL payload, although support for these MAY be disabled by policy.</t>
            </li>
            <li>
              <t>MUD Receivers MUST support the CWT MUD URL claim.</t>
            </li>
            <li>
              <t>MUD Receivers SHOULD be configured with a policy as to which signers are authorized to sign tokens.</t>
            </li>
            <li>
              <t>MUD Receivers SHOULD support proof-of-possession semantics in CBOR Web Tokens and validate them before treating submitted MUD URLs using this format as valid.</t>
            </li>
          </ul>
          <!--
- Discovery
    - (same as  General Architecture)
- Providing the MUD URL Submission Resource
- Parsing of MUD URL Resources
    - behavior for invalid objects/URLs
        - Feedback for Thing?
            - CoAP Response Code?
    - Signature Verification
-->

</section>
      </section>
      <section anchor="behavior_pop">
        <name>Proof-of-Possession Methods</name>
        <t>TODO</t>
        <!-- TODO mention here that the CWT must be signed by the manufacturer, while the PoP key must be owned and specific to the device -->

<section anchor="requirements-for-proof-of-possession">
          <name>Requirements for Proof-of-Possession</name>
          <!-- TODO this may also be an appendix (cf. RFC 9200, Appendix C) -->

<t>TODO</t>
        </section>
        <section anchor="proof-of-possession-using-dtls">
          <name>Proof-of-Possession using DTLS</name>
          <t>TODO</t>
          <!-- TODO: This is the old, original text, maybe we can reuse parts of this

Proof-of-Possession claims that are transmitted over CoAP without (D)TLS MUST represent public keys, Receivers MUST treat any symmetric keys sent over insecure channels as invalid/compromised.
To do so, the following procedures SHOULD be used.
Both of the following procedures use the establishment of a DTLS session using the PoP key in order to prove the possession of the key, similarly to the procedures defined in {{RFC9202}}.

### For the Thing-initiated Flow

1.  After submitting the MUD URL, the MUD Receiver parses the token.
    If it detects proof-of-possession claims, the receiver MUST reply with a 4.01 (Unauthorized) CoAP response code and reject the token for now.
    If the original submission request was not performed using CoAPS, the Receiver MUST also return a set of key information that can be used to establish a CoAP+DTLS session with it, as well as a CoAPS URI indicating the location of the secured submission resource.
    TODO key format?
2.  The Thing then repeats the submission request using its own key information, the Receiver's key information, and the provided URI.
3.  During the DTLS handshake, the Receiver MUST require the Thing to use the proof-of-possession key included in the originally submitted token in order to successfully establish a DTLS session.
4.  After the DTLS handshake, the Thing has proven possession of the key included in the CWT to the MUD Receiver, which can then treat the CWT as valid.
TODO do we still want to re-send the CWT?

### For the Receiver-initiated Flow
1. After receiving the MUD URL from a request (e.g., a multicast request), the MUD Receiver parses the token.
   If it detects proof-of-possession claims, the receiver MUST continue with the following procedure before treating the CWT as valid.
2. The receiver repeats the MUD URL request, this time using DTLS.
   During the DTLS handshake, the Receiver must require the Thing to use the proof-of-possession key included in the originally received token in order to successfully establish the DTLS session.
3. After the DTLS handshake, the Thing has proven possession of the key included in the CWT to the MUD Receiver, which can then treat the CWT as valid.
    TODO Unsure if DTLS even works without mutual auth, but i dont see why it shouldn't

-->

</section>
        <section anchor="proof-of-possession-using-oscore">
          <name>Proof-of-Possession using OSCORE</name>
          <t>TODO</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name> Security Considerations</name>
      <t>(Very WIP for now)</t>
      <t>The security considerations from <xref target="RFC8520"/> also apply to this document.
Regarding CoAP specifics, <xref target="I-D.irtf-t2trg-amplification-attacks"/> provides information on possible attack scenarios.
Additionally, the following considerations should be taken into account.</t>
      <t>For Thing manufacturers that intend to implement this specification:</t>
      <ul spacing="normal">
        <li>
          <t>It is recommended to use CBOR Web Token-encoded MUD URLs whereever possible to allow for better integrity checking</t>
        </li>
        <li>
          <t>Using expiry times for CWTs containing MUD URLs can be advantageous, but also has its shortcomings.
Most notably, expiry times are not recommended if it is possible for Things to reach a state where they have neither the means to update their CWT nor a non-expired token in their persistent storage
As devices may be out of service for longer periods of time, preventing them from refreshing CWTs, this state is unavoidable for the vast majority of devices.</t>
        </li>
        <li>
          <t>In order to use expiry times anyways, manufacturers could use two different CWTs: A backup CWT without an expiry time with a MUD URL pointing to a very restricted MUD file that only allows updating the main CWT, and a main CWT that has an expiry time but has a more broad MUD file referenced in it.</t>
        </li>
      </ul>
      <t>For network operators:
Network operators SHOULD specify a policy that describes:</t>
      <ul spacing="normal">
        <li>
          <t>Whether to accept unauthenticated MUD URLs (those that were not submitted as part of CWTs).</t>
        </li>
        <li>
          <t>The keys whose signatures should be accepted by the MUD Receiver if a submission using CWTs is performed.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <ul spacing="normal">
        <li>
          <t>CoAP Resource Media Types Registry</t>
        </li>
        <li>
          <t>CoAP Content Format Registry</t>
        </li>
        <li>
          <t>well-known URI Registry</t>
        </li>
        <li>
          <t>IPv6 Multicast Address Registry</t>
        </li>
      </ul>
      <section anchor="well-known-mud-url-uri">
        <name>Well-Known 'mud-url' URI</name>
        <!-- Retrieval of MUD URL from device, Example: "/.well-known/mud-url" -->

</section>
      <section anchor="well-known-mud-file-uri">
        <name>Well-Known 'mud-file' URI</name>
        <!-- Direct retrieval of MUD file, Example: "/.well-known/mud-file" -->

</section>
      <section anchor="well-known-mud-submission-uri">
        <name>Well-Known 'mud-submission' URI</name>
      </section>
      <section anchor="new-mud-resource-type">
        <name>New 'mud' Resource Type</name>
      </section>
      <section anchor="media-types-registry">
        <name>Media Types Registry</name>
        <ul spacing="normal">
          <li>
            <t>application/mud-url+plain</t>
          </li>
          <li>
            <t>application/mud-url+cwt</t>
          </li>
        </ul>
      </section>
      <section anchor="coap-content-format-registry">
        <name>CoAP Content-Format Registry</name>
        <ul spacing="normal">
          <li>
            <t>application/mud-url+plain</t>
          </li>
          <li>
            <t>application/mud-url+cwt</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC8520">
        <front>
          <title>Manufacturer Usage Description Specification</title>
          <author fullname="E. Lear" initials="E." surname="Lear"/>
          <author fullname="R. Droms" initials="R." surname="Droms"/>
          <author fullname="D. Romascanu" initials="D." surname="Romascanu"/>
          <date month="March" year="2019"/>
          <abstract>
            <t>This memo specifies a component-based architecture for Manufacturer Usage Descriptions (MUDs). The goal of MUD is to provide a means for end devices to signal to the network what sort of access and network functionality they require to properly function. The initial focus is on access control. Later work can delve into other aspects.</t>
            <t>This memo specifies two YANG modules, IPv4 and IPv6 DHCP options, a Link Layer Discovery Protocol (LLDP) TLV, a URL, an X.509 certificate extension, and a means to sign and verify the descriptions.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8520"/>
        <seriesInfo name="DOI" value="10.17487/RFC8520"/>
      </reference>
      <reference anchor="RFC7252">
        <front>
          <title>The Constrained Application Protocol (CoAP)</title>
          <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
          <author fullname="K. Hartke" initials="K." surname="Hartke"/>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <date month="June" year="2014"/>
          <abstract>
            <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
            <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7252"/>
        <seriesInfo name="DOI" value="10.17487/RFC7252"/>
      </reference>
      <reference anchor="RFC8392">
        <front>
          <title>CBOR Web Token (CWT)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
          <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <date month="May" year="2018"/>
          <abstract>
            <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8392"/>
        <seriesInfo name="DOI" value="10.17487/RFC8392"/>
      </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="I-D.ietf-suit-mud">
        <front>
          <title>Strong Assertions of IoT Network Access Requirements</title>
          <author fullname="Brendan Moran" initials="B." surname="Moran">
            <organization>Arm Limited</organization>
          </author>
          <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
          <date day="3" month="March" year="2025"/>
          <abstract>
            <t>   The Manufacturer Usage Description (MUD) specification describes the
   access and network functionality required for a device to properly
   function.  This description has to reflect the software running on
   the device and its configuration.  Because of this, the most
   appropriate entity for describing device network access requirements
   is the same as the entity developing the software and its
   configuration.

   A network presented with a MUD file by a device allows detection of
   misbehavior by the device software and configuration of access
   control.

   This document defines a way to link the Software Updates for Internet
   of Things (SUIT) manifest to a MUD file offering a stronger binding
   between the two.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-suit-mud-10"/>
      </reference>
      <reference anchor="RFC6690">
        <front>
          <title>Constrained RESTful Environments (CoRE) Link Format</title>
          <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
          <date month="August" year="2012"/>
          <abstract>
            <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6690"/>
        <seriesInfo name="DOI" value="10.17487/RFC6690"/>
      </reference>
      <reference anchor="RFC9176">
        <front>
          <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
          <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
          <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
          <author fullname="M. Koster" initials="M." surname="Koster"/>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
          <date month="April" year="2022"/>
          <abstract>
            <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9176"/>
        <seriesInfo name="DOI" value="10.17487/RFC9176"/>
      </reference>
      <reference anchor="RFC8747">
        <front>
          <title>Proof-of-Possession Key Semantics for CBOR Web Tokens (CWTs)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="L. Seitz" initials="L." surname="Seitz"/>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <date month="March" year="2020"/>
          <abstract>
            <t>This specification describes how to declare in a CBOR Web Token (CWT) (which is defined by RFC 8392) that the presenter of the CWT possesses a particular proof-of-possession key. Being able to prove possession of a key is also sometimes described as being the holder-of-key. This specification provides equivalent functionality to "Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)" (RFC 7800) but using Concise Binary Object Representation (CBOR) and CWTs rather than JavaScript Object Notation (JSON) and JSON Web Tokens (JWTs).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8747"/>
        <seriesInfo name="DOI" value="10.17487/RFC8747"/>
      </reference>
      <reference anchor="RFC9202">
        <front>
          <title>Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE)</title>
          <author fullname="S. Gerdes" initials="S." surname="Gerdes"/>
          <author fullname="O. Bergmann" initials="O." surname="Bergmann"/>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <author fullname="L. Seitz" initials="L." surname="Seitz"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This specification defines a profile of the Authentication and Authorization for Constrained Environments (ACE) framework that allows constrained servers to delegate client authentication and authorization. The protocol relies on DTLS version 1.2 or later for communication security between entities in a constrained network using either raw public keys or pre-shared keys. A resource-constrained server can use this protocol to delegate management of authorization information to a trusted host with less-severe limitations regarding processing power and memory.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9202"/>
        <seriesInfo name="DOI" value="10.17487/RFC9202"/>
      </reference>
      <reference anchor="RFC9203">
        <front>
          <title>The Object Security for Constrained RESTful Environments (OSCORE) Profile of the Authentication and Authorization for Constrained Environments (ACE) Framework</title>
          <author fullname="F. Palombini" initials="F." surname="Palombini"/>
          <author fullname="L. Seitz" initials="L." surname="Seitz"/>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <author fullname="M. Gunnarsson" initials="M." surname="Gunnarsson"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This document specifies a profile for the Authentication and Authorization for Constrained Environments (ACE) framework. It utilizes Object Security for Constrained RESTful Environments (OSCORE) to provide communication security and proof-of-possession for a key owned by the client and bound to an OAuth 2.0 access token.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9203"/>
        <seriesInfo name="DOI" value="10.17487/RFC9203"/>
      </reference>
      <reference anchor="RFC9431">
        <front>
          <title>Message Queuing Telemetry Transport (MQTT) and Transport Layer Security (TLS) Profile of Authentication and Authorization for Constrained Environments (ACE) Framework</title>
          <author fullname="C. Sengul" initials="C." surname="Sengul"/>
          <author fullname="A. Kirby" initials="A." surname="Kirby"/>
          <date month="July" year="2023"/>
          <abstract>
            <t>This document specifies a profile for the Authentication and Authorization for Constrained Environments (ACE) framework to enable authorization in a publish-subscribe messaging system based on Message Queuing Telemetry Transport (MQTT). Proof-of-Possession keys, bound to OAuth 2.0 access tokens, are used to authenticate and authorize MQTT Clients. The protocol relies on TLS for confidentiality and MQTT server (Broker) authentication.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9431"/>
        <seriesInfo name="DOI" value="10.17487/RFC9431"/>
      </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="18" month="June" year="2025"/>
          <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-05"/>
      </reference>
    </references>
    <?line 533?>

<!--
# Acknowledgments
{: numbered="no"}
-->



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81923YcN5LtO74CTT2YbFWWLFmWba5pa2iRarFHFx6KGrnX
rB4LlYmqgpkJ1ABI0tWy/C39cF7Ob/T82FkRgVtmZcnq7lkzowebrMrEJRDX
HRFgVVXs5ph/wWrTKL065r1fVl8z5pVv5TF/45Re8RdvTrnS/InRzluhtGz4
mb5R1uhOau+YWCysvDnG54Ru+BNzcsEaU2vRyWPeWLH0lTWd0LpSxpuNq7q+
qeo8XNUKL51nrBZerozdHnOll4bf4c43XDmujeeibc2tbPjSWK50IzdSN1J7
7vpFp5xTRrsZF44rz52UnWP5C7/dyOPyJXaHw/RSu94dc297ye/wl582CWPC
SnHMzcaxW2OvV9b0m2NOO2PXcntrbHPMz7WXVktfncL+Z0iUGZCIsRupe3nM
OF8pv+4Xx1yLTi2qjTU/ytrfI4LVRmyAToyJ3q+NPWa8YpxzrrQ75n+Y80uk
KH5EhP6D0OWHxq6EVn8WXhl9zN9odSOtU/4//6/n31nZSXpKdkK1x/xHoed0
RP/ca1Ut8IF5I/EZa4AXZKO8sfhBbXrt4ZR+L20n9HawtGdzfio6aYuVPetX
hj8T16orvgozrxv45B+e9Q9z/gfV/ef/0/LPA5KoTg6/GJLlzKraOUO02KyN
lsf84O4XX35dPXz4oPrmmwfV1w++OhhSSnXyn9W1mi8VY1J75bfH+AD8e332
/OkxP/i3y6dPqu+///77Px2w+XzOWFVVXCyA32vPrtbK8cbUfYestZG1Wirp
uGgaBcsSLb8VW4dM2ChXmxtpQQ5BtmSnvFd6xV4I3S9F7XsrLX/jxEryU+lq
qzYwhOOHL96cHs24xOFF225BhAuZ47IQ4RnrvWrVn2EWv5YDUT/ZbFpVI734
hTXe1Kblh8DOR8DVl2f8UjrT21ry07DY7YyhHvju1SV/Kxf8ylxL7QIZOtU0
rWTszl//cq69NU1f49jwxqsbaW+UvGWftD13NOO3a1Wv+VrcSL6QUidqNrDd
9+9/c/n0yddfPvj8w4cZ21hzoxrJBe+k0EReqRveyBtVS8e9AZGHrUr4Geig
pQcR57dr4bkz1nOz5KKupXOwXha/X/a6ppNTfgtvbrmV/9EriyNtrNlI227T
Y3NiAdBxtiPKSi0WLfBA7w18VMNZLdWqt/S9WfKlsvJWtC0XcCJChzW3qlOe
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
OfiAjsz/BwVZbJ2kcQAA

-->

</rfc>
