Roger Dingledine commited on 2007-03-15 05:03:00
Zeige 1 geänderte Dateien mit 43 Einfügungen und 11 Löschungen.
... | ... |
@@ -103,6 +103,9 @@ SSL <a href="<page documentation>#Developers">SVN repository?</a></li> |
103 | 103 |
|
104 | 104 |
<a id="Coding"></a> |
105 | 105 |
<h2><a class="anchor" href="#Coding">Coding and Design</a></h2> |
106 |
+<p>Want to spend your Google Summer of Code working on Tor? Great. More |
|
107 |
+details coming soon. In the mean time, see if any of these ideas catch |
|
108 |
+your eye.</p> |
|
106 | 109 |
<ol> |
107 | 110 |
<li>Tor servers don't work well on Windows XP. On |
108 | 111 |
Windows, Tor uses the standard <tt>select</tt> system |
... | ... |
@@ -120,18 +123,15 @@ buffers. Maybe this should be modelled after the Linux kernel buffer |
120 | 123 |
design, where we have many smaller buffers that link to each other, |
121 | 124 |
rather than monolithic buffers?</li> |
122 | 125 |
<li>We need an official central site to answer "Is this IP address a Tor |
123 |
-server?" questions. This should provide several interfaces, including |
|
126 |
+exit server?" questions. This should provide several interfaces, including |
|
124 | 127 |
a web interface and a DNSBL-style interface. It can provide the most |
125 | 128 |
up-to-date answers by keeping a local mirror of the Tor directory |
126 |
-information. Bonus points if it does active testing through each exit |
|
127 |
-node to find out what IP address it's really exiting from.</li> |
|
128 |
-<li>We need a measurement study of <a |
|
129 |
-href="http://www.pps.jussieu.fr/~jch/software/polipo/">Polipo</a> |
|
130 |
-vs <a href="http://www.privoxy.org/">Privoxy</a>. Is Polipo in fact |
|
131 |
-significantly faster, once you factor in the slow-down from Tor? Are the |
|
132 |
-results the same on both Linux and Windows? Related, does Polipo handle |
|
133 |
-more web sites correctly than Privoxy, or vice versa? Are there stability |
|
134 |
-issues on any common platforms, e.g. Windows?</li> |
|
129 |
+information. The tricky point is that being an exit server is not a |
|
130 |
+boolean: so the question is actually "Is this IP address a Tor exit |
|
131 |
+server that can exit to my IP address:port?" The DNSBL interface |
|
132 |
+will probably receive hundreds of queries a minute, so some smart |
|
133 |
+algorithms are in order. Bonus points if it does active testing through |
|
134 |
+each exit node to find out what IP address it's really exiting from.</li> |
|
135 | 135 |
<li>It would be great to have a LiveCD that includes the latest |
136 | 136 |
versions of Tor, Polipo or Privoxy, Firefox, Gaim+OTR, etc. There are |
137 | 137 |
two challenges here: first is documenting the system and choices well |
... | ... |
@@ -139,9 +139,39 @@ enough that security people can form an opinion on whether it should be |
139 | 139 |
secure, and the second is figuring out how to make it easily maintainable, |
140 | 140 |
so it doesn't become quickly obsolete like AnonymOS. Bonus points if |
141 | 141 |
the CD image fits on one of those small-form-factor CDs.</li> |
142 |
+<li>Related to the LiveCD image, we should work on an intuitively secure |
|
143 |
+and well-documented USB image for Tor and supporting applications. A |
|
144 |
+lot of the hard part here is deciding what configurations are secure, |
|
145 |
+documentating these decisions, and making something that is easy to |
|
146 |
+maintain going forward.</li> |
|
147 |
+<li>We need to actually start building our <a href="<page |
|
148 |
+documentation>#DesignDoc">blocking-resistance design</a>. This involves |
|
149 |
+fleshing out the design, modifying many different pieces of Tor, working |
|
150 |
+on a <a href="http://vidalia-project.net/">GUI</a> that's intuitive, |
|
151 |
+and planning for deployment.</li> |
|
152 |
+<li>We need a flexible simulator framework for studying end-to-end |
|
153 |
+traffic confirmation attacks. Many researchers have whipped up ad hoc |
|
154 |
+simulators to support their intuition either that the attacks work |
|
155 |
+really well or that some defense works great. Can we build a simulator |
|
156 |
+that's clearly documented and open enough that everybody knows it's |
|
157 |
+giving a reasonable answer? This will spur a lot of new research. |
|
158 |
+See the entry <a href="#Research">below</a> on confirmation attacks for |
|
159 |
+details on the research side of this task — who knows, when it's |
|
160 |
+done maybe you can help write a paper or three also.</li> |
|
161 |
+<li>We need a measurement study of <a |
|
162 |
+href="http://www.pps.jussieu.fr/~jch/software/polipo/">Polipo</a> |
|
163 |
+vs <a href="http://www.privoxy.org/">Privoxy</a>. Is Polipo in fact |
|
164 |
+significantly faster, once you factor in the slow-down from Tor? Are the |
|
165 |
+results the same on both Linux and Windows? Related, does Polipo handle |
|
166 |
+more web sites correctly than Privoxy, or vice versa? Are there stability |
|
167 |
+issues on any common platforms, e.g. Windows?</li> |
|
168 |
+<li>Related on the above, would you like to help port <a |
|
169 |
+href="http://www.pps.jussieu.fr/~jch/software/polipo/">Polipo</a> so it |
|
170 |
+runs stably and efficiently on Windows?</li> |
|
142 | 171 |
<li>We need a distributed testing framework. We have unit tests, |
143 | 172 |
but it would be great to have a script that starts up a Tor network, uses |
144 | 173 |
it for a while, and verifies that at least parts of it are working.</li> |
174 |
+<!-- |
|
145 | 175 |
<li>Right now the hidden service descriptors are being stored on just a |
146 | 176 |
few directory servers. This is bad for privacy and bad for robustness. To |
147 | 177 |
get more robustness, we're going to need to make hidden service |
... | ... |
@@ -156,6 +186,7 @@ and signature on a hidden service descriptor so they can't be tricked |
156 | 186 |
into giving out fake ones. Second, any reliable distributed storage |
157 | 187 |
system will do, as long as it allows authenticated updates, but as far |
158 | 188 |
as we know no implemented DHT code supports authenticated updates.</li> |
189 |
+--> |
|
159 | 190 |
<li>Tor 0.1.1.x and later include support for hardware crypto accelerators |
160 | 191 |
via |
161 | 192 |
OpenSSL. Nobody has ever tested it, though. Does somebody want to get |
... | ... |
@@ -171,7 +202,8 @@ it means we can only reasonably support TCP streams. We have a <a |
171 | 202 |
href="http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#TransportIPnotTCP">list |
172 | 203 |
of reasons why we haven't shifted to UDP transport</a>, but it would |
173 | 204 |
be great to see that list get shorter. We also have a proposed <a |
174 |
-href="<svnsandbox>doc/tor-spec-udp.txt">specification for Tor and |
|
205 |
+href="<svnsandbox>doc/spec/proposals/100-tor-spec-udp.txt">specification |
|
206 |
+for Tor and |
|
175 | 207 |
UDP</a> — please let us know what's wrong with it.</li> |
176 | 208 |
<li>We're not that far from having IPv6 support for destination addresses |
177 | 209 |
(at exit nodes). If you care strongly about IPv6, that's probably the |
178 | 210 |