Last week, I went to China, for the first — and possibly the last — time.
Later, when I feel like complaining, I’ll blog about the negative things, like
the evidence that someone had broken into mine and another Tor developer’s
hotel room. As well as the tale of being followed by multiple plainclothes
people through the streets of Kowloon, again with another Tor developer, down
alleys, in and out of cabs, through electronic stores where I loudly and openly
bought tiny audio/video devices to bug myself and the hotel room with. This is
the first time I’ve ever worn a wire (I know, they all say that, right?): it
doesn’t feel right. I felt the compulsion to warn people who walked up and
started talking to me, before they spoke. And even then I still felt dirty and creepy.

When I started officially working on things for the
Tor Project a couple years ago, I’d imagined that
the world was like a map in an RPG, and that there were a lot of dark, hazy
spots that needed filling in. I worried that, if my legal name was publicly
attached to Tor, that places like China, Iran, and Syria would always remain
dark spots. The idea that I might be prevented from seeing and experiencing
those cultures and regions firsthand, that I would not be able to see the
homelands of people I wanted to empower, merely because a (corrupt would be
redundant) government had gotten wise to some name I don’t answer to — it
seemed daunting, and a bit heartbreaking.

I’ve been thinking a lot more about borders lately. Ashamed as I am to admit it
(it’s not like I was ever in favour of having borders), until now I’ve held a
very privileged perspective on them. Sure, borders suck. Got it. Yep, people
should be allowed to work wherever they want. Freedom of association, right?
And yet it had never occurred to me: that an invisible line drawn in the sand
could keep you away from your home, or that an arbitrary date on a slip of
paper could decide how long you were permitted to see someone you loved.
After living in Germany and France for precisely the number of days my tourist
visa would allow, (Oops. I’d been counting, and thought I was still a week
under. I should probably script that.) I took off for Hong Kong, where
OpenITP had generously offered me a travel grant to
attend
the third Censorship Circumvention Summit. Jumping
from France to China to somewhere-undetermined-that-is-not-Schengen definitely
presented some interesting security challenges, since I had to take all of the
things I own with me. (It all fits in a backpack, so it’s not a space/money
issue, it’s a
“%&$#@! I’m carrying devices which normally have access to thousands of
computers, including some Tor Project infrastructure and repositories, and I
have to keep them safe from a government that is going to hate me more than
the United States, while eating nothing but plain rice and travelling
24,671 kilometers?!”
issue.
Since part of this security setup involved not connecting to anything while
inside China, I tried as best as I could to remove network capability from my
laptop, including recompiling my kernel with most of the CONFIG_[*NET|IP*]
settings disabled. Without internet and only IRL people to talk to, I got bored
pretty fast (kidding! ♡ ) and resorted to pen and paper technology, because I
had some ideas on Tor bridge distribution regarding a system for having clients
connect to a bridge Distributor, and the Distributor authenticating the clients
or requiring a valid Proof-of-Work computation. If the authcheck or PoW doesn’t
pass, the Distributor should instruct an OONI Data Collector node to connect to
the client, to scan for censorship events (I wonder if we can actually get a
network vantage point from the DPI boxes? :D ), else if the client check
passes, the Distributor should instruct a Tor Bridge to connect to the client.
Here are my notes.
Obviously, the Distributors are going to get blocked, but if we were to use
something like David Fifield’s FlashProxy, with it’s Facilitator as our
Distributor (notice how all these words are oh-so-cleverly suffixed with
Tor…), to contact the Distributor through a “normal” browser, the client
should still be able to compute the auth/PoW and the Bridge or OONI Collector
connect back to them. The Proof-of-Work should be necessary for protecting the
Facilitator/Distributor from getting blocked, as well as significantly increase
the cost of scanning for bridges.
