ADD                                                    M. Boucadair, Ed.
Internet-Draft                                                    Orange
Intended status: Standards Track                           T. Reddy, Ed.
Expires: November 18, 2021                                        McAfee
                                                                 D. Wing
                                                                  Citrix
                                                                 N. Cook
                                                            Open-Xchange
                                                               T. Jensen
                                                               Microsoft
                                                            May 17, 2021


  DHCP and Router Advertisement Options for the Discovery of Network-
                       designated Resolvers (DNR)
                         draft-ietf-add-dnr-02

Abstract

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

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on November 18, 2021.

Copyright Notice

   Copyright (c) 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Boucadair, et al.       Expires November 18, 2021               [Page 1]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Configuration Data for Encrypted DNS  . . . . . . . . . .   4
     3.2.  Handling Configuration Data Conflicts . . . . . . . . . .   5
     3.3.  Connection Establishment  . . . . . . . . . . . . . . . .   5
     3.4.  Multihoming Considerations  . . . . . . . . . . . . . . .   6
   4.  DHCPv6 Encrypted DNS Option . . . . . . . . . . . . . . . . .   6
     4.1.  Option Format . . . . . . . . . . . . . . . . . . . . . .   6
     4.2.  DHCPv6 Client Behavior  . . . . . . . . . . . . . . . . .   8
   5.  DHCPv4 Encrypted DNS Option . . . . . . . . . . . . . . . . .   8
     5.1.  Option Format . . . . . . . . . . . . . . . . . . . . . .   8
     5.2.  DHCPv4 Client Behavior  . . . . . . . . . . . . . . . . .  10
   6.  IPv6 RA Encrypted DNS Option  . . . . . . . . . . . . . . . .  10
     6.1.  Option Format . . . . . . . . . . . . . . . . . . . . . .  10
     6.2.  IPv6 Host Behavior  . . . . . . . . . . . . . . . . . . .  12
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  12
     7.1.  Spoofing Attacks  . . . . . . . . . . . . . . . . . . . .  12
     7.2.  Deletion Attacks  . . . . . . . . . . . . . . . . . . . .  13
     7.3.  Passive Attacks . . . . . . . . . . . . . . . . . . . . .  14
     7.4.  Wireless Security - Authentication Attacks  . . . . . . .  14
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  14
     8.1.  DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . .  14
     8.2.  DHCPv4 Option . . . . . . . . . . . . . . . . . . . . . .  15
     8.3.  Neighbor Discovery Option . . . . . . . . . . . . . . . .  15
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  15
   10. Contributing Authors  . . . . . . . . . . . . . . . . . . . .  15
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  16
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  16
     11.2.  Informative References . . . . . . . . . . . . . . . . .  17
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  19








Boucadair, et al.       Expires November 18, 2021               [Page 2]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


