CS294S Research Project in Computer Security

HTTP Camouflage

Peter Chien, Spencer King


  1. Description
  2. How it Works
  3. Source Code


The HTTP Camouflage project aims to help Tor users connect to and use Tor in a restrictive environment that prohibits the usage of Tor. The goal is to make Tor traffic from clients to bridges resistent to traffic analysis that looks at packet sizes by making them appear the same size as what a user browsing a website would send and receive.

How It Works

The Tor client connects to the client proxy, while the Tor bridge connects to the server proxy. When the Tor client tries to talk to the Tor bridge, it sends its Tor packet to the client proxy, which sends the packet over HTTP to the server proxy as multiple packets of sizes determined by a model of real HTTP traffic. When the server proxy receives the entire packet from the client proxy, it forwards it to the Tor bridge. The same logic applies when the Tor bridge tries to send a Tor packet back to the client. To make the HTTP communication between the proxies resemble normal HTTP flow, we modeled the HTTP flow of the proxies to that of browsing New York Times. The bridge proxy allows multiple client connections.

Source Code