Tor

Note: These lecture notes were slightly modified from the ones posted on the 6.858 course website from 2014.

What's the goal of the paper (or Tor)?

How to achieve anonymity?

Why do we need more than one node?

Main idea: onion routing

At what level should we relay things?

Tor design

Terminology: circuits and streams.

Tor circuits

How does the OP send data via circuit?

What does an OR do with relay packets?

How does an OR know if a relay packet is destined to it or not?

How to establish a new stream?

What is the "leaky pipe" topology?

Initializing circuits

What state does each OR keep for each circuit that passes through it?

Can we avoid storing all of this state in the network?

Why does Tor need exit policies?

What if Tor didn't do integrity checking?

How does Tor prevent replays?

Anonymous services

Potential pitfalls when using Tor?

Benefits / risks of running an OR?

Benefits:

Risks:

How hard is it to block Tor?

Would you use Tor? What applications is it good for?

How active is Tor?

Alternative approach: DC-nets ("Dining cryptographer networks").

References: