mirror of
https://github.com/torproject/torspec.git
synced 2024-11-27 11:50:32 +00:00
6bd09d5076
Tor doesn't use SVN anymore, making $Revision$, $Id$ and $Date$ meaningless. Remove them without replacement.
55 lines
2.3 KiB
Plaintext
55 lines
2.3 KiB
Plaintext
Filename: 123-autonaming.txt
|
|
Title: Naming authorities automatically create bindings
|
|
Author: Peter Palfrader
|
|
Created: 2007-10-11
|
|
Status: Closed
|
|
Implemented-In: 0.2.0.x
|
|
|
|
Overview:
|
|
|
|
Tor's directory authorities can give certain servers a "Named" flag
|
|
in the network-status entry, when they want to bind that nickname to
|
|
that identity key. This allows clients to specify a nickname rather
|
|
than an identity fingerprint and still be certain they're getting the
|
|
"right" server.
|
|
|
|
Authority operators name a server by adding their nickname and
|
|
identity fingerprint to the 'approved-routers' file. Historically
|
|
being listed in the file was required for a router, at first for being
|
|
listed in the directory at all, and later in order to be used by
|
|
clients as a first or last hop of a circuit.
|
|
|
|
Adding identities to the list of named routers so far has been a
|
|
manual, time consuming, and boring job. Given that and the fact that
|
|
the Tor network works just fine without named routers the last
|
|
authority to keep a current binding list stopped updating it well over
|
|
half a year ago.
|
|
|
|
Naming, if it were done, would serve a useful purpose however in that
|
|
users can have a reasonable expectation that the exit server Bob they
|
|
are using in their http://www.google.com.bob.exit/ URL is the same
|
|
Bob every time.
|
|
|
|
Proposal:
|
|
I propose that identity<->name binding be completely automated:
|
|
|
|
New bindings should be added after the router has been around for a
|
|
bit and their name has not been used by other routers, similarly names
|
|
that have not appeared on the network for a long time should be freed
|
|
in case a new router wants to use it.
|
|
|
|
The following rules are suggested:
|
|
i) If a named router has not been online for half a year, the
|
|
identity<->name binding for that name is removed. The nickname
|
|
is free to be taken by other routers now.
|
|
ii) If a router claims a certain nickname and
|
|
a) has been on the network for at least two weeks, and
|
|
b) that nickname is not yet linked to a different router, and
|
|
c) no other router has wanted that nickname in the last month,
|
|
a new binding should be created for this router and its desired
|
|
nickname.
|
|
|
|
This automaton does not necessarily need to live in the Tor code, it
|
|
can do its job just as well when it's an external tool.
|
|
|