Dear all, Following https://datatracker.ietf.org/doc/draft-grothoff-iesg-special-use-p2p-names/ and the separation of .onion in https://tools.ietf.org/html/draft-appelbaum-dnsop-onion-tld-01 to satisfy the IETF's desire to have lots of documents, I've now split off ".exit" as well to create draft-grothoff-iesg-special-use-p2p-exit-00 I've attached the current draft to this e-mail and would appreciate any feedback you may have. Also, if you feel that this is the wrong move entirely (i.e. because you don't want to reserve .exit), please do let me know ASAP and then I won't submit the draft. Happy hacking! Christian
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC1034 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY RFC1035 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC1928 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1928.xml">
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2308 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2308.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC4648 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4648.xml">
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
<!ENTITY RFC6761 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6761.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="info"
docName="draft-grothoff-iesg-special-use-p2p-exit-00"
ipr="trust200902">
<front>
<title abbrev="Special-Use-p2p-Exit">
The .exit Special-Use Domain Name of Tor
</title>
<author fullname="Christian Grothoff" initials="C.G." surname="Grothoff">
<organization>INRIA</organization>
<address>
<postal>
<street>Équipe Décentralisée</street>
<street>INRIA Rennes Bretagne Atlantique</street>
<street>263 avenue du Général Leclerc</street>
<street>Campus Universitaire de Beaulieu</street>
<city>Rennes</city>
<region>Bretagne</region>
<code>F-35042</code>
<country>FR</country>
</postal>
<email>christian@xxxxxxxxxxxx</email>
</address>
</author>
<author fullname="Matthias Wachs" initials="M.W." surname="Wachs">
<organization>Technische Universität München</organization>
<address>
<postal>
<street>Free Secure Network Systems Group</street>
<street>Lehrstuhl fuer Netzarchitekturen und Netzdienste</street>
<street>Boltzmannstrasse 3</street>
<street>Technische Universitaet Muenchen</street>
<code>D-85748</code>
<city>Garching bei Muenchen</city>
<region>Bayern</region>
<country>DE</country>
</postal>
<email>wachs@xxxxxxxxxxxxx</email>
</address>
</author>
<author fullname="Hellekin O. Wolf" initials="H.O.W." role="editor"
surname="Wolf">
<organization>GNU consensus</organization>
<address>
<email>hellekin@xxxxxxx</email>
</address>
</author>
<author fullname="Jacob Appelbaum" initials="J.A." surname="Appelbaum">
<organization>Tor Project Inc.</organization>
<address>
<email>jacob@xxxxxxxxxxxxx</email>
</address>
</author>
<author fullname="Leif Ryge" initials="L.R." surname="Ryge">
<organization>Tor Project Inc.</organization>
<address>
<email>leif@xxxxxxxxxxxxx</email>
</address>
</author>
<date day="24" month="January" year="2015" />
<!-- Meta-data Declarations -->
<area>General</area>
<workgroup>Internet Engineering Task Force</workgroup>
<keyword>special-use</keyword>
<keyword>peer-to-peer</keyword>
<keyword>domain names</keyword>
<keyword>Tor</keyword>
<abstract>
<t>This document registers a set of Special-Use Domain Names for
use with the Tor Project, as per RFC6761.</t>
</abstract>
</front>
<middle>
<section anchor="introduction"
title="Introduction">
<t>The Domain Name System (DNS) is primarily used to map
human-memorable names to IP addresses, which are used for
routing but generally not meaningful for humans.</t>
<t>The Tor project supports the use of names to specify
where the user wishes to exit the P2P overlay.</t>
<t>As compatibility with applications using domain names is
desired, this mechanism requires an exclusive
alternative Top-Level Domains to avoid conflict between the Tor
namespace and the DNS hierarchy.</t>
<t>In order to avoid interoperability issues with DNS as well as
to address security and privacy concerns, this document
registers the "EXIT" Special-Use Domain Names for use within
the Tor network, as per <xref target="RFC6761"/>.</t>
<t>The Tor network uses this pTLD
to control overlay routing and to securely specify path
selection choices <xref target="TOR-PATH"/>.</t>
</section>
<section anchor="applicability"
title="Applicability">
<t><xref target="RFC6761"/> Section 3 states:</t>
<t><list style="empty"><t>"[I]f a domain name has special
properties that affect the way hardware and software
implementations handle the name, that apply universally
regardless of what network the implementation may be connected
to, then that domain name may be a candidate for having the IETF
declare it to be a Special-Use Domain Name and specify what
special treatment implementations should give to that name. On
the other hand, if declaring a given name to be special would
result in no change to any implementations, then that suggests
that the name may not be special in any material way, and it may
be more appropriate to use the existing DNS mechanisms <xref
target="RFC1034"/> to provide the desired delegation, data, or
lack-of-data, for the name in question. Where the desired
behaviour can be achieved via the existing domain name
registration processes, that process should be used. Reservation
of a Special-Use Domain Name is not a mechanism for
circumventing normal domain name registration
processes."</t></list></t>
<t>The set "EXIT" pTLD
reserved by this document meets this requirement, as it
has the following specificities:</t>
<t><list style="symbols">
<t>"EXIT" resolution does not depend on the DNS context:
The name specifies a Tor exit node, and thus the response is not
even really DNS-compatible; Tor uses its own
P2P protocols for resolving the destination specified in an .exit
name.</t>
<t>When Tor is properly implemented, the
implementation MUST intercept queries for the "EXIT" to ensure
that these Tor-specific names cannot leak into the DNS.</t>
<t>Finally, in order for Tor to properly interoperate with DNS
and to provide security and privacy features matching user
expectations, this document specifies desirable changes in
existing DNS software and DNS operations.</t>
</list></t>
</section>
<section anchor="terminology-and-conventions"
title="Terminology and Conventions Used in This Document">
<t>The key words "MUST", "MUST NOT",
"REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as
described in <xref target="RFC2119"/>.</t>
<t>The word "peer" is used in the meaning of a
individual system on the network.</t>
<t>The abbreviation "pTLD" is used in this document to
mean a pseudo Top-Level Domain, i.e., a Special-Use Domain Name
per <xref target="RFC6761"/> reserved to P2P Systems in this
document. A pTLD is mentioned in capitals, and within double
quotes to mark the difference with a regular DNS gTLD.</t>
<t>In this document, ".tld" (lowercase, with quotes)
means: any domain or hostname within the scope of a given pTLD,
while .tld (lowercase, without quotes) refers to an adjective
form. </t>
<t>The word "NXDOMAIN" refers to an alternate
expression for the "Name Error" RCODE as described in
section 4.1.1 of <xref target="RFC1035"/>. When referring to
"NXDOMAIN" and negative caching <xref
target="RFC2308"/> response, this document means an
authoritative (AA=1) name error (RCODE=3) response
exclusively.</t>
<t>The Tor-related names such as 'circuit', 'exit', 'node',
'relay', 'stream', and related Tor terms are described in <xref
target="Dingledine2004"/> and the Tor protocol specification
<xref target="TOR-PROTOCOL"/>.</t>
</section>
<section anchor="dot-exit"
title="The "EXIT" Client Source Routing pTLD">
<t>The .exit suffix is used as an in-band source routing
control channel, usually for selection of a specific Tor
relay during path creation as the last node in the Tor
circuit.</t>
<t>It may be used to access a DNS host via specific
Torservers, in the form
"hostname.nickname-or-fingerprint.exit", where the
"hostname" is a valid hostname, and the
"nickname-or-fingerprint" is either the nickname
of a Tor relay in the Tor network consensus, or the
hex-encoded SHA1 digest of the given node's public key
(fingerprint).</t>
<t>For example, "gnu.org.noisetor.exit" will route
the client to "gnu.org" via the Tor node nicknamed
"noisetor". Using the fingerprint instead of the
nickname ensures that the path selection uses a specific Tor
exit node, and is harder to remember: e.g.,
"gnu.org.f97f3b153fed6604230cd497a3d1e9815b007637.exit".</t>
<t>When Tor sees an address in this format, it uses the
specified "nickname-or-fingerprint" as the exit
node. If no "hostname" component is given, Tor
defaults to the published IPv4 address of the Tor exit node
<xref target="TOR-EXTSOCKS"/>.</t>
<t>Because "hostname" is allegedly valid, the
total length of a .exit construct may exceed the maximum
length allowed for domain names. Moreover, the resolution
of "hostname" happens at the exit node. Trying to
resolve such invalid domain names, including chaining .exit
names will likely return a DNS lookup failure at the first
exit node.</t>
<t>The "EXIT" domain is special in the following
ways:</t>
<t><list style="numbers">
<!-- 1. Users Considerations -->
<t>Users can use these names as they would other domain
names, entering them anywhere that they would otherwise
enter a conventional DNS domain name.
<vspace blankLines="1"/>
Since .exit names correspond to a Tor-specific routing
construct to reach target hosts via chosen Tor exit nodes,
users need to be aware that they do not belong to regular
DNS and that the actual target precedes the second-level
domain name.
<vspace blankLines="1"/>
</t>
<!-- 2. Application Software Considerations -->
<t>Application software MAY recognize that .exit domains
are special and when they do SHOULD NOT pass requests for
these domains to DNS resolvers and libraries.
<vspace blankLines="1"/>
As mentioned in items 4 and 5 below, regular DNS
resolution is expected to respond with NXDOMAIN.
Therefore, if it can differentiate between DNS and P2P
name resolution, application software:
<list style="symbols">
<t>MUST expect NXDOMAIN as the only valid DNS response,
and</t>
<t>SHOULD treat other answers from DNS as errors.</t>
</list>
<vspace blankLines="1"/>
Tor-aware applications MAY also use Tor resolvers directly.
</t>
<!-- 3. Name Resolution APIs and Libraries Considerations -->
<t>Name resolution APIs and libraries SHOULD either
respond to requests for .exit names by resolving them via
the Tor protocol, or respond with NXDOMAIN.
<vspace blankLines="1"/>
</t>
<!-- 4. Caching DNS Servers Considerations -->
<!-- TODO: specify negative responses -->
<t>Caching DNS servers SHOULD recognize .exit names as
special and SHOULD NOT, by default, attempt to look up NS
records for them, or otherwise query authoritative DNS
servers in an attempt to resolve .exit names. Instead,
caching DNS servers SHOULD, by default, generate immediate
negative responses for all such queries.
<vspace blankLines="1"/>
</t>
<!-- 5. Authoritative DNS Servers Considerations -->
<t>Authoritative DNS servers are not expected to treat
.exit domain requests specially. In practice, they MUST
answer with NXDOMAIN, as "EXIT" is not available
via global DNS resolution, and not doing so MAY put users'
privacy at risk (see item 6).
<vspace blankLines="1"/>
</t>
<!-- 6. DNS Server Operators Considerations -->
<t>DNS server operators SHOULD be aware that .exit names
are reserved for use with Tor, and MUST NOT override their
resolution (e.g., to redirect users to another service or
error information).
<vspace blankLines="1"/>
</t>
<!-- 7. DNS Registries/Registrars Considerations -->
<t>DNS registries/registrars MUST NOT grant any request to
register .exit names. This helps avoid conflicts <xref
target="SAC45"/>. These names are defined by the Tor
address specification, and they fall outside the set of
names available for allocation by registries/registrars.
<vspace blankLines="1"/>
</t>
</list></t>
</section>
</section>
<section anchor="security-considerations"
title="Security Considerations">
<t>Specific software performs the resolution of the six
Special-Use Domain Names presented in this document; this
resolution process happens outside of the scope of DNS. Leakage
of requests to such domains to the global operational DNS can
cause interception of traffic that might be misused to monitor,
censor, or abuse the user's trust, and lead to privacy issues
with potentially tragic consequences for the user.</t>
<t>This document reserves these Top-Level Domain names to
minimize the possibility of confusion, conflict, and especially
privacy risks for users.</t>
<t>In the introduction of this document, there's a requirement
that DNS operators do not override resolution of the "EXIT"
Names.
This is a regulatory measure and cannot prevent such malicious
abuse in practice. Its purpose is to limit any information leak
that would result from incorrectly configured systems, and to
avoid that resolvers make unnecessary contact to the DNS Root
Zone for such domains. Verisign, Inc., as well as several
Internet service providers (ISPs) have notoriously abused their
position to override NXDOMAIN responses to their customers in
the past <xref target="SSAC-NXDOMAIN-Abuse"/>. For example, if
a DNS operator would decide to override NXDOMAIN and send
advertising to leaked .onion sites, the information leak to the
DNS would extend to the advertising server, with unpredictable
consequences. Thus, implementors should be aware that any
positive response coming from DNS must be considered with extra
care, as it suggests a leak to DNS has been made, contrary to
user's privacy expectations.</t>
<t>The reality of X.509 Certificate Authorities (CAs) creating
misleading certificates for these pTLDs due to ignorance
stresses the need to document their special use.
Certificate Authorities MUST NOT create
certificates for "EXIT" Top-level domains.
Nevertheless, clients SHOULD
accept certificates for these Top-Level domains as they may be
created legitimately by local proxies on the fly.
</t>
<t>Finally, legacy applications that do not explicitly support
the pTLD significantly increase the risk of pTLD queries
escaping to DNS, as they are entirely dependent on the correct
configuration on the operating system.</t>
</section>
<section anchor="iana-considerations"
title="IANA Considerations">
<t>The Internet Assigned Numbers Authority (IANA) reserved the
following entries in the Special-Use Domain Names registry <xref
target="RFC6761"/>:</t>
<t><list>
<t> .exit</t>
</list></t>
<t>[TO REMOVE: the assignement URL is
https://www.iana.org/assignments/special-use-domain-names/ ]</t>
</section>
<section anchor="acknowledgements"
title="Acknowledgements">
<t>The authors thank the I2P and Namecoin developers for their
constructive feedback, as well as Mark Nottingham for his
proof-reading and valuable feedback. The authors also thank the
members of DNSOP WG for their critiques and suggestions.</t>
</section>
</middle>
<back>
<references title="Normative References">
&RFC1034;
&RFC1035;
&RFC2119;
&RFC2308;
&RFC5226;
&RFC6761;
</references>
<references title="Informative References">
<reference anchor="Dingledine2004"
target="https://www.onion-router.net/Publications/tor-design.pdf">
<front>
<title>Tor: the second-generation onion router</title>
<author initials="R.D." fullname="Roger Dingledine" surname="Dingledine">
<organization>The Free Haven Project</organization>
</author>
<author initials="N.M." fullname="Nick Mathewson" surname="Mathewson">
<organization>The Free Haven Project</organization>
</author>
<author initials="P.S." fullname="Paul Syverson" surname="Syverson">
<organization>Naval Research Lab</organization>
</author>
<date year="2004" />
</front>
</reference>
<reference anchor="SSAC-NXDOMAIN-Abuse"
target="http://www.icann.org/committees/security/ssac-report-09jul04.pdf">
<front>
<title>Redirection in the COM and NET Domains</title>
<author>
<organization>ICANN Security and Stability Advisory
Committee</organization>
</author>
<date month="July" year="2004"/>
</front>
</reference>
&RFC4648;
<reference anchor="SAC45"
target="http://www.icann.org/en/groups/ssac/documents/sac-045-en.pdf">
<front>
<title>Invalid Top Level Domain Queries at the Root
Level of the Domain Name System</title>
<author>
<organization>ICANN Security and Stability Advisory
Committee</organization>
</author>
<date month="November" year="2010"/>
</front>
</reference>
<reference anchor="TOR-ADDRESS"
target="https://gitweb.torproject.org/torspec.git/plain/address-spec.txt">
<front>
<title>Special Hostnames in Tor</title>
<author initials="N.M." fullname="Nick Mathewson" surname="Mathewson">
<organization>Tor Project Inc.</organization>
</author>
<author initials="R.D." fullname="Roger Dingledine" surname="Dingledine">
<organization>Tor Project Inc.</organization>
</author>
<date year="2011" month="September" />
</front>
</reference>
<reference anchor="TOR-EXTSOCKS"
target="https://gitweb.torproject.org/torspec.git/plain/socks-extensions.txt">
<front>
<title>Tor's extensions to the SOCKS protocol</title>
<author initials="N.M." fullname="Nick Mathewson" surname="Mathewson">
<organization>Tor Project Inc.</organization>
</author>
<author initials="R.D." fullname="Roger Dingledine" surname="Dingledine">
<organization>Tor Project Inc.</organization>
</author>
<date year="2014" month="February" />
</front>
</reference>
<reference anchor="TOR-PATH"
target="https://gitweb.torproject.org/torspec.git/plain/path-spec.txt">
<front>
<title>Tor Path Specification</title>
<author initials="N.M." fullname="Nick Mathewson" surname="Mathewson">
<organization>Tor Project Inc.</organization>
</author>
<author initials="R.D." fullname="Roger Dingledine" surname="Dingledine">
<organization>Tor Project Inc.</organization>
</author>
<date year="2014" month="November" />
</front>
</reference>
<reference anchor="TOR-PROTOCOL"
target="https://gitweb.torproject.org/torspec.git/plain/tor-spec.txt">
<front>
<title>Tor Protocol Specification</title>
<author initials="R.D." fullname="Roger Dingledine" surname="Dingledine">
<organization>Tor Project Inc.</organization>
</author>
<author initials="N.M." fullname="Nick Mathewson" surname="Mathewson">
<organization>Tor Project Inc.</organization>
</author>
<date year="2014" month="August" />
</front>
</reference>
<reference anchor="TOR-RENDEZVOUS"
target="https://gitweb.torproject.org/torspec.git/plain/rend-spec.txt">
<front>
<title>Tor Rendezvous Specification</title>
<author initials="N.M." fullname="Nick Mathewson" surname="Mathewson">
<organization>Tor Project Inc.</organization>
</author>
<author initials="R.D." fullname="Roger Dingledine" surname="Dingledine">
<organization>Tor Project Inc.</organization>
</author>
<date year="2014" month="April" />
</front>
</reference>
<!-- Change Log
v00 2013-11-13 HOW Initial version
v01 2013-12-05 HOW First XML version
- Fix conformance issues
- Shorten abstract
- Remove appendix on Tor reference
- Add .bit
- Reorder references
- Integrate community feedback
v02 2014-02-15 HOW Second XML version
- Split Reservation Considerations for each pTLD
- Revise abstract
- Explain .exit exceeded length unpredictability
- Integrate community feedback
v03 2014-12-21 HOW Third XML version
- Shorten abstract and focus scope
- Expand security considerations:
- Add reference to SSL certificates for non-DNS domains
- Add reference to SSAC recommendations on name collisions
- Update GNUnet references
- Update I2P reference
- Update Namecoin reference
- Update Tor references
- Remove alternate use of dot-tld notation
- Added Leif as author
- Integrate community feedback
v04 2015-01-24 HOW Fourth XML version
- Move I2P under geographic anonymity section
- Integrate I2P developers comments
- Integrate Namecoin developers comments
- Add security considerations
- Integrate community feedback
v05 2015-06-22 CG First split version
- split into separate drafts for each name system
- Removed .onion as that's already a separate draft
-->
</back>
</rfc>
Attachment:
0xE29FC3CC.asc
Description: application/pgp-keys
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ tor-dev mailing list tor-dev@xxxxxxxxxxxxxxxxxxxx https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev