<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-add-dnr-16" number="9463" submissionType="IETF" category="std" consensus="true" ipr="trust200902" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" updates="" obsoletes="" xml:lang="en" version="3">

  <!-- xml2rfc v2v3 conversion 3.17.1 -->
  <front>
    <title abbrev="DNR">DHCP and Router
    Advertisement Options for the Discovery of Network-designated Resolvers
    (DNR)</title>
    <seriesInfo name="RFC" value="9463"/>
    <author fullname="Mohamed Boucadair" initials="M." role="editor" surname="Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <street/>
          <city>Rennes</city>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy.K" initials="T." role="editor" surname="Reddy.K">
      <organization>Nokia</organization>
      <address>
        <postal>
          <street/>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author fullname="Dan Wing" initials="D." surname="Wing">
      <organization abbrev="Cloud Software Group">Cloud Software Group Holdings, Inc.</organization>
      <address>
        <postal>
          <street/>
          <country>United States of America</country>
        </postal>
        <email>dwing-ietf@fuggles.com</email>
      </address>
    </author>
    <author fullname="Neil Cook" initials="N." surname="Cook">
      <organization>Open-Xchange</organization>
      <address>
        <postal>
          <street/>
          <country>United Kingdom</country>
        </postal>
        <email>neil.cook@noware.co.uk</email>
      </address>
    </author>
    <author fullname="Tommy Jensen" initials="T." surname="Jensen">
      <organization>Microsoft</organization>
      <address>
        <postal>
          <street/>
          <country>United States of America</country>
        </postal>
        <email>tojens@microsoft.com</email>
      </address>
    </author>
    <date year="2023" month="November" />
    <area>int</area>
    <workgroup>add</workgroup>
    <keyword>DNS</keyword>
    <keyword>service resolution</keyword>
    <keyword>encryption</keyword>
    <keyword>service discovery</keyword>
    <keyword>service provider</keyword>
    <keyword>network provider</keyword>
    <keyword>automation</keyword>
    <keyword>DoH</keyword>
    <keyword>DoT</keyword>
    <keyword>DoQ</keyword>

    <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>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>This document focuses on the discovery of encrypted DNS resolvers that are using protocols such as
      DNS over HTTPS (DoH) <xref target="RFC8484"/>, DNS over TLS (DoT) <xref target="RFC7858"/>, or DNS over QUIC (DoQ) <xref target="RFC9250"/> in
      local networks.</t>
      <t>In particular, this document specifies how a local encrypted DNS
      resolver can be discovered by connected hosts by means of DHCPv4 <xref target="RFC2132"/>, DHCPv6 <xref target="RFC8415"/>, and IPv6 Router
      Advertisement (RA) options <xref target="RFC4861"/>. These options are
      designed to convey the following information: the DNS Authentication
      Domain Name (ADN), a list of IP addresses, and a set of service
      parameters. This procedure is called Discovery of Network-designated
      Resolvers (DNR).</t>
      <t>The options defined in this document can be deployed in a variety of
      deployments (e.g., local networks with Customer Premises Equipment
      (CPEs) that may or may not be managed by an Internet Service Provider
      (ISP), or local networks with or without DNS forwarders). Providing an inventory of such deployments is beyond the scope of this document.</t>
      <t>Resolver selection considerations are out of scope. Likewise,
      policies (including any interactions with users) are out of scope.</t>
    </section>
    <section anchor="notation">
      <name>Terminology</name>
       <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
       "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
       "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
       "<bcp14>SHOULD NOT</bcp14>",
       "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
       "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
       are to be interpreted as described in BCP&nbsp;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 the terms defined in <xref target="RFC8499"/>. The following additional terms are used: </t>
      <dl newline="false" spacing="normal">
        <dt>Authentication Domain Name (ADN):</dt>
        <dd>Refers to a domain
          name that is used by a DNS client to authenticate a DNS
          resolver.</dd>
        <dt>ADN-only mode:</dt>
        <dd>Refers to a DNS discovery mode where
          only the ADN of the DNS resolver is retrieved. See <xref target="adn-only"/>.</dd>
        <dt>Do53:</dt>
        <dd>Refers to unencrypted DNS.</dd>
        <dt>DNR:</dt>
        <dd>Refers to the procedure called Discovery of Network-designated
          Resolvers.</dd>
        <dt>Encrypted DNS:</dt>
        <dd>Refers to a scheme where DNS exchanges
          are transported over an encrypted channel. Examples include
          DoT, DoH, and DoQ.</dd>
        <dt>Encrypted DNS resolver:</dt>
        <dd>Refers to a DNS resolver that
          supports any encrypted DNS scheme.</dd>
        <dt>Encrypted DNS options:</dt>
        <dd>Refers to the options defined
          in Sections&nbsp;<xref format="counter" target="DHCPv6"/>, <xref format="counter" target="DHCP"/>, and <xref format="counter" target="RA"/>.</dd>
        <dt>DHCP:</dt>
        <dd>Refers to both DHCPv4 and DHCPv6.</dd>
      </dl>
    </section>
    <section anchor="RI">
      <name>Overview</name>
      <t>This document describes how a DNS client can discover local encrypted
      DNS resolvers using DHCP (Sections&nbsp;<xref format="counter" target="DHCPv6"/> and <xref format="counter" target="DHCP"/>) and
      Neighbor Discovery protocol (<xref target="RA"/>) Encrypted DNS
      options.</t>
      <t>These options configure an ADN, a list of IP
      addresses, and a set of service parameters of the encrypted DNS
      resolver. More information about the design of these options is provided
      in the following subsections.</t>
      <section anchor="rationale">
        <name>Configuration Data for Encrypted DNS</name>
        <section>
          <name>ADN as Reference Identifier for DNS Authentication</name>
          <t>In order to allow for a PKIX-based authentication of the
          encrypted DNS resolver to the DNS client, the Encrypted DNS options
          are designed to always include an ADN. This
          ADN is presented as a reference identifier for DNS authentication
          purposes. This design accommodates the current best practices for
          issuing certificates as per <xref section="1.7.2" target="RFC6125"/>:</t>
          <aside>
            <t>Some certification authorities issue server
            certificates based on IP addresses, but preliminary evidence
            indicates that such certificates are a very small percentage (less
            than 1%) of issued certificates.</t>
          </aside>
        </section>
        <section>
          <name>Avoiding Dependency on External Resolvers</name>
          <t>To avoid adding a dependency on another server to resolve the
          ADN, the Encrypted DNS options return the IP address(es) to locate
          an encrypted DNS resolver. These encrypted DNS resolvers may be
          hosted on the same IP address or distinct IP addresses. Such a decision is
          deployment specific.</t>
          <t>In order to optimize the size of discovery messages when all DNS
          resolvers terminate on the same IP address, early draft versions of this
          document considered relying upon the discovery mechanisms specified
          in <xref target="RFC2132"/>, <xref target="RFC3646"/>, and <xref target="RFC8106"/> to retrieve a list of IP addresses to reach
          their DNS resolvers. Nevertheless, this approach requires a client
          that supports more than one encrypted DNS protocol (e.g., DoH and
          DoT) to probe that list of IP addresses. To avoid such probing,
          the options defined in Sections&nbsp;<xref format="counter" target="DHCPv6"/>, <xref format="counter" target="DHCP"/>, and
          <xref format="counter" target="RA"/> associate an encrypted DNS
          protocol with an IP address. No probing is required in such a
          design.</t>
        </section>
        <section>
          <name>Single vs. Multiple IP Addresses</name>
          <t>A list of IP addresses to reach an encrypted DNS resolver may be
          returned in an Encrypted DNS option to accommodate current
          deployments relying upon primary and backup resolvers. Also, DNR can
          be used in contexts where other DNS redundancy schemes (e.g.,
          anycast as discussed in <xref target="RFC4786">BCP&nbsp;126</xref>) are used.</t>
          <t>Whether one or more IP addresses are returned in an Encrypted DNS
          option is deployment specific. For example, a router embedding a
          recursive server or a forwarder has to include one single IP address
          pointing to one of its LAN-facing interfaces. Typically, this IP
          address can be a private IPv4 address, a Link-Local address, an IPv6
          Unique Local Address (ULA), or a Global Unicast Address
          (GUA).</t>
          <t>If multiple IP addresses are to be returned in an Encrypted DNS
          option, these addresses are returned, ordered by preference, for use by the
          client.</t>
        </section>
        <section>
          <name>Why Not Separate Options for the ADN and IP Addresses?</name>
          <t>A single option is used to convey both the ADN and IP addresses.
          Otherwise, a means to correlate an IP address conveyed in an option
          with an ADN conveyed in another option will be required if, for
          example, more than one ADN is supported by the network.</t>
        </section>
        <section>
          <name>Service Parameters</name>
          <t>Because distinct encrypted DNS protocols (e.g., DoT, DoH, and
          DoQ) may be provisioned by a network and some of these
          protocols may make use of customized port numbers instead of default
          port numbers, the Encrypted DNS options are designed to return a set of
          service parameters. These parameters are encoded following the same
          rules for encoding SvcParams using the wire format specified in <xref section="2.2" target="RFC9460"/>. This encoding approach may
          increase the size of the options, but it has the merit of relying
          upon an existing IANA registry and, thus, accommodating new
          encrypted DNS protocols and service parameters that may be defined
          in the future.</t>
          <t>The following service parameters <bcp14>MUST</bcp14> be supported by a DNR
          implementation:</t>
          <dl newline="false" spacing="normal">
            <dt>alpn:</dt>
            <dd>Used to indicate the set of supported
              protocols (<xref section="7.1" target="RFC9460"/>).</dd>
            <dt>port:</dt>
            <dd>Used to indicate the target port number for
              the encrypted DNS connection (<xref section="7.2" target="RFC9460"/>).</dd>
          </dl>
          <t>In addition, the following service parameter is <bcp14>RECOMMENDED</bcp14> to be
          supported by a DNR implementation:</t>
          <dl newline="false" spacing="normal">
            <dt>dohpath:</dt>
            <dd>Used to supply a relative DoH URI
              Template (<xref section="5.1" target="RFC9461"/>).</dd>
          </dl>
        </section>
        <section anchor="adn-only">
          <name>ADN-Only Mode</name>
          <t>The provisioning mode in which an ADN, a list of IP addresses,
          and a set of service parameters of the encrypted DNS resolver are
          supplied to a host <bcp14>SHOULD</bcp14> be used because the Encrypted DNS options
          are self-contained and do not require any additional DNS queries.
          The reader may refer to <xref target="RFC7969"/> for an overview of
          advanced capabilities that are supported by DHCP servers to populate
          configuration data (e.g., issue DNS queries).</t>
          <t>In contexts where putting additional complexity on requesting
          hosts is acceptable, returning an ADN only can be considered. The
          supplied ADN will be passed to a local resolution library (a DNS
          client, typically), which will then issue Service Binding (SVCB)
          queries <xref target="RFC9461"/>. These SVCB queries
          can be sent to the discovered encrypted DNS resolver itself or to
          the network-designated Do53 resolver. Note that this mode may be
          subject to active attacks, which can be mitigated by DNSSEC.</t>
          <aside>
            <t>How an ADN is passed to a local resolution library
            is implementation specific.</t>
          </aside>
        </section>
        <section>
          <name>Ordering of Encrypted DNS Options</name>
          <t>The DHCP options defined in Sections&nbsp;<xref format="counter" target="DHCPv6"/> and <xref format="counter" target="DHCP"/>
          follow the option ordering guidelines in <xref section="17" target="RFC7227"/>.</t>
          <t>Likewise, the RA option (<xref format="default" target="RA"/>)
          adheres to the recommendations in <xref section="9" target="RFC4861"/>.</t>
        </section>
        <section anchor="VC">
          <name>DNR Validation Checks</name>
          <t>On receipt of an Encrypted DNS option, the DHCP client (or IPv6
          host) makes the following validation checks:</t>
          <ul spacing="normal">
            <li>The ADN is present and encoded as per <xref section="10" target="RFC8415"/>.</li>
            <li>
              <t>If additional data is supplied: </t>
              <ul spacing="normal">
                <li>The service parameters are encoded following the rules
                  specified in <xref section="2.2" target="RFC9460"/>.</li>
                <li>The option includes at least one valid IP address.</li>
                <li>The service parameters do not include "ipv4hint" or
                  "ipv6hint" parameters.</li>
              </ul>
            </li>
          </ul>
          <t>If any of the checks fail, the receiver discards the received
          Encrypted DNS option.</t>
        </section>
        <section>
          <name>DNR Information Using Other Provisioning Mechanisms</name>
          <t>The provisioning mechanisms specified in this document may not be
          available in specific networks (e.g., some cellular networks
          exclusively use Protocol Configuration Options (PCOs) <xref target="TS.24008"/>) or may not be suitable in some contexts (e.g., where
          secure discovery is needed). Other mechanisms may be considered in
          these contexts for the provisioning of encrypted DNS resolvers. It
          is <bcp14>RECOMMENDED</bcp14> that at least the following DNR information be made
          available to a requesting host:</t>
          <ul spacing="normal">
            <li>A service priority whenever the discovery mechanism does not
              rely on implicit ordering if multiple instances of the encrypted
              DNS are used.</li>
            <li>An ADN. This parameter is
              mandatory.</li>
            <li>A list of IP addresses to locate the encrypted DNS
              resolver.</li>
            <li>A set of service parameters.</li>
          </ul>
        </section>
      </section>
      <section>
        <name>Handling Configuration Data Conflicts</name>
        <t>If encrypted DNS resolvers are discovered by a host using both RA and
        DHCP, the rules discussed in <xref section=" 5.3.1" target="RFC8106"/> <bcp14>MUST</bcp14> be followed.</t>
        <t>DHCP/RA options to discover encrypted DNS resolvers (including DoH
        URI Templates) takes precedence over Discovery of Designated Resolvers
        (DDR) <xref target="RFC9462"/>, since DDR uses Do53 to an
        external DNS resolver, which is susceptible to both internal and
        external attacks whereas DHCP/RA is typically protected using the
        mechanisms discussed in <xref target="spoof"/>.</t>
        <t>If a client learns both Do53 and encrypted DNS resolvers from the
        same network, and absent explicit configuration otherwise, it is
        <bcp14>RECOMMENDED</bcp14> that the client use the encrypted DNS resolvers for that
        network. If the client cannot establish an authenticated and encrypted
        connection with the encrypted DNS resolver, it may fall back to using
        the Do53 resolver.</t>
      </section>
      <section>
        <name>Validating Discovered Resolvers</name>
        <t>This section describes a set of validation checks to confirm that
        an encrypted DNS resolver matches what is provided using DNR (e.g.,
        DHCP or RA). Such validation checks do not intend to validate the
        security of the DNR provisioning mechanisms or the user's trust
        relationship to the network.</t>
        <t>If the local DNS client supports one of the discovered encrypted
        DNS protocols identified by Application-Layer Protocol Negotiation
        (ALPN) protocol identifiers (or another service parameter that indicates
        some other protocol disambiguation mechanism), the DNS client
        establishes an encrypted DNS session following the service priority of
        the discovered encrypted resolvers.</t>
        <t>The DNS client verifies the connection based on PKIX validation
        <xref target="RFC5280"/> of the DNS resolver certificate and uses the
        validation techniques as described in <xref target="RFC6125"/> to
        compare the ADN conveyed in the Encrypted DNS
        options to the certificate provided (see <xref section="8.1" target="RFC8310"/> for more details). The DNS client uses the default
        system or application PKI trust anchors unless configured otherwise to
        use explicit trust anchors. ALPN-related considerations can be found
        in <xref section="7.1" target="RFC9460"/>.
        Operational considerations related to checking the revocation status of the
        certificate of an encrypted DNS resolver are discussed in
        <xref target="RFC8484" sectionFormat="of" section="10"/>.</t>
      </section>
      <section>
        <name>Multihoming Considerations</name>
        <t>Devices may be connected to multiple networks, each providing their
        own DNS configuration using the discovery mechanisms specified in this
        document. Nevertheless, discussing DNS selection of multi-interfaced devices is beyond the scope of this specification. Such
        considerations fall under the generic issue of handling multiple
        provisioning sources and should not be processed in each option
        separately, as per the recommendation in <xref section="12" target="RFC7227"/>.</t>
        <t>The reader may refer to <xref target="RFC6731"/> for a discussion
        of DNS selection issues and an example of DNS resolver selection for
        multi-interfaced devices. Also, the reader may refer to <xref target="Local-DNS-Authority"/> for a discussion on
        how DNR and Provisioning Domain (PvD) key "dnsZones" (<xref section="4.3" target="RFC8801"/>) can be used in "split DNS"
        environments (<xref section="6" target="RFC8499"/>).</t>
      </section>
    </section>
    <section anchor="DHCPv6">
      <name>DHCPv6 Encrypted DNS Option</name>
      <section anchor="DHCPv6-ADN">
        <name>Option Format</name>
        <t>The format of the DHCPv6 Encrypted DNS option is shown in <xref target="dhcpv6-format"/>.</t>
        <figure anchor="dhcpv6-format">
          <name>DHCPv6 Encrypted DNS Option</name>
          <artwork align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       OPTION_V6_DNR           |         Option-length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
