Authors are listed in alphabetical order.
USENIX Security 2024
Paper home page:
https://www.bamsoftware.com/papers/snowflake/
This talk:
https://www.bamsoftware.com/talks/snowflake-usenix2024/
Snowflake is a censorship circumvention system—a way of enabling communication between network endpoints despite the interference of an intermediary censor. (Censors may do things like block IP addresses, send forged TCP RST packets, or falsify DNS responses.)
Snowflake uses a large pool of ultra-lightweight, temporary proxies ("snowflakes") that communicate using WebRTC protocols.
Snowflake has been in serious deployment for 3+ years. It is a built-in circumvention option in Tor Browser, and serves a few tens of thousands of users at any time.
The client sends its request for service through a secure rendezvous channel. Rendezvous is modular, and independent of the main WebRTC-based system.
Currently deployed rendezvous methods:
See "Communication Breakdown: Modularizing Application Tunneling for Signaling Around Censorship" (PETS 2024) for the rendezvous problem in general.
When an in-use proxy goes away, the client does another rendezvous and resumes the session on a new proxy.
This process uses end-to-end session state stored at the client and the bridge (a Turbo Tunnel design). Temporary Snowflake proxies are just pipes.
See "SpotProxy: Rediscovering the Cloud for Censorship Circumvention" (USENIX Security 2024) for an active migration that avoids the need for a repeated rendezvous.
David Fifield <david@bamsoftware.com>