wiki:org/sponsors/SponsorU/Tor

Guard node improvements (task 4.1)

  • Further design and discussion, along with at least one whitepaper, discussing guard node design and improvements based on the reactions of researchers in the field.
  • A more formal set of specification documents describing our guard selection and path selection algorithms, so that researchers can better analyze their security properties, so that we can better validate the correctness of our implementation, and so that other implementations of Tor and other anonymity tools can take advantage of our findings.
  • An implementation of our improved guard node design, included in our codebase, with improvements as found necessary during research.
  • Improvements to the testing of our route selection infrastructure. Risks and contingencies for guard redesign.

Improved public identity keys for Tor relays (task 4.2)

  • An updated design document to handle all pending questions in the design proposal with a complete specification for key algorithms currently described in English.
  • Additional design proposals for handling key revocation, and future identity key types if they should prove to be needed.
  • Support for offline identity key storage, so that a relay’s most sensitive key material no longer needs to be stored unencrypted on the same computer as the relay.
  • Directory system support for improved identity key infrastructure: relays must publish cross-certified [14] server descriptors including new identity key types [13] as well as old ones. Authorities must track and certify all key types, and prevent later changes in binding between identity keys.
  • Protocol support for improved identity key infrastructure: clients connecting to a server can verify that they are connecting to the server with the desired identity key(s), and can instruct midpoint servers to extend to the server with the desired identity key(s).

Better DoS resistance throughout the Tor protocol (task 4.3)

  • A whitepaper identifying and classifying kinds of DoS against onion routing networks; evaluating them for importance; identifying already-proposed fixes, and identifying problems for which new fixes are still needed.
  • One or more design proposals for improvements to the Tor protocol to avoid the most important denial-of-service attacks against Tor networks. These will provide sufficient detail and rationale so that other implementations of the Tor protocols, and designers of other anonymity tools, can use them to strengthen their systems as well.
  • Implementations of the most beneficial of these proposals (in terms of cost-benefit ratio), so as to render Tor servers and the Tor network less susceptible to denial of service. The details of these will be defined more fully after the analysis in the steps above.

Rigorous developer documentation (task 4.4)

  • A quick-start guide for new developers to Tor, covering the layout of the Tor source code, our coding practices, development methodology, testing strategies, and other information that new developers frequently take time to learn.
  • A quick-start guide to writing tests for the Tor codebase.
  • A high-level overview of the structure of the Tor codebase, explaining the relationships between the key modules in Tor and the data flows through each one.
  • A user’s manual for the compatibility and cryptographic layers at the bottom of the Tor code stack.
  • A detailed high- and low-level overview of all modules in Tor, their data flows, their intended interactions, and their actual behaviors.

Breakdown per year

Task Year 1 Year 2
Tor Task Area 1:
Guard Node
Improvements
* Design and write at least one whitepaper on
guard node design and improvements. #17261
* Documentation specifying guard selection and
path selection algorithms. #17261
* Implementation of improved guard node
design. #17262
* Improved testing of route selection
infrastructure. #17295
Tor Task Area 2:
Crypto Improvement to
Tor Relay Identity Keys
* Updated design document resolving pending
questions.
* Design proposals for handling key revocation,
and future identity key types. #17265
* Support for offline identity key storage. #13642
* Directory system support for improved identity
key infrastructure. #17702 #17668
* Protocol support for improved identity key
infrastructure. #15054
Tor Task Area 3:
Better DoS Resistance
for the Tor Protocol
* Whitepaper identifying and classifying kinds of
DoS against onion routing networks. #17263
* At least one design proposal for improvements
to the Tor protocol to avoid DoS attacks against
Tor networks #17268
* Implementations of the proposals to render Tor
servers and the Tor network less susceptible to
DoS attack. #17293
Tor Task Area 4:
Rigorous Developer
Documentation
* Quick-start guide for new developers to Tor. #17266
* Quick-start guide to writing tests for the Tor
codebase. #17264
* Overview of the structure of the Tor codebase. #17267
* User’s manual for compatibility and crypto
layers. #17294
* Detailed high- and low-level overview of all
modules in Tor. #17292
Browser Task
Area 1:
Security and
Privacy
* Drop-in minimalistic PartitionAlloc Builds
* Basic build hardening cleanup
* Address short-term issues from iSEC report
* Provide AddressSanitizer builds for alpha/beta series
* Begin conversion of key Torbutton features into C++
patches
* Make use of more advanced PartitionAlloc features
* Finalize remaining Torbutton conversion into C++
* Improve Tor Browser Update security
* Investigate and address remaining/long-term iSEC
findings
* Mozilla Sandboxing Support (contingent on Mozilla)
Browser Task
Area 2:
Overall Usability
* Native code signing for MacOS and Windows
* Continual usability improvements based on support
feedback
* Continual usability improvements based on support
feedback
* Improve Security and Privacy feature UI
Browser Task
Area 3:
Patch Cleanup
and Merge Work
* Work with Mozilla to merge our updated patches for
Firefox 31
* Review Firefox 38 and update our patches
* Update our toolchain and build system to support
Firefox 38
* Work with Mozilla to merge our updated patches for
Firefox 38
* Review Firefox 45 and update our patches
* Update our toolchain and build system to support
Firefox 45
* Work with Mozilla to merge our updated patches for
Firefox 45
Browser Task
Area 4:
Quality
Assurance and
Testing
* Mozilla testing coverage and test updates for Linux * Automated Mac and Windows testing support
* User-deployable automated Mac, Windows, and
Linux testing

Tracking our work

Guard node improvements (task 4.1)

  • An implementation of our improved guard node design, included in our codebase, with improvements as found necessary during research.
    • tor-guards-revamp. (I suggest we don't use"tor-guard" for this, since that is for every single guard-related thing.)
  • Improvements to the testing of our route selection infrastructure. Risks and contingencies for guard redesign.

Improved public identity keys for Tor relays (task 4.2)

  • Protocol support for improved identity key infrastructure: clients connecting to a server can verify that they are connecting to the server with the desired identity key(s), and can instruct midpoint servers to extend to the server with the desired identity key(s).

Better DoS resistance throughout the Tor protocol (task 4.3)

  • One or more design proposals for improvements to the Tor protocol to avoid the most important denial-of-service attacks against Tor networks. These will provide sufficient detail and rationale so that other implementations of the Tor protocols, and designers of other anonymity tools, can use them to strengthen their systems as well.
  • Implementations of the most beneficial of these proposals (in terms of cost-benefit ratio), so as to render Tor servers and the Tor network less susceptible to denial of service. The details of these will be defined more fully after the analysis in the steps above.

Rigorous developer documentation (task 4.4)

  • A user’s manual for the compatibility and cryptographic layers at the bottom of the Tor code stack.
  • A detailed high- and low-level overview of all modules in Tor, their data flows, their intended interactions, and their actual behaviors.
Last modified 10 months ago Last modified on Jan 27, 2017, 2:23:50 PM