<?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-13" category="bcp" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.3 -->
  <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-13"/>
    <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="2024" month="March" day="21"/>
    <area>Operations</area>
    <workgroup>OPSAWG Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document details concerns about how Internet of Things (IoT) devices use IP
addresses and DNS names.
These concerns become acute as network operators begin deploying RFC 8520 Manufacturer Usage Description (MUD) definitions to control device access.</t>
      <t>Alos, 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 RFC 8520 Manufacturer Usage Description (MUD) file that permit a device to access Internet resources by their DNS names or IP addresses.</t>
      <t>Use of a DNS name rather than an IP address in an ACL has many advantages: not only does the layer of indirection permit the mapping of a name to IP address(es) to be changed over time, it also generalizes automatically to IPv4 and IPv6 addresses, as well as permitting a variety of load balancing strategies, including multi-CDN deployments wherein load balancing can account for geography and load.</t>
      <t>However, the use of DNS names has implications on how ACL are executed at the MUD policy enforcement point (typically, a firewall).
Conceretely, the firewall has access only 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>So in order to implement these name based ACLs, there must be a mapping between the names in the ACLs and IP addresses.</t>
      <t>In order for manufacturers to understand how to configure DNS associated with name based ACLs, a model of how the DNS resolution will be done by MUD controllers is necessary.
<xref target="mapping"/> models some good strategies that are used.</t>
      <t>This model is non-normative: but is included so that IoT device manufacturers can understand how the DNS will be used to resolve the names they use.</t>
      <t>There are some ways of using DNS that will present problems for MUD controllers, which  <xref target="dns-anti-p"/> explains.</t>
      <t><xref target="sec-priv-out"/> details how current trends in DNS resolution such as public DNS servers, DNS over TLS (DoT) <xref target="RFC7858"/>, DNS over HTTPS (DoH) <xref target="RFC8484"/>, or DNS over QUIC (DoQ) <xref target="RFC9250"/> can cause problems with the strategies employed.</t>
      <t>The core of this document, is <xref target="sec-reco"/>, which makes a series of recommendations ("best current practices") for manufacturers on how to use DNS and IP addresses with MUD supporting IoT devices.</t>
      <t><xref target="sec-privacy"/> discusses a set of privacy issues that encrypted DNS (DoT, DoH, for example) 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><xref target="sec-security"/> also 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>
      <t>This document makes use of terms defined in <xref target="RFC8520"/> and <xref target="I-D.ietf-dnsop-rfc8499bis"/>.</t>
      <t>The term "anti-pattern" comes from agile software design literature, as per <xref target="antipatterns"/>.</t>
    </section>
    <section anchor="mapping">
      <name>A model for MUD controller mapping of names to addresses</name>
      <t>This section details a strategy that a MUD controller could take.
Within the limits of DNS use detailed in <xref target="sec-reco"/>, this process can work.
The methods detailed in <xref target="failingstrategy"/> just will not work.</t>
      <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 actual ACLs.</t>
      <t>There a number of possible failures, and the goal of this section is to explain how some common  DNS usages may fail.</t>
      <section anchor="non-deterministic-mappings">
        <name>Non-Deterministic Mappings</name>
        <t>The most important one is that the mapping of the names to IP addresses may be non-deterministic.</t>
        <t><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 historical intent is that the requestor will tend to use the first IP address that is returned.
As each query results in addresses in a different ordering, the effect is to split 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 set up 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: only the
addresses that the balancing system wishes to be used are returned.</t>
        <t>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.
If the IoT device did not use the same recursive servers as the MUD controller, then geofencing and/or truncated round-robin results could return a different, and non-overlapping set of addresses.</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 at least some
number of minutes, up to some number of days (respecting the TTL), 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>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.</li>
          <li>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.</li>
          <li>if any addresses have been omitted in a round-robin DNS process, the cache will have the same set of addresses that were returned.</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-anti-p">
      <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 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 an IP address literal 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, it is common in some Content Distribution Networks (CDNs) to use multiple layers of DNS CNAMEs in order to isolate the content-owner's naming system from changes in how the distribution network is organized.</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.
