Rewrite a few gsoc items
Nick Mathewson

Nick Mathewson commited on 2008-03-12 02:41:41
Zeige 1 geänderte Dateien mit 41 Einfügungen und 20 Löschungen.

... ...
@@ -22,7 +22,7 @@ services. Get them to tell their friends.</li>
22 22
 <a id="Usability"></a>
23 23
 <h2><a class="anchor" href="#Usability">Supporting Applications</a></h2>
24 24
 <ol>
25
-<li>We need good ways to intercept DNS requests so they don't "leak" their
25
+<li>We need more good ways to intercept DNS requests so they don't "leak" their
26 26
 request to a local observer while we're trying to be anonymous. (This
27 27
 happens because the application does the DNS resolve before going to
28 28
 the SOCKS proxy.)</li>
... ...
@@ -396,7 +396,7 @@ to prevent Tor information leakage.
396 396
 </li>
397 397
 
398 398
 <li>
399
-<b>Improving our ability to be resistant to censorship</b>
399
+<b>Improving Tor's ability to resist censorship</b>
400 400
 <br />
401 401
 Priority: <i>High</i>
402 402
 <br />
... ...
@@ -406,16 +406,23 @@ Skill Level: <i>High</i>
406 406
 <br />
407 407
 Likely Mentors: <i>Nick</i>
408 408
 <br />
409
-Tor needs even better censorship resistance mechanisms.  There are
410
-several mechanisms that can help.  Tor should be able to
411
-<a href="<svnsandbox>doc/spec/proposals/118-multiple-orports.txt">listen
412
-on multiple
413
-addresses and ports</a>, and allow clients to connect to all of them.
414
-Tor relays and
409
+The Tor 0.2.0.x series makes <a
410
+href="<svnsandbox>doc/design-paper/blocking.html">significant
411
+improvements</a> in resisting national and organizational censorship.
412
+But Tor still needs bettere mechanisms for some parts of its
413
+anti-censorship design.  For example, current Tors can only listen on a
414
+single address/port combination at a time.  There's
415
+<a href="<svnsandbox>doc/spec/proposals/118-multiple-orports.txt">a
416
+proposal to address this limitation</a>, and allow clients to connect
417
+to any given Tor on multiple addresses and ports, but it needs more
418
+work.  Another anti-censorship project (far more difficult) is to try
419
+to make Tor more scanning-resistant.  Right now, an adversary can identify
415 420
 <a href="<svnsandbox>doc/spec/proposals/125-bridges.txt">Tor bridges</a>
416
-should be able to
417
-<a href="<svnsandbox>doc/design-paper/blocking.html#tth_sEc9.3">appear like
418
-a webserver</a> (HTTP or HTTPS) when contacted by port-scanning tools.
421
+just by trying to connect to them, following the Tor protocol, and 
422
+seeing if they respond.  To solve this, bridges could
423
+<a href="<svnsandbox>doc/design-paper/blocking.html#tth_sEc9.3">act like
424
+webservers</a> (HTTP or HTTPS) when contacted by port-scanning tools,
425
+and not act like bridges until the user provides a bridge-specific key.
419 426
 <br />
420 427
 This project involves a lot of research and design. One of the big
421 428
 challenges will be identifying and crafting approaches that can still
... ...
@@ -434,11 +441,17 @@ Skill Level: <i>Medium to High</i>
434 441
 <br />
435 442
 Likely Mentors: <i>Nick</i>
436 443
 <br />
437
-Tor should make better use of the more recent features of Niels Provos's
438
-Libevent library.  Libevent already provides HTTP and socket buffers;
439
-Tor's code for those could be replaced.  We'll need to improve libevent's
440
-code as needed &mdash; in particular to add good openssl support on top of
441
-libevent's buffer abstraction.
444
+Tor should make better use of the more recent features of Niels
445
+Provos's <a href="http://monkey.org/~provos/libevent/">Libevent</a>
446
+library.  Tor already, uses Libevent for its low-level asynchronous IO
447
+calls, and could also use Libevent's increasingly good implementations
448
+of network buffers, and of HTTP.  This wouldn't be simply a matter of
449
+replacing Tor's internal calls with calls to Libevent: instead, we'll
450
+need to refactor Tor's to use Libevent calls that do not follow the
451
+same models as Tor's existing backends. Also, we'll need to add
452
+missing functionality to Libevent as needed &mdash; most difficult likely
453
+will be adding OpenSSL support on top of Libevent's buffer abstraction.
454
+Also tricky will be adding rate-limiting to Libevent.
442 455
 </li>
443 456
 
444 457
 <li>
... ...
@@ -452,13 +465,21 @@ Skill Level: <i>Medium to High</i>
452 465
 <br />
453 466
 Likely Mentors: <i>Nick, Roger, Mike</i>
454 467
 <br />
455
-Tor should possibly measure bandwidth in a distributed way, as in the
468
+Right now, Tor servers measure and report their own bandwidth, and Tor
469
+clients choose which servers to use in part based on that bandwidth.
470
+This approach is vulnerable to attacks where servers lie about their
471
+abandwidth; to address this, Tor currently caps the maximum bandwidth
472
+it's willing to believe any server provides.  This is a limited fix, and
473
+a waste of bandwidth capacity to boot.  Instead, 
474
+Tor should possibly measure bandwidth in a more distributed way, perhaps
475
+as described in the
456 476
 <a href="http://freehaven.net/anonbib/">"A Tuneup for Tor"</a> paper
457 477
 by Snader and Borisov.  A student could use current testing code to
458 478
 double-check this paper's findings and verify the extent to which they
459
-dovetail with Tor in the wild, and determine good ways to incorporate them
460
-into the Tor network without adding undesirable n^2 traffic properties
461
-at the directory authorities.
479
+dovetail with Tor as deployed in the wild, and determine good ways to
480
+incorporate them into their suggestions Tor network without adding too
481
+much communications overhead between servers and directory
482
+authorities.
462 483
 </li>
463 484
 
464 485
 <!--
465 486