1.  Introduction

   This document focuses on the support of encrypted DNS such as DNS-
   over-HTTPS (DoH) [RFC8484], DNS-over-TLS (DoT) [RFC7858], or DNS-
   over-QUIC (DoQ) [I-D.ietf-dprive-dnsoquic] in local networks.

   In particular, the document specifies how a local encrypted DNS
   server can be discovered by connected hosts by means of DHCP
   [RFC2132], DHCPv6 [RFC8415], and IPv6 Router Advertisement (RA)
   [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.

   Sample target deployment scenarios are discussed in Section 3 of
   [I-D.boucadair-add-deployment-considerations].  These scenarios
   involve Customer Premises Equipment (CPEs) that may or may not be
   managed by an Internet Service Provider (ISP).  Also, considerations
   related to hosting a DNS forwarder in a local network are described
   in Section 4 of [I-D.boucadair-add-deployment-considerations].

2.  Terminology

   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 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   This document makes use of the terms defined in [RFC8499].  The
   following additional terms are used:

   Do53:  refers to unencrypted DNS.

   Encrypted DNS:  refers to a scheme where DNS exchanges are
      transported over an encrypted channel.  Examples of encrypted DNS
      are DNS-over-TLS (DoT) [RFC7858], DNS-over-HTTPS (DoH) [RFC8484],
      or DNS-over-QUIC (DoQ) [I-D.ietf-dprive-dnsoquic].

   Encrypted DNS options:  refers to the options defined in Sections 4,
      5, and 6.

   DHCP:  refers to both DHCPv4 and DHCPv6.

3.  Overview

   This document describes how a DNS client can discover local encrypted
   DNS servers using DHCP (Sections 4 and 5) and Neighbor Discovery
   protocol (Section 6): Encrypted DNS options.



Boucadair, et al.       Expires November 18, 2021               [Page 3]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   These options configure an authentication domain name, a list of IPv6
   addresses, and a set of service parameters of the encrypted DNS
   server.  More information about the design of these options is
   provided in the following subsections.

3.1.  Configuration Data for Encrypted DNS

   In order to allow for PKIX-based authentication between a DNS client
   and an encrypted DNS server, the Encrypted DNS options are designed
   to 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 Section 1.7.2 of [RFC6125]:

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

   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 server.  In the various scenarios sketched in
   [I-D.boucadair-add-deployment-considerations], encrypted DNS servers
   may terminate on the same IP address or distinct IP addresses.
   Terminating encrypted DNS servers on the same or distinct IP
   addresses is deployment specific.

   In order to optimize the size of discovery messages when all servers
   terminate on the same IP address, early versions of this document
   considered relying upon the discovery mechanisms specified in
   [RFC2132][RFC3646][RFC8106] to retrieve a list of IP addresses to
   reach their DNS servers.  Nevertheless, this approach requires a
   client that supports more than one encrypted DNS to probe that list
   of IP addresses.  To avoid such probing, the options defined in the
   following sections associate an IP address with an encrypted DNS
   type.  No probing is required in such a design.

   A list of IP addresses to reach an encrypted DNS server may be
   returned in the Encrypted DNS options to accommodate current
   deployments relying upon primary and backup servers.  Whether one IP
   address or more are returned in an Encrypted DNS option is deployment
   specific.  For example, a router embedding a recursive server or
   forwarder has to include one single IP address pointing to one of its
   LAN-facing interfaces.  This address can be a private IPv4 address, a
   link-local address, a Unique Local IPv6 unicast Address (ULA), or a
   Global Unicast Address (GUA).





Boucadair, et al.       Expires November 18, 2021               [Page 4]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   If more than one IP address are to be returned in an Encrypted DNS
   option, these addresses are ordered in the preference for use by the
   client.

   Because distinct Encrypted DNS protocols may be provisioned by a
   network (e.g., DoT, DoH, and DoQ) 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 Section 2.1 of [I-D.ietf-dnsop-svcb-https].
   This encoding approach may increase the size of the options but it
   has the merit to rely upon an existing IANA registry and thus to
   accommodate new Encrypted DNS protocols and service parameters that
   may be defined in the future.  For example, "dohpath" service
   parameter (Section 5.1 of [I-D.schwartz-svcb-dns]) supplies a
   relative DoH URI Template.

   A single option is used to convey both the ADN and IP addresses
   because otherwise means to correlate an IP address with an ADN will
   be required if, for example, more than one ADN is supported by the
   network.

3.2.  Handling Configuration Data Conflicts

   If the encrypted DNS is discovered by a host using both RA and DHCP,
   the rules discussed in Section 5.3.1 of [RFC8106] MUST be followed.

   DHCP/RA options to discover encrypted DNS servers (including, DoH URI
   Templates) takes precedence over DDR [I-D.ietf-add-ddr] since DDR
   uses unencrypted DNS 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 Section 7.1.

3.3.  Connection Establishment

   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 order of the discovered servers.  The client
   follows the mechanism discussed in Section 8 of [RFC8310] to
   authenticate the DNS server certificate using the authentication
   domain name conveyed in the Encrypted DNS options.  ALPN-related
   considerations can be found in Section 6.1 of
   [I-D.ietf-dnsop-svcb-https].







Boucadair, et al.       Expires November 18, 2021               [Page 5]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


3.4.  Multihoming Considerations

   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 [RFC6731] for a discussion of issues and an
   example of DNS server selection for multi-interfaced devices.

4.  DHCPv6 Encrypted DNS Option

4.1.  Option Format

   The format of the DHCPv6 Encrypted DNS option is shown in Figure 1.

    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         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         ADN Length            |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   ~                   authentication-domain-name                  ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Addr Length           |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   ~                        ipv6-address(es)                       ~
   |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   ~                 Service Parameters (SvcParams)                ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 1: DHCPv6 Encrypted DNS Option

   The fields of the option shown in Figure 1 are as follows:

   Option-code:  OPTION_V6_DNR (TBA1, see Section 8.1)

   Option-length:  Length of the enclosed data in octets.

   ADN Length:  Length of the authentication-domain-name field in
      octets.

   authentication-domain-name (variable length):  A fully qualified
      domain name of the encrypted DNS server.  This field is formatted
      as specified in Section 10 of [RFC8415].





Boucadair, et al.       Expires November 18, 2021               [Page 6]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


      An example of the authentication-domain-name encoding is shown in
      Figure 2.  This example conveys the FQDN "doh1.example.com.", and
      the resulting Option-length field is 18.

     +------+------+------+------+------+------+------+------+------+
     | 0x04 |   d  |   o  |   h  |  1   | 0x07 |   e  |   x  |   a  |
     +------+------+------+------+------+------+------+------+------+
     |   m  |   p  |   l  |   e  | 0x03 |   c  |   o  |   m  | 0x00 |
     +------+------+------+------+------+------+------+------+------+

    Figure 2: An Example of the DNS authentication-domain-name Encoding

   Addr Length:  Length of enclosed IPv6 addresses in octets.  It MUST
      be a multiple of 16.

   ipv6-address(es) (variable length):  Indicates one or more IPv6
      addresses to reach the encrypted DNS server.  An address can be
      link-local, ULA, or GUA.  The format of this field is shown in
      Figure 3.

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                         ipv6-address                          |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Figure 3: Format of the IPv6 Addresses Field

   Service Parameters (SvcParams) (variable length):  Specifies a set of
      service parameters that are encoded following the rules in
      Section 2.1 of [I-D.ietf-dnsop-svcb-https].  Service parameters
      may include, for example, a list of ALPN protocol identifiers or
      alternate port numbers.  The service parameters MUST NOT include
      "ipv4hint" or "ipv6hint" SvcParams as they are superseded by the
      included IP addresses.

      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 and 443 for DoH.

      The length of this field is ('Option-length' - 4 - 'ADN Length' -
      'Addr Length').






Boucadair, et al.       Expires November 18, 2021               [Page 7]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   Multiple instances of OPTION_V6_DNR may be returned to a DHCPv6
   client; each pointing to a distinct encrypted DNS server.  These
   instances are ordered in the preference for use by the client.

4.2.  DHCPv6 Client Behavior

   To discover an encrypted DNS server, 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 [RFC8415].

   The DHCP client MUST be prepared to receive multiple OPTION_V6_DNR
   options; each option is to be treated as a separate encrypted DNS
   server.

   The DHCPv6 client MUST silently discard multicast and host loopback
   addresses conveyed in OPTION_V6_DNR.

5.  DHCPv4 Encrypted DNS Option

5.1.  Option Format

   The format of the DHCPv4 Encrypted DNS option is illustrated in
   Figure 4.

                      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |     TBA2      |     Length    |
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |   ADN Length  |               |
                     +-+-+-+-+-+-+-+-+               |
                     ~  authentication-domain-name   ~
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |  Addr Length  |               |
                     +-+-+-+-+-+-+-+-+               +
                     ~        IPv4 Address(es)       ~
                     |               +-+-+-+-+-+-+-+-+
                     |               |               |
                     +-+-+-+-+-+-+-+-+               |
                     ~Service Parameters (SvcParams) ~
                     |                               |
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 4: DHCPv4 Encrypted DNS Option

   The fields of the option shown in Figure 4 are as follows:

   Code:  OPTION_V4_DNR (TBA2, see Section 8.2).




Boucadair, et al.       Expires November 18, 2021               [Page 8]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   Length:  Indicates the length of the enclosed data in octets.

   ADN Length:  Indicates the length of the authentication-domain-name
      in octets.

   authentication-domain-name (variable length):  Includes the
      authentication domain name of the encrypted DNS server.  This
      field is formatted as specified in Section 10 of [RFC8415].  The
      format of this field is shown in Figure 5.  The values s1, s2, s3,
      etc. represent the domain name labels in the domain name encoding.

                   +-----+-----+-----+-----+-----+--
                   |  s1 |  s2 |  s3 |  s4 | s5  |  ...
                   +-----+-----+-----+-----+-----+--
                     authentication-domain-name

         Figure 5: Format of the Authentication Domain Name Field

   Addr Length:  Indicates the length of included IPv4 addresses in
      octets.  It MUST be a multiple of 4.

   IPv4 Address(es) (variable length):  Indicates one or more IPv4
      addresses to reach the encrypted DNS server.  Both private and
      public IPv4 addresses can be included in this field.  The format
      of this field is shown in Figure 6.  This format assumes that an
      IPv4 address is encoded as a1.a2.a3.a4.

               0     8     16    24    32    40    48
               +-----+-----+-----+-----+-----+-----+--
               |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 | ...
               +-----+-----+-----+-----+-----+-----+--
                 IPv4 Address 1          IPv4 Address 2 ...

               Figure 6: Format of the IPv4 Addresses Field

   Service Paramters (SvcParams) (variable length):  Specifies a set of
      service parameters that are encoded following the rules in
      Section 2.1 of [I-D.ietf-dnsop-svcb-https].  Service parameters
      may include, for example, a list of ALPN protocol identifiers or
      alternate port numbers.  The service parameters MUST NOT include
      "ipv4hint" or "ipv6hint" SvcParams as they are superseded by the
      included IP addresses.

      If no port service parameter is included, this indicates that
      default port numbers should be used.

      The length of this field is ('Option-length' - 2 - 'ADN Length' -
      'Addr Length').



Boucadair, et al.       Expires November 18, 2021               [Page 9]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   OPTION_V4_DNR is a concatenation-requiring option.  As such, the
   mechanism specified in [RFC3396] MUST be used if OPTION_V4_DNR
   exceeds the maximum DHCPv4 option size of 255 octets.

   Multiple instances of OPTION_V4_DNR may be returned to a DHCPv4
   client; each pointing to a distinct encrypted DNS server.  These
   instances are ordered in the preference for use by the client.

5.2.  DHCPv4 Client Behavior

   To discover an encrypted DNS server, the DHCPv4 client requests the
   Encrypted DNS server by including OPTION_V4_DNR in a Parameter
   Request List option [RFC2132].

   The DHCPv4 client MUST be prepared to receive multiple DHCP
   OPTION_V4_DNR options; each option is to be treated as a separate
   encrypted DNS server.

   The DHCPv4 client MUST silently discard multicast and host loopback
   addresses conveyed in OPTION_V4_DNR.

6.  IPv6 RA Encrypted DNS Option

6.1.  Option Format

   This section defines a new Neighbor Discovery option [RFC4861]: IPv6
   RA Encrypted DNS option.  This option is useful in contexts similar
   to those discussed in Section 1.1 of [RFC8106].

   The format of the IPv6 RA Encrypted DNS option is illustrated in
   Figure 7.




















Boucadair, et al.       Expires November 18, 2021              [Page 10]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


      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    |         ADN Length            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Lifetime                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                   authentication-domain-name                  ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Addr Length           |                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
     ~                        ipv6-address(es)                       ~
     |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                               |     SvcParams Length          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                 Service Parameters (SvcParams)                ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 7: RA Encrypted DNS Option

   The fields of the option shown in Figure 7 are as follows:

   Type:  8-bit identifier of the Encrypted DNS Option as assigned by
      IANA (TBA3, see Section 8.3).

   Length:  8-bit unsigned integer.  The length of the option (including
      the Type and Length fields) is in units of 8 octets.

   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.

      The value of Lifetime SHOULD by default be at least 3 *
      MaxRtrAdvInterval, where MaxRtrAdvInterval is the maximum RA
      interval as defined in [RFC4861].

      A value of all one bits (0xffffffff) represents infinity.

      A value of zero means that this Authentication Domain Name MUST no
      longer be used.

   ADN Length:  16-bit unsigned integer.  This field indicates the
      length of the authentication-domain-name field in octets.

   authentication-domain-name (variable length):  The domain name of the
      encrypted DNS server.  This field is formatted as specified in
      Section 10 of [RFC8415].




Boucadair, et al.       Expires November 18, 2021              [Page 11]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   Addr Length:  16-bit unsigned integer.  This field indicates the
      length of enclosed IPv6 addresses in octets.  It MUST be a
      multiple of 16.

   ipv6-address(es) (variable length):  One or more IPv6 addresses of
      the encrypted DNS server.  An address can be link-local, ULA, or
      GUA.

      All of the addresses share the same Lifetime value.  Similar to
      [RFC8106], if it is desirable to have different Lifetime values
      per IP address, multiple Encrypted DNS options may be used.

      The format of this field is shown in Figure 3.

   SvcParams Length:  16-bit unsigned integer.  This field indicates the
      length of the Service Parameters field in octets.

   Service Paramters (SvcParams) (variable length):  Specifies a set of
      service parameters that are encoded following the rules in
      Section 2.1 of [I-D.ietf-dnsop-svcb-https].  Service parameters
      may include, for example, a list of ALPN protocol identifiers or
      alternate port numbers.  The service parameters MUST NOT include
      "ipv4hint" or "ipv6hint" SvcParams as they are superseded by the
      included IP addresses.

      If no port service parameter is included, this indicates that
      default port numbers should be used.

   The option MUST be padded with zeros so that the full enclosed data
   is a multiple of 8 octets (Section 4.6 of [RFC4861]).

6.2.  IPv6 Host Behavior

   The procedure for DNS configuration is the same as it is with any
   other Neighbor Discovery option [RFC4861].  In addition, the host
   follows the procedure described in Section 5.3.1 of [RFC8106].

   The host MUST silently discard multicast and host loopback addresses
   conveyed in the Encrypted DNS options.

7.  Security Considerations

7.1.  Spoofing Attacks

   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



Boucadair, et al.       Expires November 18, 2021              [Page 12]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   attacker (Section 3.3 of [RFC3552]) can spoof the DHCP/RA response to
   provide the attacker's Encrypted DNS server.  Note that such an
   attacker can launch other attacks as discussed in Section 22 of
   [RFC8415].  The attacker can get a domain name with a domain-
   validated public certificate from a CA and host an Encrypted DNS
   server.

   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:

   o  DHCPv6-Shield described in [RFC7610], the CPE discards DHCP
      response messages received from any local endpoint.

   o  RA-Guard described in [RFC7113], the CPE discards RAs messages
      received from any local endpoint.

   o  Source Address Validation Improvement (SAVI) solution for DHCP
      described in [RFC7513], the CPE filters packets with forged source
      IP addresses.

   The above mechanisms would ensure that the endpoint receives the
   correct configuration information of the encrypted DNS servers
   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) .

   Encrypted DNS sessions with rogue servers that spoof the IP address
   of a DNS server will fail because the DNS client will fail to
   authenticate that rogue server based upon PKIX authentication
   [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 servers, intercept sensitive data).

   Encrypted DNS connections received from outside the local network
   MUST be discarded by the encrypted DNS forwarder in the CPE.  This
   behavior adheres to REQ#8 in [RFC6092]; it MUST apply for both IPv4
   and IPv6.

