<?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-14" category="bcp" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.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-14"/>
    <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="May" day="16"/>
    <area>Operations</area>
    <workgroup>OPSAWG Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document details considerations 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>Also, 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>
      <t>CDN refers to Content Distribution Networks, such as described by <xref section="1.1" sectionFormat="comma" target="RFC6707"/>.</t>
    </section>
    <section anchor="mapping">
      <name>A model for MUD controller mapping of DNS 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 DNS 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 DNS 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>
            <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 same 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 and sometimes more fragile 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>
        <t>A critical failure can occur when the device makes a new DNS request and
receives a new set of IP addresses, but the MUD controller's copy of the
addresses has not yet reached their time to live.
In that case, the MUD controller still has the old address(es) implemented in
the ACLs, but the IoT device has a new address not previously returned to the
MUD controller.
This can result in a connectivity failure.</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</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.
An argument for doing this 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>But, there are several problems with the 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, assuming that only one URL can be provided.
A DNS name can contain both kinds of addresses, and can also contain many
different IP addresses of each kind.
An update server might believe that if the connection was on IPv4, that an
IPv4 literate would be acceptable, but due to NAT64 <xref target="RFC6146"/> a device with only IPv6
connectivity will often be able to reach an IPv4 firmware update server by
name (through DNS64 <xref target="RFC6147"/>), but not be able to reach arbitrary IPv4 address.</t>
        <t>A MUD file definition for this access would need to resolve to the set of IP
addresses that might be returned by the update server.
This can be done with IP address literals in the MUD file, but this may
require continuing updates to the MUD file if the addresses change frequently.
A DNS name in the MUD could resolve to the set of all possible IPv4 and IPv6
addresses that would be used, with DNS providing a level of indirection that
obviates the need to update the MUD file itself.</t>
        <t>A third problem involves the use of HTTPS.
It is often more difficult to get TLS certificates for an IP address, and so
it is less likely that the firmware download will be protected by TLS.
An IP address literal in the TLS ServerNameIndicator <xref target="RFC6066"/>, might not
provide enough context for a web server to distinguish which of potentially
many tenants, the client wishes to reach.
This then drives the use of an IP address per-tenant, 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>When a name or address is returned within an update protocol for which a MUD
rule cannot be written, then the MUD controller is unable to authorize the
connection.
In order for the connection to be authorized, the set of names returned
within the update protocol needs to be known ahead of time, and must be from
a finite set of possibilities.
Such a set of names or addresses can be placed into the MUD file as an ACL in
advance, and the connections authorized.</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 DNS names.</t>
        <t>Those DNS names are often within some third-party CDN system, or may be arbitrary DNS 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 third party CDN provider.</t>
        <t>Such DNS names may be unpredictably chosen by the CDN, and not the device manufacturer, and so impossible to insert into a MUD file.
Implementation of the CDN system may also involve HTTP redirections to downstream CDN systems.</t>
        <t>Even if the CDN provider's chosen DNS names are deterministic they may change at a rate much faster than MUD files can be updated.</t>
        <t>This situation applies to firmware updates, but also applies to many other kinds of content: video content, in-game content, etc.</t>
        <t>A solution may be to use a deterministic DNS name, within the control of the device manufacturer.
The device manufacturer is 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 may be known
ahead of time (or that it changes very slowly), and the device manufacturer can list all those IP 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 content download itself.</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.
DNS 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 DNS names within zones controlled by the manufacturer.
These DNS 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 DNS names.</t>
      </section>
      <section anchor="use-content-distribution-network-with-stable-dns-names">
        <name>Use Content-Distribution Network with Stable DNS Names</name>
        <t>When aliases point to a CDN, prefer stable DNS 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="tailorednames">
        <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 DNS names in the MUD file.</t>
      </section>
      <section anchor="prefer-dns-servers-learnt-from-dhcprouter-advertisements">
        <name>Prefer DNS Servers Learnt From DHCP/Router Advertisements</name>
        <t>IoT Devices SHOULD prefer doing DNS with the DHCP provided DNS servers, or DNS servers learnt from Router Advertisements <xref target="RFC8106"/>.</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 use it.</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, detailed in <xref target="tailorednames"/>.
