Tor's Been KIST: A Case Study of Transitioning Tor Research to Practice

Most computer science research is aimed at solving difficult problems with a goal of sharing the developed solutions with the greater research community. For many researchers, a project ends when the paper is published even though a much broader impact could be achieved by spending additional effort to transition that research to real world usage. In this paper, we examine the opportunities and challenges in transitioning Tor research through a case study of deploying a previously proposed application layer socket scheduling policy called KIST into the Tor network. We implement KIST, simulate it in a 2,000-relay private Tor network using Shadow, deploy it on a Tor relay running in the public Tor network, and measure its performance impact. Confirming the results reported in prior research, we find that KIST reduces kernel outbound queuing times for relays and download times for low-volume or bursty clients. We also find that client and relay performance with KIST increases as network load and packet loss rates increase, although the effects of packet loss on KIST were overlooked in past work. Our implementation will be released as open-source software for inclusion in a future Tor release.

[1]  Rob Jansen,et al.  Safely Measuring Tor , 2016, CCS.

[2]  David Wolinsky,et al.  Reducing Latency in Tor Circuits with Unordered Delivery , 2013, FOCI.

[3]  Ian Goldberg,et al.  Improving Tor using a TCP-over-DTLS Tunnel , 2009, USENIX Security Symposium.

[4]  Dave Levin,et al.  Ting: Measuring and Exploiting Latencies Between All Tor Nodes , 2015, Internet Measurement Conference.

[5]  Nicholas Hopper,et al.  Shadow: Running Tor in a Box for Accurate and Efficient Experimentation , 2011, NDSS.

[6]  Nick Mathewson,et al.  Tor: The Second-Generation Onion Router , 2004, USENIX Security Symposium.

[7]  Roger Dingledine,et al.  Methodically Modeling the Tor Network , 2012, CSET.

[8]  Micah Sherr,et al.  Never Been KIST: Tor's Congestion Management Blossoms with Kernel-Informed Socket Transport , 2014, USENIX Security Symposium.

[9]  Ian Goldberg,et al.  Performance and Security Improvements for Tor , 2016, IACR Cryptol. ePrint Arch..

[10]  Ian Goldberg,et al.  Enhancing Tor's performance using real-time traffic classification , 2012, CCS.

[11]  Ian Goldberg,et al.  An improved algorithm for tor circuit scheduling , 2010, CCS '10.

[12]  Ian Goldberg,et al.  PCTCP: per-circuit TCP-over-IPsec transport for anonymous communication overlay networks , 2013, CCS.

[13]  Nadia Heninger,et al.  Torchestra: reducing interactive traffic delays over tor , 2012, WPES '12.

[14]  Wu-chun Feng,et al.  A comparison of TCP automatic tuning techniques for distributed computing , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[15]  Nicholas Hopper,et al.  Throttling Tor Bandwidth Parasites , 2012, NDSS.

[16]  Nicholas Hopper,et al.  IMUX: Managing Tor Connections from Two to Infinity, and Beyond , 2014, WPES.