draft-ietf-add-ddr-02.txt   draft-ietf-add-ddr-03.txt 
ADD T. Pauly ADD T. Pauly
Internet-Draft E. Kinnear Internet-Draft E. Kinnear
Intended status: Standards Track Apple Inc. Intended status: Standards Track Apple Inc.
Expires: 9 January 2022 C.A. Wood Expires: 4 April 2022 C.A. Wood
Cloudflare Cloudflare
P. McManus P. McManus
Fastly Fastly
T. Jensen T. Jensen
Microsoft Microsoft
8 July 2021 1 October 2021
Discovery of Designated Resolvers Discovery of Designated Resolvers
draft-ietf-add-ddr-02 draft-ietf-add-ddr-03
Abstract Abstract
This document defines Discovery of Designated Resolvers (DDR), a This document defines Discovery of Designated Resolvers (DDR), a
mechanism for DNS clients to use DNS records to discover a resolver's mechanism for DNS clients to use DNS records to discover a resolver's
encrypted DNS configuration. This mechanism can be used to move from encrypted DNS configuration. This mechanism can be used to move from
unencrypted DNS to encrypted DNS when only the IP address of a unencrypted DNS to encrypted DNS when only the IP address of a
resolver is known. It can also be used to discover support for resolver is known. This mechanism is designed to be limited to cases
encrypted DNS protocols when the name of an encrypted resolver is where unencrypted resolvers and their designated resolvers are
known. This mechanism is designed to be limited to cases where operated by the same entity or cooperating entities. It can also be
unencrypted resolvers and their designated resolvers are operated by used to discover support for encrypted DNS protocols when the name of
the same entity or cooperating entities. an encrypted resolver is known.
Discussion Venues Discussion Venues
This note is to be removed before publishing as an RFC. This note is to be removed before publishing as an RFC.
Discussion of this document takes place on the Adaptive DNS Discovery Discussion of this document takes place on the Adaptive DNS Discovery
Working Group mailing list (add@ietf.org), which is archived at Working Group mailing list (add@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/browse/add/. https://mailarchive.ietf.org/arch/browse/add/.
Source for this draft and an issue tracker can be found at Source for this draft and an issue tracker can be found at
skipping to change at page 2, line 10 skipping to change at page 2, line 10
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 9 January 2022. This Internet-Draft will expire on 4 April 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 33 skipping to change at page 2, line 33
as described in Section 4.e of the Trust Legal Provisions and are as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Specification of Requirements . . . . . . . . . . . . . . 3 1.1. Specification of Requirements . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. DNS Service Binding Records . . . . . . . . . . . . . . . . . 4 3. DNS Service Binding Records . . . . . . . . . . . . . . . . . 4
4. Discovery Using Resolver IP Addresses . . . . . . . . . . . . 5 4. Discovery Using Resolver IP Addresses . . . . . . . . . . . . 5
4.1. Authenticated Discovery . . . . . . . . . . . . . . . . . 6 4.1. Use of Designated Resolvers . . . . . . . . . . . . . . . 6
4.2. Opportunistic Discovery . . . . . . . . . . . . . . . . . 6 4.2. Authenticated Discovery . . . . . . . . . . . . . . . . . 6
4.3. Opportunistic Discovery . . . . . . . . . . . . . . . . . 7
5. Discovery Using Resolver Names . . . . . . . . . . . . . . . 7 5. Discovery Using Resolver Names . . . . . . . . . . . . . . . 7
6. Deployment Considerations . . . . . . . . . . . . . . . . . . 7 6. Deployment Considerations . . . . . . . . . . . . . . . . . . 8
6.1. Caching Forwarders . . . . . . . . . . . . . . . . . . . 8 6.1. Caching Forwarders . . . . . . . . . . . . . . . . . . . 8
6.2. Certificate Management . . . . . . . . . . . . . . . . . 8 6.2. Certificate Management . . . . . . . . . . . . . . . . . 9
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
8.1. Special Use Domain Name "resolver.arpa" . . . . . . . . . 9 8.1. Special Use Domain Name "resolver.arpa" . . . . . . . . . 10
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
9.1. Normative References . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 10
9.2. Informative References . . . . . . . . . . . . . . . . . 10 9.2. Informative References . . . . . . . . . . . . . . . . . 11
Appendix A. Rationale for using SVCB records . . . . . . . . . . 11 Appendix A. Rationale for using SVCB records . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
When DNS clients wish to use encrypted DNS protocols such as DNS- When DNS clients wish to use encrypted DNS protocols such as DNS-
over-TLS (DoT) [RFC7858] or DNS-over-HTTPS (DoH) [RFC8484], they over-TLS (DoT) [RFC7858] or DNS-over-HTTPS (DoH) [RFC8484], they
require additional information beyond the IP address of the DNS require additional information beyond the IP address of the DNS
server, such as the resolver's hostname, non-standard ports, or URL server, such as the resolver's hostname, non-standard ports, or URL
paths. However, common configuration mechanisms only provide the paths. However, common configuration mechanisms only provide the
resolver's IP address during configuration. Such mechanisms include resolver's IP address during configuration. Such mechanisms include
network provisioning protocols like DHCP [RFC2132] and IPv6 Router network provisioning protocols like DHCP [RFC2132] and IPv6 Router
skipping to change at page 4, line 25 skipping to change at page 4, line 25
3. DNS Service Binding Records 3. DNS Service Binding Records
DNS resolvers can advertise one or more Designated Resolvers that may DNS resolvers can advertise one or more Designated Resolvers that may
offer support over encrypted channels and are controlled by the same offer support over encrypted channels and are controlled by the same
entity. entity.
When a client discovers Designated Resolvers, it learns information When a client discovers Designated Resolvers, it learns information
such as the supported protocols, ports, and server name to use in such as the supported protocols, ports, and server name to use in
certificate validation. This information is provided in Service certificate validation. This information is provided in Service
Binding (SVCB) records for DNS Servers, defined by Binding (SVCB) records for DNS Servers. The formatting of these
[I-D.schwartz-svcb-dns]. records, including the DNS-unique parameters such as "dohpath", are
defined by [I-D.ietf-add-svcb-dns].
The following is an example of an SVCB record describing a DoH server The following is an example of an SVCB record describing a DoH server
discovered by querying for "_dns.example.net": discovered by querying for _dns.example.net:
_dns.example.net 7200 IN SVCB 1 . ( _dns.example.net 7200 IN SVCB 1 . (
alpn=h2 dohpath=/dns-query{?dns} ) alpn=h2 dohpath=/dns-query{?dns} )
The following is an example of an SVCB record describing a DoT server The following is an example of an SVCB record describing a DoT server
discovered by querying for "_dns.example.net": discovered by querying for _dns.example.net:
_dns.example.net 7200 IN SVCB 1 dot.example.net ( _dns.example.net 7200 IN SVCB 1 dot.example.net (
alpn=dot port=8530 ) alpn=dot port=8530 )
If multiple Designated Resolvers are available, using one or more If multiple Designated Resolvers are available, using one or more
encrypted DNS protocols, the resolver deployment can indicate a encrypted DNS protocols, the resolver deployment can indicate a
preference using the priority fields in each SVCB record preference using the priority fields in each SVCB record
[I-D.ietf-dnsop-svcb-https]. [I-D.ietf-dnsop-svcb-https].
To avoid name lookup deadlock, Designated Resolvers SHOULD follow the To avoid name lookup deadlock, Designated Resolvers SHOULD follow the
guidance in Section 10 of [RFC8484] regarding the avoidance of DNS- guidance in Section 10 of [RFC8484] regarding the avoidance of DNS-
based references that block the completion of the TLS handshake. based references that block the completion of the TLS handshake.
This document focuses on discovering DoH and DoT Designated This document focuses on discovering DoH and DoT Designated
Resolvers. Other protocols can also use the format defined by Resolvers. Other protocols can also use the format defined by
[I-D.schwartz-svcb-dns]. However, if any protocol does not involve [I-D.ietf-add-svcb-dns]. However, if any protocol does not involve
some form of certificate validation, new validation mechanisms will some form of certificate validation, new validation mechanisms will
need to be defined to support validating designation as defined in need to be defined to support validating designation as defined in
Section 4.1. Section 4.2.
4. Discovery Using Resolver IP Addresses 4. Discovery Using Resolver IP Addresses
When a DNS client is configured with an Unencrypted Resolver IP When a DNS client is configured with an Unencrypted Resolver IP
address, it SHOULD query the resolver for SVCB records for address, it SHOULD query the resolver for SVCB records for
"dns://resolver.arpa" before making other queries. Specifically, the "dns://resolver.arpa" before making other queries. Specifically, the
client issues a query for "_dns.resolver.arpa" with the SVCB resource client issues a query for _dns.resolver.arpa with the SVCB resource
record type (64) [I-D.ietf-dnsop-svcb-https]. record type (64) [I-D.ietf-dnsop-svcb-https].
Because this query is for an SUDN, which no entity can claim Because this query is for an SUDN, which no entity can claim
ownership over, the SVCB response MUST NOT use the "." value for the ownership over, the SVCB response MUST NOT use the "." value for the
SvcDomainName. Instead, the domain name used for DoT or used to TargetName. Instead, the domain name used for DoT or used to
construct the DoH template MUST be provided. construct the DoH template MUST be provided.
The following is an example of an SVCB record describing a DoH server The following is an example of an SVCB record describing a DoH server
discovered by querying for "_dns.resolver.arpa": discovered by querying for _dns.resolver.arpa:
_dns.resolver.arpa 7200 IN SVCB 1 doh.example.net ( _dns.resolver.arpa 7200 IN SVCB 1 doh.example.net (
alpn=h2 dohpath=/dns-query{?dns} ) alpn=h2 dohpath=/dns-query{?dns} )
The following is an example of an SVCB record describing a DoT server The following is an example of an SVCB record describing a DoT server
discovered by querying for "_dns.resolver.arpa": discovered by querying for _dns.resolver.arpa:
_dns.resolver.arpa 7200 IN SVCB 1 dot.example.net ( _dns.resolver.arpa 7200 IN SVCB 1 dot.example.net (
alpn=dot port=8530 ) alpn=dot port=8530 )
If the recursive resolver that receives this query has one or more If the recursive resolver that receives this query has one or more
Designated Resolvers, it will return the corresponding SVCB records. Designated Resolvers, it will return the corresponding SVCB records.
When responding to these special queries for "dns://resolver.arpa", When responding to these special queries for "dns://resolver.arpa",
the recursive resolver SHOULD include the A and AAAA records for the the recursive resolver SHOULD include the A and AAAA records for the
name of the Designated Resolver in the Additional Answers section. name of the Designated Resolver in the Additional Answers section.
This will allow the DNS client to make queries over an encrypted This will allow the DNS client to make queries over an encrypted
skipping to change at page 6, line 5 skipping to change at page 6, line 5
[I-D.ietf-dnsop-svcb-https]. If no A/AAAA records or SVCB IP address [I-D.ietf-dnsop-svcb-https]. If no A/AAAA records or SVCB IP address
hints are included, clients will be forced to delay use of the hints are included, clients will be forced to delay use of the
Encrypted Resolver until an additional DNS lookup for the A and AAAA Encrypted Resolver until an additional DNS lookup for the A and AAAA
records can be made to the Unencrypted Resolver (or some other records can be made to the Unencrypted Resolver (or some other
resolver the DNS client has been configured to use). resolver the DNS client has been configured to use).
If the recursive resolver that receives this query has no Designated If the recursive resolver that receives this query has no Designated
Resolvers, it SHOULD return NODATA for queries to the "resolver.arpa" Resolvers, it SHOULD return NODATA for queries to the "resolver.arpa"
SUDN. SUDN.
4.1. Authenticated Discovery 4.1. Use of Designated Resolvers
When a client discovers Designated Resolvers from an Unencrypted
Resolver IP address, it can choose to use these Designated Resolvers
either automatically, or based on some other policy, heuristic, or
user choice.
This document defines two preferred methods to automatically use
Designated Resolvers:
* Authenticated Discovery Section 4.2, for when a TLS certificate
can be used to validate the resolver's identity.
* Opportunistic Discovery Section 4.3, for when a resolver is
accessed using a non-public IP address.
A client MAY additionally use a discovered Designated Resolver
without either of these methods, based on implementation-specific
policy or user input. Details of such policy are out of scope of
this document. Clients SHOULD NOT automatically use a Designated
Resolver without some sort of validation, such as the two methods
defined in this document or a future mechanism.
4.2. Authenticated Discovery
Authenticated Discovery is a mechanism that allows automatic use of a
Designated Resolver that supports DNS encryption that performs a TLS
handshake.
In order to be considered an authenticated Designated Resolver, the In order to be considered an authenticated Designated Resolver, the
TLS certificate presented by the Encrypted Resolver MUST contain both TLS certificate presented by the Designated Resolver MUST contain
the domain name (from the SVCB answer) and the IP address of the both the domain name (from the SVCB answer) and the IP address of the
designating Unencrypted Resolver within the SubjectAlternativeName designating Unencrypted Resolver within the SubjectAlternativeName
certificate field. The client MUST check the SubjectAlternativeName certificate field. The client MUST check the SubjectAlternativeName
field for both the Unencrypted Resolver's IP address and the field for both the Unencrypted Resolver's IP address and the
advertised name of the Designated Resolver. If the certificate can advertised name of the Designated Resolver. If the certificate can
be validated, the client SHOULD use the discovered Designated be validated, the client SHOULD use the discovered Designated
Resolver for any cases in which it would have otherwise used the Resolver for any cases in which it would have otherwise used the
Unencrypted Resolver. If the Designated Resolver has a different IP Unencrypted Resolver. If the Designated Resolver has a different IP
address than the Unencrypted Resolver and the TLS certificate does address than the Unencrypted Resolver and the TLS certificate does
not cover the Unencrypted Resolver address, the client MUST NOT use not cover the Unencrypted Resolver address, the client MUST NOT
the discovered Encrypted Resolver. Additionally, the client SHOULD automatically use the discovered Designated Resolver. Additionally,
suppress any further queries for Designated Resolvers using this the client SHOULD suppress any further queries for Designated
Unencrypted Resolver for the length of time indicated by the SVCB Resolvers using this Unencrypted Resolver for the length of time
record's Time to Live (TTL). indicated by the SVCB record's Time to Live (TTL).
If the Designated Resolver and the Unencrypted Resolver share an IP If the Designated Resolver and the Unencrypted Resolver share an IP
address, clients MAY choose to opportunistically use the Encrypted address, clients MAY choose to opportunistically use the Designated
Resolver even without this certificate check (Section 4.2). Resolver even without this certificate check (Section 4.3).
If resolving the name of an Encrypted Resolver from an SVCB record If resolving the name of a Designated Resolver from an SVCB record
yields an IP address that was not presented in the Additional Answers yields an IP address that was not presented in the Additional Answers
section or ipv4hint or ipv6hint fields of the original SVCB query, section or ipv4hint or ipv6hint fields of the original SVCB query,
the connection made to that IP address MUST pass the same TLS the connection made to that IP address MUST pass the same TLS
certificate checks before being allowed to replace a previously known certificate checks before being allowed to replace a previously known
and validated IP address for the same Encrypted Resolver name. and validated IP address for the same Designated Resolver name.
4.2. Opportunistic Discovery 4.3. Opportunistic Discovery
There are situations where authenticated discovery of encrypted DNS There are situations where authenticated discovery of encrypted DNS
configuration over unencrypted DNS is not possible. This includes configuration over unencrypted DNS is not possible. This includes
Unencrypted Resolvers on non-public IP addresses such as those Unencrypted Resolvers on non-public IP addresses such as those
defined in [RFC1918] whose identity cannot be confirmed using TLS defined in [RFC1918] whose identity cannot be confirmed using TLS
certificates. certificates.
Opportunistic Privacy is defined for DoT in Section 4.1 of [RFC7858] Opportunistic Privacy is defined for DoT in Section 4.1 of [RFC7858]
as a mode in which clients do not validate the name of the resolver as a mode in which clients do not validate the name of the resolver
presented in the certificate. A client MAY use information from the presented in the certificate. A client MAY use information from the
skipping to change at page 7, line 21 skipping to change at page 8, line 6
protocol (such as DHCP or IPv6 Router Advertisements) provides a name protocol (such as DHCP or IPv6 Router Advertisements) provides a name
for an Encrypted Resolver alongside the resolver IP address. for an Encrypted Resolver alongside the resolver IP address.
For these cases, the client simply sends a DNS SVCB query using the For these cases, the client simply sends a DNS SVCB query using the
known name of the resolver. This query can be issued to the named known name of the resolver. This query can be issued to the named
Encrypted Resolver itself or to any other resolver. Unlike the case Encrypted Resolver itself or to any other resolver. Unlike the case
of bootstrapping from an Unencrypted Resolver (Section 4), these of bootstrapping from an Unencrypted Resolver (Section 4), these
records SHOULD be available in the public DNS. records SHOULD be available in the public DNS.
For example, if the client already knows about a DoT server For example, if the client already knows about a DoT server
"resolver.example.com", it can issue an SVCB query for resolver.example.com, it can issue an SVCB query for
"_dns.resolver.example.com" to discover if there are other encrypted _dns.resolver.example.com to discover if there are other encrypted
DNS protocols available. In the following example, the SVCB answers DNS protocols available. In the following example, the SVCB answers
indicate that "resolver.example.com" supports both DoH and DoT, and indicate that resolver.example.com supports both DoH and DoT, and
that the DoH server indicates a higher priority than the DoT server. that the DoH server indicates a higher priority than the DoT server.
_dns.resolver.example.com 7200 IN SVCB 1 . ( _dns.resolver.example.com 7200 IN SVCB 1 . (
alpn=h2 dohpath=/dns-query{?dns} ) alpn=h2 dohpath=/dns-query{?dns} )
_dns.resolver.example.com 7200 IN SVCB 2 . ( _dns.resolver.example.com 7200 IN SVCB 2 . (
alpn=dot ) alpn=dot )
Often, the various supported encrypted DNS protocols will be Often, the various supported encrypted DNS protocols will be
accessible using the same hostname. In the example above, both DoH accessible using the same hostname. In the example above, both DoH
and DoT use the name "resolver.example.com" for their TLS and DoT use the name resolver.example.com for their TLS certificates.
certificates. If a deployment uses a different hostname for one If a deployment uses a different hostname for one protocol, but still
protocol, but still wants clients to treat both DNS servers as wants clients to treat both DNS servers as designated, the TLS
designated, the TLS certificates MUST include both names in the certificates MUST include both names in the SubjectAlternativeName
SubjectAlternativeName fields. Note that this name verification is fields. Note that this name verification is not related to the DNS
not related to the DNS resolver that provided the SVCB answer. resolver that provided the SVCB answer.
For example, being able to discover a Designated Resolver for a known For example, being able to discover a Designated Resolver for a known
Encrypted Resolver is useful when a client has a DoT configuration Encrypted Resolver is useful when a client has a DoT configuration
for "foo.resolver.example.com" but is on a network that blocks DoT for foo.resolver.example.com but is on a network that blocks DoT
traffic. The client can still send a query to any other accessible traffic. The client can still send a query to any other accessible
resolver (either the local network resolver or an accessible DoH resolver (either the local network resolver or an accessible DoH
server) to discover if there is a designated DoH server for server) to discover if there is a designated DoH server for
"foo.resolver.example.com". foo.resolver.example.com.
6. Deployment Considerations 6. Deployment Considerations
Resolver deployments that support DDR are advised to consider the Resolver deployments that support DDR are advised to consider the
following points. following points.
6.1. Caching Forwarders 6.1. Caching Forwarders
A DNS forwarder SHOULD NOT forward queries for "resolver.arpa" A DNS forwarder SHOULD NOT forward queries for "resolver.arpa"
upstream. This prevents a client from receiving an SVCB record that upstream. This prevents a client from receiving an SVCB record that
skipping to change at page 8, line 32 skipping to change at page 9, line 19
6.2. Certificate Management 6.2. Certificate Management
Resolver owners that support authenticated discovery will need to Resolver owners that support authenticated discovery will need to
list valid referring IP addresses in their TLS certificates. This list valid referring IP addresses in their TLS certificates. This
may pose challenges for resolvers with a large number of referring IP may pose challenges for resolvers with a large number of referring IP
addresses. addresses.
7. Security Considerations 7. Security Considerations
Since client can receive DNS SVCB answers over unencrypted DNS, on- Since clients can receive DNS SVCB answers over unencrypted DNS, on-
path attackers can prevent successful discovery by dropping SVCB path attackers can prevent successful discovery by dropping SVCB
packets. Clients should be aware that it might not be possible to packets. Clients should be aware that it might not be possible to
distinguish between resolvers that do not have any Designated distinguish between resolvers that do not have any Designated
Resolver and such an active attack. Resolver and such an active attack. To limit the impact of discovery
queries being dropped either maliciously or unintentionally, clients
can re-send their SVCB queries periodically.
While the IP address of the Unencrypted Resolver is often provisioned While the IP address of the Unencrypted Resolver is often provisioned
over insecure mechanisms, it can also be provisioned securely, such over insecure mechanisms, it can also be provisioned securely, such
as via manual configuration, a VPN, or on a network with protections as via manual configuration, a VPN, or on a network with protections
like RA guard [RFC6105]. An attacker might try to direct Encrypted like RA guard [RFC6105]. An attacker might try to direct Encrypted
DNS traffic to itself by causing the client to think that a DNS traffic to itself by causing the client to think that a
discovered Designated Resolver uses a different IP address from the discovered Designated Resolver uses a different IP address from the
Unencrypted Resolver. Such an Encrypted Resolver might have a valid Unencrypted Resolver. Such a Designated Resolver might have a valid
certificate, but be operated by an attacker that is trying to observe certificate, but be operated by an attacker that is trying to observe
or modify user queries without the knowledge of the client or or modify user queries without the knowledge of the client or
network. network.
If the IP address of a Designated Resolver differs from that of an If the IP address of a Designated Resolver differs from that of an
Unencrypted Resolver, clients MUST validate that the IP address of Unencrypted Resolver, clients applying Authenicated Discovery
the Unencrypted Resolver is covered by the SubjectAlternativeName of (Section 4.2) MUST validate that the IP address of the Unencrypted
the Encrypted Resolver's TLS certificate (Section 4.1). Resolver is covered by the SubjectAlternativeName of the Designated
Resolver's TLS certificate.
Opportunistic use of Encrypted Resolvers MUST be limited to cases Clients using Opportunistic Discovery (Section 4.3) MUST be limited
where the Unencrypted Resolver and Designated Resolver have the same to cases where the Unencrypted Resolver and Designated Resolver have
IP address (Section 4.2). the same IP address.
The constraints on validation of Designated Resolvers specified here
apply specifically to the automatic discovery mechanisms defined in
this document, which are referred to as Authenticated Discovery and
Opportunistic Discovery. Clients MAY use some other mechanism to
validate and use Designated Resolvers discovered using the DNS SVCB
record. However, use of such an alternate mechanism needs to take
into account the attack scenarios detailed here.
8. IANA Considerations 8. IANA Considerations
8.1. Special Use Domain Name "resolver.arpa" 8.1. Special Use Domain Name "resolver.arpa"
This document calls for the creation of the "resolver.arpa" SUDN. This document calls for the creation of the "resolver.arpa" SUDN.
This will allow resolvers to respond to queries directed at This will allow resolvers to respond to queries directed at
themselves rather than a specific domain name. While this document themselves rather than a specific domain name. While this document
uses "resolver.arpa" to return SVCB records indicating designated uses "resolver.arpa" to return SVCB records indicating designated
encrypted capability, the name is generic enough to allow future encrypted capability, the name is generic enough to allow future
skipping to change at page 9, line 32 skipping to change at page 10, line 36
querying client is not interested in an answer from the authoritative querying client is not interested in an answer from the authoritative
"arpa" name servers. The intent of the SUDN is to allow clients to "arpa" name servers. The intent of the SUDN is to allow clients to
communicate with the Unencrypted Resolver much like "ipv4only.arpa" communicate with the Unencrypted Resolver much like "ipv4only.arpa"
allows for client-to-middlebox communication. For more context, see allows for client-to-middlebox communication. For more context, see
the rationale behind "ipv4only.arpa" in [RFC8880]. the rationale behind "ipv4only.arpa" in [RFC8880].
9. References 9. References
9.1. Normative References 9.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-
00, 1 October 2021,
<https://datatracker.ietf.org/doc/html/draft-ietf-add-
svcb-dns-00>.
[I-D.ietf-dnsop-svcb-https] [I-D.ietf-dnsop-svcb-https]
Schwartz, B., Bishop, M., and E. Nygren, "Service binding Schwartz, B., Bishop, M., and E. Nygren, "Service binding
and parameter specification via the DNS (DNS SVCB and and parameter specification via the DNS (DNS SVCB and
HTTPS RRs)", Work in Progress, Internet-Draft, draft-ietf- HTTPS RRs)", Work in Progress, Internet-Draft, draft-ietf-
dnsop-svcb-https-06, 16 June 2021, dnsop-svcb-https-07, 5 August 2021,
<https://www.ietf.org/archive/id/draft-ietf-dnsop-svcb- <https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-
https-06.txt>. svcb-https-07>.
[I-D.ietf-tls-esni]
Rescorla, E., Oku, K., Sullivan, N., and C. A. Wood, "TLS
Encrypted Client Hello", Work in Progress, Internet-Draft,
draft-ietf-tls-esni-12, 7 July 2021,
<https://www.ietf.org/archive/id/draft-ietf-tls-esni-
12.txt>.
[I-D.schwartz-svcb-dns]
Schwartz, B., "Service Binding Mapping for DNS Servers",
Work in Progress, Internet-Draft, draft-schwartz-svcb-dns-
03, 19 April 2021, <https://www.ietf.org/archive/id/draft-
schwartz-svcb-dns-03.txt>.
[RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G.
J., and E. Lear, "Address Allocation for Private J., and E. Lear, "Address Allocation for Private
Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918, Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918,
February 1996, <https://www.rfc-editor.org/info/rfc1918>. February 1996, <https://www.rfc-editor.org/rfc/rfc1918>.
[RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
and P. Hoffman, "Specification for DNS over Transport and P. Hoffman, "Specification for DNS over Transport
Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May
2016, <https://www.rfc-editor.org/info/rfc7858>. 2016, <https://www.rfc-editor.org/rfc/rfc7858>.
[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS [RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS
(DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018,
<https://www.rfc-editor.org/info/rfc8484>. <https://www.rfc-editor.org/rfc/rfc8484>.
9.2. Informative References 9.2. Informative References
[I-D.ietf-tls-esni]
Rescorla, E., Oku, K., Sullivan, N., and C. A. Wood, "TLS
Encrypted Client Hello", Work in Progress, Internet-Draft,
draft-ietf-tls-esni-13, 12 August 2021,
<https://datatracker.ietf.org/doc/html/draft-ietf-tls-
esni-13>.
[I-D.schinazi-httpbis-doh-preference-hints] [I-D.schinazi-httpbis-doh-preference-hints]
Schinazi, D., Sullivan, N., and J. Kipp, "DoH Preference Schinazi, D., Sullivan, N., and J. Kipp, "DoH Preference
Hints for HTTP", Work in Progress, Internet-Draft, draft- Hints for HTTP", Work in Progress, Internet-Draft, draft-
schinazi-httpbis-doh-preference-hints-02, 13 July 2020, schinazi-httpbis-doh-preference-hints-02, 13 July 2020,
<https://www.ietf.org/archive/id/draft-schinazi-httpbis- <https://datatracker.ietf.org/doc/html/draft-schinazi-
doh-preference-hints-02.txt>. httpbis-doh-preference-hints-02>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, DOI 10.17487/RFC2132, March 1997, Extensions", RFC 2132, DOI 10.17487/RFC2132, March 1997,
<https://www.rfc-editor.org/info/rfc2132>. <https://www.rfc-editor.org/rfc/rfc2132>.
[RFC5507] IAB, Faltstrom, P., Ed., Austein, R., Ed., and P. Koch, [RFC5507] IAB, Faltstrom, P., Ed., Austein, R., Ed., and P. Koch,
Ed., "Design Choices When Expanding the DNS", RFC 5507, Ed., "Design Choices When Expanding the DNS", RFC 5507,
DOI 10.17487/RFC5507, April 2009, DOI 10.17487/RFC5507, April 2009,
<https://www.rfc-editor.org/info/rfc5507>. <https://www.rfc-editor.org/rfc/rfc5507>.
[RFC6105] Levy-Abegnoli, E., Van de Velde, G., Popoviciu, C., and J. [RFC6105] Levy-Abegnoli, E., Van de Velde, G., Popoviciu, C., and J.
Mohacsi, "IPv6 Router Advertisement Guard", RFC 6105, Mohacsi, "IPv6 Router Advertisement Guard", RFC 6105,
DOI 10.17487/RFC6105, February 2011, DOI 10.17487/RFC6105, February 2011,
<https://www.rfc-editor.org/info/rfc6105>. <https://www.rfc-editor.org/rfc/rfc6105>.
[RFC8106] Jeong, J., Park, S., Beloeil, L., and S. Madanapalli, [RFC8106] Jeong, J., Park, S., Beloeil, L., and S. Madanapalli,
"IPv6 Router Advertisement Options for DNS Configuration", "IPv6 Router Advertisement Options for DNS Configuration",
RFC 8106, DOI 10.17487/RFC8106, March 2017, RFC 8106, DOI 10.17487/RFC8106, March 2017,
<https://www.rfc-editor.org/info/rfc8106>. <https://www.rfc-editor.org/rfc/rfc8106>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8880] Cheshire, S. and D. Schinazi, "Special Use Domain Name [RFC8880] Cheshire, S. and D. Schinazi, "Special Use Domain Name
'ipv4only.arpa'", RFC 8880, DOI 10.17487/RFC8880, August 'ipv4only.arpa'", RFC 8880, DOI 10.17487/RFC8880, August
2020, <https://www.rfc-editor.org/info/rfc8880>. 2020, <https://www.rfc-editor.org/rfc/rfc8880>.
Appendix A. Rationale for using SVCB records Appendix A. Rationale for using SVCB records
This mechanism uses SVCB/HTTPS resource records This mechanism uses SVCB/HTTPS resource records
[I-D.ietf-dnsop-svcb-https] to communicate that a given domain [I-D.ietf-dnsop-svcb-https] to communicate that a given domain
designates a particular Designated Resolver for clients to use in designates a particular Designated Resolver for clients to use in
place of an Unencrypted Resolver (using a SUDN) or another Encrypted place of an Unencrypted Resolver (using a SUDN) or another Encrypted
Resolver (using its domain name). Resolver (using its domain name).
There are various other proposals for how to provide similar There are various other proposals for how to provide similar
 End of changes. 48 change blocks. 
92 lines changed or deleted 133 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/