<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std" consensus="true" docName="draft-ietf-add-dnr-13"
     ipr="trust200902" submissionType="IETF">
  <front>
    <title abbrev="Discovery of Network-designated Resolvers">DHCP and Router
    Advertisement Options for the Discovery of Network-designated Resolvers
    (DNR)</title>

    <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" initials="T." role="editor"
            surname="Reddy">
      <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="Citrix">Citrix Systems, Inc.</organization>

      <address>
        <postal>
          <street />

          <country>USA</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>UK</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>USA</country>
        </postal>

        <email>tojens@microsoft.com</email>
      </address>
    </author>

    <date day="" month="" year="" />

    <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>

    <abstract>
      <t>The document specifies new DHCP and IPv6 Router Advertisement options
      to discover encrypted DNS resolvers (e.g., DNS-over-HTTPS, DNS-over-TLS,
      DNS-over-QUIC). Particularly, it allows a host to learn an
      authentication domain name together with a list of IP addresses and a
      set of service parameters to reach such encrypted DNS resolvers.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>This document focuses on the discovery of encrypted DNS 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, the 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) <xref target="RFC4861" /> options. 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). It is out of
      the scope of this document to provide an inventory of such
      deployments.</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" title="Terminology">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in BCP 14
      <xref target="RFC2119" /> <xref target="RFC8174" /> when, and only when,
      they appear in all capitals, as shown here.</t>

      <t>This document makes use of the terms defined in <xref
      target="RFC8499" />. The following additional terms are used: <list
          style="hanging">
          <t hangText="Do53:">refers to unencrypted DNS.</t>

          <t hangText="DNR:">refers to the Discovery of Network-designated
          Resolvers procedure.</t>

          <t hangText="Encrypted DNS:">refers to a scheme where DNS exchanges
          are transported over an encrypted channel. Examples of encrypted DNS
          are DoT, DoH, or DoQ.</t>

          <t hangText="Encrypted DNS resolver:">refers to a DNS resolver that
          supports any encrypted DNS scheme.</t>

          <t hangText="Encrypted DNS options:">refers to the options defined
          in Sections <xref format="counter" target="DHCPv6" />, <xref
          format="counter" target="DHCP" />, and <xref format="counter"
          target="RA" />.</t>

          <t hangText="DHCP:">refers to both DHCPv4 and DHCPv6.</t>
        </list></t>
    </section>

    <section anchor="RI" title="Overview">
      <t>This document describes how a DNS client can discover local encrypted
      DNS resolvers using DHCP (Sections <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 authentication domain name, 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" title="Configuration Data for Encrypted DNS">
        <t />

        <section title="ADN as the Reference Identifier for DNS Authentication">
          <t>In order to allow for PKIX-based authentication between a DNS
          client and an encrypted DNS resolver, the Encrypted DNS options are
          designed to always include an authentication domain name. 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 pn="aside-cert-authorities">
            <t indent="0">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 title="Avoiding Dependency on External Resolvers">
          <t>To avoid adding a dependency on another server to resolve the
          ADN, the Encrypted DNS options return the IP address(es) to locate
          the encrypted DNS resolver. These encrypted DNS resolvers may be
          hosted on the same 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 versions of this
          document considered relying upon the discovery mechanisms specified
          in <xref target="RFC2132" /><xref target="RFC3646" /><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 a probing,
          the options defined in Sections <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 title="Single vs. Multiple IP Addresses">
          <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 in BCP 126 <xref target="RFC4786" />) 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, a
          Unique Local IPv6 unicast 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 ordered in the preference for use by the
          client.</t>
        </section>

        <section title="Why Not Separate Options for ADN and IP Addresses?">
          <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 title="Service Parameters">
          <t>Because distinct encrypted DNS protocols (e.g., DoT, DoH, and
          DoQ) may be provisioned by a network and that some of these
          protocols may make use of customized port numbers instead of default
          ones, the Encrypted DNS options are designed to return a set of
          service parameters. These parameters are encoded following the same
          rules for encoding SvcParams in <xref section="2.1"
          target="I-D.ietf-dnsop-svcb-https" />. 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 MUST be supported by a DNR
          implementation:</t>

          <t>
            <list style="hanging">
              <t hangText="alpn:">Used to indicate the set of supported
              protocols (<xref section="7.1"
              target="I-D.ietf-dnsop-svcb-https" />).</t>

              <t hangText="port:">Used to indicate the target port number for
              the encrypted DNS connection (<xref section="7.2"
              target="I-D.ietf-dnsop-svcb-https" />).</t>
            </list>
          </t>

          <t>In addition, the following service parameters are RECOMMENDED to
          be supported by a DNR implementation:<list style="hanging">
              <t hangText="ech:">Used to enable Encrypted ClientHello (ECH)
              (<xref section="7.3" target="I-D.ietf-dnsop-svcb-https" />).</t>

              <t hangText="dohpath:">Used to supply a relative DoH URI
              Template (<xref section="5.1"
              target="I-D.ietf-add-svcb-dns" />).</t>
            </list></t>

          <t />
        </section>

        <section anchor="adn-only" title="ADN Only Mode">
          <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 SHOULD 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="I-D.ietf-add-svcb-dns" />. 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 pn="aside-adn-passed">
            <t indent="0">How an ADN is passed to a local resolution library
            is implementation specific.</t>
          </aside>
        </section>

        <section title="Encrypted DNS Options Ordering">
          <t>The DHCP options defined in Sections <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" title="DNR Validation Checks">
          <t>On receipt of an Encrypted DNS option, the DHCP client (or IPv6
          host) makes the following validation checks:<list style="symbols">
              <t>The ADN is present and encoded as per <xref section="10"
              target="RFC8415" />.</t>

              <t>If additional data is supplied: <list style="symbols">
                  <t>the service parameters are encoded following the rules
                  specified in <xref section="2.1"
                  target="I-D.ietf-dnsop-svcb-https" />.</t>

                  <t>the option includes at least one valid IP address and the
                  "alpn" service parameter.</t>

                  <t>the service parameters do not include "ipv4hint" or
                  "ipv6hint" service parameters.</t>
                </list></t>
            </list></t>

          <t>If any of the checks fail, the receiver discards the received
          Encrypted DNS option.</t>
        </section>

        <section title="DNR Information Using Other Provisioning Mechanisms">
          <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.,
          need for a secure discovery). Other mechanisms may be considered in
          these contexts for the provisioning of encrypted DNS resolvers. It
          is RECOMMENDED that at least the following DNR information is made
          available to a requesting host:</t>

          <t>
            <list style="symbols">
              <t>A service priority whenever the discovery mechanism does not
              rely on implicit ordering if multiple instances of the encrypted
              DNS are used.</t>

              <t>An authentication domain name. This parameter is
              mandatory.</t>

              <t>A list of IP addresses to locate the encrypted DNS
              resolver.</t>

              <t>A set of service parameters.</t>
            </list>
          </t>
        </section>
      </section>

      <section title="Handling Configuration Data Conflicts">
        <t>If the encrypted DNS is discovered by a host using both RA and
        DHCP, the rules discussed in <xref section=" 5.3.1"
        target="RFC8106" /> MUST 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="I-D.ietf-add-ddr" /> 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
        RECOMMENDED that the client uses the encrypted DNS resolvers for that
        network. If the client cannot establish an authenticated and encrypted
        connection with the encrypted DNS resolver, it may fallback to using
        the Do53 resolver.</t>
      </section>

      <section title="Validating Discovered Resolvers">
        <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, 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 authentication domain name 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="6.1" target="I-D.ietf-dnsop-svcb-https" />.
        Operation considerations to check the revocation status of the
        certificate of an encrypted DNS resolver are discussed in Section 10
        of <xref target="RFC8484" />.</t>
      </section>

      <section title="Multihoming Considerations">
        <t>Devices may be connected to multiple networks; each providing their
        own DNS configuration using the discovery mechanisms specified in this
        document. Nevertheless, it is out of the scope of this specification
        to discuss DNS selection of multi-interface devices. The reader may
        refer to <xref target="RFC6731" /> for a discussion of issues and an
        example of DNS resolver selection for multi-interfaced devices. Also,
        the reader may refer to <xref
        target="I-D.ietf-add-split-horizon-authority" /> for a discussion on
        how DNR and Provisioning Domains (PvDs) 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" title="DHCPv6 Encrypted DNS Option">
      <t />

      <section anchor="DHCPv6-ADN" title="Option Format">
        <t>The format of the DHCPv6 Encrypted DNS option is shown in <xref
        target="dhcpv6-format" />.</t>

        <t><figure align="center" anchor="dhcpv6-format"
            title="DHCPv6 Encrypted DNS Option">
            <artwork><![CDATA[ 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>The fields of the option shown in <xref
        target="dhcpv6-format" /> are as follows:<list style="hanging">
            <t hangText="Option-code:">OPTION_V6_DNR (TBA1, see <xref
            target="iana6" />)</t>

            <t hangText="Option-length:">Length of the enclosed data in
            octets. The option length is ('ADN Length' + 4) when only an ADN
            is included in the option.</t>

            <t hangText="Service Priority:">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="I-D.ietf-dnsop-svcb-https" />.</t>

            <t hangText="ADN Length:">Length of the authentication-domain-name
            field in octets.</t>

            <t hangText="authentication-domain-name (variable length):">A
            fully qualified domain name of the encrypted DNS resolver. This
            field is formatted as specified in <xref section="10"
            target="RFC8415" />.<vspace blankLines="1" />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 Option-length field is
            18.<figure anchor="fqdn"
                title="An Example of the DNS authentication-domain-name Encoding">
                <artwork align="center"><![CDATA[+------+------+------+------+------+------+------+------+------+
| 0x04 |   d  |   o  |   h  |  1   | 0x07 |   e  |   x  |   a  |
+------+------+------+------+------+------+------+------+------+
|   m  |   p  |   l  |   e  | 0x03 |   c  |   o  |   m  | 0x00 |
+------+------+------+------+------+------+------+------+------+
]]></artwork>
              </figure></t>

            <t hangText="Addr Length:">Length of enclosed IPv6 addresses in
            octets. When present, it MUST be a multiple of 16.</t>

            <t hangText="ipv6-address(es) (variable length):">Indicates one or
            more IPv6 addresses to reach the encrypted DNS resolver. An
            address can be link-local, ULA, or GUA. The format of this field
            is shown in <xref target="v6add" />.<figure align="center"
                anchor="v6add" title="Format of the IPv6 Addresses Field">
                <artwork><![CDATA[ 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></t>

            <t
            hangText="Service Parameters (SvcParams) (variable length):">Specifies
            a set of service parameters that are encoded following the rules
            in <xref section="2.1" target="I-D.ietf-dnsop-svcb-https" />.
            Service parameters may include, for example, a list of ALPN
            protocol identifiers or alternate port numbers. This field MUST
            include at least "alpn" SvcParam (<xref section="4.1"
            target="I-D.ietf-add-svcb-dns" />). The service parameters MUST
            NOT include "ipv4hint" or "ipv6hint" SvcParams as they are
            superseded by the included IP addresses. <vspace
            blankLines="1" />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.<vspace blankLines="1" />The length of this field is
            ('Option-length' - 6 - 'ADN Length' - 'Addr Length').</t>
          </list></t>

        <t>Note that "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 title="DHCPv6 Client Behavior">
        <t>To discover an encrypted DNS resolver, the DHCPv6 client MUST
        include OPTION_V6_DNR in an Option Request Option (ORO), as in
        Sections 18.2.1, 18.2.2, 18.2.4, 18.2.5, 18.2.6, and 21.7 of <xref
        target="RFC8415" />.</t>

        <t>The DHCPv6 client MUST 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 MUST be processed following
        their service priority (i.e., smaller service priority indicates a
        higher preference).</t>

        <t>The DHCPv6 client MUST silently discard any OPTION_V6_DNR that
        fails to pass the validation steps defined in <xref
        target="VC" />.</t>

        <t>The DHCPv6 client MUST silently discard multicast and host loopback
        addresses conveyed in OPTION_V6_DNR.</t>
      </section>
    </section>

    <section anchor="DHCP" title="DHCPv4 Encrypted DNS Option">
      <section title="Option Format">
        <t>The format of the DHCPv4 Encrypted DNS option is illustrated in
        <xref target="dhcpri_dns" />.</t>

        <t>
          <figure anchor="dhcpri_dns" title="DHCPv4 Encrypted DNS Option">
            <artwork align="center"><![CDATA[ 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>

        <t>The fields of the option shown in <xref target="dhcpri_dns" /> are
        as follows:<list style="hanging">
            <t hangText="Code:">OPTION_V4_DNR (TBA2, see <xref
            target="iana4" />).</t>

            <t hangText="Length:">Indicates the length of the enclosed data in
            octets.</t>

            <t hangText="DNR Instance Data:">Includes the configuration data
            of an encrypted DNS resolver. The format of this field is shown in
            <xref target="dhcpri_dns2" />. <figure anchor="dhcpri_dns2"
                title="DNR Instance Data Format">
                <artwork align="center"><![CDATA[ 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><vspace blankLines="1" />When several encrypted DNS
            resolvers are to be included, the "DNR Instance Data" field is
            repeated.</t>
          </list>The fields shown in <xref target="dhcpri_dns2" /> are as
        follows:<list style="hanging">
            <t hangText="DNR Instance Data Length:">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.</t>

            <t hangText="Service Priority:">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="I-D.ietf-dnsop-svcb-https" />.</t>

            <t hangText="ADN Length:">Length of the authentication-domain-name
            in octets.</t>

            <t hangText="authentication-domain-name (variable length):">The
            authentication domain name 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" />.</t>

            <t hangText="Addr Length:">Length of included IPv4 addresses in
            octets. When present, it MUST be a multiple of 4.</t>

            <t hangText="IPv4 Address(es) (variable length):">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.<figure align="center" anchor="v4"
                title="Format of the IPv4 Addresses Field">
                <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></t>

            <t
            hangText="Service Parameters (SvcParams) (variable length):">Specifies
            a set of service parameters that are encoded following the rules
            in <xref section="2.1" target="I-D.ietf-dnsop-svcb-https" />.
            Service parameters may include, for example, a list of ALPN
            protocol identifiers or alternate port numbers. This field MUST
            include at least "alpn" SvcParam (<xref section="4.1"
            target="I-D.ietf-add-svcb-dns" />). The service parameters MUST
            NOT include "ipv4hint" or "ipv6hint" SvcParams as they are
            superseded by the included IP addresses.<vspace
            blankLines="1" />If no port service parameter is included, this
            indicates that default port numbers should be used. <vspace
            blankLines="1" />The length of this field is ('DNR Instance Data
            Length' - 4 - 'ADN Length' - 'Addr Length').</t>
          </list></t>

        <t>Note that "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" /> MUST be used if
        OPTION_V4_DNR exceeds the maximum DHCPv4 option size of 255
        octets.</t>
      </section>

      <section title="DHCPv4 Client Behavior">
        <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 MUST be prepared to receive multiple DNR instance
        data in the OPTION_V4_DNR option; each instance is to be treated as a
        separate encrypted DNS resolver. These instances MUST be processed
        following their service priority (i.e., smaller service priority
        indicates a higher preference).</t>

        <t>The DHCPv4 client MUST silently discard any OPTION_V4_DNR that
        fails to pass the validation steps defined in <xref
        target="VC" />.</t>

        <t>The DHCPv4 client MUST silently discard multicast and host loopback
        addresses conveyed in OPTION_V4_DNR.</t>
      </section>
    </section>

    <section anchor="RA" title="IPv6 RA Encrypted DNS Option">
      <t />

      <section anchor="RA-ADN" title="Option Format">
        <t>This section defines a new Neighbor Discovery option <xref
        target="RFC4861" />: 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>

        <t>
          <figure anchor="ra_dns" title="RA Encrypted DNS Option">
            <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     TBA3      |     Length    |        Service Priority       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Lifetime                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          ADN Length           |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
~                   authentication-domain-name                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
|         Addr Length           |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               | 
~                        ipv6-address(es)                       ~
|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|                               |     SvcParams Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                 Service Parameters (SvcParams)                ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
        </t>

        <t>The fields of the option shown in <xref target="ra_dns" /> are as
        follows:<list style="hanging">
            <t hangText="Type:">8-bit identifier of the Encrypted DNS option
            as assigned by IANA (TBA3, see <xref target="iana7" />).</t>

            <t hangText="Length:">8-bit unsigned integer. The length of the
            option (including the Type and Length fields) is in units of 8
            octets.</t>

            <t hangText="Service Priority:">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="I-D.ietf-dnsop-svcb-https" />.</t>

            <t hangText="Lifetime:">32-bit unsigned integer. The maximum time
            in seconds (relative to the time the packet is received) over
            which the discovered Authentication Domain Name is valid. <vspace
            blankLines="1" />The value of Lifetime SHOULD by default be at
            least 3 * MaxRtrAdvInterval, where MaxRtrAdvInterval is the
            maximum RA interval as defined in <xref target="RFC4861" />.
            <vspace blankLines="1" />A value of all one bits (0xffffffff)
            represents infinity. <vspace blankLines="1" />A value of zero
            means that this Authentication Domain Name MUST no longer be
            used.</t>

            <t hangText="ADN Length:">16-bit unsigned integer. This field
            indicates the length of the authentication-domain-name field in
            octets.</t>

            <t hangText="authentication-domain-name (variable length):">The
            authentication domain name of the encrypted DNS resolver. This
            field is formatted as specified in <xref section="10"
            target="RFC8415" />.</t>

            <t hangText="Addr Length:">16-bit unsigned integer. This field
            indicates the length of enclosed IPv6 addresses in octets. When
            present, it MUST be a multiple of 16.</t>

            <t hangText="ipv6-address(es) (variable length):">One or more IPv6
            addresses of the encrypted DNS resolver. An address can be
            link-local, ULA, or GUA. <vspace blankLines="1" />All of the
            addresses share the same Lifetime value. Similar to <xref
            target="RFC8106" />, if it is desirable to have different Lifetime
            values per IP address, multiple Encrypted DNS options may be
            used.<vspace blankLines="1" />The format of this field is shown in
            <xref target="v6add" />.</t>

            <t hangText="SvcParams Length:">16-bit unsigned integer. This
            field indicates the length of the Service Parameters field in
            octets.</t>

            <t
            hangText="Service Parameters (SvcParams) (variable length):">Specifies
            a set of service parameters that are encoded following the rules
            in <xref section="2.1" target="I-D.ietf-dnsop-svcb-https" />.
            Service parameters may include, for example, a list of ALPN
            protocol identifiers or alternate port numbers. This field MUST
            include at least "alpn" SvcParam (<xref section="4.1"
            target="I-D.ietf-add-svcb-dns" />). The service parameters MUST
            NOT include "ipv4hint" or "ipv6hint" SvcParams as they are
            superseded by the included IP addresses.<vspace
            blankLines="1" />If no port service parameter is included, this
            indicates that default port numbers should be used.</t>
          </list></t>

        <t>Note that "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 MUST 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 title="IPv6 Host Behavior">
        <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 one described in
        <xref section="5.3.1" target="RFC8106" /> for processing received
        Encrypted DNS options with the formatting requirements in <xref
        target="RA-ADN" /> and validation checks in <xref target="VC" />
        substituted for the length and fields validation.</t>

        <t>The host MUST be prepared to receive multiple Encrypted DNS options
        in RAs. These instances MUST be processed following their service
        priority (i.e., smaller service priority indicates a higher
        preference).</t>

        <t>The host MUST silently discard multicast and host loopback
        addresses conveyed in the Encrypted DNS options.</t>
      </section>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t />

      <section anchor="spoof" title="Spoofing Attacks">
        <t>DHCP/RA messages are not encrypted or protected against
        modification within the LAN. Unless mitigated (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 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>

        <t>
          <list style="symbols">
            <t>DHCPv6-Shield <xref target="RFC7610" />: the network access
            node (e.g., a border router, a CPE, an Access Point (AP)) discards
            DHCP response messages received from any local endpoint.</t>

            <t>RA-Guard <xref target="RFC7113" />: the network access node
            discards RAs messages received from any local endpoint.</t>

            <t>Source Address Validation Improvement (SAVI) solution for DHCP
            <xref target="RFC7513" />: the network access node filters packets
            with forged source IP addresses.</t>
          </list>
        </t>

        <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 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 authentication domain name
        in the Encrypted DNS Option. DNS clients that ignore authentication
        failures and accept spoofed certificates will be subject to attacks
        (e.g., redirect to malicious resolvers, intercept sensitive data).</t>
      </section>

      <section title="Deletion Attacks">
        <t>If the DHCP responses or RAs are dropped by the attacker, the
        client can fall back to use a preconfigured encrypted DNS resolver.
        However, the use of policies to select resolvers is out of the scope
        of this document.</t>

        <t>Note that deletion attack is not specific to DHCP/RA.</t>
      </section>

      <section title="Passive Attacks">
        <t>A passive attacker (<xref section="3.2" target="RFC3552" />) can
        identify a host is using DHCP/RA to discover an encrypted DNS resolver
        and can infer that 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 title="Wireless Security - Authentication Attacks">
        <t>Wireless LAN (WLAN) as frequently deployed in local networks (e.g.,
        home networks) is 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., NTP server, DNS resolver,
        domain search list) 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., 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 such a 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" />). Not all
        endpoint devices (e.g., IoT devices) support 802.1x supplicant and
        need an alternate mechanism to connect to the local network. To
        address this limitation, unique pre-shared keys can be created for
        each such devices and WPA-PSK is used (e.g., <xref
        target="IPSK" />).</t>
      </section>
    </section>

    <section title="Privacy Considerations">
      <t>Privacy considerations that are specific to DNR provisioning
      mechanisms are discussed in <xref section="23" target="RFC8415" /> or
      <xref target="RFC7824" />. Anonymity profiles for DHCP clients are
      discussed in <xref target="RFC7844" />. The mechanism defined in this
      document can be used to infer that a DHCP client or IPv6 host support
      encrypted DNS options, but does 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 to encrypted DNS.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t />

      <section anchor="iana6" title="DHCPv6 Option">
        <t>IANA is requested to assign the following new DHCPv6 Option Code in
        the registry maintained in <xref target="DHCPV6" />.</t>

        <texttable anchor="dhcpv6t" title="DHCPv6 Encrypted DNS Option">
          <ttcol>Value</ttcol>

          <ttcol>Description</ttcol>

          <ttcol>Client ORO</ttcol>

          <ttcol>Singleton Option</ttcol>

          <ttcol>Reference</ttcol>

          <c>TBA1</c>

          <c>OPTION_V6_DNR</c>

          <c>Yes</c>

          <c>No</c>

          <c>[ThisDocument]</c>
        </texttable>

        <t />
      </section>

      <section anchor="iana4" title="DHCPv4 Option">
        <t>IANA is requested to assign the following new DHCP Option Code in
        the registry maintained in <xref target="BOOTP" />.</t>

        <texttable anchor="dhcpv4t" title="DHCPv4 Encrypted DNS Option">
          <ttcol>Tag</ttcol>

          <ttcol>Name</ttcol>

          <ttcol>Data Length</ttcol>

          <ttcol>Meaning</ttcol>

          <ttcol>Reference</ttcol>

          <c>TBA2</c>

          <c>OPTION_V4_DNR</c>

          <c>N</c>

          <c>Encrypted DNS Server</c>

          <c>[ThisDocument]</c>
        </texttable>
      </section>

      <section anchor="iana7" title="Neighbor Discovery Option">
        <t>IANA is requested to assign the following new IPv6 Neighbor
        Discovery Option type in the "IPv6 Neighbor Discovery Option Formats"
        sub-registry under the "Internet Control Message Protocol version 6
        (ICMPv6) Parameters" registry maintained in <xref target="ND" />.</t>

        <texttable anchor="ndt"
                   title="Neighbor Discovery Encrypted DNS Option">
          <ttcol>Type</ttcol>

          <ttcol>Description</ttcol>

          <ttcol>Reference</ttcol>

          <c>TBA3</c>

          <c>Encrypted DNS Option</c>

          <c>[ThisDocument]</c>
        </texttable>

        <t />
      </section>
    </section>

    <section title="Acknowledgements">
      <t>Many thanks to Christian Jacquenet and Michael Richardson for the
      review.</t>

      <t>Thanks to Stephen Farrell, Martin Thomson, Vittorio Bertola, Stephane
      Bortzmeyer, Ben Schwartz, Iain Sharp, and Chris Box for the
      comments.</t>

      <t>Thanks to Mark Nottingham for the feedback on HTTP redirection that
      was discussed in previous versions of this specification.</t>

      <t>The use of DHCP to retrieve an authentication domain name was
      discussed in <xref section="7.3.1" target="RFC8310" /> and <xref
      target="I-D.pusateri-dhc-dns-driu" />.</t>

      <t>Thanks to Bernie Volz for the review of the DHCP part.</t>

      <t>Thanks to Andrew Campling for the Shepherd review and Eric Vyncke for
      the AD review.</t>

      <t>Thanks to Rich Salz for the secdir review, Joe Clarke for the ops-dir
      review, and Robert Sparks for the artart review.</t>

      <t>Thanks to Lars Eggert, Roman Danyliw, Erik Kline, Martin Duke, Robert
      Wilton, and Paul Wouters for the IESG review.</t>
    </section>

    <section title="Contributing Authors">
      <t />

      <contact fullname="Nicolai Leymann">
        <organization>Deutsche Telekom</organization>

        <address>
          <postal>
            <street />

            <city />

            <region />

            <code />

            <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>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <references title="Normative References">
      <?rfc include='reference.RFC.2119.xml'?>

      <?rfc include='reference.RFC.8174.xml'?>

      <?rfc include='reference.RFC.4861.xml'?>

      <?rfc include='reference.RFC.8415.xml'?>

      <?rfc include='reference.RFC.2132.xml'?>

      <?rfc include='reference.RFC.8106.xml'?>

      <?rfc include='reference.RFC.3396.xml'?>

      <?rfc include='reference.I-D.ietf-dnsop-svcb-https.xml'?>

      <?rfc include='reference.I-D.ietf-add-svcb-dns.xml'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.RFC.8310.xml'?>

      <?rfc include='reference.RFC.5280.xml'?>

      <?rfc include='reference.RFC.8499.xml'?>

      <?rfc include='reference.RFC.6125.xml'?>

      <?rfc include='reference.RFC.3646.xml'?>

      <?rfc include='reference.RFC.7610.xml'?>

      <?rfc include='reference.RFC.7113.xml'?>

      <?rfc include='reference.RFC.7858.xml'?>

      <?rfc include='reference.RFC.8484.xml'?>

      <?rfc include='reference.RFC.9250.xml'?>

      <?rfc include='reference.RFC.6731.xml'?>

      <?rfc include='reference.RFC.3552.xml'?>

      <?rfc include='reference.RFC.7513.xml'?>

      <?rfc include='reference.RFC.8146.xml'?>

      <?rfc include='reference.RFC.7227.xml'?>

      <?rfc include='reference.RFC.7969.xml'?>

      <?rfc include='reference.RFC.4786.xml'?>

      <?rfc include='reference.I-D.ietf-add-ddr.xml'?>

      <?rfc include='reference.I-D.pusateri-dhc-dns-driu.xml'?>

      <?rfc include='reference.I-D.ietf-add-split-horizon-authority.xml'?>

      <?rfc include='reference.RFC.8801.xml'?>

      <?rfc include='reference.RFC.9076.xml'?>

      <?rfc include='reference.RFC.7824.xml'?>

      <?rfc include='reference.RFC.7844.xml'?>

      <reference anchor="Evil-Twin"
                 target="https://en.wikipedia.org/wiki/Evil_twin_(wireless_networks)">
        <front>
          <title>Evil twin (wireless networks)</title>

          <author>
            <organization>The Unicode Consortium</organization>
          </author>

          <date day="" month="" year="" />
        </front>
      </reference>

      <reference anchor="Krack" target="https://www.krackattacks.com/">
        <front>
          <title>Key Reinstallation Attacks</title>

          <author>
            <organization>The Unicode Consortium</organization>
          </author>

          <date day="" month="" year="2017" />
        </front>
      </reference>

      <reference anchor="Dragonblood"
                 target="https://papers.mathyvanhoef.com/dragonblood.pdf">
        <front>
          <title>Dragonblood: Analyzing the Dragonfly Handshake of WPA3 and
          EAP-pwd</title>

          <author>
            <organization>The Unicode Consortium</organization>
          </author>

          <date day="" month="" year="" />
        </front>
      </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>Identity PSK Feature Deployment Guide</title>

          <author>
            <organization>Cisco</organization>
          </author>

          <date day="" month="" year="" />
        </front>
      </reference>

      <reference anchor="dot1x"
                 target="https://openwrt.org/docs/guide-user/network/wifi/wireless.security.8021x">
        <front>
          <title>Basic 802.1x Wireless User Authentication</title>

          <author>
            <organization>Cisco</organization>
          </author>

          <date day="" month="" year="" />
        </front>
      </reference>

      <reference anchor="DHCPV6"
                 target="https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml#dhcpv6-parameters-2">
        <front>
          <title>DHCPv6 Option Codes</title>

          <author>
            <organization />
          </author>

          <date />
        </front>
      </reference>

      <reference anchor="ND"
                 target="https://www.iana.org/assignments/icmpv6-parameters/    icmpv6-parameters.xhtml#icmpv6-parameters-5">
        <front>
          <title>IPv6 Neighbor Discovery Option Formats</title>

          <author>
            <organization />
          </author>

          <date />
        </front>
      </reference>

      <reference anchor="BOOTP"
                 target="https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml#options">
        <front>
          <title>BOOTP Vendor Extensions and DHCP Options</title>

          <author>
            <organization />
          </author>

          <date />
        </front>
      </reference>

      <reference anchor="TS.24008"
                 target="http://www.3gpp.org/DynaReport/24008.htm">
        <front>
          <title>Mobile radio interface Layer 3 specification; Core network
          protocols; Stage 3 (Release 16)</title>

          <author fullname="" surname="">
            <organization>3GPP</organization>
          </author>

          <date day="0" month="December" year="2019" />
        </front>
      </reference>
    </references>
  </back>
</rfc>
