draft-ietf-dnsop-alt-tld-05.txt   draft-ietf-dnsop-alt-tld-06.txt 
dnsop W. Kumari dnsop W. Kumari
Internet-Draft Google Internet-Draft Google
Intended status: Informational A. Sullivan Intended status: Informational A. Sullivan
Expires: March 16, 2017 Dyn Expires: May 3, 2017 Dyn
September 12, 2016 October 30, 2016
The ALT Special Use Top Level Domain The ALT Special Use Top Level Domain
draft-ietf-dnsop-alt-tld-05 draft-ietf-dnsop-alt-tld-06
Abstract Abstract
This document reserves a string (ALT) to be used as a TLD label in This document reserves a string (ALT) to be used as a TLD label in
non-DNS contexts or for names that have no meaning in a global non-DNS contexts, or for names that have no meaning in a global
context. It also provides advice and guidance to developers context. It also provides advice and guidance to developers
developing alternate namespaces. developing alternate namespaces.
[ Ed note: This document lives in GitHub at: [ Ed note: This document lives in GitHub at:
https://github.com/wkumari/draft-wkumari-dnsop-alt-tld . Issues and https://github.com/wkumari/draft-wkumari-dnsop-alt-tld . Issues and
pull requests happily accepted. ] pull requests happily accepted. ]
[ Question for Working Group. It has been proposed that the string
.ALT should be replaced with something else e.g. .NOT-DNS. As naming
discussions in the IETF are always short, simple, and not
controversial, we figured we should open these for discussion now.
We would appreciate clear feedback on preference and rationale. ]
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 March 16, 2017. This Internet-Draft will expire on May 3, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 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 Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 2
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. The ALT namespace . . . . . . . . . . . . . . . . . . . . . . 4 3. The ALT namespace . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Choice of the ALT Name . . . . . . . . . . . . . . . . . 5 3.1. Choice of the ALT Name . . . . . . . . . . . . . . . . . 5
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
4.1. Domain Name Reservation Considerations . . . . . . . . . 6 4.1. Domain Name Reservation Considerations . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
7. Normative References . . . . . . . . . . . . . . . . . . . . 8 7. Normative References . . . . . . . . . . . . . . . . . . . . 6
Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . 8 Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
Many protocols and systems need to name entities. Names that look Many protocols and systems need to name entities. Names that look
like DNS names (a series of labels separated with dots) have become like DNS names (a series of labels separated with dots) have become
common, even in systems that are not part of the global DNS common, even in systems that are not part of the global DNS
administered by IANA. administered by IANA.
This document provides a solution that may, in many cases, be more
appropriate than [RFC6761].
This document reserves the label "ALT" (short for "Alternate") as a This document reserves the label "ALT" (short for "Alternate") as a
Special Use Domain ([RFC6761]). This label is intended to be used as Special Use Domain ([RFC6761]). This label is intended to be used as
the final (rightmost) label to signify that the name is not rooted in the final (rightmost) label to signify that the name is not rooted in
the DNS, and that normal registration and lookup rules do not apply. the DNS, and that normal registration and lookup rules do not apply.
1.1. Requirements notation 1.1. Requirements notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
1.2. Terminology 1.2. Terminology
This document assumes familiarity with DNS terms and concepts. This document assumes familiarity with DNS terms and concepts.
Please see [RFC1034] for background and concepts, and Please see [RFC1034] for background and concepts, and [RFC7719] for
[I-D.ietf-dnsop-dns-terminology] for terminology. terminology. Readers are also expected to be familiar with the
discussions in [I-D.tldr-sutld-ps]
o DNS name: Domain names that are intended to be used with DNS o DNS name: Domain names that are intended to be used with DNS
resolution, either in the global DNS or in some other context resolution, either in the global DNS or in some other context
o DNS context: The namespace anchored at the globally-unique DNS o DNS context: The namespace anchored at the globally-unique DNS
root. This is the namespace or context that "normal" DNS uses. root. This is the namespace or context that "normal" DNS uses.
o non-DNS context: Any other (alternate) namespace. o non-DNS context: Any other (alternate) namespace.
o pseudo-TLD: A label that appears in a fully-qualified domain name o pseudo-TLD: A label that appears in a fully-qualified domain name
in the position of a TLD, but which is not registered in the in the position of a TLD, but which is not registered in the
global DNS. global DNS. This term is in no way intended to be pejorative.
o TLD: The last visible label in either a fully-qualified domain o TLD: The last visible label in either a fully-qualified domain
name or a name that is qualified relative to the root. See the name or a name that is qualified relative to the root. See the
discussion in Section 2. discussion in Section 2.
2. Background 2. Background
The DNS data model is based on a tree structure, and has a single The DNS data model is based on a tree structure, and has a single
root. Conventionally, a name immediately beneath the root is called root. Conventionally, a name immediately beneath the root is called
a "Top Level Domain" or "TLD". TLDs usually delegate portions of a "Top Level Domain" or "TLD". TLDs usually delegate portions of
their namespace to others, who may then delegate further. The their namespace to others, who may then delegate further. The
hierarchical, distributed and caching nature of the DNS has made it hierarchical, distributed and caching nature of the DNS has made it
the primary resolution system on the Internet. the primary resolution system on the Internet.
Domain names are terminated by a zero-length label, so the root label
is normally invisible. Truly fully-qualified names indicate the root
label explicitly, thus: "an.example.tld.". Most of the time, names
are written implicitly relative to the root, thus: "an.example.tld".
In both of these cases, the TLD is the last label that is visible in
presentation format -- in this example, the string "tld". (This
little bit of pedantry is here because, in different contexts, people
can use the term "fully-qualified domain name" to refer to either of
these uses.) It is worth noting that the root label is present in
the on-wire format of fully-qualified domain names, even if not
displayed in the presentation form.
The success of the DNS makes it a natural starting point for systems The success of the DNS makes it a natural starting point for systems
that need to name entities in a non-DNS context, or that have no that need to name entities in a non-DNS context, or that have no
unique meaning in a global context. These name resolutions, unique meaning in a global context. These name resolutions occur in
therefore, occur in a namespace distinct from the DNS. a namespace distinct from the DNS.
In many cases, these systems build a DNS-style tree parallel to, but In many cases, these systems build a DNS-style tree parallel to, but
separate from, the global DNS. They often use a pseudo-TLD to cause separate from, the global DNS. They often use a pseudo-TLD to cause
resolution in the alternate namespace, using browser plugins, shims resolution in the alternate namespace, using browser plugins, shims
in the name resolution process, or simply applications that perform in the name resolution process, or simply applications that perform
special handling of this particular alternate namespace. special handling of this particular alternate namespace.
In many cases, the creators of these alternate namespaces have chosen In many cases, the creators of these alternate namespaces have chosen
a convenient or descriptive string and started using it. These new a convenient or descriptive string and started using it. These
strings are "alternate" strings and are not registered anywhere or strings are not registered anywhere nor are they part of the DNS.
part of the DNS. However they appear to users and to some However they appear to users and to some applications to be TLDs, and
applications to be TLDs. Issues may arise if they are looked up in issues may arise if they are looked up in the DNS.
the DNS. These include:
o User confusion: If someone emails a link of the form
foo.bar.pseudo-TLD to someone who does not have the necessary
software to resolve names in the pseudo-TLD namespace, the name
will not resolve and the user may become confused.
o Excess traffic hitting the DNS root: Lookups leak out of the
pseudo-TLD namespace and end up hitting the DNS root nameservers.
o Collisions: If the pseudo-TLD is eventually delegated from the
root zone, the lookup behavior will change in a non-deterministic
fashion.
o Lack of success for the user's original goal.
An alternate name resolution system might be specifically designed to An alternate name resolution system might be specifically designed to
provide confidentiality of the looked up name, and to provide a provide confidentiality of the looked up name, and to provide a
distributed and censorship-resistant namespace. This goal would distributed and censorship-resistant namespace. This goal would
necessarily be defeated if the queries leak into the DNS, because the necessarily be defeated if the queries leak into the DNS, because the
attempt to look up the name would be visible at least to the attempt to look up the name would be visible at least to the
operators of root name servers and to any entity viewing the DNS operators of root name servers and to any entity viewing the DNS
lookups going to the root nameservers. lookups going to the root nameservers.
3. The ALT namespace 3. The ALT namespace
In order to avoid the above issues, we reserve the ALT label. Unless This document reserves the ALT label, using the [RFC6761] process,
the name desired is globally unique, has meaning on the global for use as a pseudo-TLD. This creates an unmanaged sandbox
context and is delegated in the DNS, it should be considered an namespace. The ALT label MAY be used in any domain name as a pseudo-
alternate namespace, and follow the ALT label scheme outlined below. TLD to signify that this is an alternate (non-DNS) namespace.
The ALT label MAY be used in any domain name as a pseudo-TLD to
signify that this is an alternate (non-DNS) namespace.
Alternate namespaces should differentiate themselves from other Alternate namespaces should differentiate themselves from other
alternate namespaces by choosing a name and using it in the label alternate namespaces by choosing a name and using it in the label
position just before the pseudo-TLD (ALT). For example, a group position just before the pseudo-TLD (ALT). For example, a group
wishing to create a namespace for Friends Of Olaf might choose the wishing to create a namespace for Friends Of Olaf might choose the
string "foo" and use any set of labels under foo.alt. string "foo" and use any set of labels under foo.alt.
As they are in an alternate namespace, they have no significance in As they are in an alternate namespace, they have no significance in
the regular DNS context and so should not be looked up in the DNS the regular DNS context and so should not be looked up in the DNS
context. Some of these requests will inevitably leak into the DNS context. Some of these requests will inevitably leak into the DNS
context (for example, because clicks on a link in a browser that does context (for example, because of clicks on a link in a browser that
not have a extension installed that implements the alternate does not have a extension installed that implements the alternate
namespace resolution), and so the ALT TLD has been added to the namespace resolution), and so the ALT TLD has been added to the
"Locally Served DNS Zones" ( [RFC6303]) registry to limit how far "Locally Served DNS Zones" ( [RFC6303]) registry to limit how far
these flow. these flow.
Groups wishing to create new alternate namespaces SHOULD create their Groups wishing to create new alternate namespaces MAY create their
alternate namespace under a label that names their namespace, and alternate namespace under a label that names their namespace under
under the ALT label. They SHOULD choose a label that they expect to the ALT label. They SHOULD choose a label that they expect to be
be unique and, ideally, descriptive. There is no IANA controlled unique and, ideally, descriptive. There is no IANA controlled
registry for names under the ALT TLD - it is an unmanaged namespace, registry for names under the ALT TLD - it is an unmanaged namespace,
and developers are responsible for dealing with any collisions that and developers are responsible for dealing with any collisions that
may occur under .alt. Informal lists of namespaces under .alt may may occur under .alt. Informal lists of namespaces under .alt may
appear to assist the developer community. appear to assist the developer community.
[Editor note (to be removed before publication): There was [Editor note (to be removed before publication): There was
significant discussion on an IANA registry for the ALT namespace - significant discussion on an IANA registry for the ALT namespace -
please consult the lists for full thread, but the consensus seems to please consult the lists for full thread, but the consensus seems to
be that it would be better for the IETF / IANA to not administer a be that it would be better for the IETF / IANA to not administer a
registry for this. It is expected one or more unofficial lists will registry for this. It is expected one or more unofficial lists will
skipping to change at page 6, line 5 skipping to change at page 5, line 14
3.1. Choice of the ALT Name 3.1. Choice of the ALT Name
A number of names other than "ALT" were considered and discarded. In A number of names other than "ALT" were considered and discarded. In
order for this technique to be effective the names need to continue order for this technique to be effective the names need to continue
to follow both the DNS format and conventions (a prime consideration to follow both the DNS format and conventions (a prime consideration
for alternate name formats is that they can be entered in places that for alternate name formats is that they can be entered in places that
normally take DNS context names); this rules out using suffixes that normally take DNS context names); this rules out using suffixes that
do not follow the usual letter, digit, and hyphen label convention. do not follow the usual letter, digit, and hyphen label convention.
Another proposal was that the ALT TLD instead be a reservation under
.arpa. This was considered, but rejected for several reasons,
including:
1. We wished this to make it clear that this is not in the DNS
context, and .arpa clearly is.
2. The use of the string .alt is intended to evoke the alt.*
hierarchy in Usenet.
3. We wanted the string to be short and easily used.
4. A name underneath .arpa would consume at least five additional
octets of the total 255 octets available in domain names, which
could put pressure on applications that need long machine-
generated names.
5. We are suggesting that the string "ALT" get special treatment in
resolvers, and shim software. We are concerned that using
subdomains of an existing TLD (like .arpa) might end up with bad
implementations misconfiguring / overriding the TLD itself and
breaking .arpa.
There is a concern that if there were placed under .arpa,
inexperienced nameserver operators may inadvertently cover .arpa. A
more significant concern is that the scope of the issue if the query
does leak, and the fact that this would then make the root of the
alternate naming namespace a third level domain, and not a second
one. A project may be willing to have a name of the form
example.alt, but example.alt.arpa may be not look as good.
4. IANA Considerations 4. IANA Considerations
The IANA is requested to add the ALT string to the "Special-Use The IANA is requested to add the ALT string to the "Special-Use
Domain Name" registry ([RFC6761], and reference this document. In Domain Name" registry ([RFC6761], and reference this document. In
addition, the "Locally Served DNS Zones" ([RFC6303]) registry should addition, the "Locally Served DNS Zones" ([RFC6303]) registry should
be updated to reference this document. be updated to reference this document.
4.1. Domain Name Reservation Considerations 4.1. Domain Name Reservation Considerations
This section is to satisfy the requirement in Section 5 of RFC6761. This section is to satisfy the requirement in Section 5 of RFC6761.
skipping to change at page 7, line 49 skipping to change at page 6, line 27
"alt" names in the normal way to any person or entity. These "alt" names in the normal way to any person or entity. These
"alt" names are defined by protocol specification to be "alt" names are defined by protocol specification to be
nonexistent, and they fall outside the set of names available for nonexistent, and they fall outside the set of names available for
allocation by registries/registrars. allocation by registries/registrars.
5. Security Considerations 5. Security Considerations
One of the motivations for the creation of the alt pseudo-TLD is that One of the motivations for the creation of the alt pseudo-TLD is that
unmanaged labels in the managed root name space are subject to unmanaged labels in the managed root name space are subject to
unexpected takeover if the manager of the root name space decides to unexpected takeover if the manager of the root name space decides to
delegate the unmanaged label. delegate the unmanaged label. Another motivation to to increase use
privacy for those users who do use alternate name resolution systems,
by limiting how far these queries leak if used on a system which does
not implement the alternate resolution system.
The unmanaged and "registration not required" nature of labels The unmanaged and "registration not required" nature of labels
beneath .alt provides the opportunity for an attacker to re-use the beneath .alt provides the opportunity for an attacker to re-use the
chosen label and thereby possibly compromise applications dependent chosen label and thereby possibly compromise applications dependent
on the special host name. on the special host name.
6. Acknowledgements 6. Acknowledgements
We would also like to thank Joe Abley, Mark Andrews, Marc Blanchet, We would also like to thank Joe Abley, Mark Andrews, Marc Blanchet,
John Bond, Stephane Bortzmeyer, David Cake, David Conrad, Patrik John Bond, Stephane Bortzmeyer, David Cake, David Conrad, Patrik
Faltstrom, Olafur Gudmundsson, Paul Hoffman, Joel Jaeggli, Ted Lemon, Faltstrom, Olafur Gudmundsson, Paul Hoffman, Joel Jaeggli, Ted Lemon,
Edward Lewis, George Michaelson, Ed Pascoe, Arturo Servin, and Paul Edward Lewis, George Michaelson, Ed Pascoe, Arturo Servin, and Paul
Vixie for feedback. Vixie for feedback.
Christian Grothoff was also very helpful.
7. Normative References 7. Normative References
[I-D.ietf-dnsop-dns-terminology] [I-D.tldr-sutld-ps]
Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS Lemon, T., Droms, R., and W. Kumari, "Special-Use Names
Terminology", draft-ietf-dnsop-dns-terminology-05 (work in Problem Statement", draft-tldr-sutld-ps-04 (work in
progress), September 2015. progress), September 2016.
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987,
<http://www.rfc-editor.org/info/rfc1034>. <http://www.rfc-editor.org/info/rfc1034>.
[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, DOI 10.17487/ Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
RFC2119, March 1997, RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC6303] Andrews, M., "Locally Served DNS Zones", BCP 163, RFC [RFC6303] Andrews, M., "Locally Served DNS Zones", BCP 163, RFC
6303, DOI 10.17487/RFC6303, July 2011, 6303, DOI 10.17487/RFC6303, July 2011,
<http://www.rfc-editor.org/info/rfc6303>. <http://www.rfc-editor.org/info/rfc6303>.
[RFC6761] Cheshire, S. and M. Krochmal, "Special-Use Domain Names", [RFC6761] Cheshire, S. and M. Krochmal, "Special-Use Domain Names",
RFC 6761, DOI 10.17487/RFC6761, February 2013, RFC 6761, DOI 10.17487/RFC6761, February 2013,
<http://www.rfc-editor.org/info/rfc6761>. <http://www.rfc-editor.org/info/rfc6761>.
[RFC7719] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS
Terminology", RFC 7719, DOI 10.17487/RFC7719, December
2015, <http://www.rfc-editor.org/info/rfc7719>.
Appendix A. Changes / Author Notes. Appendix A. Changes / Author Notes.
[RFC Editor: Please remove this section before publication ] [RFC Editor: Please remove this section before publication ]
From -05 to -06:
o Removed a large amount of background - we now have the (adopted)
tldr document for that.
o Made it clear that pseudo-TLD is not intended to be pejorative.
o Tried to make it cleat that this is something people can choose to
use - or not.
From -04 to -05: From -04 to -05:
o Version bump - we are waiting in the queue for progress on SUN, o Version bump - we are waiting in the queue for progress on SUN,
bumping this to keep it alive. bumping this to keep it alive.
From -03 to -04: From -03 to -04:
o 3 changes - the day, the month and the year (a bump to keep o 3 changes - the day, the month and the year (a bump to keep
alive). alive).
 End of changes. 22 change blocks. 
107 lines changed or deleted 58 lines changed or added

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