On the Complexity of Anonymous Communication Through Public Networks
Anonymous channels allow users to connect to websites or communicate with one another privately. Assume that either Alice or Allison is communicating with (a possibly corrupt) Bob. To protect the sender, we seek a protocol that provably guarantees that these two scenarios are indistinguishable to an adversary that can monitor the traffic on all channels of the network and control the internal operations in a constant fraction of the nodes. Onion routing is the method of choice for achieving anonymous communication, used for example by Tor. In an onion routing protocol, messages travel through several intermediaries before arriving at their destinations; they are wrapped in layers of encryption (hence they are called "onions"). In this paper, we give the first rigorous characterization of the complexity of onion routing protocols for anonymous communication through public networks. We show that in order to provide anonymity, an onion routing scheme requires each participant to transmit, on average, a superlogarithmic number of onions. We match these negative results with a protocol in which every participant creates a polylogarithmic number of onions and participates in a polylogarithmic number of transmissions.
READ FULL TEXT