The public resolver might not return the same tailored names that the MUD controller would get.</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="interactions-with-mdns-and-dnssd">
      <name>Interactions with mDNS and DNSSD</name>
      <t>Unicast DNS requests are not the only way to map names to IP addresses.
IoT devices might also use mDNS <xref target="RFC6762"/>, both to be discovered by other devices, and also to discover other devices.</t>
      <t>mDNS replies include A and AAAA records, and it is conceivable that these replies contain addresses which are not local to the link on which they are made.
This could be the result of another device which contains malware.
An unsuspecting IoT device could be led to contact some external host as a result.
Protecting against such things is one of the benefits of MUD.</t>
      <t>In the unlikely case that the external host has been listed as a legitimate destination in a MUD file, then communication will continue as expected.
As an example of this, an IoT device might look for a name like "update.local" in order to find a source of firmware updates.
It could be led to connect to some external host that was listed as "update.example" in the MUD file.
This should work fine if the name "update.example" does not require any kind of tailored reply.</t>
      <t>In residential networks there has typically not been more than one network (although this is changing through work like <xref target="I-D.ietf-snac-simple"/>), but on campus or enterprise networks, having more than one network is not unusual.
In such networks, mDNS is being replaced with DNS-SD <xref target="RFC8882"/>, and in such a situation, connections could be initiated to other parts of the network.
Such connections might traverse the MUD policy enforcement point (an intra-department firewall), and could very well be rejected because the MUD controller did not know about that interaction.</t>
      <t><xref target="RFC8250"/> includes a number of provisions for controlling internal communications, including
