diff options
author | Peter Palfrader <peter@palfrader.org> | 2008-06-15 22:59:54 +0000 |
---|---|---|
committer | Peter Palfrader <peter@palfrader.org> | 2008-06-15 22:59:54 +0000 |
commit | 223a5865e08e93a35b98f27eb46dfc83fffe1ca8 (patch) | |
tree | 9b7f409edbcd7309ad5ed971f72711120047a4cc /doc | |
parent | 14459fe94ee70cde7b0bc551c40ec84b33a1bc22 (diff) | |
download | tor-223a5865e08e93a35b98f27eb46dfc83fffe1ca8.tar.gz tor-223a5865e08e93a35b98f27eb46dfc83fffe1ca8.zip |
Add the long finished conditional-consensus-download proposal as 139
svn:r15288
Diffstat (limited to 'doc')
-rw-r--r-- | doc/spec/proposals/000-index.txt | 2 | ||||
-rw-r--r-- | doc/spec/proposals/139-conditional-consensus-download.txt | 93 |
2 files changed, 95 insertions, 0 deletions
diff --git a/doc/spec/proposals/000-index.txt b/doc/spec/proposals/000-index.txt index ac43b07852..78ce3cd903 100644 --- a/doc/spec/proposals/000-index.txt +++ b/doc/spec/proposals/000-index.txt @@ -61,6 +61,7 @@ Proposals by number: 136 Mass authority migration with legacy keys [FINISHED] 137 Keep controllers informed as Tor bootstraps [OPEN] 138 Remove routers that are not Running from consensus documents [CLOSED] +139 Download consensus documents only when it will be trusted [CLOSED] Proposals by status: @@ -110,6 +111,7 @@ Proposals by status: 129 Block Insecure Protocols by Default 130 Version 2 Tor connection protocol 138 Remove routers that are not Running from consensus documents + 139 Download consensus documents only when it will be trusted SUPERSEDED: 112 Bring Back Pathlen Coin Weight 113 Simplifying directory authority administration diff --git a/doc/spec/proposals/139-conditional-consensus-download.txt b/doc/spec/proposals/139-conditional-consensus-download.txt new file mode 100644 index 0000000000..6cd8c37f44 --- /dev/null +++ b/doc/spec/proposals/139-conditional-consensus-download.txt @@ -0,0 +1,93 @@ +Filename: 139-conditional-consensus-download.txt +Title: Download consensus documents only when it will be trusted +Author: Peter Palfrader +Created: 2008-04-13 +Status: Closed + +Overview: + + Servers only provide consensus documents to clients when it is known that + the client will trust it. + +Motivation: + + When clients[1] want a new network status consensus they request it + from a Tor server using the URL path /tor/status-vote/current/consensus. + Then after downloading the client checks if this consensus can be + trusted. Whether the client trusts the consensus depends on the + authorities that the client trusts and how many of those + authorities signed the consensus document. + + If the client cannot trust the consensus document it is disregarded + and a new download is tried at a later time. Several hundred + kilobytes of server bandwidth were wasted by this single client's + request. + + With hundreds of thousands of clients this will have undesirable + consequences when the list of authorities has changed so much that a + large number of established clients no longer can trust any consensus + document formed. + +Objective: + + The objective of this proposal is to make clients not download + consensuses they will not trust. + +Proposal: + + The list of authorities that are trusted by a client are encoded in + the URL they send to the directory server when requesting a consensus + document. + + The directory server then only sends back the consensus when more than + half of the authorities listed in the request have signed the + consensus. If it is known that the consensus will not be trusted + a 404 error code is sent back to the client. + + This proposal does not require directory caches to keep more than one + consensus document. This proposal also does not require authorities + to verify the signature on the consensus document of authorities they + do not recognize. + + The new URL scheme to download a consensus is + /tor/status-vote/current/consensus/<F> where F is a list of + fingerprints, sorted in ascending order, and concatenated using a + + sign. + + Fingerprints are uppercase hexadecimal encodings of the authority + identity key's digest. Servers should also accept requests that + use lower case or mixed case hexadecimal encodings. + + A .z URL for compressed versions of the consensus will be provided + similarly to existing resources and is the URL that usually should + be used by clients. + +Migration: + + The old location of the consensus should continue to work + indefinitely. Not only is it used by old clients, but it is a useful + resource for automated tools that do not particularly care which + authorities have signed the consensus. + + Authorities that are known to the client a priori by being shipped + with the Tor code are assumed to handle this format. + + When downloading a consensus document from caches that do not support this + new format they fall back to the old download location. + + Caches support the new format starting with Tor version 0.2.1.1-alpha. + +Anonymity Implications: + + By supplying the list of authorities a client trusts to the directory + server we leak information (like likely version of Tor client) to the + directory server. In the current system we also leak that we are + very old - by re-downloading the consensus over and over again, but + only when we are so old that we no longer can trust the consensus. + + + +Footnotes: + 1. For the purpose of this proposal a client can be any Tor instance + that downloads a consensus document. This includes relays, + directory caches as well as end users. |