For some open and accepted proposals, note their target versions.
[tor.git] / doc / spec / proposals / 149-using-netinfo-data.txt
blob4919514b4c40a89644abe136360af9adda0e7744
1 Filename: 149-using-netinfo-data.txt
2 Title: Using data from NETINFO cells
3 Version: $Revision$
4 Last-Modified: $Date$
5 Author: Nick Mathewson
6 Created: 2-Jul-2008
7 Status: Open
8 Target: 0.2.1.x
10 Overview
12    Current Tor versions send signed IP and timestamp information in
13    NETINFO cells, but don't use them to their fullest.  This proposal
14    describes how they should start using this info in 0.2.1.x.
16 Motivation
18    Our directory system relies on clients and routers having
19    reasonably accurate clocks to detect replayed directory info, and
20    to set accurate timestamps on directory info they publish
21    themselves.  NETINFO cells contain timestamps.
23    Also, the directory system relies on routers having a reasonable
24    idea of their own IP addresses, so they can publish correct
25    descriptors.  This is also in NETINFO cells.
27 Learning the time and IP
29    We need to think about attackers here.  Just because a router tells
30    us that we have a given IP or a given clock skew doesn't mean that
31    it's true.  We believe this information only if we've heard it from
32    a majority of the routers we've connected to recently, including at
33    least 3 routers.  Routers only believe this information if the
34    majority inclues at least one authority.
36 Avoiding MITM attacks
38    Current Tors use the IP addresses published in the other router's
39    NETINFO cells to see whether the connection is "canonical".  Right
40    now, we prefer to extend circuits over "canonical" connections.  In
41    0.2.1.x, we should refuse to extend circuits over non-canonical
42    connections without first trying to build a canonical one.