Browse code

Couple more GSoC projects from sjmurdoch

Damian Johnson authored on09/04/2013 18:41:49
Showing1 changed files
... ...
@@ -603,6 +603,11 @@ meetings around the world.</li>
603 603
     block Tor. This has both a C and python implementation.
604 604
     </p>
605 605
 
606
+    <p>
607
+    <b>Project Ideas:</b><br />
608
+    <i><a href="#betterPluggableTransports">Build Better Pluggable Transports</a></i>
609
+    </p>
610
+
606 611
     <a id="project-flash-proxy"></a>
607 612
     <h3><a href="https://crypto.stanford.edu/flashproxy/">Flash Proxy</a> (<a
608 613
     href="https://gitweb.torproject.org/flashproxy.git">code</a>, <a
... ...
@@ -1270,6 +1275,61 @@ meetings around the world.</li>
1270 1275
     </p>
1271 1276
     </li>
1272 1277
 
1278
+    <a id="betterPluggableTransports"></a>
1279
+    <li>
1280
+    <b>Build Better Pluggable Transports</b>
1281
+    <br>
1282
+    Effort Level: <i>Medium to High</i>
1283
+    <br>
1284
+    Skill Level: <i>Medium</i>
1285
+    <br>
1286
+    Likely Mentors: <i>Steven (sjmurdoch)</i>
1287
+    <p>
1288
+    For Tor users in censored countries, we currently offer <a
1289
+    href="https://www.torproject.org/projects/obfsproxy.html.en">obfsproxy</a>
1290
+    bridges, which disguise Tor traffic by making it look random. This works
1291
+    for many users, but it has disadvantages: firstly it does not disguise
1292
+    packet size and secondly it looks like no real protocol. These weaknesses
1293
+    may result in obfsproxy being blocked.
1294
+    </p>
1295
+
1296
+    <p>
1297
+    The goal for this project will be to implement new pluggable transports,
1298
+    which resolve these weaknesses and so can be deployed if/when obfsproxy is
1299
+    blocked. Ideas for doing so include:
1300
+      <ul>
1301
+        <li>Impersonate a voice-over-IP protocol</li>
1302
+        <li>Impersonate HTTP sufficiently well that traffic will go through a HTTP-only proxy</li>
1303
+        <li>Implement <a href="http://cacr.uwaterloo.ca/techreports/2011/cacr2011-21.pdf">scanning resistance</a></a>
1304
+      </ul>
1305
+    </p>
1306
+
1307
+    <a id="profileUDPTransport"></a>
1308
+    <li>
1309
+    <b>Profile UDP transport protocols</b>
1310
+    <br>
1311
+    Effort Level: <i>Medium to High</i>
1312
+    <br>
1313
+    Skill Level: <i>High</i>
1314
+    <br>
1315
+    Likely Mentors: <i>Steven (sjmurdoch)</i>
1316
+    <p>
1317
+    There are <a
1318
+    href="https://research.torproject.org/techreports/datagram-comparison-2011-11-07.pdf">lots
1319
+    of options</a> as to how Tor could send its data over UDP rather than TCP,
1320
+    and some will likely perform significantly better than others. This project
1321
+    will evaluate these options, so as to decide which should be used in future
1322
+    versions of Tor. A first step will be to benchmark the various transport
1323
+    protocols being considered, in terms of performance and also code quality,
1324
+    including userspace TCP, <a
1325
+    href="https://github.com/bittorrent/libutp">&mu;TP</a>, <a
1326
+    href="http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol">SCTP</a>
1327
+    and <a href="http://curvecp.org/">CurveCP</a>. Initially these transport
1328
+    protocols will be examined in isolation, but if the project progresses well
1329
+    one or more could be integrated in Tor.
1330
+    </p>
1331
+    </li>
1332
+
1273 1333
     <li>
1274 1334
     <b>Bring up new ideas!</b>
1275 1335
     <br>