|       Service Priority        |         ADN Length            |  
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
~                   authentication-domain-name                  ~   
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   
|         Addr Length           |                               | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |  
~                        ipv6-address(es)                       ~ 
|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
|                               |                               | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               | 
~                 Service Parameters (SvcParams)                ~ 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>

        <t>The fields of the option shown in <xref target="dhcpv6-format"/> are as follows:</t>
        <dl newline="false" spacing="normal">
          <dt>Option-code:</dt>
          <dd>OPTION_V6_DNR (144; see <xref target="iana6"/>).</dd>
          <dt>Option-length:</dt>
          <dd>Length of the enclosed data in
            octets. The option length is ('ADN Length' + 4) when only an ADN
            is included in the option.</dd>
          <dt>Service Priority:</dt>
          <dd>The priority of this OPTION_V6_DNR
            instance compared to other instances. This 16-bit unsigned integer
            is interpreted following the rules specified in <xref section="2.4.1" target="RFC9460"/>.</dd>
          <dt>ADN Length:</dt>
          <dd>Length of the authentication-domain-name
            field in octets.</dd>
          <dt>authentication-domain-name (variable length):</dt>
          <dd>
            <t>A
            Fully Qualified Domain Name (FQDN) of the encrypted DNS resolver. This
            field is formatted as specified in <xref section="10" target="RFC8415"/>.</t>
            <t>An example of the
            authentication-domain-name encoding is shown in <xref target="fqdn"/>. This example conveys the FQDN
            "doh1.example.com.", and the resulting ADN Length field is
            18.</t>
            <figure anchor="fqdn">
              <name>An Example of the DNS authentication-domain-name Encoding</name>
              <artwork align="center"><![CDATA[
+------+------+------+------+------+------+------+------+------+
| 0x04 |   d  |   o  |   h  |  1   | 0x07 |   e  |   x  |   a  |
+------+------+------+------+------+------+------+------+------+
|   m  |   p  |   l  |   e  | 0x03 |   c  |   o  |   m  | 0x00 |
+------+------+------+------+------+------+------+------+------+
]]></artwork>
            </figure>
          </dd>
          <dt>Addr Length:</dt>
          <dd>Length of enclosed IPv6 addresses in
            octets. When present, it <bcp14>MUST</bcp14> be a multiple of 16.</dd>
          <dt>ipv6-address(es) (variable length):</dt>
          <dd>
            <t>Indicates one or
            more IPv6 addresses to reach the encrypted DNS resolver. An
            address can be a Link-Local address, a ULA, or a GUA. The format of this field
            is shown in <xref target="v6add"/>.</t>
            <figure anchor="v6add">
              <name>Format of the ipv6-address(es) Field</name>
              <artwork align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                         ipv6-address                          |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ...                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure>
          </dd>
          <dt>Service Parameters (SvcParams) (variable length):</dt>
          <dd>
            <t>Specifies
            a set of service parameters that are encoded following the rules
            in <xref section="2.2" target="RFC9460"/>.
            Service parameters may include, for example, a list of ALPN
            protocol identifiers or alternate port numbers. This field <bcp14>SHOULD</bcp14>
            include at least the "alpn" SvcParam. The "alpn" SvcParam may not be
            required in contexts such as a variant of DNS over the Constrained Application Protocol (CoAP) where
            messages are encrypted using Object Security for Constrained
            RESTful Environments (OSCORE) <xref target="RFC8613"/>. The
            service parameters <bcp14>MUST NOT</bcp14> include "ipv4hint" or "ipv6hint"
            SvcParams, as they are superseded by the included IP addresses.
            </t>
            <t>If no port service parameter is included,
            this indicates that default port numbers should be used. As a
            reminder, the default port number is 853 for DoT, 443 for DoH, and
            853 for DoQ.</t>
            <t>The length of this field is
            ('Option-length' - 6 - 'ADN Length' - 'Addr Length').</t>
          </dd>
        </dl>
        <t>Note that the "Addr Length", "ipv6-address(es)", and "Service
        Parameters (SvcParams)" fields are not present if the ADN-only mode is
        used (<xref target="adn-only"/>).</t>
      </section>
      <section>
        <name>DHCPv6 Client Behavior</name>
        <t>To discover an encrypted DNS resolver, the DHCPv6 client <bcp14>MUST</bcp14>
        include OPTION_V6_DNR in an Option Request Option (ORO), per
        Sections&nbsp;<xref target="RFC8415" section="18.2.1" sectionFormat="bare"/>, <xref target="RFC8415" section="18.2.2" sectionFormat="bare"/>, <xref target="RFC8415" section="18.2.4" sectionFormat="bare"/>, <xref target="RFC8415" section="18.2.5" sectionFormat="bare"/>, <xref target="RFC8415" section="18.2.6" sectionFormat="bare"/>, and <xref target="RFC8415" section="21.7" sectionFormat="bare"/> of <xref target="RFC8415"/>.</t>
        <t>The DHCPv6 client <bcp14>MUST</bcp14> be prepared to receive multiple instances of
        the OPTION_V6_DNR option; each option is to be treated as a separate
        encrypted DNS resolver. These instances <bcp14>MUST</bcp14> be processed following
        their service priority (i.e., a smaller service priority value indicates a
        higher preference).</t>
        <t>The DHCPv6 client <bcp14>MUST</bcp14> silently discard any OPTION_V6_DNR that
        fails to pass the validation steps defined in <xref target="VC"/>.</t>
        <t>The DHCPv6 client <bcp14>MUST</bcp14> silently discard multicast and host loopback
        addresses conveyed in OPTION_V6_DNR.</t>
      </section>
    </section>
    <section anchor="DHCP">
      <name>DHCPv4 Encrypted DNS Option</name>
      <section>
        <name>Option Format</name>
        <t>The format of the DHCPv4 Encrypted DNS option is illustrated in
        <xref target="dhcpri_dns"/>.</t>
        <figure anchor="dhcpri_dns">
          <name>DHCPv4 Encrypted DNS Option</name>
          <artwork align="center"><![CDATA[
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_V4_DNR |     Length    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~      DNR Instance Data #1     ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   ---
.              ...              .    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ optional
~      DNR Instance Data #n     ~    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   ---
]]></artwork>
        </figure>
        <t>The fields of the option shown in <xref target="dhcpri_dns"/> are
        as follows:</t>
        <dl newline="false" spacing="normal">
          <dt>Code:</dt>
          <dd>OPTION_V4_DNR (162; see <xref target="iana4"/>).</dd>
          <dt>Length:</dt>
          <dd>Indicates the length of the enclosed data in
            octets.</dd>
          <dt>DNR Instance Data:</dt>
          <dd>
            <t>Includes the configuration data
            of an encrypted DNS resolver. The format of this field is shown in
            <xref target="dhcpri_dns2"/>. </t>
            <figure anchor="dhcpri_dns2">
              <name>DNR Instance Data Format</name>
              <artwork align="center"><![CDATA[
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    DNR Instance Data Length   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Service Priority        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   ADN Length  |               |
+-+-+-+-+-+-+-+-+               |
~  authentication-domain-name   ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|  Addr Length  |               | 
+-+-+-+-+-+-+-+-+               | 
~        IPv4 Address(es)       ~ 
|               +-+-+-+-+-+-+-+-+ 
|               |               | 
+-+-+-+-+-+-+-+-+               | 
~Service Parameters (SvcParams) ~ 
|                               | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   
]]></artwork>
            </figure>
            <t>When several encrypted DNS
            resolvers are to be included, the "DNR Instance Data" field is
            repeated.</t>
          </dd>
        </dl>
        <t>The fields shown in <xref target="dhcpri_dns2"/> are as
        follows:</t>
        <dl newline="false" spacing="normal">
          <dt>DNR Instance Data Length:</dt>
          <dd>Length of all following
            data in octets. This field is set to ('ADN Length' + 3) when only
            an ADN is provided for a DNR instance.</dd>
          <dt>Service Priority:</dt>
          <dd>The priority of this instance
            compared to other DNR instances. This 16-bit unsigned integer is
            interpreted following the rules specified in <xref section="2.4.1" target="RFC9460"/>.</dd>
          <dt>ADN Length:</dt>
          <dd>Length of the authentication-domain-name field
            in octets.</dd>
          <dt>authentication-domain-name (variable length):</dt>
          <dd>The
            ADN of the encrypted DNS resolver. This
            field is formatted as specified in <xref section="10" target="RFC8415"/>. An example is provided in <xref target="fqdn"/>.</dd>
          <dt>Addr Length:</dt>
          <dd>Length of included IPv4 addresses in
            octets. When present, it <bcp14>MUST</bcp14> be a multiple of 4.</dd>
          <dt>IPv4 Address(es) (variable length):</dt>
          <dd>
            <t>Indicates one or
            more IPv4 addresses to reach the encrypted DNS resolver. Both
            private and public IPv4 addresses can be included in this field.
            The format of this field is shown in <xref target="v4"/>. This
            format assumes that an IPv4 address is encoded as
            a1.a2.a3.a4.</t>
            <figure anchor="v4">
              <name>Format of the IPv4 Address(es) Field</name>
              <artwork align="center"><![CDATA[
0     8     16    24    32    40    48
+-----+-----+-----+-----+-----+-----+--
|  a1 |  a2 |  a3 |  a4 |  a1 |  a2 | ...
+-----+-----+-----+-----+-----+-----+--
  IPv4 Address 1          IPv4 Address 2 ...
]]></artwork>
            </figure>
          </dd>
          <dt>Service Parameters (SvcParams) (variable length):</dt>
          <dd>
            <t>Specifies
            a set of service parameters that are encoded following the rules
            in <xref section="2.2" target="RFC9460"/>.
            Service parameters may include, for example, a list of ALPN
            protocol identifiers or alternate port numbers. This field <bcp14>SHOULD</bcp14>
            include at least the "alpn" SvcParam. The "alpn" SvcParam may not be
            required in contexts such as a variant of DNS over CoAP where
            messages are encrypted using OSCORE. The service parameters
            <bcp14>MUST NOT</bcp14> include "ipv4hint" or "ipv6hint" SvcParams, as they are
            superseded by the included IP addresses.</t>
            <t>If no port service parameter is included, this
            indicates that default port numbers should be used. </t>
            <t>The length of this field is ('DNR Instance Data
            Length' - 4 - 'ADN Length' - 'Addr Length').</t>
          </dd>
        </dl>
        <t>Note that the "Addr Length", "IPv4 Address(es)", and "Service
        Parameters (SvcParams)" fields are not present if the ADN-only mode is
        used (<xref target="adn-only"/>).</t>
        <t>OPTION_V4_DNR is a concatenation-requiring option. As such, the
        mechanism specified in <xref target="RFC3396"/> <bcp14>MUST</bcp14> be used if
        OPTION_V4_DNR exceeds the maximum DHCPv4 option size of 255
        octets.</t>
      </section>
      <section>
        <name>DHCPv4 Client Behavior</name>
        <t>To discover an encrypted DNS resolver, the DHCPv4 client requests
        the encrypted DNS resolver by including OPTION_V4_DNR in a Parameter
        Request List option <xref target="RFC2132"/>.</t>
        <t>The DHCPv4 client <bcp14>MUST</bcp14> be prepared to receive multiple "DNR Instance
        Data" field entries in the OPTION_V4_DNR option; each instance is to be treated as a
        separate encrypted DNS resolver. These instances <bcp14>MUST</bcp14> be processed
        following their service priority (i.e., a smaller service priority value
        indicates a higher preference).</t>
        <t>The DHCPv4 client <bcp14>MUST</bcp14> silently discard any OPTION_V4_DNR that
        fails to pass the validation steps defined in <xref target="VC"/>.</t>
        <t>The DHCPv4 client <bcp14>MUST</bcp14> silently discard multicast and host loopback
        addresses conveyed in OPTION_V4_DNR.</t>
      </section>
    </section>
    <section anchor="RA">
      <name>IPv6 RA Encrypted DNS Option</name>
      <section anchor="RA-ADN">
        <name>Option Format</name>
        <t>This section defines a new Neighbor Discovery option <xref target="RFC4861"/>: the IPv6 RA Encrypted DNS option. This option is
        useful in contexts similar to those discussed in <xref section="1.1" target="RFC8106"/>.</t>
        <t>The format of the IPv6 RA Encrypted DNS option is illustrated in
        <xref target="ra_dns"/>.</t>
        <figure anchor="ra_dns">
          <name>RA Encrypted DNS Option</name>
          <artwork align="center"><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Length    |        Service Priority       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Lifetime                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          ADN Length           |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
~                   authentication-domain-name                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
|         Addr Length           |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               | 
~                        ipv6-address(es)                       ~
|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|                               |     SvcParams Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                 Service Parameters (SvcParams)                ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The fields of the option shown in <xref target="ra_dns"/> are as
        follows:</t>
        <dl newline="false" spacing="normal">
          <dt>Type:</dt>
          <dd>8-bit identifier of the Encrypted DNS option
            as assigned by IANA (144; see <xref target="iana7"/>).</dd>
          <dt>Length:</dt>
          <dd>8-bit unsigned integer. The length of the
            option (including the Type and Length fields) is in units of 8
            octets.</dd>
          <dt>Service Priority:</dt>
          <dd>16-bit unsigned integer.  The priority of this Encrypted DNS option instance compared to other instances.  This field is interpreted following the rules specified
            in <xref section="2.4.1" target="RFC9460"/>.</dd>
          <dt>Lifetime:</dt>
          <dd>
            <t>32-bit unsigned integer. This represents the maximum time
            in seconds (relative to the time the packet is received) over
            which the discovered ADN is valid. </t>
            <t>The value of Lifetime <bcp14>SHOULD</bcp14> by default be at
            least 3 * MaxRtrAdvInterval, where MaxRtrAdvInterval is the
            maximum RA interval as defined in <xref target="RFC4861"/>.
            </t>
            <t>A value of all one bits (0xffffffff)
            represents infinity. </t>
            <t>A value of zero
            means that this ADN <bcp14>MUST</bcp14> no longer be
            used.</t>
          </dd>
          <dt>ADN Length:</dt>
          <dd>16-bit unsigned integer. This field
            indicates the length of the authentication-domain-name field in
            octets.</dd>
          <dt>authentication-domain-name (variable length):</dt>
          <dd>The
            ADN of the encrypted DNS resolver. This
            field is formatted as specified in <xref section="10" target="RFC8415"/>.</dd>
          <dt>Addr Length:</dt>
          <dd>16-bit unsigned integer. This field
            indicates the length of enclosed IPv6 addresses in octets. When
            present, it <bcp14>MUST</bcp14> be a multiple of 16.</dd>
          <dt>ipv6-address(es) (variable length):</dt>
          <dd>
            <t>One or more IPv6
            addresses of the encrypted DNS resolver. An address can be a
            Link-Local address, a ULA, or a GUA. </t>
            <t>All of the
            addresses share the same Lifetime value. As also discussed in <xref target="RFC8106"/>, if it is desirable to have different Lifetime
            values per IP address, multiple Encrypted DNS options may be
            used.</t>
            <t>The format of this field is shown in
            <xref target="v6add"/>.</t>
          </dd>
          <dt>SvcParams Length:</dt>
          <dd>16-bit unsigned integer. This
            field indicates the length of the "Service Parameters (SvcParams)" field in
            octets.</dd>
          <dt>Service Parameters (SvcParams) (variable length):</dt>
          <dd>
            <t>Specifies
            a set of service parameters that are encoded following the rules
            in <xref section="2.2" target="RFC9460"/>.
            Service parameters may include, for example, a list of ALPN
            protocol identifiers or alternate port numbers. This field <bcp14>SHOULD</bcp14>
            include at least the "alpn" SvcParam. The "alpn" SvcParam may not be
            required in contexts such as a variant of DNS over CoAP where
            messages are encrypted using OSCORE. The service parameters
            <bcp14>MUST NOT</bcp14> include "ipv4hint" or "ipv6hint" SvcParams, as they are
            superseded by the included IP addresses.</t>
            <t>If no port service parameter is included, this
            indicates that default port numbers should be used.</t>
          </dd>
        </dl>
        <t>Note that the "Addr Length", "ipv6-address(es)", and "Service
        Parameters (SvcParams)" fields are not present if the ADN-only mode is
        used (<xref target="adn-only"/>).</t>
        <t>The option <bcp14>MUST</bcp14> be padded with zeros so that the full enclosed data
        is a multiple of 8 octets (<xref section="4.6" target="RFC4861"/>).</t>
      </section>
      <section>
        <name>IPv6 Host Behavior</name>
        <t>The procedure for DNS configuration is the same as it is with any
        other Neighbor Discovery option <xref target="RFC4861"/>. In
        addition, the host follows the same procedure as the procedure described in
        <xref section="5.3.1" target="RFC8106"/> for processing received
        Encrypted DNS options, with the formatting requirements listed in <xref target="RA-ADN"/> and the validation checks listed in <xref target="VC"/>
        substituted for length and field validations.</t>
        <t>The host <bcp14>MUST</bcp14> be prepared to receive multiple Encrypted DNS options
        in RAs. These instances <bcp14>MUST</bcp14> be processed following their service
        priority (i.e., a smaller service priority value indicates a higher
        preference).</t>
        <t>The host <bcp14>MUST</bcp14> silently discard multicast and host loopback
        addresses conveyed in the Encrypted DNS options.</t>
      </section>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <section anchor="spoof">
        <name>Spoofing Attacks</name>
        <t>DHCP/RA messages are not encrypted or protected against
        modification within the LAN. Unless spoofing attacks are mitigated as described below, the
        content of DHCP and RA messages can be spoofed or modified by active
        attackers, such as compromised devices within the local network. An
        active attacker (<xref section="3.3" target="RFC3552"/>) can spoof
        the DHCP/RA response to provide the attacker's encrypted DNS resolver.
        Note that such an attacker can launch other attacks as discussed in
        <xref section="22" target="RFC8415"/>. The attacker can get a domain
        name with a domain-validated public certificate from a Certificate Authority (CA) and host an
        encrypted DNS resolver.</t>
        <t>Attacks of spoofed or modified DHCP responses and RA messages by
        attackers within the local network may be mitigated by making use of
        the following mechanisms:</t>
        <dl newline="false" spacing="normal">
          <dt>DHCPv6-Shield <xref target="RFC7610"/>:</dt><dd>The network access
            node (e.g., a border router, a CPE, an Access Point (AP)) discards
            DHCP response messages received from any local endpoint.</dd>
          <dt>RA-Guard <xref target="RFC7113"/>:</dt><dd>The network access node
            discards RA messages received from any local endpoint.</dd>
          <dt>Source Address Validation Improvement (SAVI) solution for DHCP
            <xref target="RFC7513"/>:</dt><dd>The network access node filters packets
            with forged source IP addresses.</dd>
	</dl>
        <t>The above mechanisms would ensure that the endpoint receives the
        correct configuration information of the encrypted DNS resolvers
        selected by the DHCP server (or RA sender), but these mechanisms cannot provide any
        information about the DHCP server or the entity hosting the DHCP
        server (or RA sender).</t>
        <t>Encrypted DNS sessions with rogue resolvers that spoof the IP
        address of a DNS resolver will fail because the DNS client will fail
        to authenticate that rogue resolver based upon PKIX authentication
        <xref target="RFC6125"/>, particularly the ADN
        in the Encrypted DNS option. DNS clients that ignore authentication
        failures and accept spoofed certificates will be subject to attacks
        (e.g., attacks that redirect to malicious resolvers or intercept sensitive data).</t>
      </section>
      <section>
        <name>Deletion Attacks</name>
        <t>If the DHCP responses or RAs are dropped by the attacker, the
        client can fall back to using a preconfigured encrypted DNS resolver.
        However, the use of policies to select resolvers is beyond the scope
        of this document.</t>
        <t>Note that deletion attacks are not specific to DHCP/RA.</t>
      </section>
      <section>
        <name>Passive Attacks</name>
        <t>A passive attacker (<xref section="3.2" target="RFC3552"/>) can
        determine that a host is using DHCP/RA to discover an encrypted DNS resolver
        and can infer that the host is capable of using DoH/DoT/DoQ to encrypt DNS
        messages. However, a passive attacker cannot spoof or modify DHCP/RA
        messages.</t>
      </section>
      <section>
        <name>Wireless Security - Authentication Attacks</name>
        <t>Wireless LANs (WLANs), frequently deployed in local networks (e.g.,
        home networks), are vulnerable to various attacks (e.g., <xref target="Evil-Twin"/>, <xref target="Krack"/>, <xref target="Dragonblood"/>). Because of these attacks, only
        cryptographically authenticated communications are trusted on WLANs.
        This means that any information (e.g., regarding NTP servers, DNS resolvers, or
        domain search lists) provided by such networks via DHCP, DHCPv6, or RA
        is untrusted because DHCP and RA messages are not authenticated.</t>
        <t>If the pre-shared key (PSK) is the same for all clients that
        connect to the same WLAN (e.g., Wi-Fi Protected Access Pre-Shared
Key (WPA-PSK)), the shared key will be
        available to all nodes, including attackers. As such, it is possible
        to mount an active on-path attack. On-path attacks are possible within
        local networks because this form of WLAN authentication lacks peer entity
        authentication.</t>
        <t>This leads to the need for provisioning unique credentials for
        different clients. Endpoints can be provisioned with unique
        credentials (username and password, typically) provided by the local
        network administrator to mutually authenticate to the local WLAN AP
        (e.g., 802.1x Wireless User Authentication on OpenWrt <xref target="dot1x"/>, EAP-pwd <xref target="RFC8146"/> ("EAP" stands for "Extensible Authentication Protocol")). Not all
        endpoint devices (e.g., Internet of Things (IoT) devices) support 802.1x supplicants and
        need an alternate mechanism to connect to the local network. To
        address this limitation, unique PSKs can be created for
        each such device and WPA-PSK is used (e.g., <xref target="IPSK"/>).</t>
      </section>
    </section>
    <section>
      <name>Privacy Considerations</name>
      <t>Privacy considerations that are also specific to DNR provisioning
      mechanisms are discussed in <xref section="23" target="RFC8415"/> and in
      <xref target="RFC7824"/>. Anonymity profiles for DHCP clients are
      discussed in <xref target="RFC7844"/>. The mechanisms defined in this
      document can be used to infer that a DHCP client or IPv6 host supports
      Encrypted DNS options, but these mechanisms do not explicitly reveal whether local DNS
      clients are able to consume these options or infer their encryption
      capabilities. Other than that, this document does not expose more
      privacy information compared to Do53 discovery options.</t>
      <t>As discussed in <xref target="RFC9076"/>, the use of encrypted DNS
      does not reduce the data available in the DNS resolver. For example, the
      reader may refer to <xref section="8" target="RFC8484"/> or <xref section="7" target="RFC9250"/> for a discussion on specific privacy
      considerations for encrypted DNS.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="iana6">
        <name>DHCPv6 Option</name>
        <t>IANA has assigned the following new DHCPv6 Option Code in
        the "Option Codes" registry maintained at <xref target="DHCPV6"/>.</t>
        <table anchor="dhcpv6t">
          <name>DHCPv6 Encrypted DNS Option</name>
          <thead>
            <tr>
              <th>Value</th>
              <th>Description</th>
              <th>Client ORO</th>
              <th>Singleton Option</th>
              <th>Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>144</td>
              <td>OPTION_V6_DNR</td>
              <td>Yes</td>
              <td>No</td>
              <td>RFC 9463</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana4">
        <name>DHCPv4 Option</name>
        <t>IANA has assigned the following new DHCP Option Code in
        the "BOOTP Vendor Extensions and DHCP Options" registry maintained at <xref target="BOOTP"/>.</t>
        <table anchor="dhcpv4t">
          <name>DHCPv4 Encrypted DNS Option</name>
          <thead>
            <tr>
              <th>Tag</th>
              <th>Name</th>
              <th>Data Length</th>
              <th>Meaning</th>
              <th>Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>162</td>
              <td>OPTION_V4_DNR</td>
              <td>N</td>
              <td>Encrypted DNS Server</td>
              <td>RFC 9463</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana7">
        <name>Neighbor Discovery Option</name>
        <t>IANA has assigned the following new IPv6 Neighbor
        Discovery Option type in the "IPv6 Neighbor Discovery Option Formats"
        subregistry under the "Internet Control Message Protocol version 6
        (ICMPv6) Parameters" registry maintained at <xref target="ND"/>.</t>
        <table anchor="ndt">
          <name>Neighbor Discovery Encrypted DNS Option</name>
          <thead>
            <tr>
              <th>Type</th>
              <th>Description</th>
              <th>Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>144</td>
              <td>Encrypted DNS Option</td>
              <td>RFC 9463</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>

  <back>

<displayreference target="I-D.pusateri-dhc-dns-driu" to="DNS-TLS-DHCPv6-Opt"/>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4861.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8415.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2132.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8106.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3396.xml"/>

<!-- draft-ietf-dnsop-svcb-https (RFC 9460) -->
<reference anchor='RFC9460' target='https://www.rfc-editor.org/info/rfc9460'>
<front>
<title>Service Binding and Parameter Specification via the DNS (SVCB and
HTTPS Resource Records)</title>
<author initials='B' surname='Schwartz' fullname='Benjamin Schwartz'>
<organization />
</author>
<author initials='M' surname='Bishop' fullname='Mike Bishop'>
<organization />
</author>
<author initials='E' surname='Nygren' fullname='Erik Nygren'>
<organization />
</author>
<date year='2023' month='November' />
</front>
<seriesInfo name="RFC" value="9460"/>
<seriesInfo name="DOI" value="10.17487/RFC9460"/>
</reference>

<!-- draft-ietf-add-svcb-dns (RFC 9461) -->
<reference anchor='RFC9461' target='https://www.rfc-editor.org/info/rfc9461'>
<front>
<title>Service Binding Mapping for DNS Servers</title>
<author initials="B." surname="Schwartz" fullname="Benjamin Schwartz">
<organization>Google LLC</organization>
</author>
<date month="November" year="2023"/>
</front>
<seriesInfo name="RFC" value="9461"/>
<seriesInfo name="DOI" value="10.17487/RFC9461"/>
</reference>

      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8310.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8499.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6125.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3646.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7610.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7113.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7858.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9250.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6731.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3552.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7513.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8146.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7227.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7969.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4786.xml"/>

<!-- draft-ietf-add-ddr (RFC 9462) -->
<reference anchor='RFC9462' target='https://www.rfc-editor.org/info/rfc9462'>
<front>
<title>Discovery of Designated Resolvers</title>
<author initials="T." surname="Pauly" fullname="Tommy Pauly">
<organization>Apple Inc.</organization>
</author>
<author initials="E." surname="Kinnear" fullname="Eric Kinnear">
<organization>Apple Inc.</organization>
</author>
<author initials="C. A." surname="Wood" fullname="Christopher A. Wood">
<organization>Cloudflare</organization>
</author>
<author initials="P." surname="McManus" fullname="Patrick McManus">
<organization>Fastly</organization>
</author>
<author initials="T." surname="Jensen" fullname="Tommy Jensen">
<organization>Microsoft</organization>
</author>
<date month="November" year="2023"/>
</front>
<seriesInfo name="RFC" value="9462"/>
<seriesInfo name="DOI" value="10.17487/RFC9462"/>
</reference>

<!-- draft-pusateri-dhc-dns-driu (Expired) -->
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.pusateri-dhc-dns-driu.xml"/>

<!-- draft-ietf-add-split-horizon-authority (I-D Exists)
     ("Long way" to fix author initials) -->
<reference anchor="Local-DNS-Authority">
  <front>
    <title>Establishing Local DNS Authority in Validated Split-Horizon Environments</title>
    <author fullname="Tirumaleswar Reddy" initials="T." surname="Reddy">
    </author>
    <author fullname="Dan Wing" initials="D." surname="Wing">
    </author>
    <author fullname="Kevin Smith" initials="K." surname="Smith">
    </author>
    <author fullname="Benjamin Schwartz" initials="B." surname="Schwartz">
    </author>
    <date day="8" month="March" year="2023"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-ietf-add-split-horizon-authority-04"/>
</reference>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8801.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9076.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7824.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7844.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8613.xml"/>

        <reference anchor="Evil-Twin" target="https://en.wikipedia.org/wiki/Evil_twin_(wireless_networks)">
          <front>
            <title>Evil twin (wireless networks)</title>
            <author>
              <organization>Wikipedia</organization>
            </author>
            <date month="November" year="2022"/>
          </front>
        </reference>

        <reference anchor="Krack" target="https://dl.acm.org/doi/10.1145/3133956.3134027">
          <front>
            <title>Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2</title>
            <author fullname="Mathy Vanhoef" initials="M." surname="Vanhoef">
              <organization/>
            </author>
            <author fullname="Frank Piessens" initials="F." surname="Piessens">
              <organization/>
            </author>
            <date month="October" year="2017"/>
          </front>
        <seriesInfo name="DOI" value="10.1145/3133956.3134027"/>
        <refcontent>CCS '17: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, pp. 1313-1328</refcontent>
        </reference>

        <reference anchor="Dragonblood" target="https://ieeexplore.ieee.org/document/9152782">
          <front>
            <title>Dragonblood: Analyzing the Dragonfly Handshake of WPA3 and
          EAP-pwd</title>
            <author fullname="Mathy Vanhoef" initials="M" surname="Vanhoef">
              <organization/>
            </author>
            <author fullname="Eyal Ronen" initials="E" surname="Ronen">
              <organization/>
            </author>
            <date month="May" year="2020"/>
          </front>
        <seriesInfo name="DOI" value="10.1109/SP40000.2020.00031"/>
        <refcontent>2020 IEEE Symposium on Security and Privacy (SP), San Francisco, pp. 517-533</refcontent>
        </reference>

        <reference anchor="IPSK" target="https://www.cisco.com/c/en/us/td/docs/wireless/controller/technotes/8-5/b_Identity_PSK_Feature_Deployment_Guide.html">
          <front>
            <title>8.5 Identity PSK Feature Deployment Guide</title>
            <author>
              <organization>Cisco</organization>
            </author>
            <date month="December" year="2021"/>
          </front>
        </reference>

        <reference anchor="dot1x" target="https://openwrt.org/docs/guide-user/network/wifi/wireless.security.8021x">
          <front>
            <title>Introduction to 802.1X</title>
            <author>
              <organization>OpenWrt</organization>
            </author>
            <date month="December" year="2021"/>
          </front>
        </reference>
        <reference anchor="DHCPV6" target="https://www.iana.org/assignments/dhcpv6-parameters/">
          <front>
            <title>Option Codes</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>

        <reference anchor="ND" target="https://www.iana.org/assignments/icmpv6-parameters/">
          <front>
            <title>IPv6 Neighbor Discovery Option Formats</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>

        <reference anchor="BOOTP" target="https://www.iana.org/assignments/bootp-dhcp-parameters/">
          <front>
            <title>BOOTP Vendor Extensions and DHCP Options</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>

        <reference anchor="TS.24008" target="https://www.3gpp.org/DynaReport/24008.htm">
          <front>
            <title>Technical Specification Group Core Network and Terminals; Mobile radio interface Layer 3 specification; Core network
          protocols; Stage 3 (Release 18)</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date month="September" year="2023"/>
          </front>
         <refcontent>version 18.4.0</refcontent>
        </reference>
      </references>
    </references>
    <section numbered="false">
      <name>Acknowledgments</name>
      <t>Many thanks to <contact fullname="Christian Jacquenet"/> and <contact fullname="Michael Richardson"/> for their
      reviews.</t>
      <t>Thanks to <contact fullname="Stephen Farrell"/>, <contact fullname="Martin Thomson"/>, <contact fullname="Vittorio Bertola"/>, <contact fullname="Stéphane Bortzmeyer"/>, <contact fullname="Ben Schwartz"/>, <contact fullname="Iain Sharp"/>, and <contact fullname="Chris Box"/> for their
      comments.</t>
      <t>Thanks to <contact fullname="Mark Nottingham"/> for the feedback on HTTP redirection that
      was discussed in previous draft versions of this specification.</t>
      <t>The use of DHCP as a candidate protocol to retrieve an ADN was
      mentioned in <xref section="7.3.1" target="RFC8310"/> and in an
      Internet-Draft authored by <contact fullname="Tom Pusateri"/> and <contact fullname="Willem Toorop"/> <xref target="I-D.pusateri-dhc-dns-driu"/>.</t>
      <t>Thanks to <contact fullname="Bernie Volz"/> for the review of the DHCP part.</t>
      <t><contact fullname="Christian Amsüss"/> reported a case where the ALPN service parameter cannot
      be used.</t>
      <t>Thanks to <contact fullname="Andrew Campling"/> for the Shepherd review and <contact fullname="Éric Vyncke"/> for
      the AD review.</t>
      <t>Thanks to <contact fullname="Rich Salz"/> for the secdir reviews, <contact fullname="Joe Clarke"/> for the
      opsdir review, <contact fullname="Robert Sparks"/> for the artart review, and <contact fullname="David Blacka"/>
      for the dnsdir review.</t>
      <t>Thanks to <contact fullname="Lars Eggert"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Erik Kline"/>, <contact fullname="Martin Duke"/>, <contact fullname="Robert Wilton"/>, <contact fullname="Paul Wouters"/>, and <contact fullname="Zaheduzzaman Sarker"/> for the IESG review.</t>
    </section>
    <section numbered="false">
      <name>Contributors</name>
      <contact fullname="Nicolai Leymann">
        <organization>Deutsche Telekom</organization>
        <address>
          <postal>
            <country>Germany</country>
          </postal>
          <email>n.leymann@telekom.de</email>
        </address>
      </contact>
      <contact fullname="Zhiwei Yan">
        <organization>CNNIC</organization>
        <address>
          <postal>
            <street>No.4 South 4th Street, Zhongguancun</street>
            <city>Beijing</city>
            <region/>
            <code>100190</code>
            <country>China</country>
          </postal>
          <email>yan@cnnic.cn</email>
        </address>
      </contact>
    </section>
  </back>
</rfc>
