ADD M. Boucadair, Ed.
Internet-Draft Orange
Intended status: Standards Track T. Reddy, Ed.
Expires: 26 December 2022 Akamai
D. Wing
Citrix
N. Cook
Open-Xchange
T. Jensen
Microsoft
24 June 2022
DHCP and Router Advertisement Options for the Discovery of Network-
designated Resolvers (DNR)
draft-ietf-add-dnr-09
Abstract
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.
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 26 December 2022.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
Boucadair, et al. Expires 26 December 2022 [Page 1]
Internet-Draft Discovery of Network-designated Resolver June 2022
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 Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Configuration Data for Encrypted DNS . . . . . . . . . . 4
3.1.1. ADN as the Reference Identifier for DNS
Authentication . . . . . . . . . . . . . . . . . . . 4
3.1.2. Avoiding Dependency on External Resolvers . . . . . . 4
3.1.3. Single vs. Multiple IP Addresses . . . . . . . . . . 5
3.1.4. Why Not Separate Options for ADN and IP Addresses? . 5
3.1.5. Service Parameters . . . . . . . . . . . . . . . . . 5
3.1.6. Service Mode vs ADN Only Mode . . . . . . . . . . . . 6
3.1.7. Encrypted DNS Options Ordering . . . . . . . . . . . 6
3.1.8. Recommended DNR Information . . . . . . . . . . . . . 6
3.2. Handling Configuration Data Conflicts . . . . . . . . . . 7
3.3. Connection Establishment . . . . . . . . . . . . . . . . 7
3.4. Multihoming Considerations . . . . . . . . . . . . . . . 7
4. DHCPv6 Encrypted DNS Option . . . . . . . . . . . . . . . . . 7
4.1. Option Format . . . . . . . . . . . . . . . . . . . . . . 7
4.2. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . 9
5. DHCPv4 Encrypted DNS Option . . . . . . . . . . . . . . . . . 10
5.1. Option Format . . . . . . . . . . . . . . . . . . . . . . 10
5.2. DHCPv4 Client Behavior . . . . . . . . . . . . . . . . . 12
6. IPv6 RA Encrypted DNS Option . . . . . . . . . . . . . . . . 12
6.1. Option Format . . . . . . . . . . . . . . . . . . . . . . 12
6.2. IPv6 Host Behavior . . . . . . . . . . . . . . . . . . . 14
7. Security Considerations . . . . . . . . . . . . . . . . . . . 14
7.1. Spoofing Attacks . . . . . . . . . . . . . . . . . . . . 14
7.2. Deletion Attacks . . . . . . . . . . . . . . . . . . . . 15
7.3. Passive Attacks . . . . . . . . . . . . . . . . . . . . . 16
7.4. Wireless Security - Authentication Attacks . . . . . . . 16
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
8.1. DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . . 16
8.2. DHCPv4 Option . . . . . . . . . . . . . . . . . . . . . . 17
8.3. Neighbor Discovery Option . . . . . . . . . . . . . . . . 17
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17
10. Contributing Authors . . . . . . . . . . . . . . . . . . . . 18
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
Boucadair, et al. Expires 26 December 2022 [Page 2]
Internet-Draft Discovery of Network-designated Resolver June 2022
11.1. Normative References . . . . . . . . . . . . . . . . . . 18
11.2. Informative References . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
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) [RFC9250] in local networks.
In particular, the document specifies how a local encrypted DNS
resolver can be discovered by connected hosts by means of DHCPv4
[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. This
procedure is called Discovery of Network-designated Resolvers (DNR).
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), local networks with or without DNS forwarders). It is out of
the scope of this document to provide an inventory of such
deployments.
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.
DNR: refers to the Discovery of Network-designated Resolvers
procedure.
Encrypted DNS: refers to a scheme where DNS exchanges are
transported over an encrypted channel. Examples of encrypted DNS
are DoT, DoH, or DoQ.
Encrypted DNS options: refers to the options defined in Sections 4,
5, and 6.
Boucadair, et al. Expires 26 December 2022 [Page 3]
Internet-Draft Discovery of Network-designated Resolver June 2022
DHCP: refers to both DHCPv4 and DHCPv6.
3. Overview
This document describes how a DNS client can discover local encrypted
DNS resolvers using DHCP (Sections 4 and 5) and Neighbor Discovery
protocol (Section 6): Encrypted DNS options.
These options configure an authentication domain name, a list of IPv6
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.
3.1. Configuration Data for Encrypted DNS
3.1.1. ADN as the Reference Identifier for DNS Authentication
In order to allow for PKIX-based authentication between a DNS client
and an encrypted DNS resolver, 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.
3.1.2. Avoiding Dependency on External Resolvers
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.
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 [RFC2132][RFC3646][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 4, 5, and 6 associate an IP
address with an encrypted DNS protocol. No probing is required in
such a design.
Boucadair, et al. Expires 26 December 2022 [Page 4]
Internet-Draft Discovery of Network-designated Resolver June 2022
3.1.3. Single vs. Multiple IP Addresses
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 [RFC4786]) are used.
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).
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.
3.1.4. Why Not Separate Options for ADN and IP Addresses?
A single option is used to convey both the ADN and IP addresses
because otherwise 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.
3.1.5. Service Parameters
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 relying upon an existing IANA registry and, thus,
accommodating new encrypted DNS protocols and service parameters that
may be defined in the future.
The following service parameters MUST be supported by a DNR
implementation:
alpn: Used to indicate the set of supported protocols (Section 7.1
of [I-D.ietf-dnsop-svcb-https]).
port: Used to indicate the target port number for the encrypted DNS
connection (Section 7.2 of [I-D.ietf-dnsop-svcb-https]).
Boucadair, et al. Expires 26 December 2022 [Page 5]
Internet-Draft Discovery of Network-designated Resolver June 2022
In addition, the following service parameters are RECOMMENDED to be
supported by a DNR implementation:
ech: Used to enable Encrypted ClientHello (ECH) (Section 7.3 of
[I-D.ietf-dnsop-svcb-https]).
dohpath: Used to supply a relative DoH URI Template (Section 5.1 of
[I-D.ietf-add-svcb-dns]).
3.1.6. Service Mode vs ADN Only Mode
ServiceMode (Section 2.4.3 of [I-D.ietf-dnsop-svcb-https]) SHOULD be
used because the Encrypted DNS options are self-contained and do not
require any additional DNS queries. The reader may refer to
[RFC7969] for an overview of advanced capabilities that are supported
by DHCP servers to populate configuration data (e.g., issue DNS
queries).
In contexts where putting additional complexity on requesting hosts
is acceptable, returning an ADN only can be considered. The supplied
ADN will be processed by a host following the procedure in Section 5
of [I-D.ietf-add-ddr]. Note that this mode may be subject to active
attacks, which can be mitigated by DNSSEC.
3.1.7. Encrypted DNS Options Ordering
The DHCP options defined in Sections 4 and 5 follow the option
ordering guidelines in Section 17 of [RFC7227].
Likewise, the RA option (Section 6) adheres to the recommendations in
Section 9 of [RFC4861].
3.1.8. Recommended DNR Information
Other mechanisms may be considered in other contexts (e.g., secure
discovery) for the provisioning of encrypted DNS resolvers. It is
RECOMMENDED that at least the following DNR information is made
available to a requesting host:
* A service priority whenever the discovery mechanism does not rely
on implicit ordering if multiple instances of the encrypted DNS
are used.
* An authentication domain name.
* A list of IP addresses to locate the encrypted DNS resolver.
* A set of service parameters.
Boucadair, et al. Expires 26 December 2022 [Page 6]
Internet-Draft Discovery of Network-designated Resolver June 2022
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 resolvers (including, DoH
URI Templates) takes precedence over Discovery of Designated
Resolvers (DDR) [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 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 resolvers. The client
follows the mechanism discussed in Section 8 of [RFC8310] to
authenticate the DNS resolver 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].
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 resolver 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.
Boucadair, et al. Expires 26 December 2022 [Page 7]
Internet-Draft Discovery of Network-designated Resolver June 2022
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) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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. The option
length is ('ADN Length' + 4) when only an ADN is included in the
option.
Service Priority: The priority of this OPTION_V6_DNR instance
compared to other instances. This field is encoded following the
rules specified in Section 2.4.1 of [I-D.ietf-dnsop-svcb-https].
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 resolver. This field is
formatted as specified in Section 10 of [RFC8415].
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 |
+------+------+------+------+------+------+------+------+------+
Boucadair, et al. Expires 26 December 2022 [Page 8]
Internet-Draft Discovery of Network-designated Resolver June 2022
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 for ServiceMode.
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
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, 443 for DoH, and 853 for DoQ.
The length of this field is ('Option-length' - 6 - 'ADN Length' -
'Addr Length').
4.2. DHCPv6 Client Behavior
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 [RFC8415].
Boucadair, et al. Expires 26 December 2022 [Page 9]
Internet-Draft Discovery of Network-designated Resolver June 2022
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 SHOULD be processed
following their service priority (i.e., smaller service priority
indicates a higher preference).
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Service Priority |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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).
Length: Indicates the length of the enclosed data in octets. The
option length is ('ADN Length' + 3) when only an ADN is included
in the option.
Service Priority: The priority of this OPTION_V4_DNR instance
Boucadair, et al. Expires 26 December 2022 [Page 10]
Internet-Draft Discovery of Network-designated Resolver June 2022
compared to other instances. This field is encoded following the
rules specified in Section 2.4.1 of [I-D.ietf-dnsop-svcb-https].
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 resolver. This
field is formatted as specified in Section 10 of [RFC8415]. An
example is provided in Figure 2.
Addr Length: Indicates the length of included IPv4 addresses in
octets. It MUST be a multiple of 4 for ServiceMode.
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 Figure 5. 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 5: 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' - 4 - 'ADN Length' -
'Addr Length').
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.
Boucadair, et al. Expires 26 December 2022 [Page 11]
Internet-Draft Discovery of Network-designated Resolver June 2022
5.2. DHCPv4 Client Behavior
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 [RFC2132].
The DHCPv4 client MUST be prepared to receive multiple instances of
the OPTION_V4_DNR option; each option is to be treated as a separate
encrypted DNS resolver. These instances SHOULD be processed
following their service priority (i.e., smaller service priority
indicates a higher preference).
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 6.
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) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: RA Encrypted DNS Option
Boucadair, et al. Expires 26 December 2022 [Page 12]
Internet-Draft Discovery of Network-designated Resolver June 2022
The fields of the option shown in Figure 6 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.
Service Priority: The priority of this Encrypted DNS option instance
compared to other instances. This field is encoded following the
rules specified in Section 2.4.1 of [I-D.ietf-dnsop-svcb-https].
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 resolver. This field is formatted as specified in
Section 10 of [RFC8415].
Addr Length: 16-bit unsigned integer. This field indicates the
length of enclosed IPv6 addresses in octets. It MUST be a
multiple of 16 for ServiceMode.
ipv6-address(es) (variable length): One or more IPv6 addresses of
the encrypted DNS resolver. 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.
Boucadair, et al. Expires 26 December 2022 [Page 13]
Internet-Draft Discovery of Network-designated Resolver June 2022
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 same procedure as the one described in Section 5.3.1 of
[RFC8106] for processing received Encrypted DNS options with the
formatting requirements in Section 6.1 substituted for the length
validation.
The host MUST be prepared to receive multiple Encrypted DNS options
in RAs. These instances SHOULD be processed following their service
priority (i.e., smaller service priority indicates a higher
preference).
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
attacker (Section 3.3 of [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 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
resolver.
Boucadair, et al. Expires 26 December 2022 [Page 14]
Internet-Draft Discovery of Network-designated Resolver June 2022
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:
* DHCPv6-Shield described in [RFC7610], the router (e.g., a border
router, a CPE) discards DHCP response messages received from any
local endpoint.
* RA-Guard described in [RFC7113], the router discards RAs messages
received from any local endpoint.
* Source Address Validation Improvement (SAVI) solution for DHCP
described in [RFC7513], the router filters packets with forged
source IP addresses.
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) .
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
[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).
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 resolver. However,
the use of policies to select resolvers is out of the scope of this
document.
Note that deletion attack is not specific to DHCP/RA.
Boucadair, et al. Expires 26 December 2022 [Page 15]
Internet-Draft Discovery of Network-designated Resolver June 2022
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 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.
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 resolver,
domain search list) provided by such networks via DHCP, DHCPv6, or RA
are untrusted because DHCP and RA messages are not authenticated.
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.
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 devices and WPA-PSK is
used (e.g., [IPSK]).
8. IANA Considerations
8.1. DHCPv6 Option
IANA is requested to assign the following new DHCPv6 Option Code in
the registry maintained in [DHCPV6].
Boucadair, et al. Expires 26 December 2022 [Page 16]
Internet-Draft Discovery of Network-designated Resolver June 2022
+=======+===============+============+===========+================+
| Value | Description | Client ORO | Singleton | Reference |
| | | | Option | |
+=======+===============+============+===========+================+
| TBA1 | OPTION_V6_DNR | Yes | No | [ThisDocument] |
+-------+---------------+------------+-----------+----------------+
Table 1
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 | Encrypted DNS Option | [ThisDocument] |
+------+----------------------+----------------+
Table 2
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, Iain Sharp, and Chris Box for the comments.
Thanks to Mark Nottingham for the feedback on HTTP redirection that
was discussed in previous versions of this specification.
Boucadair, et al. Expires 26 December 2022 [Page 17]
Internet-Draft Discovery of Network-designated Resolver June 2022
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.
Thanks to Andrew Campling for the Shepherd review and Eric Vyncke for
the AD review.
10. Contributing Authors
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-add-svcb-dns]
Schwartz, B., "Service Binding Mapping for DNS Servers",
Work in Progress, Internet-Draft, draft-ietf-add-svcb-dns-
03, 22 April 2022, <https://www.ietf.org/archive/id/draft-
ietf-add-svcb-dns-03.txt>.
[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)", Work in Progress, Internet-Draft, draft-ietf-
dnsop-svcb-https-10, 24 May 2022,
<https://www.ietf.org/archive/id/draft-ietf-dnsop-svcb-
https-10.txt>.
[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>.
Boucadair, et al. Expires 26 December 2022 [Page 18]
Internet-Draft Discovery of Network-designated Resolver June 2022
[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>.
[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>.
Boucadair, et al. Expires 26 December 2022 [Page 19]
Internet-Draft Discovery of Network-designated Resolver June 2022
[Evil-Twin]
The Unicode Consortium, "Evil twin (wireless networks)",
<https://en.wikipedia.org/wiki/
Evil_twin_(wireless_networks)>.
[I-D.ietf-add-ddr]
Pauly, T., Kinnear, E., Wood, C. A., McManus, P., and T.
Jensen, "Discovery of Designated Resolvers", Work in
Progress, Internet-Draft, draft-ietf-add-ddr-07, 24 June
2022, <https://www.ietf.org/archive/id/draft-ietf-add-ddr-
07.txt>.
[I-D.pusateri-dhc-dns-driu]
Pusateri, T. and W. Toorop, "DHCPv6 Options for private
DNS Discovery", Work in Progress, Internet-Draft, draft-
pusateri-dhc-dns-driu-00, 2 July 2018,
<https://www.ietf.org/archive/id/draft-pusateri-dhc-dns-
driu-00.txt>.
[IPSK] 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>.
[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>.
[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>.
[RFC4786] Abley, J. and K. Lindqvist, "Operation of Anycast
Services", BCP 126, RFC 4786, DOI 10.17487/RFC4786,
December 2006, <https://www.rfc-editor.org/info/rfc4786>.
Boucadair, et al. Expires 26 December 2022 [Page 20]
Internet-Draft Discovery of Network-designated Resolver June 2022
[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>.
[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>.
[RFC7227] Hankins, D., Mrugalski, T., Siodelski, M., Jiang, S., and
S. Krishnan, "Guidelines for Creating New DHCPv6 Options",
BCP 187, RFC 7227, DOI 10.17487/RFC7227, May 2014,
<https://www.rfc-editor.org/info/rfc7227>.
[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>.
[RFC7969] Lemon, T. and T. Mrugalski, "Customizing DHCP
Configuration on the Basis of Network Topology", RFC 7969,
DOI 10.17487/RFC7969, October 2016,
<https://www.rfc-editor.org/info/rfc7969>.
Boucadair, et al. Expires 26 December 2022 [Page 21]
Internet-Draft Discovery of Network-designated Resolver June 2022
[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>.
[RFC9250] Huitema, C., Dickinson, S., and A. Mankin, "DNS over
Dedicated QUIC Connections", RFC 9250,
DOI 10.17487/RFC9250, May 2022,
<https://www.rfc-editor.org/info/rfc9250>.
Authors' Addresses
Mohamed Boucadair (editor)
Orange
35000 Rennes
France
Email: mohamed.boucadair@orange.com
Tirumaleswar Reddy (editor)
Akamai
Embassy Golf Link Business Park
Bangalore 560071
Karnataka
India
Email: kondtir@gmail.com
Dan Wing
Citrix Systems, Inc.
United States of America
Email: dwing-ietf@fuggles.com
Boucadair, et al. Expires 26 December 2022 [Page 22]
Internet-Draft Discovery of Network-designated Resolver June 2022
Neil Cook
Open-Xchange
United Kingdom
Email: neil.cook@noware.co.uk
Tommy Jensen
Microsoft
United States of America
Email: tojens@microsoft.com
Boucadair, et al. Expires 26 December 2022 [Page 23]