7.2.  Deletion Attacks

   If the DHCP responses or RAs are dropped by the attacker, the client
   can fallback to use a preconfigured encrypted DNS server.  However,
   the use of policies to select servers is out of the scope of this
   document.

   Note that deletion attack is not specific to DHCP/RA.



Boucadair, et al.       Expires November 18, 2021              [Page 13]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


7.3.  Passive Attacks

   A passive attacker (Section 3.2 of [RFC3552]) can identify a host is
   using DHCP/RA to discover an encrypted DNS server 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.

7.4.  Wireless Security - Authentication Attacks

   Wireless LAN (WLAN) as frequently deployed in local networks (e.g.,
   home networks) is vulnerable to various attacks (e.g., [Evil-Twin],
   [Krack], [Dragonblood]).  Because of these attacks, only
   cryptographically authenticated communications are trusted on WLANs.
   This means that an information (e.g., NTP server, DNS server, default
   domain) provided by such networks via DHCP, DHCPv6, or RA are
   untrusted because DHCP and RA messages are not authenticated.

   If the pre-shared key is the same for all clients that connect to the
   same WLAN, the shared key will be available to all nodes, including
   attackers.  As such, it is possible to mount an active on-path
   attack.  Man-in-the-middle attacks are possible within local networks
   because such WLAN authentication lacks peer entity authentication.

   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
   Access Point (e.g., 802.1x Wireless User Authentication on OpenWRT
   [dot1x], EAP-pwd [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 device and WPA-PSK is
   used (e.g., [PSK]).

8.  IANA Considerations

8.1.  DHCPv6 Option

   IANA is requested to assign the following new DHCPv6 Option Code in
   the registry maintained in [DHCPV6].

   +-------+---------------+-----------+--------------+----------------+
   | Value | Description   | Client    | Singleton    | Reference      |
   |       |               | ORO       | Option       |                |
   +-------+---------------+-----------+--------------+----------------+
   | TBA1  | OPTION_V6_DNR | Yes       | No           | [ThisDocument] |
   +-------+---------------+-----------+--------------+----------------+




Boucadair, et al.       Expires November 18, 2021              [Page 14]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


8.2.  DHCPv4 Option

   IANA is requested to assign the following new DHCP Option Code in the
   registry maintained in [BOOTP].

   +------+------------------+-------+----------------+----------------+
   | Tag  | Name             | Data  | Meaning        | Reference      |
   |      |                  | Length|                |                |
   +------+------------------+-------+----------------+----------------+
   | TBA2 | OPTION_V4_DNR    | N     | Encrypted DNS  | [ThisDocument] |
   |      |                  |       | Server         |                |
   +------+------------------+-------+----------------+----------------+

8.3.  Neighbor Discovery Option

   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 [ND].

           +------+--------------------------+----------------+
           | Type | Description              | Reference      |
           +------+--------------------------+----------------+
           | TBA3 | DNS Encrypted DNS Option | [ThisDocument] |
           +------+--------------------------+----------------+

9.  Acknowledgements

   Many thanks to Christian Jacquenet and Michael Richardson for the
   review.

   Thanks to Stephen Farrell, Martin Thomson, Vittorio Bertola, Stephane
   Bortzmeyer, Ben Schwartz, and Iain Sharp for the comments.

   Thanks to Mark Nottingham for the feedback on HTTP redirection.

   The use of DHCP to retrieve an authentication domain name was
   discussed in Section 7.3.1 of [RFC8310] and
   [I-D.pusateri-dhc-dns-driu].

   Thanks to Bernie Volz for the review of the DHCP part.

10.  Contributing Authors








Boucadair, et al.       Expires November 18, 2021              [Page 15]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


      Nicolai Leymann
      Deutsche Telekom
      Germany

      Email: n.leymann@telekom.de

      Zhiwei Yan
      CNNIC
      No.4 South 4th Street, Zhongguancun
      Beijing  100190
      China

      EMail: yan@cnnic.cn

11.  References

11.1.  Normative References

   [I-D.ietf-dnsop-svcb-https]
              Schwartz, B., Bishop, M., and E. Nygren, "Service binding
              and parameter specification via the DNS (DNS SVCB and
              HTTPS RRs)", draft-ietf-dnsop-svcb-https-05 (work in
              progress), April 2021.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC2132]  Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
              Extensions", RFC 2132, DOI 10.17487/RFC2132, March 1997,
              <https://www.rfc-editor.org/info/rfc2132>.

   [RFC3396]  Lemon, T. and S. Cheshire, "Encoding Long Options in the
              Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396,
              DOI 10.17487/RFC3396, November 2002,
              <https://www.rfc-editor.org/info/rfc3396>.

   [RFC4861]  Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
              "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
              DOI 10.17487/RFC4861, September 2007,
              <https://www.rfc-editor.org/info/rfc4861>.

   [RFC8106]  Jeong, J., Park, S., Beloeil, L., and S. Madanapalli,
              "IPv6 Router Advertisement Options for DNS Configuration",
              RFC 8106, DOI 10.17487/RFC8106, March 2017,
              <https://www.rfc-editor.org/info/rfc8106>.




