diff options
Diffstat (limited to 'doc/rfc/rfc9463.txt')
-rw-r--r-- | doc/rfc/rfc9463.txt | 1225 |
1 files changed, 1225 insertions, 0 deletions
diff --git a/doc/rfc/rfc9463.txt b/doc/rfc/rfc9463.txt new file mode 100644 index 0000000..00dfb35 --- /dev/null +++ b/doc/rfc/rfc9463.txt @@ -0,0 +1,1225 @@ + + + + +Internet Engineering Task Force (IETF) M. Boucadair, Ed. +Request for Comments: 9463 Orange +Category: Standards Track T. Reddy.K, Ed. +ISSN: 2070-1721 Nokia + D. Wing + Cloud Software Group + N. Cook + Open-Xchange + T. Jensen + Microsoft + November 2023 + + + DHCP and Router Advertisement Options for the Discovery of Network- + designated Resolvers (DNR) + +Abstract + + This document specifies new DHCP and IPv6 Router Advertisement + options to discover encrypted DNS resolvers (e.g., DNS over HTTPS, + DNS over TLS, and DNS over QUIC). Particularly, it allows a host to + learn an Authentication Domain Name together with a list of IP + addresses and a set of service parameters to reach such encrypted DNS + resolvers. + +Status of This Memo + + This is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Further information on + Internet Standards is available in Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc9463. + +Copyright Notice + + Copyright (c) 2023 IETF Trust and the persons identified as the + document authors. All rights reserved. + + 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 + 2. Terminology + 3. Overview + 3.1. Configuration Data for Encrypted DNS + 3.1.1. ADN as Reference Identifier for DNS Authentication + 3.1.2. Avoiding Dependency on External Resolvers + 3.1.3. Single vs. Multiple IP Addresses + 3.1.4. Why Not Separate Options for the ADN and IP Addresses? + 3.1.5. Service Parameters + 3.1.6. ADN-Only Mode + 3.1.7. Ordering of Encrypted DNS Options + 3.1.8. DNR Validation Checks + 3.1.9. DNR Information Using Other Provisioning Mechanisms + 3.2. Handling Configuration Data Conflicts + 3.3. Validating Discovered Resolvers + 3.4. Multihoming Considerations + 4. DHCPv6 Encrypted DNS Option + 4.1. Option Format + 4.2. DHCPv6 Client Behavior + 5. DHCPv4 Encrypted DNS Option + 5.1. Option Format + 5.2. DHCPv4 Client Behavior + 6. IPv6 RA Encrypted DNS Option + 6.1. Option Format + 6.2. IPv6 Host Behavior + 7. Security Considerations + 7.1. Spoofing Attacks + 7.2. Deletion Attacks + 7.3. Passive Attacks + 7.4. Wireless Security - Authentication Attacks + 8. Privacy Considerations + 9. IANA Considerations + 9.1. DHCPv6 Option + 9.2. DHCPv4 Option + 9.3. Neighbor Discovery Option + 10. References + 10.1. Normative References + 10.2. Informative References + Acknowledgments + Contributors + Authors' Addresses + +1. Introduction + + This document focuses on the discovery of encrypted DNS resolvers + that are using protocols such as DNS over HTTPS (DoH) [RFC8484], DNS + over TLS (DoT) [RFC7858], or DNS over QUIC (DoQ) [RFC9250] in local + networks. + + In particular, this 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) + options [RFC4861]. These options are designed to convey the + following information: the DNS Authentication Domain Name (ADN), a + list of IP addresses, and a set of service parameters. This + procedure is called Discovery of Network-designated Resolvers (DNR). + + The options defined in this document can be deployed in a variety of + deployments (e.g., local networks with Customer Premises Equipment + (CPEs) that may or may not be managed by an Internet Service Provider + (ISP), or local networks with or without DNS forwarders). Providing + an inventory of such deployments is beyond the scope of this + document. + + Resolver selection considerations are out of scope. Likewise, + policies (including any interactions with users) are out of scope. + +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: + + Authentication Domain Name (ADN): Refers to a domain name that is + used by a DNS client to authenticate a DNS resolver. + + ADN-only mode: Refers to a DNS discovery mode where only the ADN of + the DNS resolver is retrieved. See Section 3.1.6. + + Do53: Refers to unencrypted DNS. + + DNR: Refers to the procedure called Discovery of Network-designated + Resolvers. + + Encrypted DNS: Refers to a scheme where DNS exchanges are + transported over an encrypted channel. Examples include DoT, DoH, + and DoQ. + + Encrypted DNS resolver: Refers to a DNS resolver that supports any + encrypted DNS scheme. + + 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 resolvers using DHCP (Sections 4 and 5) and Neighbor Discovery + protocol (Section 6) Encrypted DNS options. + + These options configure an ADN, a list of IP addresses, and a set of + service parameters of the encrypted DNS resolver. More information + about the design of these options is provided in the following + subsections. + +3.1. Configuration Data for Encrypted DNS + +3.1.1. ADN as Reference Identifier for DNS Authentication + + In order to allow for a PKIX-based authentication of the encrypted + DNS resolver to the DNS client, the Encrypted DNS options are + designed to always include an ADN. This ADN is presented as a + reference identifier for DNS authentication purposes. This design + accommodates the current best practices for issuing certificates as + per 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 an + encrypted DNS resolver. These encrypted DNS resolvers may be hosted + on the same IP address or distinct IP addresses. Such a decision is + deployment specific. + + In order to optimize the size of discovery messages when all DNS + resolvers terminate on the same IP address, early draft versions of + this document considered relying upon the discovery mechanisms + specified in [RFC2132], [RFC3646], and [RFC8106] to retrieve a list + of IP addresses to reach their DNS resolvers. Nevertheless, this + approach requires a client that supports more than one encrypted DNS + protocol (e.g., DoH and DoT) to probe that list of IP addresses. To + avoid such probing, the options defined in Sections 4, 5, and 6 + associate an encrypted DNS protocol with an IP address. No probing + is required in such a design. + +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 discussed 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, an IPv6 + Unique Local Address (ULA), or a Global Unicast Address (GUA). + + If multiple IP addresses are to be returned in an Encrypted DNS + option, these addresses are returned, ordered by preference, for use + by the client. + +3.1.4. Why Not Separate Options for the ADN and IP Addresses? + + 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. + +3.1.5. Service Parameters + + Because distinct encrypted DNS protocols (e.g., DoT, DoH, and DoQ) + may be provisioned by a network and some of these protocols may make + use of customized port numbers instead of default port numbers, the + Encrypted DNS options are designed to return a set of service + parameters. These parameters are encoded following the same rules + for encoding SvcParams using the wire format specified in Section 2.2 + of [RFC9460]. This encoding approach may increase the size of the + options, but it has the merit of relying upon an existing IANA + registry and, thus, accommodating new encrypted DNS protocols and + service parameters that may be defined in the future. + + The following service parameters MUST be supported by a DNR + implementation: + + alpn: Used to indicate the set of supported protocols (Section 7.1 + of [RFC9460]). + + port: Used to indicate the target port number for the encrypted DNS + connection (Section 7.2 of [RFC9460]). + + In addition, the following service parameter is RECOMMENDED to be + supported by a DNR implementation: + + dohpath: Used to supply a relative DoH URI Template (Section 5.1 of + [RFC9461]). + +3.1.6. ADN-Only Mode + + 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 [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 passed to a local resolution library (a DNS client, + typically), which will then issue Service Binding (SVCB) queries + [RFC9461]. These SVCB queries can be sent to the discovered + encrypted DNS resolver itself or to the network-designated Do53 + resolver. Note that this mode may be subject to active attacks, + which can be mitigated by DNSSEC. + + | How an ADN is passed to a local resolution library is + | implementation specific. + +3.1.7. Ordering of Encrypted DNS Options + + 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. DNR Validation Checks + + On receipt of an Encrypted DNS option, the DHCP client (or IPv6 host) + makes the following validation checks: + + * The ADN is present and encoded as per Section 10 of [RFC8415]. + + * If additional data is supplied: + + - The service parameters are encoded following the rules + specified in Section 2.2 of [RFC9460]. + + - The option includes at least one valid IP address. + + - The service parameters do not include "ipv4hint" or "ipv6hint" + parameters. + + If any of the checks fail, the receiver discards the received + Encrypted DNS option. + +3.1.9. DNR Information Using Other Provisioning Mechanisms + + 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) [TS.24008]) or + may not be suitable in some contexts (e.g., where secure discovery is + needed). Other mechanisms may be considered in these contexts for + the provisioning of encrypted DNS resolvers. It is RECOMMENDED that + at least the following DNR information be 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 ADN. This parameter is mandatory. + + * A list of IP addresses to locate the encrypted DNS resolver. + + * A set of service parameters. + +3.2. Handling Configuration Data Conflicts + + If encrypted DNS resolvers are 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) [RFC9462], since DDR uses Do53 to an external DNS + resolver, which is susceptible to both internal and external attacks + whereas DHCP/RA is typically protected using the mechanisms discussed + in Section 7.1. + + 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 use the encrypted DNS resolvers for that + network. If the client cannot establish an authenticated and + encrypted connection with the encrypted DNS resolver, it may fall + back to using the Do53 resolver. + +3.3. Validating Discovered Resolvers + + 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. + + If the local DNS client supports one of the discovered encrypted DNS + protocols identified by Application-Layer Protocol Negotiation (ALPN) + protocol identifiers (or another service parameter that indicates + some other protocol disambiguation mechanism), the DNS client + establishes an encrypted DNS session following the service priority + of the discovered encrypted resolvers. + + The DNS client verifies the connection based on PKIX validation + [RFC5280] of the DNS resolver certificate and uses the validation + techniques as described in [RFC6125] to compare the ADN conveyed in + the Encrypted DNS options to the certificate provided (see + Section 8.1 of [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 Section 7.1 of [RFC9460]. Operational considerations + related to checking the revocation status of the certificate of an + encrypted DNS resolver are discussed in Section 10 of [RFC8484]. + +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, discussing DNS selection of multi- + interfaced devices is beyond the scope of this specification. Such + considerations fall under the generic issue of handling multiple + provisioning sources and should not be processed in each option + separately, as per the recommendation in Section 12 of [RFC7227]. + + The reader may refer to [RFC6731] for a discussion of DNS selection + issues and an example of DNS resolver selection for multi-interfaced + devices. Also, the reader may refer to [Local-DNS-Authority] for a + discussion on how DNR and Provisioning Domain (PvD) key "dnsZones" + (Section 4.3 of [RFC8801]) can be used in "split DNS" environments + (Section 6 of [RFC8499]). + +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 + 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 (144; see Section 9.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 16-bit unsigned integer is + interpreted following the rules specified in Section 2.4.1 of + [RFC9460]. + + ADN Length: Length of the authentication-domain-name field in + octets. + + authentication-domain-name (variable length): A Fully Qualified + Domain Name (FQDN) 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 ADN 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. When + present, it MUST be a multiple of 16. + + ipv6-address(es) (variable length): Indicates one or more IPv6 + addresses to reach the encrypted DNS resolver. An address can be + a Link-Local address, a ULA, or a GUA. The format of this field + is shown in Figure 3. + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + | ipv6-address | + | | + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | ... | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Figure 3: Format of the ipv6-address(es) Field + + Service Parameters (SvcParams) (variable length): Specifies a set of + service parameters that are encoded following the rules in + Section 2.2 of [RFC9460]. Service parameters may include, for + example, a list of ALPN protocol identifiers or alternate port + numbers. This field SHOULD include at least the "alpn" SvcParam. + The "alpn" SvcParam may not be required in contexts such as a + variant of DNS over the Constrained Application Protocol (CoAP) + where messages are encrypted using Object Security for Constrained + RESTful Environments (OSCORE) [RFC8613]. 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'). + + Note that the "Addr Length", "ipv6-address(es)", and "Service + Parameters (SvcParams)" fields are not present if the ADN-only mode + is used (Section 3.1.6). + +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), per Sections 18.2.1, + 18.2.2, 18.2.4, 18.2.5, 18.2.6, and 21.7 of [RFC8415]. + + 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., a smaller service priority value + indicates a higher preference). + + The DHCPv6 client MUST silently discard any OPTION_V6_DNR that fails + to pass the validation steps defined in Section 3.1.8. + + 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 + 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 ~ | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --- + + Figure 4: DHCPv4 Encrypted DNS Option + + The fields of the option shown in Figure 4 are as follows: + + Code: OPTION_V4_DNR (162; see Section 9.2). + + Length: Indicates the length of the enclosed data in octets. + + DNR Instance Data: Includes the configuration data of an encrypted + DNS resolver. The format of this field is shown in Figure 5. + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | DNR Instance Data Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Service Priority | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | ADN Length | | + +-+-+-+-+-+-+-+-+ | + ~ authentication-domain-name ~ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Addr Length | | + +-+-+-+-+-+-+-+-+ | + ~ IPv4 Address(es) ~ + | +-+-+-+-+-+-+-+-+ + | | | + +-+-+-+-+-+-+-+-+ | + ~Service Parameters (SvcParams) ~ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Figure 5: DNR Instance Data Format + + When several encrypted DNS resolvers are to be included, the "DNR + Instance Data" field is repeated. + + The fields shown in Figure 5 are as follows: + + 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. + + Service Priority: The priority of this instance compared to other + DNR instances. This 16-bit unsigned integer is interpreted + following the rules specified in Section 2.4.1 of [RFC9460]. + + ADN Length: Length of the authentication-domain-name field in + octets. + + authentication-domain-name (variable length): The ADN 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: Length of included IPv4 addresses in octets. When + present, it MUST be a multiple of 4. + + 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 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 Address(es) Field + + Service Parameters (SvcParams) (variable length): Specifies a set of + service parameters that are encoded following the rules in + Section 2.2 of [RFC9460]. Service parameters may include, for + example, a list of ALPN protocol identifiers or alternate port + numbers. This field SHOULD include at least the "alpn" SvcParam. + The "alpn" SvcParam may not be required in contexts such as a + variant of DNS over CoAP where messages are encrypted using + OSCORE. The service parameters 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 ('DNR Instance Data Length' - 4 - 'ADN + Length' - 'Addr Length'). + + Note that the "Addr Length", "IPv4 Address(es)", and "Service + Parameters (SvcParams)" fields are not present if the ADN-only mode + is used (Section 3.1.6). + + 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. + +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 "DNR Instance + Data" field entries in the OPTION_V4_DNR option; each instance is to + be treated as a separate encrypted DNS resolver. These instances + MUST be processed following their service priority (i.e., a smaller + service priority value indicates a higher preference). + + The DHCPv4 client MUST silently discard any OPTION_V4_DNR that fails + to pass the validation steps defined in Section 3.1.8. + + 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]: the + 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. + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Type | Length | Service Priority | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Lifetime | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | ADN Length | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + ~ authentication-domain-name ~ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Addr Length | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + ~ ipv6-address(es) ~ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | SvcParams Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ~ Service Parameters (SvcParams) ~ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + 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 (144; see Section 9.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: 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 + Section 2.4.1 of [RFC9460]. + + Lifetime: 32-bit unsigned integer. This represents the maximum time + in seconds (relative to the time the packet is received) over + which the discovered ADN is valid. + + 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 ADN 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 ADN 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. When present, it + MUST be a multiple of 16. + + ipv6-address(es) (variable length): One or more IPv6 addresses of + the encrypted DNS resolver. An address can be a Link-Local + address, a ULA, or a GUA. + + All of the addresses share the same Lifetime value. As also + discussed in [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 (SvcParams)" field in octets. + + Service Parameters (SvcParams) (variable length): Specifies a set of + service parameters that are encoded following the rules in + Section 2.2 of [RFC9460]. Service parameters may include, for + example, a list of ALPN protocol identifiers or alternate port + numbers. This field SHOULD include at least the "alpn" SvcParam. + The "alpn" SvcParam may not be required in contexts such as a + variant of DNS over CoAP where messages are encrypted using + OSCORE. The service parameters 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. + + Note that the "Addr Length", "ipv6-address(es)", and "Service + Parameters (SvcParams)" fields are not present if the ADN-only mode + is used (Section 3.1.6). + + 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 procedure described in + Section 5.3.1 of [RFC8106] for processing received Encrypted DNS + options, with the formatting requirements listed in Section 6.1 and + the validation checks listed in Section 3.1.8 substituted for length + and field validations. + + The host MUST be prepared to receive multiple Encrypted DNS options + in RAs. These instances MUST be processed following their service + priority (i.e., a smaller service priority value 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 spoofing attacks are mitigated as described + below, the content of DHCP and RA messages can be spoofed or modified + by active attackers, such as compromised devices within the local + network. An active attacker (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 Certificate Authority (CA) + and host an encrypted DNS resolver. + + 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 [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. + + RA-Guard [RFC7113]: The network access node discards RA messages + received from any local endpoint. + + Source Address Validation Improvement (SAVI) solution for DHCP + [RFC7513]: The network access node 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 these mechanisms + 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 ADN in the Encrypted DNS option. DNS + clients that ignore authentication failures and accept spoofed + certificates will be subject to attacks (e.g., attacks that redirect + to malicious resolvers or intercept sensitive data). + +7.2. Deletion Attacks + + If the DHCP responses or RAs are dropped by the attacker, the client + can fall back to using a preconfigured encrypted DNS resolver. + However, the use of policies to select resolvers is beyond the scope + of this document. + + Note that deletion attacks are not specific to DHCP/RA. + +7.3. Passive Attacks + + A passive attacker (Section 3.2 of [RFC3552]) can determine that a + host is using DHCP/RA to discover an encrypted DNS resolver and can + infer that the host is capable of using DoH/DoT/DoQ to encrypt DNS + messages. However, a passive attacker cannot spoof or modify DHCP/RA + messages. + +7.4. Wireless Security - Authentication Attacks + + Wireless LANs (WLANs), frequently deployed in local networks (e.g., + home networks), are 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 any information (e.g., regarding NTP servers, DNS + resolvers, or domain search lists) provided by such networks via + DHCP, DHCPv6, or RA is untrusted because DHCP and RA messages are not + authenticated. + + If the pre-shared key (PSK) is the same for all clients that connect + to the same WLAN (e.g., Wi-Fi Protected Access Pre-Shared Key (WPA- + PSK)), the shared key will be available to all nodes, including + attackers. As such, it is possible to mount an active on-path + attack. On-path attacks are possible within local networks because + this form of WLAN authentication lacks peer entity authentication. + + 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 [dot1x], EAP- + pwd [RFC8146] ("EAP" stands for "Extensible Authentication + Protocol")). Not all endpoint devices (e.g., Internet of Things + (IoT) devices) support 802.1x supplicants and need an alternate + mechanism to connect to the local network. To address this + limitation, unique PSKs can be created for each such device and WPA- + PSK is used (e.g., [IPSK]). + +8. Privacy Considerations + + Privacy considerations that are also specific to DNR provisioning + mechanisms are discussed in Section 23 of [RFC8415] and in [RFC7824]. + Anonymity profiles for DHCP clients are discussed in [RFC7844]. The + mechanisms defined in this document can be used to infer that a DHCP + client or IPv6 host supports Encrypted DNS options, but these + mechanisms do not explicitly reveal whether local DNS clients are + able to consume these options or infer their encryption capabilities. + Other than that, this document does not expose more privacy + information compared to Do53 discovery options. + + As discussed in [RFC9076], the use of encrypted DNS does not reduce + the data available in the DNS resolver. For example, the reader may + refer to Section 8 of [RFC8484] or Section 7 of [RFC9250] for a + discussion on specific privacy considerations for encrypted DNS. + +9. IANA Considerations + +9.1. DHCPv6 Option + + IANA has assigned the following new DHCPv6 Option Code in the "Option + Codes" registry maintained at [DHCPV6]. + + +=======+===============+============+==================+===========+ + | Value | Description | Client ORO | Singleton | Reference | + | | | | Option | | + +=======+===============+============+==================+===========+ + | 144 | OPTION_V6_DNR | Yes | No | RFC 9463 | + +-------+---------------+------------+------------------+-----------+ + + Table 1: DHCPv6 Encrypted DNS Option + +9.2. DHCPv4 Option + + IANA has assigned the following new DHCP Option Code in the "BOOTP + Vendor Extensions and DHCP Options" registry maintained at [BOOTP]. + + +=====+===============+=============+============+===========+ + | Tag | Name | Data Length | Meaning | Reference | + +=====+===============+=============+============+===========+ + | 162 | OPTION_V4_DNR | N | Encrypted | RFC 9463 | + | | | | DNS Server | | + +-----+---------------+-------------+------------+-----------+ + + Table 2: DHCPv4 Encrypted DNS Option + +9.3. Neighbor Discovery Option + + IANA has assigned the following new IPv6 Neighbor Discovery Option + type in the "IPv6 Neighbor Discovery Option Formats" subregistry + under the "Internet Control Message Protocol version 6 (ICMPv6) + Parameters" registry maintained at [ND]. + + +======+======================+===========+ + | Type | Description | Reference | + +======+======================+===========+ + | 144 | Encrypted DNS Option | RFC 9463 | + +------+----------------------+-----------+ + + Table 3: Neighbor Discovery Encrypted + DNS Option + +10. References + +10.1. Normative References + + [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>. + + [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>. + + [RFC9460] Schwartz, B., Bishop, M., and E. Nygren, "Service Binding + and Parameter Specification via the DNS (SVCB and HTTPS + Resource Records)", RFC 9460, DOI 10.17487/RFC9460, + November 2023, <https://www.rfc-editor.org/info/rfc9460>. + + [RFC9461] Schwartz, B., "Service Binding Mapping for DNS Servers", + RFC 9461, DOI 10.17487/RFC9461, November 2023, + <https://www.rfc-editor.org/info/rfc9461>. + +10.2. Informative References + + [BOOTP] IANA, "BOOTP Vendor Extensions and DHCP Options", + <https://www.iana.org/assignments/bootp-dhcp-parameters/>. + + [DHCPV6] IANA, "Option Codes", + <https://www.iana.org/assignments/dhcpv6-parameters/>. + + [DNS-TLS-DHCPv6-Opt] + 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://datatracker.ietf.org/doc/html/draft-pusateri-dhc- + dns-driu-00>. + + [dot1x] OpenWrt, "Introduction to 802.1X", December 2021, + <https://openwrt.org/docs/guide-user/network/wifi/ + wireless.security.8021x>. + + [Dragonblood] + Vanhoef, M. and E. Ronen, "Dragonblood: Analyzing the + Dragonfly Handshake of WPA3 and EAP-pwd", 2020 IEEE + Symposium on Security and Privacy (SP), San Francisco, pp. + 517-533, DOI 10.1109/SP40000.2020.00031, May 2020, + <https://ieeexplore.ieee.org/document/9152782>. + + [Evil-Twin] + Wikipedia, "Evil twin (wireless networks)", November 2022, + <https://en.wikipedia.org/wiki/ + Evil_twin_(wireless_networks)>. + + [IPSK] Cisco, "8.5 Identity PSK Feature Deployment Guide", + December 2021, + <https://www.cisco.com/c/en/us/td/docs/wireless/ + controller/technotes/8-5/ + b_Identity_PSK_Feature_Deployment_Guide.html>. + + [Krack] Vanhoef, M. and F. Piessens, "Key Reinstallation Attacks: + Forcing Nonce Reuse in WPA2", CCS '17: Proceedings of the + 2017 ACM SIGSAC Conference on Computer and Communications + Security, pp. 1313-1328, DOI 10.1145/3133956.3134027, + October 2017, + <https://dl.acm.org/doi/10.1145/3133956.3134027>. + + [Local-DNS-Authority] + Reddy, T., Wing, D., Smith, K., and B. Schwartz, + "Establishing Local DNS Authority in Validated Split- + Horizon Environments", Work in Progress, Internet-Draft, + draft-ietf-add-split-horizon-authority-04, 8 March 2023, + <https://datatracker.ietf.org/doc/html/draft-ietf-add- + split-horizon-authority-04>. + + [ND] IANA, "IPv6 Neighbor Discovery Option Formats", + <https://www.iana.org/assignments/icmpv6-parameters/>. + + [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>. + + [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., + Housley, R., and W. Polk, "Internet X.509 Public Key + Infrastructure Certificate and Certificate Revocation List + (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, + <https://www.rfc-editor.org/info/rfc5280>. + + [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>. + + [RFC7824] Krishnan, S., Mrugalski, T., and S. Jiang, "Privacy + Considerations for DHCPv6", RFC 7824, + DOI 10.17487/RFC7824, May 2016, + <https://www.rfc-editor.org/info/rfc7824>. + + [RFC7844] Huitema, C., Mrugalski, T., and S. Krishnan, "Anonymity + Profiles for DHCP Clients", RFC 7844, + DOI 10.17487/RFC7844, May 2016, + <https://www.rfc-editor.org/info/rfc7844>. + + [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>. + + [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>. + + [RFC8613] Selander, G., Mattsson, J., Palombini, F., and L. Seitz, + "Object Security for Constrained RESTful Environments + (OSCORE)", RFC 8613, DOI 10.17487/RFC8613, July 2019, + <https://www.rfc-editor.org/info/rfc8613>. + + [RFC8801] Pfister, P., Vyncke, É., Pauly, T., Schinazi, D., and W. + Shao, "Discovering Provisioning Domain Names and Data", + RFC 8801, DOI 10.17487/RFC8801, July 2020, + <https://www.rfc-editor.org/info/rfc8801>. + + [RFC9076] Wicinski, T., Ed., "DNS Privacy Considerations", RFC 9076, + DOI 10.17487/RFC9076, July 2021, + <https://www.rfc-editor.org/info/rfc9076>. + + [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>. + + [RFC9462] Pauly, T., Kinnear, E., Wood, C. A., McManus, P., and T. + Jensen, "Discovery of Designated Resolvers", RFC 9462, + DOI 10.17487/RFC9462, November 2023, + <https://www.rfc-editor.org/info/rfc9462>. + + [TS.24008] 3GPP, "Technical Specification Group Core Network and + Terminals; Mobile radio interface Layer 3 specification; + Core network protocols; Stage 3 (Release 18)", version + 18.4.0, September 2023, + <https://www.3gpp.org/DynaReport/24008.htm>. + +Acknowledgments + + Many thanks to Christian Jacquenet and Michael Richardson for their + reviews. + + Thanks to Stephen Farrell, Martin Thomson, Vittorio Bertola, Stéphane + Bortzmeyer, Ben Schwartz, Iain Sharp, and Chris Box for their + comments. + + Thanks to Mark Nottingham for the feedback on HTTP redirection that + was discussed in previous draft versions of this specification. + + The use of DHCP as a candidate protocol to retrieve an ADN was + mentioned in Section 7.3.1 of [RFC8310] and in an Internet-Draft + authored by Tom Pusateri and Willem Toorop [DNS-TLS-DHCPv6-Opt]. + + Thanks to Bernie Volz for the review of the DHCP part. + + Christian Amsüss reported a case where the ALPN service parameter + cannot be used. + + Thanks to Andrew Campling for the Shepherd review and Éric Vyncke for + the AD review. + + Thanks to Rich Salz for the secdir reviews, Joe Clarke for the opsdir + review, Robert Sparks for the artart review, and David Blacka for the + dnsdir review. + + Thanks to Lars Eggert, Roman Danyliw, Erik Kline, Martin Duke, Robert + Wilton, Paul Wouters, and Zaheduzzaman Sarker for the IESG review. + +Contributors + + 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 + + +Authors' Addresses + + Mohamed Boucadair (editor) + Orange + 35000 Rennes + France + Email: mohamed.boucadair@orange.com + + + Tirumaleswar Reddy.K (editor) + Nokia + India + Email: kondtir@gmail.com + + + Dan Wing + Cloud Software Group Holdings, Inc. + United States of America + Email: dwing-ietf@fuggles.com + + + Neil Cook + Open-Xchange + United Kingdom + Email: neil.cook@noware.co.uk + + + Tommy Jensen + Microsoft + United States of America + Email: tojens@microsoft.com |