Timeline
October 1, 2011 - September 30, 2012
Overview
Pluggable Transports
The goal is to decouple protocol-level obfuscation from the core Tor protocol in order to better resist client-bridge censorship. Our approach is to specify a means to add pluggable transport implementations to Tor clients and bridges so that they can negotiate a superencipherment for the Tor protocol.
IPv6 Integration into Tor
Tor uses the Internet in many ways. There are three main ways that will need to change for IPv6 support, from most urgent to least urgent.
-
Tor must allow connections from IPv6-only clients. (Currently, routers and bridges do not listen on IPv6 addresses, and can't advertise that they support IPv6 addresses, so clients can't learn that they do.)
-
Tor must transport IPv6 traffic and IPv6-related DNS traffic.
-
Tor must allow nodes to connect to one another over IPv6.
Allowing IPv6-only clients is the most important, since unless we do, these clients will be unable to connect to Tor at all. Next most important is to support IPv6 DNS related dependencies and exiting to IPv6 services. Finally, allowing Tor nodes to support a dual stack of both IPv4 and IPv6 for interconnection seems like a reasonable step towards a fully hybrid IPv4/IPv6 Tor network.
Phase 1: December 31, 2011
Pluggable Transports
Goal: design and specification written and tested.
Deliverable: Design Document. Written specification. Results of Testing.
Measurable Output: 2 documents?
Who: Nick and George.
IPv6 Integration into Tor
Goal: design and specification documented and tested.
Deliverable: Design Document. Written specification. Results of Testing.
Measurable Output: 2 documents?
Who: Nick and Linus.
Project tickets
[[TicketQuery(keywords~=SponsorG20111231,format=table,type=project,col=id|summary|keywords|owner|component)]]
Phase 2: March 31, 2012
Pluggable Transports
Goal: roadmap written down and ready for code relating to protocols to defeat varying sophistication of deep packet inspection technologies.
Deliverable: Written roadmap of how we're going to apply the Design and code to spec.
Measurable Output: 1 Document?
Who: Nick and George.
IPv6 Integration into Tor
Goal: code changes to support IPv4 or IPv6 network addressing.
Deliverable: Git commits, Trac tickets, and narrative report detailing current state.
Measurable Output: Narrative document of progress.
Who: Linus.
Project tickets
[[TicketQuery(keywords~=SponsorG20120331,format=table,type=project,col=id|summary|keywords|owner|component)]]
Phase 3: June 30, 2012
Pluggable Transports
Goal: Tor changes and code integration for: UPnP plugin support, testing on Windows, Linux, and OS X.
Deliverable: Git commits, Trac tickets, and narrative report showing current state.
Measurable Output: Narrative document of progress.
Who: Nick and George. Erinn?
IPv6 Integration into Tor
Goal: IPv6 design integration for client support of IPv6 and relays supported with IPv6 client to relay communication; possibly IPv6 tor exit support.
Deliverable: Git commits, branches, Trac tickets, and narrative report detailing current state. Testing release of tor in a package.
Measurable Output: Narrative document of progress and testing release of Tor in a package.
Who: Nick and Linus.
Project tickets
[[TicketQuery(keywords~=SponsorG20120630,format=table,type=project,col=id|summary|keywords|owner|component)]]
Phase 4: September 30, 2012
Pluggable Transports
Goal: deploy release with all of the above.
Deliverable: released version of Tor with the sum of the work performed on pluggable transports year to date.
Measurable Output: Tor release, testing package
Who: Erinn and George.
IPv6 Integration into Tor
Goal: deploy release with all of the above.
Deliverable: released version of Tor with support for IPv6 clients to first relay. If possible, released version of Tor with support for IPv6 destinations through exit relays.
Measurable Output: Testing release of Tor with usable package.
Who: Nick and Linus.
Project tickets
[[TicketQuery(keywords~=SponsorG20120930,format=table,type=project,col=id|summary|keywords|owner|component)]]