Boucadair, et al.       Expires November 18, 2021              [Page 16]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8415]  Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A.,
              Richardson, M., Jiang, S., Lemon, T., and T. Winters,
              "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)",
              RFC 8415, DOI 10.17487/RFC8415, November 2018,
              <https://www.rfc-editor.org/info/rfc8415>.

11.2.  Informative References

   [BOOTP]    "BOOTP Vendor Extensions and DHCP Options",
              <https://www.iana.org/assignments/bootp-dhcp-parameters/
              bootp-dhcp-parameters.xhtml#options>.

   [DHCPV6]   "DHCPv6 Option Codes", <https://www.iana.org/assignments/
              dhcpv6-parameters/dhcpv6-parameters.xhtml#dhcpv6-
              parameters-2>.

   [dot1x]    Cisco, "Basic 802.1x Wireless User Authentication",
              <https://openwrt.org/docs/guide-user/network/wifi/
              wireless.security.8021x>.

   [Dragonblood]
              The Unicode Consortium, "Dragonblood: Analyzing the
              Dragonfly Handshake of WPA3 and EAP-pwd",
              <https://papers.mathyvanhoef.com/dragonblood.pdf>.

   [Evil-Twin]
              The Unicode Consortium, "Evil twin (wireless networks)",
              <https://en.wikipedia.org/wiki/
              Evil_twin_(wireless_networks)>.

   [I-D.boucadair-add-deployment-considerations]
              Boucadair, M., Reddy, T., Wing, D., Cook, N., and T.
              Jensen, "Discovery of Encrypted DNS Resolvers: Deployment
              Considerations", draft-boucadair-add-deployment-
              considerations-00 (work in progress), May 2021.

   [I-D.ietf-add-ddr]
              Pauly, T., Kinnear, E., Wood, C. A., McManus, P., and T.
              Jensen, "Discovery of Designated Resolvers", draft-ietf-
              add-ddr-00 (work in progress), February 2021.







