Blocking-resistant communication through domain fronting

David Fifield 1 , Chang Lan 2 , Rod Hynes 3 , Percy Wegmann 4 , and Vern Paxson 5
  • 1 University of California, Berkeley
  • 2 University of California, Berkeley
  • 3 Psiphon Inc
  • 4 Brave New Software
  • 5 University of California, Berkeley and the International Computer Science Institute


We describe “domain fronting,” a versatile censorship circumvention technique that hides the remote endpoint of a communication. Domain fronting works at the application layer, using HTTPS, to communicate with a forbidden host while appearing to communicate with some other host, permitted by the censor. The key idea is the use of different domain names at different layers of communication. One domain appears on the “outside” of an HTTPS request—in the DNS request and TLS Server Name Indication—while another domain appears on the “inside”—in the HTTP Host header, invisible to the censor under HTTPS encryption. A censor, unable to distinguish fronted and nonfronted traffic to a domain, must choose between allowing circumvention traffic and blocking the domain entirely, which results in expensive collateral damage. Domain fronting is easy to deploy and use and does not require special cooperation by network intermediaries. We identify a number of hard-to-block web services, such as content delivery networks, that support domain-fronted connections and are useful for censorship circumvention. Domain fronting, in various forms, is now a circumvention workhorse. We describe several months of deployment experience in the Tor, Lantern, and Psiphon circumvention systems, whose domain-fronting transports now connect thousands of users daily and transfer many terabytes per month.

If the inline PDF is not rendering correctly, you can download the PDF file here.


Journal + Issues