References within that control protocol 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 CDN system, or may be arbitrary names in a cloud-provider storage system (e.g., <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
than 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, 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
ahead of time, and the firmware vendor can list all those addresses in the DNS for the 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 available at a single URL (such as "s3.example.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="sec-priv-out">
      <name>DNS Privacy and Outsourcing versus MUD Controllers</name>
      <t><xref target="RFC7858"/> and <xref target="RFC8094"/> provide for DoT and DoH.
<xref target="I-D.ietf-dnsop-rfc8499bis"/> details the terms.
But, even with the unencrypted DNS (a.k.a. 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 devices, 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="sec-reco">
      <name>Recommendations To IoT Device Manufacturers 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 actual list of expected connections to put 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="I-D.ietf-dnsop-rfc8499bis"/> 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 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-tailored-responses-to-answer-dns-names">
        <name>Do Not Use Tailored Responses to answer DNS Names</name>
        <t><xref target="RFC7871"/> defines the edns-client-subnet (ECS) EDNS0 option, and explains
how authoritative servers sometimes answer queries differently based upon the
IP address of the end system making the request.
Ultimately, the decision is based upon some topological notion of closeness.
This is often used to provide tailored responses to clients, providing them
with a geographically advantageous answer.</t>
        <t>When the MUD controller makes it's DNS query, it is critical that it receive
an answer which is based upon the same topological decision as when the IoT
device makes its query.</t>
        <t>There are probably ways in which the MUD controller could use the
edns-client-subnet option to make a query that would get the same treatment
as when the IoT device makes its query.  If this worked then it would receive
the same answer as the IoT device.</t>
        <t>In practice it could be quite difficult if the IoT device uses a different
Internet connection, a different firewall, or a different recursive DNS
server.
The edns-client-server might be ignored or overridden by any of the DNS infrastructure.</t>
        <t>Some tailored responses might only re-order the replies so that the most
preferred address is first.
Such a system would be acceptable if the MUD controller had a way to know
that the list was complete.</t>
        <t>But, due to the above problems, a strong recommendation is to avoid using
tailored responses as part of the names in the MUD file.</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 with the DHCP provided DNS servers.</t>
        <t>The ADD WG has written <xref target="RFC9463"/> and <xref target="RFC9462"/> to provide information to end devices on how to find locally provisioned secure/private DNS servers.</t>
        <t>Use of public resolvers instead of the provided DNS resolver, whether Do53, DoQ, 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 (i.e., 53, 853 for DoT, 443 for DoH) that will be used as well.</t>
      </section>
    </section>
    <section anchor="sec-privacy">
      <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 to help preserve privacy, 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 Wi-Fi is used.
Use of Encrypted DNS connection to a local DNS recursive resolver is the preferred choice.</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 publicly 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>
      <t>While a vendor proprietary scheme to distribute firmware updates would
satisfy some of these criteria, operators/Enterprises are less likely to
install one of these for every single device class.
Home (residential) users are unlikely to install any system that did not
provide service to all their devices (and came pre-installed on a home router
or other home network management system, such as a home Network Attached
Storage device), so only a system that was non-proprietary is likely to be present.</t>
    </section>
    <section anchor="sec-security">
      <name>Security Considerations</name>
      <t>This document deals with conflicting Security requirements:</t>
      <ol spacing="normal" type="1"><li>devices which an operator wants to manage using <xref target="RFC8520"/></li>
        <li>requirements for the devices to get access to network resources that  may be critical to their continued safe operation.</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="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="I-D.ietf-dnsop-rfc8499bis" target="https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-rfc8499bis-10" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-dnsop-rfc8499bis.xml">
          <front>
            <title>DNS Terminology</title>
            <author fullname="Paul E. Hoffman" initials="P. E." surname="Hoffman">
              <organization>ICANN</organization>
            </author>
            <author fullname="Kazunori Fujiwara" initials="K." surname="Fujiwara">
              <organization>Japan Registry Services Co., Ltd.</organization>
            </author>
            <date day="25" month="September" year="2023"/>
            <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 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. This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-rfc8499bis-10"/>
        </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">
          <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">
          <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="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="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="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="RFC8484" target="https://www.rfc-editor.org/info/rfc8484" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC9250" target="https://www.rfc-editor.org/info/rfc9250" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9250.xml">
          <front>
            <title>DNS over Dedicated QUIC Connections</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>This document describes the use of QUIC to provide transport confidentiality for DNS. The encryption provided by QUIC has similar properties to those provided by TLS, while QUIC transport eliminates the head-of-line blocking issues inherent with TCP and provides more efficient packet-loss recovery than UDP. DNS over QUIC (DoQ) has privacy properties similar to DNS over TLS (DoT) specified in RFC 7858, and latency characteristics similar to classic DNS over UDP. This specification describes the use of DoQ as a general-purpose transport for DNS and includes the use of DoQ for stub to recursive, recursive to authoritative, and zone transfer scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9250"/>
          <seriesInfo name="DOI" value="10.17487/RFC9250"/>
        </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="RFC7871" target="https://www.rfc-editor.org/info/rfc7871" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7871.xml">
          <front>
            <title>Client Subnet in DNS Queries</title>
            <author fullname="C. Contavalli" initials="C." surname="Contavalli"/>
            <author fullname="W. van der Gaast" initials="W." surname="van der Gaast"/>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes an Extension Mechanisms for DNS (EDNS0) option that is in active use to carry information about the network that originated a DNS query and the network for which the subsequent response can be cached. Since it has some known operational and privacy shortcomings, a revision will be worked through the IETF for improvement.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7871"/>
          <seriesInfo name="DOI" value="10.17487/RFC7871"/>
        </reference>
        <reference anchor="RFC9463" target="https://www.rfc-editor.org/info/rfc9463" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9463.xml">
          <front>
            <title>DHCP and Router Advertisement Options for the Discovery of Network-designated Resolvers (DNR)</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="T. Reddy.K" initials="T." role="editor" surname="Reddy.K"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="N. Cook" initials="N." surname="Cook"/>
            <author fullname="T. Jensen" initials="T." surname="Jensen"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies new DHCP and IPv6 Router Advertisement options to discover encrypted DNS resolvers (e.g., DNS over HTTPS, DNS over TLS, and 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="RFC" value="9463"/>
          <seriesInfo name="DOI" value="10.17487/RFC9463"/>
        </reference>
        <reference anchor="RFC9462" target="https://www.rfc-editor.org/info/rfc9462" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9462.xml">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="T. Jensen" initials="T." surname="Jensen"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document defines Discovery of Designated Resolvers (DDR), a set of mechanisms 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". These mechanisms can be used to move from unencrypted DNS to encrypted DNS when only the IP address of a resolver is known. These mechanisms are 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="RFC" value="9462"/>
          <seriesInfo name="DOI" value="10.17487/RFC9462"/>
        </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="failingstrategy">
      <name>A Failing Strategy --- Anti-Patterns</name>
      <t>Attempts to map IP addresses to names in real time fails for a number of reasons:</t>
      <ol spacing="normal" type="1"><li>it can not be done fast enough,</li>
        <li>it reveals usage patterns of the devices,</li>
        <li>the mappings are often incomplete,</li>
        <li>Even if the mapping is present, due to virtual hosting, it may not map back to the name used in the ACL.</li>
      </ol>
      <t>This is not a successful strategy, it MUST NOT be used for the reasons explained below.</t>
      <section anchor="too-slow">
        <name>Too Slow</name>
        <t>Mappings 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 DNS lookup must be repeated, e.g, in a few hours or days,when the cached IP address to name binding expires.</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 load balancing layer in the DNS, followed by a load balancing layer 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="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:
H4sIAIy6+2UAA5V92XbbRrfmPZ4Cv3MRaTVJj5l8079i2bFWe9BvKcfdV2eB
RJFECwR4UIBkxsvv0s/ST9b720NVAaTT52StJBIJ1LBrD9+eSvP5POurvnYv
84971xV91TZFnb9qG1+V+rvP122X/+ld3q7zyw83edXkV+1tfunuq5XzWbFc
du7+Zb4bynnV9vOy8VnZrppiR6OWXbHu55Xr1/N274uHzTx5bL4azTN/+jzL
qn33Mu+7wffPnjz57cmzrOhckazOZw8b+vX65uLzH/nntrurmk3+R9cO++zu
4WV+1fSua1w/v8TE2aroX+bL1T7LfF805byo28bx+C7L9tXLnP75IV8VTT7Q
/oquKw75WbXOi7rOD86f57TzbeG3+dZ1Lsvzvl29xBf0o2+7vnNr/5KHKN26
GOre0xP2/WEnX+PXrBj6bdu9zLI5kY8+fL/IP1WrbdGVvm3oaaHWe3zk6vFX
bUcbvqHVu3pHC71p1/0DEYU3j4ncrqhqIv+q+2+g8z+9PbpYFWG+z4v8uogT
fXaV/s6jvx2KB/rk1q22TVu3m8olAz9UdV0Vu8W+aOihf2752cWq3WVZ03Y7
OpV795Ie//Tm1a8/PXuiPz795bcXL0EZcAwdT1PSf5fEOn7Y74l09NTV/HLB
nEGs0O7n3Xr164vffltWXof47cnT32jnf17dXnx69VZneELDEpc068nUv/z6
06/48WJX/NU2N8/xM52X8PYj+TS/ef5IPi66jSPOeLTt+71/+fixaxYP1V21
d2VVLIgkj/HbY3nr3+2tsuhprGe0KsxzVxB5JrPwZ/+1KfiVf08pf2Iykpld
cee68XTvhzJ/j4+/M6O9hdlODAoKP3vORCuavtoXPUTHvzw92MPDw6LYVLUr
wA3NyvEeNnXrfdEdHicjPBrThL64Tr+wNTx7On/yy/zpswzzP3j//L7q+qGo
t63vSabHW71sHxqIVr8lvq86+uji8w1poLo4+PxHGn87v+kPtfuRjpg+3ndu
xdoiL/r8XeF7kqxm6N13CNUT9XdtU/Vttygq/rXl0zg8XtXtUD6m9c398/ke
85Rx9O9tiNRa31XLoW/5xETkbqtu2BW18yS8+SdXlgeTvg/tXUWSmt27ZmB2
FrkTfflPSAhoTZ9vqn47LFnUH0OFQpUeq1GS+fk8L5a+74pVn2W328rnpJCH
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
goriUeXDd4GGomCJyoV5rKg4+38hQNTHG3YAAA==

-->

</rfc>
