<?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-rfc2629 version 1.6.4 (Ruby 2.6.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-mud-iot-dns-considerations-09" category="bcp" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="mud-iot-dns">Operational Considerations for use of DNS in IoT devices</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-mud-iot-dns-considerations-09"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author initials="W." surname="Pan" fullname="Wei Pan">
      <organization>Huawei Technologies</organization>
      <address>
        <email>william.panwei@huawei.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="22"/>
    <area>Operations</area>
    <workgroup>OPSAWG Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document details concerns about how Internet of Things devices use IP
addresses and DNS names.
The issue becomes acute as network operators begin deploying RFC8520 Manufacturer Usage Description (MUD) definitions to control device access.</t>
      <t>This document makes recommendations on when and how to use DNS names in MUD files.</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-ietf-opsawg-mud-iot-dns-considerations/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        opsawg Working Group mailing list (<eref target="mailto:opsawg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/mcr/iot-mud-dns-considerations"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC8520"/> provides a standardized way to describe how a specific purpose device makes use of Internet resources.
Access Control Lists (ACLs) can be defined in an RFC8520 Manufacturer Usage Description (MUD) file that permit a device to access Internet resources by DNS name.</t>
      <t>Use of a DNS name rather than IP address in the ACL has many advantages: not only does the layer of indirection permit the mapping of name to IP address to be changed over time, it also generalizes automatically to IPv4 and IPv6 addresses, as well as permitting loading balancing of traffic by many different common ways, including multi-CDN deployments wherein load balancing can account for geography and load.</t>
      <t>At the MUD policy enforcement point -- the firewall -- there is a problem.
The firewall has only access to the layer-3 headers of the packet.
This includes the source and destination IP address, and if not encrypted by IPsec, the destination UDP or TCP port number present in the transport header.
The DNS name is not present!</t>
      <t>It has been suggested that one answer to this problem is to provide a forced intermediate for the TLS connections.
This could in theory be done for TLS 1.2 connections.
The MUD policy enforcement point could observe the Server Name  Identifier (SNI) <xref target="RFC6066"/>.
Some Enterprises do this already.
But, as this involves active termination of the TCP connection (a forced circuit proxy) in order to see enough of the traffic, it requires significant effort.</t>
      <t>In TLS 1.3, with or without the use of ECH, middleboxes cannot rely on
SNI inspection because malware could lie about the SNI.
In addition, middleboxes do not have visibility into the server certificate unless
they are acting as TLS proxies.</t>
      <t>So in order to implement these name based ACLs, there must be a mapping between the names in the ACLs and layer-3 IP addresses.
The first section of this document details a few strategies that are used.</t>
      <t>The second section of this document details how common manufacturer anti-patterns get in the way of this mapping.</t>
      <t>The third section of this document details how current trends in DNS resolution such as public DNS servers, DNS over TLS (DoT), DNS over QUIC (DoQ), and DNS over HTTPS (DoH) cause problems for the strategies employed.   Poor interactions with content-distribution networks is a frequent pathology that can result.</t>
      <t>The fourth section of this document makes a series of recommendations ("best current practices") for manufacturers on how to use DNS and IP addresses with specific purpose IoT devices.</t>
      <t>The Privacy Considerations section concerns itself with issues that DNS-over-TLS and DNS-over-HTTPS are frequently used to deal with.
How these concerns apply to IoT devices located within a residence or enterprise is a key concern.</t>
      <t>The Security Considerations section covers some of the negative outcomes should MUD/firewall managers and IoT manufacturers choose not to cooperate.</t>
    </section>
    <section anchor="Terminology">
      <name>Terminology</name>
      <t>Although this document is not an IETF Standards Track publication, it
adopts the conventions for normative language to provide clarity of
instructions to the implementer.
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.</t>
    </section>
    <section anchor="mapping">
      <name>Strategies to map names</name>
      <t>The most naive method is to try to map IP addresses to names using the in-addr.arpa (IPv4), and ipv6.arpa (IPv6) mappings.</t>
      <section anchor="failing-strategy">
        <name>Failing strategy</name>
        <t>Attempts to map IP address to names in real time fails for a number of reasons:</t>
        <ol spacing="normal" type="1"><li>
            <t>it can not be done fast enough,</t>
          </li>
          <li>
            <t>it reveals usage patterns of the devices,</t>
          </li>
          <li>
            <t>the mapping are often incomplete,</t>
          </li>
          <li>
            <t>Even if the mapping is present, due to virtual hosting, it may not map back to the name used in the ACL.</t>
          </li>
        </ol>
        <t>This is not a successful strategy, its use is NOT RECOMMENDED for the reasons explained below.</t>
        <section anchor="too-slow">
          <name>Too slow</name>
          <t>Mapping of IP addresses to names requires a DNS lookup in the in-addr.arpa or ip6.arpa space.
For a cold DNS cache, this will typically require 2 to 3 NS record lookups to locate the DNS server that holds the information required.  At 20 to 100 ms per round trip, this easily adds up to significant time before the packet that caused the lookup can be released.</t>
          <t>While subsequent connections to the same site (and subsequent packets in the same flow) will not be affected if the results are cached, the effects will be felt.  The ACL results can be cached  for a period of time given by the TTL of the DNS results, but the lookup must be performed again in a number of hours to days.</t>
        </section>
        <section anchor="reveals-patterns-of-usage">
          <name>Reveals patterns of usage</name>
          <t>By doing the DNS lookups when the traffic occurs, then a passive attacker can see when the device is active, and may be able to derive usage patterns.  They could determine when a home was occupied or not.  This does not require access to all on-path data, just to the DNS requests to the bottom level of the DNS tree.</t>
        </section>
        <section anchor="mappings-are-often-incomplete">
          <name>Mappings are often incomplete</name>
          <t>A service provider that fails to include an A or AAAA record as part of their forward name publication will find that the new server is simply not used.
The operational feedback for that mistake is immediate.
The same is not true for reverse names: they can often be incomplete or incorrect for months or even years without visible effect on operations.</t>
          <t>Service providers often find it difficult to update reverse maps in a timely fashion, assuming that they can do it at all.
Many cloud based solutions dynamically assign IP addresses to services, often as the service grows and shrinks, reassigning those IP addresses to other services quickly.
The use of HTTP 1.1 Virtual Hosting may allow addresses and entire front-end systems to be re-used dynamically without even reassigning the IP addresses.</t>
          <t>In some cases there are multiple layers of CNAME between the original name and the target service name.
This is often due to a layer of load balancing in DNS, followed by a layer of load balancer at the HTTP level.</t>
          <t>The reverse name for the IP address of the load balancer usually does not change.
If hundreds of web services are funneled through the load balancer, it would require hundreds of PTR records to be deployed.
This would easily exceed the UDP/DNS and EDNS0 limits, and require all queries to use TCP, which would further slow down loading of the records.</t>
          <t>The enumeration of all services/sites that have been at that load balancer might also constitute a security concern.
To limit churn of DNS PTR records, and reduce failures of the MUD ACLs, operators would want to  add all possible names for each reverse name, whether or not the DNS load balancing in the forward DNS space lists that end-point at that moment.</t>
        </section>
        <section anchor="forward-names-can-have-wildcards">
          <name>Forward names can have wildcards</name>
          <t>In some large hosting providers content is hosted through a domain name that is published as a DNS wildcard (and uses a wildcard certificate).
For instance, github.io, which is used for hosted content, including the Editors' copy of internet drafts stored on github, does not actually publish any names.
Instead a wildcard exists to answer all potential names: requests are routed appropriate once they are received.</t>
          <t>This kind of system works well for self-managed hosted content.
However, while it is possible to insert up to a few dozen PTR records, many thousand entries are not possible, nor is it possible to deal with the unlimited (infinite) number of possibilities that a wildcard supports.</t>
          <t>It would be therefore impossible for the PTR reverse lookup to ever work with these wildcard names.</t>
        </section>
      </section>
      <section anchor="a-successful-strategy">
        <name>A successful strategy</name>
        <t>The simplest successful strategy for translating names for a MUD controller to take is to do a DNS lookup on the name (a forward lookup), and then use the resulting IP addresses to populate the physical ACLs.</t>
        <t>There are still a number of failures possible.</t>
        <t>The most important one is that the mapping of the names to IP addresses may be non-deterministic.
<xref target="RFC1794"/> describes the very common mechanism that returns DNS A (or reasonably AAAA) records in a permuted order.
This is known as Round Robin DNS, and it has been used for many decades.
The device is intended to use the first IP address that is returned, and each query returns addresses in a different ordering, splitting the load among many servers.</t>
        <t>This situation does not result in failures as long as all possible A/AAAA records are returned.
The MUD controller and the device get a matching set, and the ACLs that are setup cover all possibilities.</t>
        <t>There are a number of circumstances in which the list is not exhaustive.
The simplest is when the round robin does not return all addresses.
This is routinely done by geographical DNS load balancing systems.
It can also happen if there are more addresses than will conveniently fit into a DNS reply.
The reply will be marked as truncated.
(If DNSSEC resolution will be done, then the entire RR must be retrieved over TCP (or using a larger EDNS(0) size) before being validated)</t>
        <t>However, in a geographical DNS load balancing system, different answers are given based upon the locality of the system asking.
There may also be further layers of round-robin indirection.</t>
        <t>Aside from the list of records being incomplete, the list may have changed between the time that the MUD controller did the lookup and the time that the IoT device did the lookup, and this change can result in a failure for the ACL to match.</t>
        <t>In order to compensate for this, the MUD controller SHOULD regularly perform DNS lookups in order to never have stale data.
These lookups must be rate limited to avoid excessive load on the DNS servers,
and it may be necessary to avoid local recursive resolvers.
The MUD controller SHOULD incorporate its own recursive caching DNS server.
Properly designed recursive servers should cache data for many minutes to days, while the underlying DNS data can change at a higher frequency, providing different answers to different queries!</t>
        <t>A MUD controller that is aware of which recursive DNS server the IoT device will use can instead query that server on a periodic basis.
Doing so provides three advantages:</t>
        <ol spacing="normal" type="1"><li>
            <t>Any geographic load balancing will base the decision on the geolocation of the recursive DNS server, and the recursive name server will provide the same answer to the MUD controller as to the IoT device.</t>
          </li>
          <li>
            <t>The resulting name to IP address mapping in the recursive name server will be cached, and will remain the same for the entire advertised Time-To-Live reported in the DNS query return.
This also allows the MUD controller to avoid doing unnecessary queries.</t>
          </li>
          <li>
            <t>if any addresses have been omitted in a round-robin DNS process, the cache will have the set of addresses that were returned.</t>
          </li>
        </ol>
        <t>The solution of using the same caching recursive resolver as the target device is very simple when the MUD controller is located in a residential CPE device.
The device is usually also the policy enforcement point for the ACLs, and a caching resolver is  typically located on the same device.
In addition to convenience, there is a shared fate advantage: as all three components are running on the same device, if the device is rebooted, clearing the cache, then all three components will  get restarted when the device is restarted.</t>
        <t>Where the solution is more complex is when the MUD controller is located elsewhere in an Enterprise, or remotely in a cloud such as when a Software Defined Network (SDN) is used to manage the ACLs.
The DNS servers for a particular device may not be known to the MUD controller, nor the MUD controller be even permitted to make recursive queries to that server if it is known.
In this case, additional installation specific mechanisms are probably needed to get the right view of the DNS.</t>
      </section>
    </section>
    <section anchor="dns-and-ip-anti-patterns-for-iot-device-manufacturers">
      <name>DNS and IP Anti-Patterns for IoT device Manufacturers</name>
      <t>In many design fields, there are good patterns that should be emulated, and often there are patterns that should not be emulated.
The latter are called anti-patterns, as per <xref target="antipatterns"/>.</t>
      <t>This section describes a number of things which IoT manufacturers have been observed to do in the field, each of which presents difficulties for MUD enforcement points.</t>
      <section anchor="inprotocol">
        <name>Use of IP address literals in-protocol</name>
        <t>A common pattern for a number of devices is to look for firmware updates in a two step process.
An initial query is made (often over HTTPS, sometimes with a POST, but the method is immaterial) to a vendor system that knows whether or not an update is required.</t>
        <t>The current firmware model of the device is sometimes provided and then the authoritative server provides a determination if a new version is required, and if so, what version.
In simpler cases, an HTTPS endpoint is queried which provides the name and URL of the most recent firmware.</t>
        <t>The authoritative upgrade server then responds with a URL of a firmware blob that the device should download and install.
Best practice is that firmware is either signed internally (<xref target="RFC9019"/>) so that it can be verified, or a hash of the blob is provided.</t>
        <t>An authoritative server might be tempted to provide an IP address literal inside the protocol: there are two arguments (anti-patterns) for doing this.</t>
        <t>The first is that it eliminates problems with firmware updates that might be caused by lack of DNS, or incompatibilities with DNS.
For instance a bug that causes interoperability issues with some recursive servers would become unpatchable for devices that were forced to use that recursive resolver type.</t>
        <t>The second reason to avoid a DNS in the URL is when an inhouse content-distribution system is involved that involves on-demand instances being added (or removed) from a cloud computing architecture.</t>
        <t>But, there are more problems with use of IP address literals for the location of the firmware.</t>
        <t>The first is that the update service server must decide whether to provide an IPv4 or an IPv6 literal.
A DNS name can contain both kinds of addresses, and can also contain many different IP addresses of each kind.</t>
        <t>The second problem is that it forces the MUD file definition to contain the exact same IP address literals.
It must also contain an ACL for each address literal.
DNS provides a useful indirection method that naturally aggregates the addresses.</t>
        <t>A third problem involves the use of HTTPS.
IP address literals do not provide enough context for TLS ServerNameIndicator to be useful <xref target="RFC6066"/>.
This limits the firmware repository to be a single tenant on that IP address, and for IPv4 (at least), this is no longer a sustainable use of IP addresses.</t>
        <t>Finally, third-party content-distribution networks (CDN) tend to use DNS names in order to isolate the content-owner from changes to the distribution network.</t>
        <t>A non-deterministic name or address that is returned within the update protocol, the MUD controller is unable to know what the name is.
It is therefore unable to make sure that the communication to retrieve the new firmware is permitted by the MUD enforcement point.</t>
      </section>
      <section anchor="use-of-non-deterministic-dns-names-in-protocol">
        <name>Use of non-deterministic DNS names in-protocol</name>
        <t>A second pattern is for a control protocol to connect to a known HTTP endpoint.
This is easily described in MUD.
Within that control protocol references are made to additional content at other URLs.
The values of those URLs do not fit any easily described pattern and may point at arbitrary names.</t>
        <t>Those names are often within some third-party Content-Distribution-Network (CDN) system, or may be arbitrary names in a cloud-provider storage system (i.e., <xref target="AmazonS3"/>, or <xref target="Akamai"/>).
Some of the name components may be specified by the provider.</t>
        <t>Such names may be unpredictably chosen by the content provider, and not the content owner, and so impossible to insert into a MUD file.</t>
        <t>Even if the content provider chosen names are deterministic they may change at a rate much faster
then MUD files can be updated.</t>
        <t>This in particular may apply to the location where firmware updates may be retrieved.</t>
        <t>A solution is to use a deterministic DNS name, within the control of the firmware vendor.
This may be a problem if the content distribution network needs to reorganize which IP address is responsible for which content, or if there is a desire to provide content in geographically relevant ways.</t>
        <t>The firmware vendor is therefore likely to be asked to point a CNAME to the CDN network, to a name that might look like "g7.a.example", with the expectation that the CDN vendors DNS will do all the appropriate work to geolocate the transfer.
This can be fine for a MUD file, as the MUD controller, if located in the same geography as the IoT device, can follow the CNAME, and can collect the set of resulting IP addresses, along with the TTL for each.  The MUD controller can then take charge of refreshing that mapping at intervals driven by the TTL.</t>
        <t>In some cases, a complete set of geographically distributed servers is known at ahead of time, and the firmware vendor can list all of those addresses in the name that it lists in the MUD file.
As long as the active set of addresses used by the CDN is a strict subset of that list, then the geolocated name can be used for the firmware download itself.
This use of two addresses is ripe for confusion however.</t>
      </section>
      <section anchor="use-of-a-too-generic-dns-name">
        <name>Use of a too generic DNS name</name>
        <t>Some CDNs make all customer content at a single URL (such as s3.amazonaws.com).
This seems to be ideal from a MUD point of view: a completely predictable URL.</t>
        <t>The problem is that a compromised device could then connect to the contents of any bucket,
potentially attacking the data from other customers.</t>
        <t>Exactly what the risk is depends upon what the other customers are doing: it could be limited to simply causing a distributed denial of service attack resulting in high costs to those customers, or such an attack could potentially include writing content.</t>
        <t>Amazon has recognized the problems associated with this practice, and aims to change it to a virtual hosting model, as per <xref target="awss3virtualhosting"/>.</t>
        <t>The MUD ACLs provide only for permitting end points (hostnames and ports), but do not filter URLs (nor could filtering be enforced within HTTPS).</t>
      </section>
    </section>
    <section anchor="dns-privacy-and-outsourcing-versus-mud-controllers">
      <name>DNS privacy and outsourcing versus MUD controllers</name>
      <t><xref target="RFC7858"/> and <xref target="RFC8094"/> provide for DNS over TLS (DoT) and DNS over HTTPS (DoH).
<xref target="I-D.ietf-dnsop-terminology-ter"/> details the terms.
But, even with traditional DNS over Port-53 (Do53), it is possible to outsource DNS  queries to other public services, such as those operated by Google, CloudFlare, Verisign, etc.</t>
      <t>For some users and classes of device, revealing the DNS queries to those outside entities may constitute a privacy concern.
For other users the use of an insecure local resolver may constitute a privacy concern.</t>
      <t>As described above in <xref target="mapping"/> the MUD controller needs to have access to the same resolver(s) as the IoT device.</t>
    </section>
    <section anchor="recommendations-to-iot-device-manufacturer-on-mud-and-dns-usage">
      <name>Recommendations to IoT device manufacturer on MUD and DNS usage</name>
      <t>Inclusion of a MUD file with IoT devices is operationally quite simple.
It requires only a few small changes to the DHCP client code to express the
MUD URL.
It can even be done without code changes via the use of a QR code affixed to the packaging (see <xref target="RFC9238"/>.</t>
      <t>The difficult part is determining what to put into the MUD file itself.
There are currently tools that help with the definition and analysis of MUD files, see <xref target="mudmaker"/>.
The remaining difficulty is now the semantic contents of what is in the MUD file.
An IoT manufacturer must now spend some time reviewing the network communications by their device.</t>
      <t>This document discusses a number of challenges that occur relating to how DNS requests are made and resolved, and the goal of this section is to make recommendations on how to modify IoT systems to work well with MUD.</t>
      <section anchor="consistently-use-dns">
        <name>Consistently use DNS</name>
        <t>For the reasons explained in <xref target="inprotocol"/>, the most important recommendation is to avoid using IP address literals in any protocol.
Names should always be used.</t>
      </section>
      <section anchor="use-primary-dns-names-controlled-by-the-manufacturer">
        <name>Use primary DNS names controlled by the manufacturer</name>
        <t>The second recommendation is to allocate and use names within zones controlled by the manufacturer.
These names can be populated with an alias (see <xref target="RFC8499"/> section 2) that points to the production system.
Ideally, a different name is used for each logical function, allowing for different rules in the MUD file to be enabled and disabled.</t>
        <t>While it used to be costly to have a large number of aliases in a web server certificate, this is no longer the case.
Wildcard certificates are also commonly available which allow for an infinite number of possible names.</t>
      </section>
      <section anchor="use-content-distribution-network-with-stable-names">
        <name>Use Content-Distribution Network with stable names</name>
        <t>When aliases point to a Content-Distribution Network (CDN), prefer stable names that point to appropriately load balanced targets.
CDNs that employ very low time-to-live (TTL) values for DNS make it harder for the MUD controller to get the same answer as the IoT Device.
A CDN that always returns the same set of A and AAAA records, but permutes them to provide the best one first provides a more reliable answer.</t>
      </section>
      <section anchor="do-not-use-geofenced-names">
        <name>Do not use geofenced names</name>
        <t>Due to the problems with different answers from different DNS servers, described above, a strong recommendation is to avoid using geofenced names.</t>
      </section>
      <section anchor="prefer-dns-servers-learnt-from-dhcproute-advertisements">
        <name>Prefer DNS servers learnt from DHCP/Route Advertisements</name>
        <t>IoT Devices SHOULD prefer doing DNS to the network provided DNS servers.
Whether this is restricted to Classic DNS (Do53) or also includes using DoT/DoH is a local decision, but a locally provided DoT/DoH server SHOULD be used, as recommended by <xref target="I-D.reddy-add-iot-byod-bootstrap"/>.</t>
        <t>The ADD WG is currently only focusing on insecure discovery mechanisms
like DHCP/RA <xref target="I-D.ietf-add-dnr"/> and DNS based discovery mechanisms (<xref target="I-D.ietf-add-ddr"/>).</t>
        <t>Use of public QuadX resolver instead of the provided DNS resolver, whether Do53, DoT or DoH is discouraged.
Should the network provide such a resolver for use, then there is no reason not to use it, as the network operator has clearly thought about this.</t>
        <t>Some manufacturers would like to have a fallback to using a public resolver to mitigate against local misconfiguration.
There are a number of reasons to avoid this, or at least do this very carefully.</t>
        <t>It is recommended that use of non-local resolvers is only done when the locally provided resolvers provide no answers to any queries at all, and do so repeatedly.
The use of the operator provided resolvers SHOULD be retried on a periodic basis, and once they answer, there SHOULD be no further attempts to contact public resolvers.</t>
        <t>Finally, the list of public resolvers that might be contacted MUST be listed in the MUD file as destinations that are to be permitted!
This should include the port numbers (53, 853 for DoT, 443 for DoH) that will be used as well.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The use of non-local DNS servers exposes the list of names resolved to a third party, including passive eavesdroppers.</t>
      <t>The use of DoT and DoH eliminates the threat from passive eavesdropping, but still exposes the list to the operator of the DoT or DoH server.
There are additional methods, such as described by <xref target="RFC9230"/>.</t>
      <t>The use of unencrypted (Do53) requests to a local DNS server exposes the list to any internal passive eavesdroppers, and for some situations that may be significant, particularly if unencrypted WiFi is used.
Use of Encrypted DNS connection to a local DNS recursive resolver is a preferred choice, assuming that the trust anchor for the local DNS server can be obtained, such as via <xref target="I-D.reddy-add-iot-byod-bootstrap"/>.</t>
      <t>IoT devices that reach out to the manufacturer at regular intervals to check for firmware updates are informing passive eavesdroppers of the existence of a specific manufacturer's device being present at the origin location.</t>
      <t>Identifying the IoT device type empowers the attacker to launch targeted attacks
to the IoT device (e.g., Attacker can take advantage of any known vulnerability on the device).</t>
      <t>While possession of a Large (Kitchen) Appliance at a residence may be uninteresting to most, possession of intimate personal devices (e.g., "sex toys") may be a cause for embarrassment.</t>
      <t>IoT device manufacturers are encouraged to find ways to anonymize their update queries.
For instance, contracting out the update notification service to a third party that deals with a large variety of devices would provide a level of defense against passive eavesdropping.
Other update mechanisms should be investigated, including use of DNSSEC signed TXT records with current version information.
This would permit DoT or DoH to convey the update notification in a private fashion.
This is particularly powerful if a local recursive DoT server is used, which then communicates using DoT over the Internet.</t>
      <t>The more complex case of section <xref target="inprotocol"/> postulates that the version number needs to be provided to an intelligent agent that can decide the correct route to do upgrades.
<xref target="RFC9019"/> provides a wide variety of ways to accomplish the same thing without having to divulge the current version number.</t>
      <t>The use of a publically specified firmware update protocol would also enhance privacy of IoT devices.
In such a system the IoT device would never contact the manufacturer for version information or for firmware itself.
Instead, details of how to query and where to get the firmware would be provided as a MUD extension, and an Enterprise-wide mechanism would retrieve firmware, and then distribute it internally.
Aside from the bandwidth savings of downloading the firmware only once, this also makes the number of devices active confidential,  and provides some evidence about which devices have been upgraded and which ones might still be vulnerable.
(The unpatched devices might be lurking, powered off, lost in a closet)</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document deals with conflicting Security requirements:</t>
      <ol spacing="normal" type="1"><li>
          <t>devices which an operator wants to manage using <xref target="RFC8520"/></t>
        </li>
        <li>
          <t>requirements for the devices to get access to network resources that  may be critical to their continued safe operation.</t>
        </li>
      </ol>
      <t>This document takes the view that the two requirements do not need to be in conflict, but resolving the conflict requires careful planning on how the DNS can be safely and effectively
used by MUD controllers and IoT devices.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC7858" target="https://www.rfc-editor.org/info/rfc7858" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7858.xml">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC8520" target="https://www.rfc-editor.org/info/rfc8520" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8520.xml">
          <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="RFC1794" target="https://www.rfc-editor.org/info/rfc1794" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1794.xml">
          <front>
            <title>DNS Support for Load Balancing</title>
            <author fullname="T. Brisco" initials="T." surname="Brisco"/>
            <date month="April" year="1995"/>
            <abstract>
              <t>This RFC is meant to first chronicle a foray into the IETF DNS Working Group, discuss other possible alternatives to provide/simulate load balancing support for DNS, and to provide an ultimate, flexible solution for providing DNS support for balancing loads of many types. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1794"/>
          <seriesInfo name="DOI" value="10.17487/RFC1794"/>
        </reference>
        <reference anchor="AmazonS3" target="https://en.wikipedia.org/wiki/Amazon_S3">
          <front>
            <title>Amazon S3</title>
            <author>
              <organization/>
            </author>
            <date year="2019"/>
          </front>
        </reference>
        <reference anchor="Akamai" target="https://en.wikipedia.org/wiki/Akamai_Technologies">
          <front>
            <title>Akamai</title>
            <author>
              <organization/>
            </author>
            <date year="2019"/>
          </front>
        </reference>
        <reference anchor="RFC8499" target="https://www.rfc-editor.org/info/rfc8499" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8499.xml">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="January" year="2019"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has sometimes changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document obsoletes RFC 7719 and updates RFC 2308.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="8499"/>
          <seriesInfo name="DOI" value="10.17487/RFC8499"/>
        </reference>
        <reference anchor="I-D.ietf-dnsop-terminology-ter" target="https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-terminology-ter-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-dnsop-terminology-ter.xml">
          <front>
            <title>Terminology for DNS Transports and Location</title>
            <author fullname="Paul E. Hoffman" initials="P. E." surname="Hoffman">
              <organization>ICANN</organization>
            </author>
            <date day="3" month="August" year="2020"/>
            <abstract>
              <t>This document adds terms and abbreviations to "DNS Terminology" (RFC 8499) that relate to DNS running over various transports, as well as terms and abbreviations for DNS resolution at traditional and non- traditional locations.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-terminology-ter-02"/>
        </reference>
        <reference anchor="RFC9019" target="https://www.rfc-editor.org/info/rfc9019" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9019.xml">
          <front>
            <title>A Firmware Update Architecture for Internet of Things</title>
            <author fullname="B. Moran" initials="B." surname="Moran"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="M. Meriac" initials="M." surname="Meriac"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.</t>
              <t>In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9019"/>
          <seriesInfo name="DOI" value="10.17487/RFC9019"/>
        </reference>
        <reference anchor="RFC8094" target="https://www.rfc-editor.org/info/rfc8094" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8094.xml">
          <front>
            <title>DNS over Datagram Transport Layer Security (DTLS)</title>
            <author fullname="T. Reddy" initials="T." surname="Reddy"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="P. Patil" initials="P." surname="Patil"/>
            <date month="February" year="2017"/>
            <abstract>
              <t>DNS queries and responses are visible to network elements on the path between the DNS client and its server. These queries and responses can contain privacy-sensitive information, which is valuable to protect.</t>
              <t>This document proposes the use of Datagram Transport Layer Security (DTLS) for DNS, to protect against passive listeners and certain active attacks. As latency is critical for DNS, this proposal also discusses mechanisms to reduce DTLS round trips and reduce the DTLS handshake size. The proposed mechanism runs over port 853.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8094"/>
          <seriesInfo name="DOI" value="10.17487/RFC8094"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.peterson-doh-dhcp" target="https://datatracker.ietf.org/doc/html/draft-peterson-doh-dhcp-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.peterson-doh-dhcp.xml">
          <front>
            <title>DNS over HTTP resolver announcement Using DHCP or Router Advertisements</title>
            <author fullname="Thomast Peterson" initials="T." surname="Peterson"/>
            <date day="21" month="October" year="2019"/>
            <abstract>
              <t>This specification describes a DHCP option and Router Advertisement (RA) extension to inform clients of the presence of a DNS over HTTP (DoH) service to be used for DNS queries.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-peterson-doh-dhcp-01"/>
        </reference>
        <reference anchor="I-D.reddy-add-iot-byod-bootstrap" target="https://datatracker.ietf.org/doc/html/draft-reddy-add-iot-byod-bootstrap-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.reddy-add-iot-byod-bootstrap.xml">
          <front>
            <title>A Bootstrapping Procedure to Discover and Authenticate DNS-over-TLS and DNS-over-HTTPS Servers for IoT and BYOD Devices</title>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>McAfee, Inc.</organization>
            </author>
            <author fullname="Dan Wing" initials="D." surname="Wing">
              <organization>Citrix Systems, Inc.</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <date day="26" month="July" year="2020"/>
            <abstract>
              <t>This document specifies mechanisms to bootstrap endpoints (e.g., hosts, IoT devices) to discover and authenticate DNS-over-TLS and DNS-over-HTTPS servers provided by a local network for IoT/BYOD devices in Enterprise networks.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-reddy-add-iot-byod-bootstrap-01"/>
        </reference>
        <reference anchor="mudmaker" target="https://mudmaker.org">
          <front>
            <title>Mud Maker</title>
            <author>
              <organization/>
            </author>
            <date year="2019"/>
          </front>
        </reference>
        <reference anchor="RFC9238" target="https://www.rfc-editor.org/info/rfc9238" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9238.xml">
          <front>
            <title>Loading Manufacturer Usage Description (MUD) URLs from QR Codes</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="J. Latour" initials="J." surname="Latour"/>
            <author fullname="H. Habibi Gharakheili" initials="H." surname="Habibi Gharakheili"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>This informational document details a protocol to load Manufacturer Usage Description (MUD) definitions from RFC 8520 for devices that do not have them integrated.</t>
              <t>This document is published to inform the Internet community of this mechanism to allow interoperability and to serve as a basis of other standards work if there is interest.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9238"/>
          <seriesInfo name="DOI" value="10.17487/RFC9238"/>
        </reference>
        <reference anchor="antipatterns" target="https://www.agilealliance.org/glossary/antipattern">
          <front>
            <title>AntiPattern</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="July" day="12"/>
          </front>
        </reference>
        <reference anchor="awss3virtualhosting" target="https://techmonitor.ai/techonology/cloud/aws-s3-path-deprecation">
          <front>
            <title>Down to the Wire: AWS Delays 'Path-Style' S3 Deprecation at Last Minute</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="July" day="12"/>
          </front>
        </reference>
        <reference anchor="RFC6066" target="https://www.rfc-editor.org/info/rfc6066" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6066.xml">
          <front>
            <title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="January" year="2011"/>
            <abstract>
              <t>This document provides specifications for existing TLS extensions. It is a companion document for RFC 5246, "The Transport Layer Security (TLS) Protocol Version 1.2". The extensions specified are server_name, max_fragment_length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6066"/>
          <seriesInfo name="DOI" value="10.17487/RFC6066"/>
        </reference>
        <reference anchor="I-D.ietf-add-dnr" target="https://datatracker.ietf.org/doc/html/draft-ietf-add-dnr-16" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-add-dnr.xml">
          <front>
            <title>DHCP and Router Advertisement Options for the Discovery of Network-designated Resolvers (DNR)</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Dan Wing" initials="D." surname="Wing">
              <organization>Citrix Systems, Inc.</organization>
            </author>
            <author fullname="Neil Cook" initials="N." surname="Cook">
              <organization>Open-Xchange</organization>
            </author>
            <author fullname="Tommy Jensen" initials="T." surname="Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="27" month="April" year="2023"/>
            <abstract>
              <t>The document specifies new DHCP and IPv6 Router Advertisement options to discover encrypted DNS resolvers (e.g., DNS-over-HTTPS, DNS-over- TLS, DNS-over-QUIC). Particularly, it allows a host to learn an authentication domain name together with a list of IP addresses and a set of service parameters to reach such encrypted DNS resolvers.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-dnr-16"/>
        </reference>
        <reference anchor="I-D.ietf-add-ddr" target="https://datatracker.ietf.org/doc/html/draft-ietf-add-ddr-10" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-add-ddr.xml">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Patrick McManus" initials="P." surname="McManus">
              <organization>Fastly</organization>
            </author>
            <author fullname="Tommy Jensen" initials="T." surname="Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="5" month="August" year="2022"/>
            <abstract>
              <t>This document defines Discovery of Designated Resolvers (DDR), a mechanism for DNS clients to use DNS records to discover a resolver's encrypted DNS configuration. An encrypted DNS resolver discovered in this manner is referred to as a "Designated Resolver". This mechanism can be used to move from unencrypted DNS to encrypted DNS when only the IP address of a resolver is known. This mechanism is designed to be limited to cases where unencrypted DNS resolvers and their designated resolvers are operated by the same entity or cooperating entities. It can also be used to discover support for encrypted DNS protocols when the name of an encrypted DNS resolver is known.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-ddr-10"/>
        </reference>
        <reference anchor="RFC9230" target="https://www.rfc-editor.org/info/rfc9230" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9230.xml">
          <front>
            <title>Oblivious DNS over HTTPS</title>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="T. Verma" initials="T." surname="Verma"/>
            <author fullname="C.A. Wood" initials="C.A." surname="Wood"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This document describes a protocol that allows clients to hide their IP addresses from DNS resolvers via proxying encrypted DNS over HTTPS (DoH) messages. This improves privacy of DNS operations by not allowing any one server entity to be aware of both the client IP address and the content of DNS queries and answers.</t>
              <t>This experimental protocol has been developed outside the IETF and is published here to guide implementation, ensure interoperability among implementations, and enable wide-scale experimentation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9230"/>
          <seriesInfo name="DOI" value="10.17487/RFC9230"/>
        </reference>
      </references>
    </references>
    <section anchor="appendices">
      <name>Appendices</name>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="T." surname="Reddy" fullname="Tirumaleswar Reddy">
        <organization>Nokia</organization>
        <address>
      </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
cRGptPTdcvA4hfbz4RI0aLtKiByco521w3pjo6issXR37j8HYtRQBL9uoHdJ
xxRuRcMSD05uGiXcyynh6X4DbsG/MJEYSdXxm9dvp2oKFu1nGoxGAU90jrie
zAHRBnB+p8smm1jiTTL/7BEIlWvv1PgynT/czDE9sTZbt/H4REiMvymJTI8+
+IWvfX8Ar4hsBTklsug974lYZ2jIaoUJfUuC2DkmMmkGIj52CLp5tmp37Yh6
frurhSPoTVozs/yiDERzmJapiv+WHD/wWxkV7YLsPAQAy4nmU5W64AVTAEmA
DTqQ6qDhgpKLT+0cZqHTd/sCuKZ3wPIiYtgcUbdiqw9SEMNUfz4YrK+q2m1u
EIFkZwaGSXFGtQDzbaPppnVK+qj7r844dKzkySVtKiYRO1tkP+uB3w7DcsP2
Y1iQjPK3crhEevzCtgoneHHd3l9mn/3z081rfPjPy2lEZ/zF2/v7W378LXAB
+FA1UIjqJSOp28K4EDUJ2d629D3ro1I0iMgEMBftYVYR4mCYi3UrzAtiGFYQ
M1YrZO8ZSctZwS7RZsmUKelWpONpyG/STlBQCRpgdfT9MYq7eLIgfRsJu+O1
kt15csnby8+WId8R0hMznhhStngCyrJAiq78tvOPJSnRoxiM7STia98HV69k
WIbIyrY0+QznM8Nh6oHJB3JgYGsjI2kVcLigx7LmweaTt9gJC2kC87udQpS0
XjL3UAgVvwUkiBOgFdMrUG8u6ms5ugfSFzqe7vTOEXGhbr65VbAnmeutM43b
uDV7vgWpN/EHwoaVHlmfpxEo0NkQvOtEO2DF48MiLwykh+JjpC8eBHDld8V9
8syL+N+X77KPvxLAqaG5yQ6MeUoNOBDom/tfizvF6KQYiXceVPJKUcK+J6en
3fWCSIguj7CAFmyLcRXSbc16AJLOTPqyLpls7WpCxqDvhmV0WzBY1LSGMEB5
kiFayJP3n+7un0zl3+LDb/zzxzck4h/fXOPnu7dX797FHyb6xN3b3z69u04/
pTdf//b+/ZsP1/IyfVqMPpo8eX/1v5+I2njy2+39zW8frt49Eb2XEw4sKcjZ
C9M4sFUZJubSMBj5++vb//d/n39P2OAvhA1ePH/+C/lE8svPz3/6nn6B1yWz
MUyUX2GoJsS/ruzYXyH+WJY73xMcZ8hADLRvOL5HDEAccJeZgRYKWa3Ol+9U
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

-->

</rfc>
