Changeset 2622 for vidalia/trunk/doc

Show
Ignore:
Timestamp:
05/28/08 20:31:29 (6 months ago)
Author:
edmanm
Message:

r383@thebe: edmanm | 2008-05-28 20:32:08 -0400
Some updates to the geoip spec.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • vidalia/trunk/doc/geoip-spec.txt

    r1622 r2622  
    1616       206.124.149.146,Bellevue,WA,US,47.6051,-122.1134 
    1717 
    18    If we don't have a cached answer, we send an HTTP request to a 
    19    perl script located on one of our geographic information servers,  
    20    asking about one or more IP addresses. The requests are always 
    21    sent to 
     18   If we don't have a cached answer, we send an HTTP request to a perl 
     19   script located on our geographic information server, asking about one 
     20   or more IP addresses.  
     21    
     22   As of Vidalia 0.1.0, if Vidalia is built against Qt 4.3 or later with 
     23   OpenSSL support, the requests are done over an SSL connection and sent to 
     24 
     25       https://geoip.vidalia-project.net:1443/cgi-bin/geoip 
     26    
     27   The server has a CACert-issued certificate and CACert's root certificate 
     28   is included in Vidalia's signed packages. Prior to Vidalia 0.1.0, or 
     29   when Vidalia is built against a Qt without OpenSSL support, requests 
     30   are unauthenticated and unencrypted. The requests are sent to 
    2231 
    2332       http://geoip.vidalia-project.net/cgi-bin/geoip 
    2433 
    2534   which is currently hardcoded into Vidalia's source code. 
    26  
    27    Requests are distributed via DNS round-robin. Currently, we have two  
    28    such servers: 
    29  
    30          Host             IP Address             Operator 
    31     -------------------------------------------------------------------- 
    32     pasiphae.cs.rpi.edu  128.213.48.11  Matt Edman 
    33                                         Rensselaer Polytechnic Institute 
    34     cups.cs.cmu.edu      128.2.220.167  Sasha Romanosky, Serge Egelman 
    35                                         Carnegie Mellon University 
    3635 
    3736   Request logs are not kept on the geographic information servers. 
     
    130129   spreading of servers? Yes. Does this buy him anything? I'm not sure. 
    131130 
    132    Second, because no end-to-end encryption/authentication is used, the 
    133    exit node can discover what is being requested -- and can modify the 
    134    answers that are sent back. What are the partitioning opportunities 
    135    in this scenario -- both passive partitioning to discover patterns 
    136    of behavior based on which descriptors have just been fetched, and 
    137    active partitioning to mislead the user into believing a given server 
    138    is at a certain set of coordinates? 
    139  
    1401313. Future directions. 
    141132 
    142 3.1. Encryption to/from the coordinate servers. 
    143  
    144    It would be smart to encrypt the queries and responses, to at least 
    145    limit the exposure. This could be done simply by running a Tor server 
    146    nearby each geoip service, and asking for the address 
    147  
    148        geoip.vidalia-project.net.foo.exit:80 
    149  
    150    Of course, this approach introduces more points of failure. A more 
    151    complex scheme would be for Vidalia to check first whether the 
    152    preferred exit server is running, and modify the address only when 
    153    it is. 
    154  
    155 3.2. Tor servers could include geoip data in network statuses. 
     1333.1. Tor servers could include geoip data in network statuses. 
    156134 
    157135   Rather than having separate geoip services that Vidalia maintains, 
     
    165143   caching the geoip information, users would fetch it at every update. 
    166144 
    167 3.3. Map networks, not individual IP addresses. 
     1453.2. Map networks, not individual IP addresses. 
    168146 
    169147   We should stop mapping individual IP addresses. For servers that have 
     
    183161   might be easiest and sufficient. 
    184162 
    185 3.4. What else is geoip information for? 
     1633.3. What else is geoip information for? 
    186164 
    187165   What other uses do we have for this information? Is it only useful