[tor-talk] Multiplexing TCP streams within a circuit similar to EWMA

Roger Dingledine arma at mit.edu
Thu Oct 5 21:20:24 UTC 2017


On Thu, Oct 05, 2017 at 03:18:07PM +0300, Yasir Al-Agl wrote:
> I've been working for some time on Tor multiplexing and circuit scheduling
> from a security perspective. I stumbled across the great work of Tang and
> Goldberg and their implementation of EWMA (2010), and while their main
> purpose was performance enhancement, it produced a certain level of
> randomness to circuit scheduling.

Be sure to check out the KIST papers too!

https://www.freehaven.net/anonbib/#jansen14-kist
https://arxiv.org/abs/1709.01044

>  I also experimented this and concluded that Tor will push the
> GET requests to the circuit queue (encapsulated in Tor cells) as they are
> received from the browser. This indicates that the order of which streams
> appear in a circuit queue, is primary controlled by the used browser.

Makes sense.

In fact, check out the hack that Mike Perry introduced to Tor Browser
to randomize the order of fetching things, with the goal of screwing up
website fingerprinting.

https://blog.torproject.org/experimental-defense-website-traffic-fingerprinting
https://trac.torproject.org/projects/tor/ticket/3914

I think Tor Browser still includes this feature. But I also think most
of the WF researchers have concluded that, at least as currently built,
it doesn't do much.

> Any idea why the algorithm is failing when the number of resources
> increases beyond four?

There are a bunch of tickets on stream level fairness, some closed
and some still open.

https://bugs.torproject.org/1298
https://bugs.torproject.org/1937
https://bugs.torproject.org/2179
https://bugs.torproject.org/2180

Hopefully these are all useful directions to explore,
--Roger



More information about the tor-talk mailing list