idnits 2.17.00 (12 Aug 2021) /tmp/idnits33829/draft-ietf-add-ddr-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 5 instances of lines with non-RFC2606-compliant FQDNs in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (15 November 2021) is 186 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-03) exists of draft-ietf-add-svcb-dns-01 == Outdated reference: A later version (-09) exists of draft-ietf-dnsop-svcb-https-08 == Outdated reference: A later version (-14) exists of draft-ietf-tls-esni-13 Summary: 0 errors (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 ADD T. Pauly 3 Internet-Draft E. Kinnear 4 Intended status: Standards Track Apple Inc. 5 Expires: 19 May 2022 C.A. Wood 6 Cloudflare 7 P. McManus 8 Fastly 9 T. Jensen 10 Microsoft 11 15 November 2021 13 Discovery of Designated Resolvers 14 draft-ietf-add-ddr-04 16 Abstract 18 This document defines Discovery of Designated Resolvers (DDR), a 19 mechanism for DNS clients to use DNS records to discover a resolver's 20 encrypted DNS configuration. This mechanism can be used to move from 21 unencrypted DNS to encrypted DNS when only the IP address of a 22 resolver is known. This mechanism is designed to be limited to cases 23 where unencrypted resolvers and their designated resolvers are 24 operated by the same entity or cooperating entities. It can also be 25 used to discover support for encrypted DNS protocols when the name of 26 an encrypted resolver is known. 28 Discussion Venues 30 This note is to be removed before publishing as an RFC. 32 Discussion of this document takes place on the Adaptive DNS Discovery 33 Working Group mailing list (add@ietf.org), which is archived at 34 https://mailarchive.ietf.org/arch/browse/add/. 36 Source for this draft and an issue tracker can be found at 37 https://github.com/ietf-wg-add/draft-ietf-add-ddr. 39 Status of This Memo 41 This Internet-Draft is submitted in full conformance with the 42 provisions of BCP 78 and BCP 79. 44 Internet-Drafts are working documents of the Internet Engineering 45 Task Force (IETF). Note that other groups may also distribute 46 working documents as Internet-Drafts. The list of current Internet- 47 Drafts is at https://datatracker.ietf.org/drafts/current/. 49 Internet-Drafts are draft documents valid for a maximum of six months 50 and may be updated, replaced, or obsoleted by other documents at any 51 time. It is inappropriate to use Internet-Drafts as reference 52 material or to cite them other than as "work in progress." 54 This Internet-Draft will expire on 19 May 2022. 56 Copyright Notice 58 Copyright (c) 2021 IETF Trust and the persons identified as the 59 document authors. All rights reserved. 61 This document is subject to BCP 78 and the IETF Trust's Legal 62 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 63 license-info) in effect on the date of publication of this document. 64 Please review these documents carefully, as they describe your rights 65 and restrictions with respect to this document. Code Components 66 extracted from this document must include Simplified BSD License text 67 as described in Section 4.e of the Trust Legal Provisions and are 68 provided without warranty as described in the Simplified BSD License. 70 Table of Contents 72 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 73 1.1. Specification of Requirements . . . . . . . . . . . . . . 3 74 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 75 3. DNS Service Binding Records . . . . . . . . . . . . . . . . . 4 76 4. Discovery Using Resolver IP Addresses . . . . . . . . . . . . 5 77 4.1. Use of Designated Resolvers . . . . . . . . . . . . . . . 6 78 4.2. Verified Discovery . . . . . . . . . . . . . . . . . . . 6 79 4.3. Opportunistic Discovery . . . . . . . . . . . . . . . . . 7 80 5. Discovery Using Resolver Names . . . . . . . . . . . . . . . 7 81 6. Deployment Considerations . . . . . . . . . . . . . . . . . . 8 82 6.1. Caching Forwarders . . . . . . . . . . . . . . . . . . . 8 83 6.2. Certificate Management . . . . . . . . . . . . . . . . . 9 84 6.3. Server Name Handling . . . . . . . . . . . . . . . . . . 9 85 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 86 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 87 8.1. Special Use Domain Name "resolver.arpa" . . . . . . . . . 10 88 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 89 9.1. Normative References . . . . . . . . . . . . . . . . . . 10 90 9.2. Informative References . . . . . . . . . . . . . . . . . 11 91 Appendix A. Rationale for using SVCB records . . . . . . . . . . 12 92 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 94 1. Introduction 96 When DNS clients wish to use encrypted DNS protocols such as DNS- 97 over-TLS (DoT) [RFC7858] or DNS-over-HTTPS (DoH) [RFC8484], they 98 require additional information beyond the IP address of the DNS 99 server, such as the resolver's hostname, non-standard ports, or URL 100 paths. However, common configuration mechanisms only provide the 101 resolver's IP address during configuration. Such mechanisms include 102 network provisioning protocols like DHCP [RFC2132] and IPv6 Router 103 Advertisement (RA) options [RFC8106], as well as manual 104 configuration. 106 This document defines two mechanisms for clients to discover 107 designated resolvers using DNS server Service Binding (SVCB, 108 [I-D.ietf-dnsop-svcb-https]) records: 110 1. When only an IP address of an Unencrypted Resolver is known, the 111 client queries a special use domain name (SUDN) [RFC6761] to 112 discover DNS SVCB records associated with one or more Encrypted 113 Resolvers the Unencrypted Resolver has designated for use when 114 support for DNS encryption is requested (Section 4). 116 2. When the hostname of an Encrypted Resolver is known, the client 117 requests details by sending a query for a DNS SVCB record. This 118 can be used to discover alternate encrypted DNS protocols 119 supported by a known server, or to provide details if a resolver 120 name is provisioned by a network (Section 5). 122 Both of these approaches allow clients to confirm that a discovered 123 Encrypted Resolver is designated by the originally provisioned 124 resolver. "Designated" in this context means that the resolvers are 125 operated by the same entity or cooperating entities; for example, the 126 resolvers are accessible on the same IP address, or there is a 127 certificate that claims ownership over both resolvers. 129 1.1. Specification of Requirements 131 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 132 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 133 "OPTIONAL" in this document are to be interpreted as described in BCP 134 14 [RFC2119] [RFC8174] when, and only when, they appear in all 135 capitals, as shown here. 137 2. Terminology 139 This document defines the following terms: 141 DDR: Discovery of Designated Resolvers. Refers to the mechanisms 142 defined in this document. 144 Designated Resolver: A resolver, presumably an Encrypted Resolver, 145 designated by another resolver for use in its own place. This 146 designation can be verified with TLS certificates. 148 Encrypted Resolver: A DNS resolver using any encrypted DNS 149 transport. This includes current mechanisms such as DoH and DoT 150 as well as future mechanisms. 152 Unencrypted Resolver: A DNS resolver using TCP or UDP port 53. 154 3. DNS Service Binding Records 156 DNS resolvers can advertise one or more Designated Resolvers that may 157 offer support over encrypted channels and are controlled by the same 158 entity. 160 When a client discovers Designated Resolvers, it learns information 161 such as the supported protocols and ports. This information is 162 provided in Service Binding (SVCB) records for DNS Servers. The 163 formatting of these records, including the DNS-unique parameters such 164 as "dohpath", are defined by [I-D.ietf-add-svcb-dns]. 166 The following is an example of an SVCB record describing a DoH server 167 discovered by querying for _dns.example.net: 169 _dns.example.net. 7200 IN SVCB 1 example.net. ( 170 alpn=h2 dohpath=/dns-query{?dns} ) 172 The following is an example of an SVCB record describing a DoT server 173 discovered by querying for _dns.example.net: 175 _dns.example.net 7200 IN SVCB 1 dot.example.net ( 176 alpn=dot port=8530 ) 178 If multiple Designated Resolvers are available, using one or more 179 encrypted DNS protocols, the resolver deployment can indicate a 180 preference using the priority fields in each SVCB record 181 [I-D.ietf-dnsop-svcb-https]. 183 To avoid name lookup deadlock, Designated Resolvers SHOULD follow the 184 guidance in Section 10 of [RFC8484] regarding the avoidance of DNS- 185 based references that block the completion of the TLS handshake. 187 This document focuses on discovering DoH and DoT Designated 188 Resolvers. Other protocols can also use the format defined by 189 [I-D.ietf-add-svcb-dns]. However, if any protocol does not involve 190 some form of certificate validation, new validation mechanisms will 191 need to be defined to support validating designation as defined in 192 Section 4.2. 194 4. Discovery Using Resolver IP Addresses 196 When a DNS client is configured with an Unencrypted Resolver IP 197 address, it SHOULD query the resolver for SVCB records for 198 "dns://resolver.arpa" before making other queries. Specifically, the 199 client issues a query for _dns.resolver.arpa with the SVCB resource 200 record type (64) [I-D.ietf-dnsop-svcb-https]. 202 Because this query is for an SUDN, which no entity can claim 203 ownership over, the SVCB response MUST NOT use the "." value for the 204 TargetName. Instead, the domain name used for DoT or used to 205 construct the DoH template MUST be provided. 207 The following is an example of an SVCB record describing a DoH server 208 discovered by querying for _dns.resolver.arpa: 210 _dns.resolver.arpa 7200 IN SVCB 1 doh.example.net ( 211 alpn=h2 dohpath=/dns-query{?dns} ) 213 The following is an example of an SVCB record describing a DoT server 214 discovered by querying for _dns.resolver.arpa: 216 _dns.resolver.arpa 7200 IN SVCB 1 dot.example.net ( 217 alpn=dot port=8530 ) 219 If the recursive resolver that receives this query has one or more 220 Designated Resolvers, it will return the corresponding SVCB records. 221 When responding to these special queries for "dns://resolver.arpa", 222 the recursive resolver SHOULD include the A and AAAA records for the 223 name of the Designated Resolver in the Additional Answers section. 224 This will allow the DNS client to make queries over an encrypted 225 connection without waiting to resolve the Encrypted Resolver name per 226 [I-D.ietf-dnsop-svcb-https]. If no A/AAAA records or SVCB IP address 227 hints are included, clients will be forced to delay use of the 228 Encrypted Resolver until an additional DNS lookup for the A and AAAA 229 records can be made to the Unencrypted Resolver (or some other 230 resolver the DNS client has been configured to use). 232 If the recursive resolver that receives this query has no Designated 233 Resolvers, it SHOULD return NODATA for queries to the "resolver.arpa" 234 SUDN. 236 4.1. Use of Designated Resolvers 238 When a client discovers Designated Resolvers from an Unencrypted 239 Resolver IP address, it can choose to use these Designated Resolvers 240 either automatically, or based on some other policy, heuristic, or 241 user choice. 243 This document defines two preferred methods to automatically use 244 Designated Resolvers: 246 * Verified Discovery Section 4.2, for when a TLS certificate can be 247 used to validate the resolver's identity. 249 * Opportunistic Discovery Section 4.3, for when a resolver is 250 accessed using a non-public IP address. 252 A client MAY additionally use a discovered Designated Resolver 253 without either of these methods, based on implementation-specific 254 policy or user input. Details of such policy are out of scope of 255 this document. Clients SHOULD NOT automatically use a Designated 256 Resolver without some sort of validation, such as the two methods 257 defined in this document or a future mechanism. 259 4.2. Verified Discovery 261 Verified Discovery is a mechanism that allows automatic use of a 262 Designated Resolver that supports DNS encryption that performs a TLS 263 handshake. 265 In order to be considered a verified Designated Resolver, the TLS 266 certificate presented by the Designated Resolver MUST contain the IP 267 address of the designating Unencrypted Resolver in a subjectAltName 268 extension. If the certificate can be validated, the client SHOULD 269 use the discovered Designated Resolver for any cases in which it 270 would have otherwise used the Unencrypted Resolver. If the 271 Designated Resolver has a different IP address than the Unencrypted 272 Resolver and the TLS certificate does not cover the Unencrypted 273 Resolver address, the client MUST NOT automatically use the 274 discovered Designated Resolver. Additionally, the client SHOULD 275 suppress any further queries for Designated Resolvers using this 276 Unencrypted Resolver for the length of time indicated by the SVCB 277 record's Time to Live (TTL). 279 If the Designated Resolver and the Unencrypted Resolver share an IP 280 address, clients MAY choose to opportunistically use the Designated 281 Resolver even without this certificate check (Section 4.3). 283 If resolving the name of a Designated Resolver from an SVCB record 284 yields an IP address that was not presented in the Additional Answers 285 section or ipv4hint or ipv6hint fields of the original SVCB query, 286 the connection made to that IP address MUST pass the same TLS 287 certificate checks before being allowed to replace a previously known 288 and validated IP address for the same Designated Resolver name. 290 4.3. Opportunistic Discovery 292 There are situations where Verified Discovery of encrypted DNS 293 configuration over unencrypted DNS is not possible. This includes 294 Unencrypted Resolvers on non-public IP addresses such as those 295 defined in [RFC1918] whose identity cannot be confirmed using TLS 296 certificates. 298 Opportunistic Privacy is defined for DoT in Section 4.1 of [RFC7858] 299 as a mode in which clients do not validate the name of the resolver 300 presented in the certificate. A client MAY use information from the 301 SVCB record for "dns://resolver.arpa" with this "opportunistic" 302 approach (not validating the names presented in the 303 SubjectAlternativeName field of the certificate) as long as the IP 304 address of the Encrypted Resolver does not differ from the IP address 305 of the Unencrypted Resolver. Clients SHOULD use this mode only for 306 resolvers using non-public IP addresses. This approach can be used 307 for any encrypted DNS protocol that uses TLS. 309 5. Discovery Using Resolver Names 311 A DNS client that already knows the name of an Encrypted Resolver can 312 use DDR to discover details about all supported encrypted DNS 313 protocols. This situation can arise if a client has been configured 314 to use a given Encrypted Resolver, or if a network provisioning 315 protocol (such as DHCP or IPv6 Router Advertisements) provides a name 316 for an Encrypted Resolver alongside the resolver IP address. 318 For these cases, the client simply sends a DNS SVCB query using the 319 known name of the resolver. This query can be issued to the named 320 Encrypted Resolver itself or to any other resolver. Unlike the case 321 of bootstrapping from an Unencrypted Resolver (Section 4), these 322 records SHOULD be available in the public DNS. 324 For example, if the client already knows about a DoT server 325 resolver.example.com, it can issue an SVCB query for 326 _dns.resolver.example.com to discover if there are other encrypted 327 DNS protocols available. In the following example, the SVCB answers 328 indicate that resolver.example.com supports both DoH and DoT, and 329 that the DoH server indicates a higher priority than the DoT server. 331 _dns.resolver.example.com. 7200 IN SVCB 1 resolver.example.com. ( 332 alpn=h2 dohpath=/dns-query{?dns} ) 333 _dns.resolver.example.com. 7200 IN SVCB 1 resolver.example.com. ( 334 alpn=dot ) 336 Clients MUST validate that for any Encrypted Resolver discovered 337 using a known resolver name, the TLS certificate of the resolver 338 contains the known name in a subjectAltName extension. In the 339 example above, this means that both servers need to have certificates 340 that cover the name resolver.example.com. Often, the various 341 supported encrypted DNS protocols will be specified such that the 342 SVCB TargetName matches the known name, as is true in the example 343 above. However, even when the TargetName is different (for example, 344 if the DoH server had a TargetName of doh.example.com), the clients 345 still check for the original known resolver name in the certificate. 347 Note that this resolver validation is not related to the DNS resolver 348 that provided the SVCB answer. 350 As another example, being able to discover a Designated Resolver for 351 a known Encrypted Resolver is useful when a client has a DoT 352 configuration for foo.resolver.example.com but is on a network that 353 blocks DoT traffic. The client can still send a query to any other 354 accessible resolver (either the local network resolver or an 355 accessible DoH server) to discover if there is a designated DoH 356 server for foo.resolver.example.com. 358 6. Deployment Considerations 360 Resolver deployments that support DDR are advised to consider the 361 following points. 363 6.1. Caching Forwarders 365 A DNS forwarder SHOULD NOT forward queries for "resolver.arpa" 366 upstream. This prevents a client from receiving an SVCB record that 367 will fail to authenticate because the forwarder's IP address is not 368 in the upstream resolver's Designated Resolver's TLS certificate SAN 369 field. A DNS forwarder which already acts as a completely blind 370 forwarder MAY choose to forward these queries when the operator 371 expects that this does not apply, either because the operator knows 372 the upstream resolver does have the forwarder's IP address in its TLS 373 certificate's SAN field or that the operator expects clients of the 374 unencrypted resolver to use the SVCB information opportunistically. 376 Operators who choose to forward queries for "resolver.arpa" upstream 377 should note that client behavior is never guaranteed and use of DDR 378 by a resolver does not communicate a requirement for clients to use 379 the SVCB record when it cannot be verified. 381 6.2. Certificate Management 383 Resolver owners that support Verified Discovery will need to list 384 valid referring IP addresses in their TLS certificates. This may 385 pose challenges for resolvers with a large number of referring IP 386 addresses. 388 6.3. Server Name Handling 390 Clients MUST NOT use "resolver.arpa" as the server name either in the 391 TLS Server Name Indication (SNI) ([RFC8446]) for DoT or DoH 392 connections, or in the URI host for DoH requests. 394 When performing discovery using resolver IP addresses, clients MUST 395 use the IP address as the URI host for DoH requests. 397 Note that since IP addresses are not supported by default in the TLS 398 SNI, resolvers that support discovery using IP addresses will need to 399 be configured to present the appropriate TLS certificate when no SNI 400 is present for both DoT and DoH. 402 7. Security Considerations 404 Since clients can receive DNS SVCB answers over unencrypted DNS, on- 405 path attackers can prevent successful discovery by dropping SVCB 406 packets. Clients should be aware that it might not be possible to 407 distinguish between resolvers that do not have any Designated 408 Resolver and such an active attack. To limit the impact of discovery 409 queries being dropped either maliciously or unintentionally, clients 410 can re-send their SVCB queries periodically. 412 DoH resolvers that allow discovery using DNS SVCB answers over 413 unencrypted DNS MUST NOT provide differentiated behavior based on the 414 HTTP path alone, since an attacker could modify the "dohpath" 415 parameter. 417 While the IP address of the Unencrypted Resolver is often provisioned 418 over insecure mechanisms, it can also be provisioned securely, such 419 as via manual configuration, a VPN, or on a network with protections 420 like RA guard [RFC6105]. An attacker might try to direct Encrypted 421 DNS traffic to itself by causing the client to think that a 422 discovered Designated Resolver uses a different IP address from the 423 Unencrypted Resolver. Such a Designated Resolver might have a valid 424 certificate, but be operated by an attacker that is trying to observe 425 or modify user queries without the knowledge of the client or 426 network. 428 If the IP address of a Designated Resolver differs from that of an 429 Unencrypted Resolver, clients applying Verified Discovery 430 (Section 4.2) MUST validate that the IP address of the Unencrypted 431 Resolver is covered by the SubjectAlternativeName of the Designated 432 Resolver's TLS certificate. 434 Clients using Opportunistic Discovery (Section 4.3) MUST be limited 435 to cases where the Unencrypted Resolver and Designated Resolver have 436 the same IP address. 438 The constraints on the use of Designated Resolvers specified here 439 apply specifically to the automatic discovery mechanisms defined in 440 this document, which are referred to as Verified Discovery and 441 Opportunistic Discovery. Clients MAY use some other mechanism to 442 verify and use Designated Resolvers discovered using the DNS SVCB 443 record. However, use of such an alternate mechanism needs to take 444 into account the attack scenarios detailed here. 446 8. IANA Considerations 448 8.1. Special Use Domain Name "resolver.arpa" 450 This document calls for the addition of "resolver.arpa" to the 451 Special-Use Domain Names (SUDN) registry established by [RFC6761]. 452 This will allow resolvers to respond to queries directed at 453 themselves rather than a specific domain name. While this document 454 uses "resolver.arpa" to return SVCB records indicating designated 455 encrypted capability, the name is generic enough to allow future 456 reuse for other purposes where the resolver wishes to provide 457 information about itself to the client. 459 The "resolver.arpa" SUDN is similar to "ipv4only.arpa" in that the 460 querying client is not interested in an answer from the authoritative 461 "arpa" name servers. The intent of the SUDN is to allow clients to 462 communicate with the Unencrypted Resolver much like "ipv4only.arpa" 463 allows for client-to-middlebox communication. For more context, see 464 the rationale behind "ipv4only.arpa" in [RFC8880]. 466 9. References 468 9.1. Normative References 470 [I-D.ietf-add-svcb-dns] 471 Schwartz, B., "Service Binding Mapping for DNS Servers", 472 Work in Progress, Internet-Draft, draft-ietf-add-svcb-dns- 473 01, 21 October 2021, 474 . 477 [I-D.ietf-dnsop-svcb-https] 478 Schwartz, B., Bishop, M., and E. Nygren, "Service binding 479 and parameter specification via the DNS (DNS SVCB and 480 HTTPS RRs)", Work in Progress, Internet-Draft, draft-ietf- 481 dnsop-svcb-https-08, 12 October 2021, 482 . 485 [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. 486 J., and E. Lear, "Address Allocation for Private 487 Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918, 488 February 1996, . 490 [RFC6761] Cheshire, S. and M. Krochmal, "Special-Use Domain Names", 491 RFC 6761, DOI 10.17487/RFC6761, February 2013, 492 . 494 [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., 495 and P. Hoffman, "Specification for DNS over Transport 496 Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May 497 2016, . 499 [RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS 500 (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, 501 . 503 9.2. Informative References 505 [I-D.ietf-tls-esni] 506 Rescorla, E., Oku, K., Sullivan, N., and C. A. Wood, "TLS 507 Encrypted Client Hello", Work in Progress, Internet-Draft, 508 draft-ietf-tls-esni-13, 12 August 2021, 509 . 512 [I-D.schinazi-httpbis-doh-preference-hints] 513 Schinazi, D., Sullivan, N., and J. Kipp, "DoH Preference 514 Hints for HTTP", Work in Progress, Internet-Draft, draft- 515 schinazi-httpbis-doh-preference-hints-02, 13 July 2020, 516 . 519 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 520 Requirement Levels", BCP 14, RFC 2119, 521 DOI 10.17487/RFC2119, March 1997, 522 . 524 [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor 525 Extensions", RFC 2132, DOI 10.17487/RFC2132, March 1997, 526 . 528 [RFC5507] IAB, Faltstrom, P., Ed., Austein, R., Ed., and P. Koch, 529 Ed., "Design Choices When Expanding the DNS", RFC 5507, 530 DOI 10.17487/RFC5507, April 2009, 531 . 533 [RFC6105] Levy-Abegnoli, E., Van de Velde, G., Popoviciu, C., and J. 534 Mohacsi, "IPv6 Router Advertisement Guard", RFC 6105, 535 DOI 10.17487/RFC6105, February 2011, 536 . 538 [RFC8106] Jeong, J., Park, S., Beloeil, L., and S. Madanapalli, 539 "IPv6 Router Advertisement Options for DNS Configuration", 540 RFC 8106, DOI 10.17487/RFC8106, March 2017, 541 . 543 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 544 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 545 May 2017, . 547 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 548 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 549 . 551 [RFC8880] Cheshire, S. and D. Schinazi, "Special Use Domain Name 552 'ipv4only.arpa'", RFC 8880, DOI 10.17487/RFC8880, August 553 2020, . 555 Appendix A. Rationale for using SVCB records 557 This mechanism uses SVCB/HTTPS resource records 558 [I-D.ietf-dnsop-svcb-https] to communicate that a given domain 559 designates a particular Designated Resolver for clients to use in 560 place of an Unencrypted Resolver (using a SUDN) or another Encrypted 561 Resolver (using its domain name). 563 There are various other proposals for how to provide similar 564 functionality. There are several reasons that this mechanism has 565 chosen SVCB records: 567 * Discovering encrypted resolver using DNS records keeps client 568 logic for DNS self-contained and allows a DNS resolver operator to 569 define which resolver names and IP addresses are related to one 570 another. 572 * Using DNS records also does not rely on bootstrapping with higher- 573 level application operations (such as 574 [I-D.schinazi-httpbis-doh-preference-hints]). 576 * SVCB records are extensible and allow definition of parameter 577 keys. This makes them a superior mechanism for extensibility as 578 compared to approaches such as overloading TXT records. The same 579 keys can be used for discovering Designated Resolvers of different 580 transport types as well as those advertised by Unencrypted 581 Resolvers or another Encrypted Resolver. 583 * Clients and servers that are interested in privacy of names will 584 already need to support SVCB records in order to use Encrypted TLS 585 Client Hello [I-D.ietf-tls-esni]. Without encrypting names in 586 TLS, the value of encrypting DNS is reduced, so pairing the 587 solutions provides the largest benefit. 589 * Clients that support SVCB will generally send out three queries 590 when accessing web content on a dual-stack network: A, AAAA, and 591 HTTPS queries. Discovering a Designated Resolver as part of one 592 of these queries, without having to add yet another query, 593 minimizes the total number of queries clients send. While 594 [RFC5507] recommends adding new RRTypes for new functionality, 595 SVCB provides an extension mechanism that simplifies client 596 behavior. 598 Authors' Addresses 600 Tommy Pauly 601 Apple Inc. 602 One Apple Park Way 603 Cupertino, California 95014, 604 United States of America 606 Email: tpauly@apple.com 608 Eric Kinnear 609 Apple Inc. 610 One Apple Park Way 611 Cupertino, California 95014, 612 United States of America 613 Email: ekinnear@apple.com 615 Christopher A. Wood 616 Cloudflare 617 101 Townsend St 618 San Francisco, 619 United States of America 621 Email: caw@heapingbits.net 623 Patrick McManus 624 Fastly 626 Email: mcmanus@ducksong.com 628 Tommy Jensen 629 Microsoft 631 Email: tojens@microsoft.com