--- 1/draft-ietf-add-ddr-01.txt 2021-07-08 20:13:10.494280918 -0700 +++ 2/draft-ietf-add-ddr-02.txt 2021-07-08 20:13:10.526281725 -0700 @@ -1,33 +1,33 @@ ADD T. Pauly Internet-Draft E. Kinnear Intended status: Standards Track Apple Inc. -Expires: 16 December 2021 C.A. Wood +Expires: 9 January 2022 C.A. Wood Cloudflare P. McManus Fastly T. Jensen Microsoft - 14 June 2021 + 8 July 2021 Discovery of Designated Resolvers - draft-ietf-add-ddr-01 + draft-ietf-add-ddr-02 Abstract This document defines Discovery of Designated Resolvers (DDR), a mechanism for DNS clients to use DNS records to discover a resolver's encrypted DNS configuration. This mechanism can be used to move from - unencrypted DNS to encrypted DNS when only the IP address of an - encrypted resolver is known. It can also be used to discover support - for encrypted DNS protocols when the name of an encrypted resolver is + unencrypted DNS to encrypted DNS when only the IP address of a + resolver is known. It can also be used to discover support for + encrypted DNS protocols when the name of an encrypted resolver is known. This mechanism is designed to be limited to cases where unencrypted resolvers and their designated resolvers are operated by the same entity or cooperating entities. Discussion Venues This note is to be removed before publishing as an RFC. Discussion of this document takes place on the Adaptive DNS Discovery Working Group mailing list (add@ietf.org), which is archived at @@ -44,21 +44,21 @@ 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 16 December 2021. + This Internet-Draft will expire on 9 January 2022. Copyright Notice Copyright (c) 2021 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 @@ -67,56 +67,58 @@ as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Specification of Requirements . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. DNS Service Binding Records . . . . . . . . . . . . . . . . . 4 4. Discovery Using Resolver IP Addresses . . . . . . . . . . . . 5 - 4.1. Authenticated Discovery . . . . . . . . . . . . . . . . . 5 + 4.1. Authenticated Discovery . . . . . . . . . . . . . . . . . 6 4.2. Opportunistic Discovery . . . . . . . . . . . . . . . . . 6 - 5. Discovery Using Resolver Names . . . . . . . . . . . . . . . 6 + 5. Discovery Using Resolver Names . . . . . . . . . . . . . . . 7 6. Deployment Considerations . . . . . . . . . . . . . . . . . . 7 - 6.1. Caching Forwarders . . . . . . . . . . . . . . . . . . . 7 + 6.1. Caching Forwarders . . . . . . . . . . . . . . . . . . . 8 6.2. Certificate Management . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 - 8.1. Special Use Domain Name "resolver.arpa" . . . . . . . . . 8 + 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 + 8.1. Special Use Domain Name "resolver.arpa" . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 - 9.2. Informative References . . . . . . . . . . . . . . . . . 9 - Appendix A. Rationale for using SVCB records . . . . . . . . . . 10 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 + 9.2. Informative References . . . . . . . . . . . . . . . . . 10 + Appendix A. Rationale for using SVCB records . . . . . . . . . . 11 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 1. Introduction When DNS clients wish to use encrypted DNS protocols such as DNS- over-TLS (DoT) [RFC7858] or DNS-over-HTTPS (DoH) [RFC8484], they require additional information beyond the IP address of the DNS server, such as the resolver's hostname, non-standard ports, or URL paths. However, common configuration mechanisms only provide the resolver's IP address during configuration. Such mechanisms include network provisioning protocols like DHCP [RFC2132] and IPv6 Router Advertisement (RA) options [RFC8106], as well as manual configuration. This document defines two mechanisms for clients to discover designated resolvers using DNS server Service Binding (SVCB, [I-D.ietf-dnsop-svcb-https]) records: 1. When only an IP address of an Unencrypted Resolver is known, the client queries a special use domain name to discover DNS SVCB - records associated with the Unencrypted Resolver (Section 4). + records associated with one or more Encrypted Resolvers the + Unencrypted Resolver has designated for use when support for DNS + encryption is requested (Section 4). - 2. When the hostname of an encrypted DNS server is known, the client + 2. When the hostname of an Encrypted Resolver is known, the client requests details by sending a query for a DNS SVCB record. This can be used to discover alternate encrypted DNS protocols supported by a known server, or to provide details if a resolver name is provisioned by a network (Section 5). Both of these approaches allow clients to confirm that a discovered Encrypted Resolver is designated by the originally provisioned resolver. "Designated" in this context means that the resolvers are operated by the same entity or cooperating entities; for example, the resolvers are accessible on the same IP address, or there is a @@ -152,52 +154,73 @@ DNS resolvers can advertise one or more Designated Resolvers that may offer support over encrypted channels and are controlled by the same entity. When a client discovers Designated Resolvers, it learns information such as the supported protocols, ports, and server name to use in certificate validation. This information is provided in Service Binding (SVCB) records for DNS Servers, defined by [I-D.schwartz-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": _dns.example.net 7200 IN SVCB 1 . ( 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": _dns.example.net 7200 IN SVCB 1 dot.example.net ( alpn=dot port=8530 ) If multiple Designated Resolvers are available, using one or more encrypted DNS protocols, the resolver deployment can indicate a preference using the priority fields in each SVCB record [I-D.ietf-dnsop-svcb-https]. + To avoid name lookup deadlock, Designated Resolvers SHOULD follow the + guidance in Section 10 of [RFC8484] regarding the avoidance of DNS- + based references that block the completion of the TLS handshake. + This document focuses on discovering DoH and DoT Designated Resolvers. Other protocols can also use the format defined by [I-D.schwartz-svcb-dns]. However, if any protocol does not involve some form of certificate validation, new validation mechanisms will need to be defined to support validating designation as defined in Section 4.1. 4. Discovery Using Resolver IP Addresses When a DNS client is configured with an Unencrypted Resolver IP address, it SHOULD query the resolver for SVCB records for "dns://resolver.arpa" before making other queries. Specifically, the client issues a query for "_dns.resolver.arpa" with the SVCB resource record type (64) [I-D.ietf-dnsop-svcb-https]. + Because this query is for an SUDN, which no entity can claim + ownership over, the SVCB response MUST NOT use the "." value for the + SvcDomainName. Instead, the domain name used for DoT or used to + construct the DoH template MUST be provided. + + The following is an example of an SVCB record describing a DoH server + discovered by querying for "_dns.resolver.arpa": + + _dns.resolver.arpa 7200 IN SVCB 1 doh.example.net ( + alpn=h2 dohpath=/dns-query{?dns} ) + + The following is an example of an SVCB record describing a DoT server + discovered by querying for "_dns.resolver.arpa": + + _dns.resolver.arpa 7200 IN SVCB 1 dot.example.net ( + alpn=dot port=8530 ) + If the recursive resolver that receives this query has one or more Designated Resolvers, it will return the corresponding SVCB records. When responding to these special queries for "dns://resolver.arpa", the recursive resolver SHOULD include the A and AAAA records for the name of the Designated Resolver in the Additional Answers section. This will allow the DNS client to make queries over an encrypted connection without waiting to resolve the Encrypted Resolver name per [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 Encrypted Resolver until an additional DNS lookup for the A and AAAA @@ -378,30 +401,30 @@ the rationale behind "ipv4only.arpa" in [RFC8880]. 9. References 9.1. Normative References [I-D.ietf-dnsop-svcb-https] Schwartz, B., Bishop, M., and E. Nygren, "Service binding and parameter specification via the DNS (DNS SVCB and HTTPS RRs)", Work in Progress, Internet-Draft, draft-ietf- - dnsop-svcb-https-05, 21 April 2021, + dnsop-svcb-https-06, 16 June 2021, . + https-06.txt>. [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-10, 8 March 2021, + draft-ietf-tls-esni-12, 7 July 2021, . + 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, . [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. J., and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918,