Boucadair, et al.       Expires November 18, 2021              [Page 17]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   [I-D.ietf-dprive-dnsoquic]
              Huitema, C., Mankin, A., and S. Dickinson, "Specification
              of DNS over Dedicated QUIC Connections", draft-ietf-
              dprive-dnsoquic-02 (work in progress), February 2021.

   [I-D.pusateri-dhc-dns-driu]
              Pusateri, T. and W. Toorop, "DHCPv6 Options for private
              DNS Discovery", draft-pusateri-dhc-dns-driu-00 (work in
              progress), July 2018.

   [I-D.schwartz-svcb-dns]
              Schwartz, B., "Service Binding Mapping for DNS Servers",
              draft-schwartz-svcb-dns-03 (work in progress), April 2021.

   [Krack]    The Unicode Consortium, "Key Reinstallation Attacks",
              2017, <https://www.krackattacks.com/>.

   [ND]       "IPv6 Neighbor Discovery Option Formats",
              <http://www.iana.org/assignments/icmpv6-parameters/
              icmpv6-parameters.xhtml#icmpv6-parameters-5>.

   [PSK]      Cisco, "Identity PSK Feature Deployment Guide",
              <https://www.cisco.com/c/en/us/td/docs/wireless/
              controller/technotes/8-5/
              b_Identity_PSK_Feature_Deployment_Guide.html>.

   [RFC3552]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC
              Text on Security Considerations", BCP 72, RFC 3552,
              DOI 10.17487/RFC3552, July 2003,
              <https://www.rfc-editor.org/info/rfc3552>.

   [RFC3646]  Droms, R., Ed., "DNS Configuration options for Dynamic
              Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3646,
              DOI 10.17487/RFC3646, December 2003,
              <https://www.rfc-editor.org/info/rfc3646>.

   [RFC6092]  Woodyatt, J., Ed., "Recommended Simple Security
              Capabilities in Customer Premises Equipment (CPE) for
              Providing Residential IPv6 Internet Service", RFC 6092,
              DOI 10.17487/RFC6092, January 2011,
              <https://www.rfc-editor.org/info/rfc6092>.

   [RFC6125]  Saint-Andre, P. and J. Hodges, "Representation and
              Verification of Domain-Based Application Service Identity
              within Internet Public Key Infrastructure Using X.509
              (PKIX) Certificates in the Context of Transport Layer
              Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March
              2011, <https://www.rfc-editor.org/info/rfc6125>.