complex communications like same manufacturer ACLs.
To date, this aspect of MUD has been difficult to describe.
This document does not consider internal communications to be in scope.</t>
    </section>
    <section anchor="sec-privacy">
      <name>Privacy Considerations</name>
      <t>The use of non-local DNS servers exposes the list of DNS 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.</t>
      <t>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>
          <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="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" 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>
        <reference anchor="RFC8250" target="https://www.rfc-editor.org/info/rfc8250" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8250.xml">
          <front>
            <title>IPv6 Performance and Diagnostic Metrics (PDM) Destination Option</title>
            <author fullname="N. Elkins" initials="N." surname="Elkins"/>
            <author fullname="R. Hamilton" initials="R." surname="Hamilton"/>
            <author fullname="M. Ackermann" initials="M." surname="Ackermann"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>To assess performance problems, this document describes optional headers embedded in each packet that provide sequence numbers and timing information as a basis for measurements. Such measurements may be interpreted in real time or after the fact. This document specifies the Performance and Diagnostic Metrics (PDM) Destination Options header. The field limits, calculations, and usage in measurement of PDM are included in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8250"/>
          <seriesInfo name="DOI" value="10.17487/RFC8250"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <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="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="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="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="RFC6707" target="https://www.rfc-editor.org/info/rfc6707" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6707.xml">
          <front>
            <title>Content Distribution Network Interconnection (CDNI) Problem Statement</title>
            <author fullname="B. Niven-Jenkins" initials="B." surname="Niven-Jenkins"/>
            <author fullname="F. Le Faucheur" initials="F." surname="Le Faucheur"/>
            <author fullname="N. Bitar" initials="N." surname="Bitar"/>
            <date month="September" year="2012"/>
            <abstract>
              <t>Content Delivery Networks (CDNs) provide numerous benefits for cacheable content: reduced delivery cost, improved quality of experience for End Users, and increased robustness of delivery. For these reasons, they are frequently used for large-scale content delivery. As a result, existing CDN Providers are scaling up their infrastructure, and many Network Service Providers (NSPs) are deploying their own CDNs. It is generally desirable that a given content item can be delivered to an End User regardless of that End User's location or attachment network. This is the motivation for interconnecting standalone CDNs so they can interoperate as an open content delivery infrastructure for the end-to-end delivery of content from Content Service Providers (CSPs) to End Users. However, no standards or open specifications currently exist to facilitate such CDN Interconnection.</t>
              <t>The goal of this document is to outline the problem area of CDN Interconnection for the IETF CDNI (CDN Interconnection) working group. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6707"/>
          <seriesInfo name="DOI" value="10.17487/RFC6707"/>
        </reference>
        <reference anchor="RFC6146" target="https://www.rfc-editor.org/info/rfc6146" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6146.xml">
          <front>
            <title>Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers</title>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="P. Matthews" initials="P." surname="Matthews"/>
            <author fullname="I. van Beijnum" initials="I." surname="van Beijnum"/>
            <date month="April" year="2011"/>
          </front>
          <seriesInfo name="RFC" value="6146"/>
          <seriesInfo name="DOI" value="10.17487/RFC6146"/>
        </reference>
        <reference anchor="RFC6147" target="https://www.rfc-editor.org/info/rfc6147" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6147.xml">
          <front>
            <title>DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers</title>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="A. Sullivan" initials="A." surname="Sullivan"/>
            <author fullname="P. Matthews" initials="P." surname="Matthews"/>
            <author fullname="I. van Beijnum" initials="I." surname="van Beijnum"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>DNS64 is a mechanism for synthesizing AAAA records from A records. DNS64 is used with an IPv6/IPv4 translator to enable client-server communication between an IPv6-only client and an IPv4-only server, without requiring any changes to either the IPv6 or the IPv4 node, for the class of applications that work through NATs. This document specifies DNS64, and provides suggestions on how it should be deployed in conjunction with IPv6/IPv4 translators. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6147"/>
          <seriesInfo name="DOI" value="10.17487/RFC6147"/>
        </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="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="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="RFC8106" target="https://www.rfc-editor.org/info/rfc8106" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8106.xml">
          <front>
            <title>IPv6 Router Advertisement Options for DNS Configuration</title>
            <author fullname="J. Jeong" initials="J." surname="Jeong"/>
            <author fullname="S. Park" initials="S." surname="Park"/>
            <author fullname="L. Beloeil" initials="L." surname="Beloeil"/>
            <author fullname="S. Madanapalli" initials="S." surname="Madanapalli"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>This document specifies IPv6 Router Advertisement (RA) options (called "DNS RA options") to allow IPv6 routers to advertise a list of DNS Recursive Server Addresses and a DNS Search List to IPv6 hosts.</t>
              <t>This document, which obsoletes RFC 6106, defines a higher default value of the lifetime of the DNS RA options to reduce the likelihood of expiry of the options on links with a relatively high rate of packet loss.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8106"/>
          <seriesInfo name="DOI" value="10.17487/RFC8106"/>
        </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="RFC6762" target="https://www.rfc-editor.org/info/rfc6762" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6762.xml">
          <front>
            <title>Multicast DNS</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>As networked devices become smaller, more portable, and more ubiquitous, the ability to operate with less configured infrastructure is increasingly important. In particular, the ability to look up DNS resource record data types (including, but not limited to, host names) in the absence of a conventional managed DNS server is useful.</t>
              <t>Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server. In addition, Multicast DNS designates a portion of the DNS namespace to be free for local use, without the need to pay any annual fee, and without the need to set up delegations or otherwise configure a conventional DNS server to answer for those names.</t>
              <t>The primary benefits of Multicast DNS names are that (i) they require little or no administration or configuration to set them up, (ii) they work when no infrastructure is present, and (iii) they work during infrastructure failures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6762"/>
          <seriesInfo name="DOI" value="10.17487/RFC6762"/>
        </reference>
        <reference anchor="I-D.ietf-snac-simple" target="https://datatracker.ietf.org/doc/html/draft-ietf-snac-simple-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-snac-simple.xml">
          <front>
            <title>Automatically Connecting Stub Networks to Unmanaged Infrastructure</title>
            <author fullname="Ted Lemon" initials="T." surname="Lemon">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Jonathan Hui" initials="J." surname="Hui">
              <organization>Google LLC</organization>
            </author>
            <date day="4" month="March" year="2024"/>
            <abstract>
              <t>This document describes a set of practices for connecting stub networks to adjacent infrastructure networks. This is applicable in cases such as constrained (Internet of Things) networks where there is a need to provide functional parity of service discovery and reachability between devices on the stub network and devices on an adjacent infrastructure link (for example, a home network).</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-snac-simple-04"/>
        </reference>
        <reference anchor="RFC8882" target="https://www.rfc-editor.org/info/rfc8882" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8882.xml">
          <front>
            <title>DNS-Based Service Discovery (DNS-SD) Privacy and Security Requirements</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="D. Kaiser" initials="D." surname="Kaiser"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>DNS-SD (DNS-based Service Discovery) normally discloses information about devices offering and requesting services. This information includes hostnames, network parameters, and possibly a further description of the corresponding service instance. Especially when mobile devices engage in DNS-based Service Discovery at a public hotspot, serious privacy problems arise. We analyze the requirements of a privacy-respecting discovery service.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8882"/>
          <seriesInfo name="DOI" value="10.17487/RFC8882"/>
        </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 DNS names in real time often 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 mappings 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, 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 DNS 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>An IoT manufacturer with a cloud 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 DNS mappings: they can often be incomplete or incorrect for months or even years without visible effect on operations.</t>
        <t>IoT manufacturer cloud service providers often find it difficult to update reverse DNS 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 DNS mapping 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 DNS names for each reverse DNS mapping, whether or not the DNS load balancing in the forward DNS space lists that end-point at that moment.</t>
      </section>
      <section anchor="forward-dns-names-can-have-wildcards">
        <name>Forward DNS 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 DNS names.
