idnits 2.17.1 draft-ietf-dnsop-alt-tld-08.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 (March 3, 2017) is 2604 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC6303' is defined on line 317, but no explicit reference was found in the text ** Obsolete normative reference: RFC 7719 (Obsoleted by RFC 8499) == Outdated reference: A later version (-10) exists of draft-ietf-dnsop-nsec-aggressiveuse-08 == Outdated reference: A later version (-08) exists of draft-ietf-dnsop-sutld-ps-02 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 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: September 4, 2017 Dyn 6 March 3, 2017 8 The ALT Special Use Top Level Domain 9 draft-ietf-dnsop-alt-tld-08 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 http://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 September 4, 2017. 42 Copyright Notice 44 Copyright (c) 2017 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 (http://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 . . . . . . . . . . . . . . . . . 5 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 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 [I-D.ietf-dnsop-sutld-ps] 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 [I-D.ietf-dnsop-sutld-ps] (which 142 contains much 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 169 appear to assist the developer community. 171 [Editor note (to be removed before publication): There was 172 significant discussion on an IANA registry for the ALT namespace - 173 please consult the lists for full thread, but the consensus was that 174 it would be better for the IETF / IANA to not administer a registry 175 for this. It is expected one or more unofficial lists will be 176 created where people can list the strings that they are using. ] 178 Currently deployed projects and protocols that are using pseudo-TLDs 179 may choose to move under the ALT TLD, but this is not a requirement. 180 Rather, the ALT TLD is being reserved so that current and future 181 projects of a similar nature have a designated place to create 182 alternative resolution namespaces that will not conflict with the 183 regular DNS context. 185 3.1. Choice of the ALT Name 187 A number of names other than "ALT" were considered and discarded. In 188 order for this technique to be effective the names need to continue 189 to follow both the DNS format and conventions (a prime consideration 190 for alternative name formats is that they can be entered in places 191 that normally take DNS context names); this rules out using suffixes 192 that do not follow the usual letter, digit, and hyphen label 193 convention. 195 4. IANA Considerations 197 The IANA is requested to add the ALT string to the "Special-Use 198 Domain Name" registry ([RFC6761], and reference this document. 200 4.1. Domain Name Reservation Considerations 202 This section is to satisfy the requirement in Section 5 of RFC6761. 204 The string ".alt." (and names ending with the string .alt) are 205 special in the following ways: 207 1. Users are expected to know that strings that end in .alt behave 208 differently to normal DNS names. Users are expected to have 209 applications running on their machines that intercept strings of 210 the form .alt and perform special handing of them. If 211 the user tries to resolve a name of the form .alt 212 without the plugin installed, the request will leak 213 into the DNS, receive a negative response, and the resolution 214 will fail. 216 2. Writers of application software that implement a non-DNS 217 namespace are expected to intercept names of the form 218 .alt and perform application specific handing with 219 them. Other applications are not required to perform any special 220 handing (but may choose to provide helpful informational messages 221 if able). 223 3. Writers of name resolution APIs and libraries which operate in 224 the DNS context should not attempt to look these names up in the 225 DNS. If developers of other namespaces implement their namespace 226 through a "shim" or library, they will need to intercept and 227 perform their own handling. 229 4. Caching DNS servers SHOULD NOT recognize these names as special 230 and should not perform any special handling with them. 232 5. Authoritative DNS servers SHOULD NOT recognize these names as 233 special and should not perform any special handling with them. 235 6. DNS server operators SHOULD be aware that queries for names 236 ending in .alt are not DNS names, and were leaked into the DNS 237 context (for example, by a missing browser plugin). This 238 information may be useful for support or debugging purposes. 240 7. DNS Registries/Registrars MUST NOT grant requests to register 241 ".alt" names in the normal way to any person or entity. These 242 ".alt" names are defined by protocol specification to be 243 nonexistent, and they fall outside the set of names available for 244 allocation by registries/registrars. 246 [ Ed note: The above list (esp. 4 and 5) was changed between version 247 -07 and -08, and instruction to add .ALT to the "Locally Served 248 Zones" registry was removed. This was in response to discussions in 249 the DNSOP Interim Meeting (2017-02) and discussions on the DNSOP list 250 on "correct" behavior of leaking .alt queries and the interaction 251 with DNSSEC. This topic generated in excess of 160 dense emails, but 252 the summary was that that A: these are not DNS names (similar to 253 .onion), and B: a delegation would need to be inserted in the ICANN/ 254 IANA root zone in order to avoid SERVFAIL responses if this were 255 added to "Locally Served". The consensus was that it is better to 256 not request adding this to Locally Served (and so avoiding having to 257 ask ICANN to create a process to create a "TLD" for the purposes of 258 insecure delegation). ] 260 5. Privacy Considerations 262 This document reserves ALT to be used to indicate that a name is not 263 a DNS name, and so should not attempt to be resolved using the DNS. 264 Unfortunately, these queries will undoubtedly leak into the DNS - for 265 example, a user may receive an email containing a hostname which 266 should be resolved using a specific resolution context (implemented 267 by a specific application or resolution mechanism). If the user does 268 not have that particular application installed (and their stub 269 resolver library has not been updated to ignore queries for names 270 ending in .alt), it is likely that this will instead be resolved 271 using the DNS. This DNS query will likely be sent to the configured 272 iterative resolver. If this resolver does not have a cache entry for 273 this name (or, if the resolver implements 274 [I-D.ietf-dnsop-nsec-aggressiveuse], a entry for .alt) this query 275 will likely be sent to the DNS root servers. This exposes the 276 (leaked) query name to the operator of the resolver, the operator of 277 the queried DNS root server, and anyone watching queries along the 278 path. This is a general problem with alternative name spaces and not 279 confined to names ending in .alt. 281 6. Security Considerations 283 One of the motivations for the creation of the .alt pseudo-TLD is 284 that unmanaged labels in the managed root name space are subject to 285 unexpected takeover. This could occur if the manager of the root 286 name space decides to delegate the unmanaged label. 288 The unmanaged and "registration not required" nature of labels 289 beneath .alt provides the opportunity for an attacker to re-use the 290 chosen label and thereby possibly compromise applications dependent 291 on the special host name. 293 7. Acknowledgements 295 We would like to thank Joe Abley, Mark Andrews, Marc Blanchet, John 296 Bond, Stephane Bortzmeyer, David Cake, David Conrad, Steve Crocker, 297 Brian Dickson, Ralph Droms, Robert Edmonds, Patrik Faltstrom, Olafur 298 Gudmundsson, Bob Harold, Paul Hoffman, Joel Jaeggli, Ted Lemon, 299 Edward Lewis, John Levine, George Michaelson, Ed Pascoe, Jim Reid, 300 Arturo Servin, Paul Vixie, Suzanne Woolf for feedback. 302 Christian Grothoff was also very helpful. 304 8. References 306 8.1. Normative References 308 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 309 STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, 310 . 312 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 313 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ 314 RFC2119, March 1997, 315 . 317 [RFC6303] Andrews, M., "Locally Served DNS Zones", BCP 163, RFC 318 6303, DOI 10.17487/RFC6303, July 2011, 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 [I-D.ietf-dnsop-nsec-aggressiveuse] 342 Fujiwara, K., Kato, A., and W. Kumari, "Aggressive use of 343 DNSSEC-validated Cache", draft-ietf-dnsop-nsec- 344 aggressiveuse-08 (work in progress), January 2017. 346 [I-D.ietf-dnsop-sutld-ps] 347 Lemon, T., Droms, R., and W. Kumari, "Special-Use Names 348 Problem Statement", draft-ietf-dnsop-sutld-ps-02 (work in 349 progress), January 2017. 351 Appendix A. Changes / Author Notes. 353 [RFC Editor: Please remove this section before publication ] 355 From -07 to -08: 357 o Made it clear that this is only for non-DNS. 359 o As per Interim consensus, removed the "add this to local zones" 360 text. 362 o Added a Privacy Considerations section 364 o Grammar fix -- "alternative" is more correct than "alternate", 365 replaced. 367 From -06 to -07: 369 o Rolled up the GItHub releases in to a full release. 371 From -07.2 to -07.3 (GitHub point release): 373 Removed 'sandbox' at Stephane's suggestion - https://www.ietf.org/ 374 mail-archive/web/dnsop/current/msg18495.html 375 Suggested (in 4.1 bullet 3) that DNS libraries ignore these -- Bob 376 Harold - https://mailarchive.ietf.org/arch/msg/dnsop/ 377 a_ruPf8osSzi_hCzCqOxYLXhYoA 379 Added some pointers to the SUTLD document. 381 From -07.1 to -07.2 (Github point release): 383 o Reverted the string (at request of chairs). 385 o Added an editors note explaining the above. 387 o Removed some more background, editorializing, etc. 389 From -06 to -07.1 (https://github.com/wkumari/draft-wkumari-dnsop- 390 alt-tld/tree/7988fcf06100f7a17f21e6993b781690b5774472): 392 o Replaced ALT with at the suggestions of George. 394 From -05 to -06: 396 o Removed a large amount of background - we now have the (adopted) 397 tldr document for that. 399 o Made it clear that pseudo-TLD is not intended to be pejorative. 401 o Tried to make it cleat that this is something people can choose to 402 use - or not. 404 From -04 to -05: 406 o Version bump - we are waiting in the queue for progress on SUN, 407 bumping this to keep it alive. 409 From -03 to -04: 411 o 3 changes - the day, the month and the year (a bump to keep 412 alive). 414 From -02 to -03: 416 o Incorporate suggestions from Stephane and Paul Hoffman. 418 From -01 to -02: 420 o Merged a bunch of changes from Paul Hoffman. Thanks for sending a 421 git pull. 423 From -00 to 01: 425 o Removed the "delegated to new style AS112 servers" text -this was 426 legacy from the omnicient AS112 days. (Joe Abley) 428 o Removed the "Advice to implemntors" section. This used to 429 recommend that people used a subdomain of a domain in the DNS. It 430 was pointed out that this breaks things badly if the domain 431 expires. 433 o Added text about why we don't want to adminster a registry for 434 ALT. 436 From Individual-06 to DNSOP-00 438 o Nothing changed, simply renamed draft-wkumari-dnsop-alt-tld to 439 draft-ietf-dnsop-alt-tld 441 From -05 to -06 443 o Incorporated comments from a number of people, including a number 444 of suggestion heard at the IETF meeting in Dallas, and the DNSOP 445 Interim meeting in May, 2015. 447 o Removed the "Let's have an (optional) IANA registry for people to 448 (opportinistically) register their string, if they want that 449 option" stuff. It was, um, optional.... 451 From -04 to -05 453 o Went through and made sure that I'd captured the feedback 454 received. 456 o Comments from Ed Lewis. 458 o Filled in the "Domain Name Reservation Considerations" section of 459 RFC6761. 461 o Removed examples from .Onion. 463 From -03 to -04 465 o Incorporated some comments from Paul Hoffman 467 From -02 to -03 469 o After discussions with chairs, made this much more generic (not 470 purely non-DNS), and some cleanup. 472 From -01 to -02 474 o Removed some fluffy wording, tightened up the language some. 476 From -00 to -01. 478 o Fixed the abstract. 480 o Recommended that folk root their non-DNS namespace under a DNS 481 namespace that they control (Joe Abley) 483 Authors' Addresses 485 Warren Kumari 486 Google 487 1600 Amphitheatre Parkway 488 Mountain View, CA 94043 489 US 491 Email: warren@kumari.net 493 Andrew Sullivan 494 Dyn 495 150 Dow Street 496 Manchester, NH 03101 497 US 499 Email: asullivan@dyn.com