.onion is a special-use top level domain name designating an anonymous onion service, which was formerly known as a "hidden service", reachable via the Tor network. Such addresses are not actual DNS names, and the .onion TLD is not in the Internet DNS root, but with the appropriate proxy software installed, Internet programs such as web browsers can access sites with .onion addresses by sending the request through the Tor network.
|TLD type||Host suffix|
|Status||Not in root, but used by Tor clients, servers, and proxies|
|Intended use||To designate an onion service reachable via Tor|
|Actual use||Used by Tor users for services in which both the provider and the user are anonymous and difficult to trace|
|Registration restrictions||Addresses are "registered" automatically by Tor client when an onion service is set up|
|Structure||Names are opaque strings generated from public keys|
The purpose of using such a system is to make both the information provider and the person accessing the information more difficult to trace, whether by one another, by an intermediate network host, or by an outsider. Sites that offer dedicated .onion addresses may provide an additional layer of identity assurance via EV HTTPS Certificates, and provision of an HTTP certificate also enables browser features which would otherwise be unavailable to users of .onion sites. Provision of an onion site also helps mitigate SSL stripping attacks by malicious exit nodes on the Tor network upon users who would otherwise access traditional HTTPS clearnet sites over Tor.
Addresses in the .onion TLD are generally opaque, non-mnemonic, 16- or 56-character alpha-semi-numerical strings which are automatically generated based on a public key when an onion service is configured. These strings can be made up of any letter of the alphabet, and decimal digits from 2 to 7, representing in base32 either an 80-bit hash ("version 2", or 16-character) or an ed25519 public key ("version 3", "next gen", or 56-character). As a result, all combinations of sixteen base32 characters could potentially be valid version 2 addresses (though as the output of a cryptographic hash, a randomly selected string of this form having a corresponding onion service should be extremely unlikely), while only combinations of 56 base32 characters that correctly encoded an ed25519 public key, a checksum, and a version number (i.e., 3) are valid version 3 addresses. It is possible to set up a human-readable .onion URL (e.g. starting with an organization name) by generating massive numbers of key pairs (a computational process that can be parallelized) until a sufficiently desirable URL is found.
WWW to .onion gatewaysEdit
Proxies into the Tor network like Tor2web allow access to onion services from non-Tor browsers and for search engines that are not Tor-aware. By using a gateway, users give up their own anonymity and trust the gateway to deliver the correct content. Both the gateway and the onion service can fingerprint the browser, and access user IP address data. Some proxies use caching techniques to provide better page-loading than the official Tor Browser.
.exit (defunct pseudo-top-level domain)Edit
.exit was a pseudo-top-level domain used by Tor users to indicate on the fly to the Tor software the preferred exit node that should be used while connecting to a service such as a web server, without having to edit the configuration file for Tor (torrc).
The syntax used with this domain was hostname + .exitnode + .exit, so that a user wanting to connect to http://www.torproject.org/ through node tor26 would have to enter the URL http://www.torproject.org.tor26.exit.
Example uses for this would include accessing a site available only to addresses of a certain country or checking if a certain node is working.
Users could also type exitnode.exit alone to access the IP address of exitnode.
The .exit notation was deprecated as of version 0.2.9.8. It is disabled by default as of version 0.2.2.1-alpha due to potential application-level attacks, and with the release of 0.3-series Tor as "stable" may now be considered defunct.
On 9 September 2015 ICANN, IANA and the IETF designated .onion as a 'special use domain', giving the domain an official status following a proposal from Jacob Appelbaum of the Tor Project and Facebook security engineer Alec Muffett.
Prior to the adoption of CA/Browser Forum Ballot 144, a HTTPS certificate for a .onion name could only be acquired by treating .onion as an Internal Server Name. Per the CA/Browser Forum's Baseline Requirements, these certificates could be issued, but were required to expire before 1 November 2015.
Despite these restrictions, DuckDuckGo launched an onion site with a self-signed certificate in July 2013; Facebook obtained the first SSL Onion certificate to be issued by a Certificate authority in October 2014, Blockchain.info in December 2014, and The Intercept in April 2015. The New York Times later joined in October 2017.
Following the adoption of CA/Browser Forum Ballot 144 and the designation of the domain as 'special use' in September 2015, .onion meets the criteria for RFC 6761. Certificate authorities may issue SSL certificates for HTTPS .onion sites per the process documented in the CA/Browser Forum's Baseline Requirements, introduced in Ballot 144.
- Winter, Philipp. "How Do Tor Users Interact With Onion Services?" (PDF). Retrieved 27 December 2018.
- "Intro to Next Gen Onion Services (aka prop224)". The Tor Project. Retrieved 5 May 2018.
- "We Want You to Test Next-Gen Onion Services". Tor Blog. The Tor Project. Retrieved 5 May 2018.
- "Encoding onion addresses [ONIONADDRESS]". gitweb.torproject.org. Retrieved 25 February 2019.
- "Scallion". GitHub. Retrieved 2 November 2014.
- Muffett, Alec (31 October 2014). "Re: Facebook brute forcing hidden services". tor-talk (Mailing list). Simple End-User Linux. Retrieved 2 November 2014.
- "Onion.cab: Advantages of this TOR2WEB-Proxy". Archived from the original on 21 May 2014. Retrieved 21 May 2014.
- "Tor Browser Bundle". Retrieved 21 May 2014.
- "Tor Release Notes". Retrieved 4 October 2017.
- "Special Hostnames in Tor". Retrieved 30 June 2012.
- "Tor 0.3.2.9 is released: We have a new stable series!". The Tor Project. Retrieved 7 May 2018.
- Nathan Willis (10 September 2015). "Tor's .onion domain approved by IETF/IANA". LWN.net.
- Franceschi-Bicchierai, Lorenzo (10 September 2015). "Internet Regulators Just Legitimized The Dark Web". Retrieved 10 September 2015.
- "Special-Use Domain Names". Retrieved 10 September 2015.
- "CA/Browser Forum Ballot 144 - Validation rules for .onion names". Retrieved 13 September 2015.
- "Baseline Requirements for the Issuance and Management Publicly-Trusted Certificates, v1.0" (PDF). Retrieved 13 September 2015.
- _zekiel (1 July 2013). "We've updated our Tor hidden service to work over SSL. No solution for the cert. warning, yet!". Reddit. Retrieved 20 December 2016.
- Muffett, Alec (31 October 2014). "Making Connections to Facebook more Secure". Retrieved 11 September 2015.
- Alyson (3 December 2014). "Improved Security for Tor Users". Retrieved 11 September 2015.
- Lee, Micah (8 April 2015). "Our SecureDrop System for Leaks Now Uses HTTPS". Retrieved 10 September 2015.
- Sandvik, Runa (27 October 2017). "The New York Times is Now Available as a Tor Onion Service". The New York Times. Retrieved 17 November 2017.
- Arkko, Jari (10 September 2015). ".onion". Retrieved 13 September 2015.
- "Baseline Requirements Documents". Retrieved 13 September 2015.
- Jamie Lewis, Sarah (7 August 2016). "OnionScan Report: July 2016 - HTTPS Somewhere Sometimes". Retrieved 15 August 2016.
- "Tor Browser". Tor Project.
Anonymous browsing via Tor, used to access .onion sites
- "Tor: Onion Service Configuration Instructions". Tor Project.
- "Tor Rendezvous Specification". Tor Project.
- Biryukov, Alex; Pustogarov, Ivan; Weinmann, Ralf-Philipp (2013), "Trawling for Tor Hidden Services: Detection, Measurement, Deanonymization" (PDF), Symposium on Security and Privacy, IEEE
- "Ballot 144". CA/Browser Forum. 18 February 2015.