Instead, a wildcard exists to answer all potential DNS 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 DNS 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:
H4sIAP9mRmYAA5V925LbSJLlO74CrXqoTFuSunZd9LKdrVS10kZSZSuzpnaf
xkAgSGISBDgIMCmWTP+y3zJfNn78EhEAqdqZNutuJQnExcPD/fiV8/k8G+qh
ca/zX3euL4a6a4smf9O1vq70b5+vuj7/zbu8W+XXH+/yus1vuvv82j3WpfNZ
sVz27vF1vt1X87ob5lXrs6or22JLo1Z9sRrmtRtW827ni8N6njw2L0fzzJ+/
yrJ617/Oh37vhxfPnv387EVW9K5IVuezw5r+vL27+v0f+e9d/1C36/wffbff
ZQ+H1/lNO7i+dcP8GhNnZTG8zpflLsv8ULTVvGi61vH4Lst29euc/vNdXhZt
vqf9FX1fHPOLepUXTZMfnb/Maeebwm/yjetdludDV77GF/RP3/VD71b+NQ9R
uVWxbwZPT9j3x618jT+zYj9suv51ls2JfPThh0X+qS43RV/5rqWnhVof8JFr
xl91PW34jlbvmi0t9K5bDQciCm8eE7ltUTdE/rL/X6Dz37w9uiiLMN/vi/y2
iBP97mr9m0d/ty8O9Mm9Kzdt13Tr2iUDH+qmqYvtYle09NDfNvzsouy2WdZ2
/ZZO5dG9psc//fLmp7++eKb/fP7jz69egzLgGDqetqL/XRLr+P1uR6Sjp27m
1wvmDGKFbjfvV+VPr37+eVl7HeLnZ89/pp3/dnN/9enNO53hGQ1LXNKu0qmv
tsUfXXv3Ev+mQxKGfiKf5ncvn8jHRb92xA5PNsOw86+fPnXt4lA/1DtX1cWC
6PAUfz2Vt/7N3qqKgcZ6QUvBPA8F0WQyC3/2P5uCX/m3lNxnJqOLsi0eXD+e
7sO+yj/g42/MaG9htjODFu1Q74oBl8S/Pj/C4XBYFOu6cQXOvS0dL3zddN4X
/fFpMsKTMSHoi9v0C5v4xfP5sx/nz19kmP/g/cvHuh/2RbPp/EC3d7y/6+7Q
4hING+LwuqePrn6/I1nTFEeff0/jb+Z3w7Fx39O50se73pUsF/JiyN8XfqA7
1O4H9w3qDETybdfWQ9cvipr/7PgIjk/LpttXT2l9c/9yvsM8VRz9WxsiATb0
9XI/dHxMcrnu636/LRrn6Zrmn1xVHe2efewearqT2aNr98y4csNEMv4NdwG0
ps/X9bDZL/lSP4WwhNA8FZh0u+fzvFj6oS/KIcvuN7XPSfTut64dSCQNNLrP
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
8o8dhNIjcQGGedLypey/AFnFgHpagwAA

-->

</rfc>
