idnits 2.17.1 draft-ietf-dnsop-alt-tld-12.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 23, 2019) is 1670 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 7719 (Obsoleted by RFC 8499) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 dnsop W. Kumari 3 Internet-Draft Google 4 Intended status: Informational A. Sullivan 5 Expires: February 24, 2020 Oracle 6 August 23, 2019 8 The ALT Special Use Top Level Domain 9 draft-ietf-dnsop-alt-tld-12 11 Abstract 13 This document reserves a string (ALT) to be used as a TLD label in 14 non-DNS contexts. It also provides advice and guidance to developers 15 developing alternative namespaces. 17 [Ed note: Text inside square brackets ([]) is additional background 18 information, answers to frequently asked questions, general musings, 19 etc. They will be removed before publication. This document is 20 being collaborated on in Github at: https://github.com/wkumari/draft- 21 wkumari-dnsop-alt-tld. The most recent version of the document, open 22 issues, etc should all be available here. The authors (gratefully) 23 accept pull requests. ] 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on February 24, 2020. 42 Copyright Notice 44 Copyright (c) 2019 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 2 61 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 62 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 3. The ALT namespace . . . . . . . . . . . . . . . . . . . . . . 4 64 3.1. Choice of the ALT Name . . . . . . . . . . . . . . . . . 4 65 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 66 4.1. Domain Name Reservation Considerations . . . . . . . . . 5 67 5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 6 68 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 69 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 70 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 71 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 72 8.2. Informative References . . . . . . . . . . . . . . . . . 8 73 Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . 8 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 76 1. Introduction 78 Many protocols and systems need to name entities. Names that look 79 like DNS names (a series of labels separated with dots) have become 80 common, even in systems that are not part of the global DNS 81 administered by IANA. This document reserves the label "ALT" (short 82 for "Alternative") as a Special Use Domain ([RFC6761]). This label 83 is intended to be used as the final (rightmost) label to signify that 84 the name is not rooted in the DNS, and that it should not be resolved 85 using the DNS protocol. 87 1.1. Requirements notation 89 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 90 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 91 document are to be interpreted as described in [RFC2119]. 93 1.2. Terminology 95 This document assumes familiarity with DNS terms and concepts. 96 Please see [RFC1034] for background and concepts, and [RFC7719] for 97 terminology. Readers are also expected to be familiar with the 98 discussions in [RFC8244] 100 o DNS name: Domain names that are intended to be used with DNS 101 resolution, either in the global DNS or in some other context 103 o DNS context: The namespace anchored at the globally-unique DNS 104 root. This is the namespace or context that "normal" DNS uses. 106 o non-DNS context: Any other (alternative) namespace. 108 o pseudo-TLD: A label that appears in a fully-qualified domain name 109 in the position of a TLD, but which is not registered in the 110 global DNS. This term is not intended to be pejorative. 112 o TLD: The last visible label in either a fully-qualified domain 113 name or a name that is qualified relative to the root. See the 114 discussion in Section 2. 116 2. Background 118 The success of the DNS makes it a natural starting point for systems 119 that need to name entities in a non-DNS context. 121 In many cases, these systems build a DNS-style tree parallel to, but 122 separate from, the global DNS. They often use a pseudo-TLD to cause 123 resolution in the alternative namespace, using browser plugins, shims 124 in the name resolution process, or simply applications that perform 125 special handling of this particular alternative namespace. An 126 example of such a system is the Tor network's [Dingledine2004] use of 127 the ".onion" Special-Use Top-Level Domain Name (see [RFC7686]). 129 In many cases, the creators of these alternative namespaces have 130 chosen a convenient or descriptive string and started using it. 131 These strings are not registered anywhere nor are they part of the 132 DNS. However, to users and to some applications, they appear to be 133 TLDs; and issues may arise if they are looked up in the DNS. This 134 document suggests that name resolution libraries (stub resolvers) 135 recognize names ending in ".alt" as special, and not attempt to look 136 them up using the DNS protocol in order to limit the effects of 137 queries accidentally leaking into the DNS. 139 The techniques in this document are primarily intended to address the 140 "Experimental Squatting Problem", the "Land Rush Problem" and "Name 141 Collisions" issues discussed in [RFC8244] (which contains much 142 additional background, etc). 144 3. The ALT namespace 146 This document reserves the ALT label, using the [RFC6761] process, 147 for use as an unmanaged pseudo-TLD namespace. The ALT label MAY be 148 used in any domain name as a pseudo-TLD to signify that this is an 149 alternative (non-DNS) namespace, and should not be looked up in a DNS 150 context. 152 Alternative namespaces should differentiate themselves from other 153 alternative namespaces by choosing a name and using it in the label 154 position just before the pseudo-TLD (ALT). For example, a group 155 wishing to create a namespace for Friends Of Olaf might choose the 156 string "foo" and use any set of labels under foo.alt. 158 As names beneath ALT are in an alternative namespace, they have no 159 significance in the regular DNS context and so should not be looked 160 up in the DNS context. 162 Groups wishing to create new alternative namespaces may create their 163 alternative namespace under a label that names their namespace under 164 the ALT label. They should attempt to choose a label that they 165 expect to be unique and, ideally, descriptive. There is no IANA 166 registry for names under the ALT TLD - it is an unmanaged namespace, 167 and developers are responsible for dealing with any collisions that 168 may occur under .alt. Informal lists of namespaces under .alt may be 169 created to assist the developer community. 171 Currently deployed projects and protocols that are using pseudo-TLDs 172 may choose to move under the ALT TLD, but this is not a requirement. 173 Rather, the ALT TLD is being reserved so that current and future 174 projects of a similar nature have a designated place to create 175 alternative resolution namespaces that will not conflict with the 176 regular DNS context. 178 3.1. Choice of the ALT Name 180 A number of names other than "ALT" were considered and discarded. 181 While these are not DNS names, in order for this technique to be 182 effective the names need to continue to follow both the DNS format 183 and conventions (a prime consideration for alternative name formats 184 is that they can be entered in places that normally take DNS context 185 names); this rules out using suffixes that do not follow the usual 186 letter, digit, and hyphen label convention. 188 A short label was deemed desirable for a number of reasons, 189 including: 191 o this is a switch to other resolution contexts, some which may have 192 long labels (for example derived from public keys). 194 o some queries will undoubtedly leak into the DNS. As many of these 195 alternate resolution systems are specifically designed for 196 privacy, limiting how far they leak is desirable. 198 o as there are not protocol police, the label needs to be attractive 199 to implementors of alternate resolution contexts so that they are 200 willing to use this. 202 4. IANA Considerations 204 The IANA is requested to add the ALT string to the "Special-Use 205 Domain Name" registry ([RFC6761], and reference this document. 207 4.1. Domain Name Reservation Considerations 209 This section is to satisfy the requirement in Section 5 of RFC6761. 211 The string ".alt." (and names ending with the string .alt) are 212 special in the following ways: 214 1. Users are expected to know that strings that end in .alt behave 215 differently to normal DNS names. Users are expected to have 216 applications running on their machines that intercept strings of 217 the form .alt and perform special handing of them, or 218 that applications themselves will recognize the strings as 219 special, and perform special handling. If the user tries to 220 resolve a name of the form .alt without the 221 plugin installed (or in the wrong application), the 222 request will leak into the DNS, receive a negative response, and 223 the resolution will fail. 225 2. Writers of application software that implement a non-DNS 226 namespace are expected to intercept names of the form 227 .alt and perform application specific handing with 228 them. Other applications are not required to perform any special 229 handing (but may choose to provide helpful informational messages 230 if able). 232 3. Writers of name resolution APIs and libraries which operate in 233 the DNS context should not attempt to look these names up in the 234 DNS. If developers of other namespaces implement their namespace 235 through a "shim" or library, they will need to intercept and 236 perform their own handling. 238 4. Caching DNS servers SHOULD NOT recognize these names as special 239 and should not perform any special handling with them. 241 5. Authoritative DNS servers SHOULD NOT recognize these names as 242 special and should not perform any special handling with them. 244 6. DNS server operators SHOULD be aware that queries for names 245 ending in .alt are not DNS names, and were leaked into the DNS 246 context (for example, by a missing browser plugin). This 247 information may be useful for support or debugging purposes. 249 7. DNS Registries/Registrars MUST NOT grant requests to register 250 ".alt" names in the normal way to any person or entity. These 251 ".alt" names are defined by protocol specification to be 252 nonexistent, and they fall outside the set of names available for 253 allocation by registries/registrars. 255 Earlier versions of this document requested that .ALT be added to the 256 "Locally Served Zones" registry, and that a DNSSEC insecure 257 delegation (a delegation with no DS record) be created at the root. 258 Significant discussion on the DNSOP list (and an interim meeting) 259 generated the consensus that these names are specifically not DNS 260 names, and that them leaking into the DNS is an error. This means 261 that the current (non-delegated) response of NXDOMAIN is correct as 262 there is no DNS domain .alt, and so the document was updated to 263 remove these requests. 265 5. Privacy Considerations 267 This document reserves ALT to be used to indicate that a name is not 268 a DNS name, and so should not attempt to be resolved using the DNS. 269 Unfortunately, these queries will undoubtedly leak into the DNS - for 270 example, a user may receive an email containing a hostname which 271 should be resolved using a specific resolution context (implemented 272 by a specific application or resolution mechanism). If the user does 273 not have that particular application installed (and their stub 274 resolver library has not been updated to ignore queries for names 275 ending in .alt), it is likely that this will instead be resolved 276 using the DNS. This DNS query will likely be sent to the configured 277 iterative resolver. If this resolver does not have a cache entry for 278 this name (or, if the resolver implements [RFC8198], a entry for 279 .alt) this query will likely be sent to the DNS root servers. This 280 exposes the (leaked) query name to the operator of the resolver, the 281 operator of the queried DNS root server, and anyone watching queries 282 along the path. This is a general problem with alternative name 283 spaces and not confined to names ending in .alt. 285 6. Security Considerations 287 One of the motivations for the creation of the .alt pseudo-TLD is 288 that unmanaged labels in the managed root name space are subject to 289 unexpected takeover. This could occur if the manager of the root 290 name space decides to delegate the unmanaged label. 292 The unmanaged and "registration not required" nature of labels 293 beneath .alt provides the opportunity for an attacker to re-use the 294 chosen label and thereby possibly compromise applications dependent 295 on the special host name. 297 7. Acknowledgements 299 We would like to thank Joe Abley, Mark Andrews, Marc Blanchet, John 300 Bond, Stephane Bortzmeyer, David Cake, David Conrad, Steve Crocker, 301 Brian Dickson, Ralph Droms, Robert Edmonds, Patrik Faltstrom, Olafur 302 Gudmundsson, Bob Harold, Paul Hoffman, Joel Jaeggli, Ted Lemon, 303 Edward Lewis, John Levine, George Michaelson, Ed Pascoe, Jim Reid, 304 Arturo Servin, Paul Vixie, Suzanne Woolf for feedback. 306 Christian Grothoff was also very helpful. 308 8. References 310 8.1. Normative References 312 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 313 STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, 314 . 316 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 317 Requirement Levels", BCP 14, RFC 2119, 318 DOI 10.17487/RFC2119, March 1997, 319 . 321 [RFC6761] Cheshire, S. and M. Krochmal, "Special-Use Domain Names", 322 RFC 6761, DOI 10.17487/RFC6761, February 2013, 323 . 325 [RFC7686] Appelbaum, J. and A. Muffett, "The ".onion" Special-Use 326 Domain Name", RFC 7686, DOI 10.17487/RFC7686, October 327 2015, . 329 [RFC7719] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS 330 Terminology", RFC 7719, DOI 10.17487/RFC7719, December 331 2015, . 333 8.2. Informative References 335 [Dingledine2004] 336 Dingledine, R., Mathewson, N., and P. Syverson, "Tor: The 337 Second-Generation Onion Router", , 8 2004, 338 <>. 341 [RFC8198] Fujiwara, K., Kato, A., and W. Kumari, "Aggressive Use of 342 DNSSEC-Validated Cache", RFC 8198, DOI 10.17487/RFC8198, 343 July 2017, . 345 [RFC8244] Lemon, T., Droms, R., and W. Kumari, "Special-Use Domain 346 Names Problem Statement", RFC 8244, DOI 10.17487/RFC8244, 347 October 2017, . 349 Appendix A. Changes / Author Notes. 351 [RFC Editor: Please remove this section before publication ] 353 From -08 to -12: 355 o Just bumping versions to prevent expiration. 357 o Updated references (aggressive-nsec is now RFC 8198, draft-ietf- 358 dnsop-sutld-ps is now 8244). 360 From -07 to -08: 362 o Made it clear that this is only for non-DNS. 364 o As per Interim consensus, removed the "add this to local zones" 365 text. 367 o Added a Privacy Considerations section 369 o Grammar fix -- "alternative" is more correct than "alternate", 370 replaced. 372 From -06 to -07: 374 o Rolled up the GItHub releases in to a full release. 376 From -07.2 to -07.3 (GitHub point release): 378 Removed 'sandbox' at Stephane's suggestion - https://www.ietf.org/ 379 mail-archive/web/dnsop/current/msg18495.html 381 Suggested (in 4.1 bullet 3) that DNS libraries ignore these -- Bob 382 Harold - https://mailarchive.ietf.org/arch/msg/dnsop/ 383 a_ruPf8osSzi_hCzCqOxYLXhYoA 385 Added some pointers to the SUTLD document. 387 From -07.1 to -07.2 (Github point release): 389 o Reverted the string (at request of chairs). 391 o Added an editors note explaining the above. 393 o Removed some more background, editorializing, etc. 395 From -06 to -07.1 (https://github.com/wkumari/draft-wkumari-dnsop- 396 alt-tld/tree/7988fcf06100f7a17f21e6993b781690b5774472): 398 o Replaced ALT with at the suggestions of George. 400 From -05 to -06: 402 o Removed a large amount of background - we now have the (adopted) 403 tldr document for that. 405 o Made it clear that pseudo-TLD is not intended to be pejorative. 407 o Tried to make it cleat that this is something people can choose to 408 use - or not. 410 From -04 to -05: 412 o Version bump - we are waiting in the queue for progress on SUN, 413 bumping this to keep it alive. 415 From -03 to -04: 417 o 3 changes - the day, the month and the year (a bump to keep 418 alive). 420 From -02 to -03: 422 o Incorporate suggestions from Stephane and Paul Hoffman. 424 From -01 to -02: 426 o Merged a bunch of changes from Paul Hoffman. Thanks for sending a 427 git pull. 429 From -00 to 01: 431 o Removed the "delegated to new style AS112 servers" text -this was 432 legacy from the omnicient AS112 days. (Joe Abley) 434 o Removed the "Advice to implemntors" section. This used to 435 recommend that people used a subdomain of a domain in the DNS. It 436 was pointed out that this breaks things badly if the domain 437 expires. 439 o Added text about why we don't want to adminster a registry for 440 ALT. 442 From Individual-06 to DNSOP-00 444 o Nothing changed, simply renamed draft-wkumari-dnsop-alt-tld to 445 draft-ietf-dnsop-alt-tld 447 From -05 to -06 449 o Incorporated comments from a number of people, including a number 450 of suggestion heard at the IETF meeting in Dallas, and the DNSOP 451 Interim meeting in May, 2015. 453 o Removed the "Let's have an (optional) IANA registry for people to 454 (opportinistically) register their string, if they want that 455 option" stuff. It was, um, optional.... 457 From -04 to -05 459 o Went through and made sure that I'd captured the feedback 460 received. 462 o Comments from Ed Lewis. 464 o Filled in the "Domain Name Reservation Considerations" section of 465 RFC6761. 467 o Removed examples from .Onion. 469 From -03 to -04 471 o Incorporated some comments from Paul Hoffman 473 From -02 to -03 474 o After discussions with chairs, made this much more generic (not 475 purely non-DNS), and some cleanup. 477 From -01 to -02 479 o Removed some fluffy wording, tightened up the language some. 481 From -00 to -01. 483 o Fixed the abstract. 485 o Recommended that folk root their non-DNS namespace under a DNS 486 namespace that they control (Joe Abley) 488 Authors' Addresses 490 Warren Kumari 491 Google 492 1600 Amphitheatre Parkway 493 Mountain View, CA 94043 494 US 496 Email: warren@kumari.net 498 Andrew Sullivan 499 Oracle 500 150 Dow Street 501 Manchester, NH 03101 502 US 504 Email: asullivan@dyn.com