Facebook is experimenting with ways for security-conscious users to access the social network via Tor, and Alec Muffett, a software engineer for security infrastructure in the company’s London office, described the process in a note on the Protect the Graph page.
It’s important to us at Facebook to provide methods for people to use our site securely. People connect to Facebook in many different ways, which is why we have implemented HTTPS across our service, and Perfect Forward Secrecy, HSTS and other technologies that help give people more confidence that they are connected securely to Facebook.
That doesn’t mean we can’t improve yet further.
Consider Tor: Tor challenges some assumptions of Facebook’s security mechanisms — for example, its design means that from the perspective of our systems, a person who appears to be connecting from Australia at one moment may the next appear to be in Sweden or Canada. In other contexts, such behavior might suggest that a hacked account is being accessed through a “botnet,” but for Tor, this is normal.
Considerations like these have not always been reflected in Facebook’s security infrastructure, which has sometimes led to unnecessary hurdles for people who connect to Facebook using Tor. To make their experience more consistent with our goals of accessibility and security, we have begun an experiment that makes Facebook available directly over Tor network at the following URL (which will only work in Tor-enabled browsers): https://facebookcorewwwi.onion/.
Facebook’s onion address provides a way to access Facebook through Tor without losing the cryptographic protections provided by the Tor cloud.
The idea is that the Facebook onion address connects you to Facebook’s Core WWW infrastructure — check the URL again, you’ll see what we did there — and it reflects one benefit of accessing Facebook this way: It provides end-to-end communication, from your browser directly into a Facebook data center.
We decided to use SSL atop this service due in part to architectural considerations — for example, we use the Tor daemon as a reverse proxy into a load balancer, and Facebook traffic requires the protection of SSL over that link. As a result, we have provided an SSL certificate that cites our onion address; this mechanism removes the Tor browser’s “SSL certificate warning” for that onion address and increases confidence that this service really is run by Facebook. Issuing an SSL certificate for a Tor implementation is — in the Tor world — a novel solution to attribute ownership of an onion address; other solutions for attribution are ripe for consideration, but we believe that this one provides an appropriate starting point for such discussion.
Over time we hope to share some of the lessons that we have learned — and will learn — about scaling and deploying services via the Facebook onion address; we have many ideas and are looking forward to improving this service. A medium-term goal will be to support Facebook’s mobile-friendly website via an onion address, although in the meantime, we expect the service to be of an evolutionary and slightly flaky nature.
Readers: Have you ever used Tor?