Boucadair, et al.       Expires November 18, 2021              [Page 18]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   [RFC6731]  Savolainen, T., Kato, J., and T. Lemon, "Improved
              Recursive DNS Server Selection for Multi-Interfaced
              Nodes", RFC 6731, DOI 10.17487/RFC6731, December 2012,
              <https://www.rfc-editor.org/info/rfc6731>.

   [RFC7113]  Gont, F., "Implementation Advice for IPv6 Router
              Advertisement Guard (RA-Guard)", RFC 7113,
              DOI 10.17487/RFC7113, February 2014,
              <https://www.rfc-editor.org/info/rfc7113>.

   [RFC7513]  Bi, J., Wu, J., Yao, G., and F. Baker, "Source Address
              Validation Improvement (SAVI) Solution for DHCP",
              RFC 7513, DOI 10.17487/RFC7513, May 2015,
              <https://www.rfc-editor.org/info/rfc7513>.

   [RFC7610]  Gont, F., Liu, W., and G. Van de Velde, "DHCPv6-Shield:
              Protecting against Rogue DHCPv6 Servers", BCP 199,
              RFC 7610, DOI 10.17487/RFC7610, August 2015,
              <https://www.rfc-editor.org/info/rfc7610>.

   [RFC7858]  Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
              and P. Hoffman, "Specification for DNS over Transport
              Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May
              2016, <https://www.rfc-editor.org/info/rfc7858>.

   [RFC8146]  Harkins, D., "Adding Support for Salted Password Databases
              to EAP-pwd", RFC 8146, DOI 10.17487/RFC8146, April 2017,
              <https://www.rfc-editor.org/info/rfc8146>.

   [RFC8310]  Dickinson, S., Gillmor, D., and T. Reddy, "Usage Profiles
              for DNS over TLS and DNS over DTLS", RFC 8310,
              DOI 10.17487/RFC8310, March 2018,
              <https://www.rfc-editor.org/info/rfc8310>.

   [RFC8484]  Hoffman, P. and P. McManus, "DNS Queries over HTTPS
              (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018,
              <https://www.rfc-editor.org/info/rfc8484>.

   [RFC8499]  Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS
              Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499,
              January 2019, <https://www.rfc-editor.org/info/rfc8499>.

Authors' Addresses








Boucadair, et al.       Expires November 18, 2021              [Page 19]


Internet-Draft  Discovery of Network-designated Resolvers       May 2021


   Mohamed Boucadair (editor)
   Orange
   Rennes  35000
   France

   Email: mohamed.boucadair@orange.com


   Tirumaleswar Reddy (editor)
   McAfee, Inc.
   Embassy Golf Link Business Park
   Bangalore, Karnataka  560071
   India

   Email: TirumaleswarReddy_Konda@McAfee.com


   Dan Wing
   Citrix Systems, Inc.
   USA

   Email: dwing-ietf@fuggles.com


   Neil Cook
   Open-Xchange
   UK

   Email: neil.cook@noware.co.uk


   Tommy Jensen
   Microsoft
   USA

   Email: tojens@microsoft.com















Boucadair, et al.       Expires November 18, 2021              [Page 20]