mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
add an outline for a new roadmap
svn:r13099
This commit is contained in:
parent
b84955285a
commit
8435de3c78
@ -20,20 +20,132 @@
|
||||
\maketitle
|
||||
\pagestyle{plain}
|
||||
|
||||
% TO DO:
|
||||
% add cites
|
||||
% add time estimates
|
||||
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
Tor (the software) and Tor (the overall software/network/support/document
|
||||
suite) are now experiencing all the crises of success. Over the next
|
||||
years, we're probably going to grow more in terms of users, developers,
|
||||
years, we're probably going to grow even more in terms of users, developers,
|
||||
and funding than before. This document attempts to lay out all the
|
||||
well-understood next steps that Tor needs to take. We should periodically
|
||||
reorganize it to reflect current and intended priorities.
|
||||
|
||||
\section{Everybody can be a relay}
|
||||
\subsection{UPNP}
|
||||
\subsection{"ORPort auto" to look for a reachable port}
|
||||
\subsection{Incentives design}
|
||||
\subsection{Windows libevent}
|
||||
\subsection{Network scaling}
|
||||
- Practical side: how to handle a huge directory?
|
||||
- Anonymity side: impacts from partitioning?
|
||||
\subsection{Using fewer sockets}
|
||||
- Restricted-route topology
|
||||
- UDP design
|
||||
\subsection{Better algorithms for giving priority to local traffic}
|
||||
\subsection{Auto bandwidth detection and rate limiting, especially for
|
||||
asymmetric connections.}
|
||||
\subsection{Tolerate absurdly wrong clocks, even for servers}
|
||||
\subsection{Metrics for deciding when you're fast enough and stable enough
|
||||
to opt to switch from being a bridge relay to a public relay.}
|
||||
\section{Tor on low resources / slow links}
|
||||
\subsection{Reducing directory fetches further}
|
||||
\subsection{AvoidDiskWrites}
|
||||
\subsection{Using less ram}
|
||||
\subsection{Better DoS resistance for tor servers / authorities}
|
||||
\section{Blocking resistance}
|
||||
\subsection{Better bridge-address-distribution strategies}
|
||||
\subsection{Get more volunteers running bridges}
|
||||
\subsection{Handle multiple bridge authorities}
|
||||
\subsection{Anonymity for bridge users: second layer of entry guards, etc?}
|
||||
\subsection{More TLS normalization}
|
||||
\subsection{Harder to block Tor software distribution}
|
||||
\subsection{Integration with Psiphon}
|
||||
\section{Packaging}
|
||||
\subsection{Switch Privoxy out for Polipo}
|
||||
- Make Vidalia able to launch more programs itself
|
||||
\subsection{Continue Torbutton improvements}
|
||||
especially better docs
|
||||
\subsection{Vidalia and stability (especially wrt ongoing Windows problems)}
|
||||
\subsection{Polipo support on Windows}
|
||||
\subsection{Auto update for Tor, Vidalia, others}
|
||||
\subsection{Tor browser bundle for USB and standalone use}
|
||||
\subsection{LiveCD solution}
|
||||
\subsection{VM-based solution}
|
||||
\subsection{Tor-on-enclave-firewall configuration}
|
||||
\subsection{General tutorials on what common applications are Tor-friendly}
|
||||
\subsection{Controller libraries (torctl) plus documentation}
|
||||
\subsection{Localization and translation (Vidalia, Torbutton, web pages)}
|
||||
\section{Interacting better with Internet sites}
|
||||
\subsection{Make tordnsel (tor exitlist) better and more well-known}
|
||||
\subsection{Nymble}
|
||||
\subsection{Work with Wikipedia, Slashdot, Google(, IRC networks)}
|
||||
\subsection{IPv6 support for exit destinations}
|
||||
\section{Network health}
|
||||
\subsection{torflow / soat to detect bad relays}
|
||||
\subsection{make authorities more automated}
|
||||
\subsection{torstatus pages and better trend tracking}
|
||||
\subsection{better metrics for assessing network health / growth}
|
||||
- geoip usage-by-country reporting and aggregation
|
||||
(Once that's working, switch to Directory guards)
|
||||
\subsection{Performance research}
|
||||
- Load balance better
|
||||
- Improve our congestion control algorithms
|
||||
\section{Outreach and user education}
|
||||
\subsection{"Who uses Tor" use cases}
|
||||
\subsection{Law enforcement contacts}
|
||||
- "Was this IP address a Tor relay recently?" database
|
||||
\subsection{Commercial/enterprise outreach. Help them use Tor well and
|
||||
not fear it.}
|
||||
\subsection{NGO outreach and training.}
|
||||
- "How to be a safe blogger"
|
||||
\subsection{More activist coordinators, more people to answer user questions}
|
||||
\subsection{More people to hold hands of server operators}
|
||||
\subsection{The-dangers-of-plaintext awareness}
|
||||
\subsection{check.torproject.org and other "privacy checkers"}
|
||||
\subsection{Stronger legal FAQ for US}
|
||||
\subsection{Legal FAQs for other countries}
|
||||
\section{Anonymity research}
|
||||
\subsection{estimate relay bandwidth more securely}
|
||||
\subsection{website fingerprinting attacks}
|
||||
\subsection{safer e2e defenses}
|
||||
\subsection{Using Tor when you really need anonymity. Can you compose it
|
||||
with other steps, like more trusted guards or separate proxies?}
|
||||
\subsection{Topology-aware routing; routing-zones, steven's pet2007 paper.}
|
||||
\section{Organizational growth and stability}
|
||||
\subsection{A contingency plan if Roger gets hit by a bus}
|
||||
- Get a new executive director
|
||||
\subsection{More diversity of funding}
|
||||
- Don't rely on any one funder as much
|
||||
- Don't rely on any sector or funder category as much
|
||||
\subsection{More Tor-funded people who are skilled at peripheral apps like
|
||||
Vidalia, Torbutton, Polipo, etc}
|
||||
\subsection{Clearer and more predictable trademark behavior}
|
||||
\subsection{More outside funding for internships, etc e.g. GSoC.}
|
||||
\section{Hidden services}
|
||||
\subsection{Scaling: how to handle many hidden services}
|
||||
\subsection{Performance: how to rendezvous with them quickly}
|
||||
\subsection{Authentication/authorization: how to tolerate DoS / load}
|
||||
\section{Tor as a general overlay network}
|
||||
\subsection{Choose paths / exit by country}
|
||||
\subsection{Easier to run your own private servers and have Tor use them
|
||||
anywhere in the path}
|
||||
\subsection{Easier to run an independent Tor network}
|
||||
\section{Code security/correctness}
|
||||
\subsection{veracode}
|
||||
\subsection{code audit}
|
||||
\subsection{more fuzzing tools}
|
||||
\subsection{build farm, better testing harness}
|
||||
\subsection{Long-overdue code refactoring and cleanup}
|
||||
\section{Protocol security}
|
||||
\subsection{safer circuit handshake}
|
||||
\subsection{protocol versioning for future compatibility}
|
||||
\subsection{cell sizes}
|
||||
\subsection{adapt to new key sizes, etc}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\section{Code and design infrastructure}
|
||||
|
||||
\subsection{Protocol revision}
|
||||
|
Loading…
Reference in New Issue
Block a user