The following chapter from Cory Doctorow's book Little Brother is used with permission via a license (details at end). Please support the author by buying his book (click the image below).
So we told her. I found it really fun, actually. Teaching people how to use technology is always exciting. It's so cool to watch people figure out how the technology around them can be used to make their lives better. Ange was great too -- we made an excellent team. We'd trade off explaining how it all worked. Barbara was pretty good at this stuff to begin with, of course.
It turned out that she'd covered the crypto wars, the period in the early nineties when civil liberties groups like the Electronic Frontier Foundation fought for the right of Americans to use strong crypto. I dimly knew about that period, but Barbara explained it in a way that made me get goose-pimples.
It's unbelievable today, but there was a time when the government classed crypto as a munition and made it illegal for anyone to export or use it on national security grounds. Get that? We used to have illegal math in this country.
The National Security Agency were the real movers behind the ban. They had a crypto standard that they said was strong enough for bankers and their customers to use, but not so strong that the mafia would be able to keep its books secret from them. The standard, DES-56, was said to be practically unbreakable. Then one of EFF's millionaire co-founders built a $250,000 DES-56 cracker that could break the cipher in two hours.
Still the NSA argued that it should be able to keep American citizens from possessing secrets it couldn't pry into. Then EFF dealt its death-blow. In 1995, they represented a Berkeley mathematics grad student called Dan Bernstein in court. Bernstein had written a crypto tutorial that contained computer code that could be used to make a cipher stronger than DES-56. Millions of times stronger. As far as the NSA was concerned, that made his article into a weapon, and therefore unpublishable.
Well, it may be hard to get a judge to understand crypto and what it means, but it turned out that the average Appeals Court judge isn't real enthusiastic about telling grad students what kind of articles they're allowed to write. The crypto wars ended with a victory for the good guys when the 9th Circuit Appellate Division Court ruled that code was a form of expression protected under the First Amendment -- "Congress shall make no law abridging the freedom of speech." If you've ever bought something on the Internet, or sent a secret message, or checked your bank-balance, you used crypto that EFF legalized. Good thing, too: the NSA just isn't that smart. Anything they know how to crack, you can be sure that terrorists and mobsters can get around too.
Barbara had been one of the reporters who'd made her reputation from covering the issue. She'd cut her teeth covering the tail end of the civil rights movement in San Francisco, and she recognized the similarity between the fight for the Constitution in the real world and the fight in cyberspace.
So she got it. I don't think I could have explained this stuff to my parents, but with Barbara it was easy. She asked smart questions about our cryptographic protocols and security procedures, sometimes asking stuff I didn't know the answer to -- sometimes pointing out potential breaks in our procedure.
We plugged in the Xbox and got it online. There were four open WiFi nodes visible from the board room and I told it to change between them at random intervals. She got this too -- once you were actually plugged into the Xnet, it was just like being on the Internet, only some stuff was a little slower, and it was all anonymous and unsniffable.
"So now what?" I said as we wound down. I'd talked myself dry and I had a terrible acid feeling from the coffee. Besides, Ange kept squeezing my hand under the table in a way that made me want to break away and find somewhere private to finish making up for our first fight.
"Now I do journalism. You go away and I research all the things you've told me and try to confirm them to the extent that I can. I'll let you see what I'm going to publish and I'll let you know when it's going to go live. I'd prefer that you not talk about this with anyone else now, because I want the scoop and because I want to make sure that I get the story before it goes all muddy from press speculation and DHS spin.
"I will have to call the DHS for comment before I go to press, but I'll do that in a way that protects you to whatever extent possible. I'll also be sure to let you know before that happens.
"One thing I need to be clear on: this isn't your story anymore. It's mine. You were very generous to give it to me and I'll try to repay the gift, but you don't get the right to edit anything out, to change it, or to stop me. This is now in motion and it won't stop. Do you understand that?"
I hadn't thought about it in those terms but once she said it, it was obvious. It meant that I had launched and I wouldn't be able to recall the rocket. It was going to fall where it was aimed, or it would go off course, but it was in the air and couldn't be changed now. Sometime in the near future, I would stop being Marcus -- I would be a public figure. I'd be the guy who blew the whistle on the DHS.
I'd be a dead man walking.
I guess Ange was thinking along the same lines, because she'd gone a color between white and green.
"Let's get out of here," she said.
Ange's mom and sister were out again, which made it easy to decide where we were going for the evening. It was past supper time, but my parents had known that I was meeting with Barbara and wouldn't give me any grief if I came home late.
When we got to Ange's, I had no urge to plug in my Xbox. I had had all the Xnet I could handle for one day. All I could think about was Ange, Ange, Ange. Living without Ange. Knowing Ange was angry with me. Ange never going to talk to me again. Ange never going to kiss me again.
She'd been thinking the same. I could see it in her eyes as we shut the door to her bedroom and looked at each other. I was hungry for her, like you'd hunger for dinner after not eating for days. Like you'd thirst for a glass of water after playing soccer for three hours straight.
Like none of that. It was more. It was something I'd never felt before. I wanted to eat her whole, devour her.
Up until now, she'd been the sexual one in our relationship. I'd let her set and control the pace. It was amazingly erotic to have her grab me and take off my shirt, drag my face to hers.
But tonight I couldn't hold back. I wouldn't hold back.
The door clicked shut and I reached for the hem of her t-shirt and yanked, barely giving her time to lift her arms as I pulled it over her head. I tore my own shirt over my head, listening to the cotton crackle as the stitches came loose.
Her eyes were shining, her mouth open, her breathing fast and shallow. Mine was too, my breath and my heart and my blood all roaring in my ears.
I took off the rest of our clothes with equal zest, throwing them into the piles of dirty and clean laundry on the floor. There were books and papers all over the bed and I swept them aside. We landed on the unmade bedclothes a second later, arms around one another, squeezing like we would pull ourselves right through one another. She moaned into my mouth and I made the sound back, and I felt her voice buzz in my vocal chords, a feeling more intimate than anything I'd ever felt before.
She broke away and reached for the bedstand. She yanked open the drawer and threw a white pharmacy bag on the bed before me. I looked inside. Condoms. Trojans. One dozen spermicidal. Still sealed. I smiled at her and she smiled back and I opened the box.
I'd thought about what it would be like for years. A hundred times a day I'd imagined it. Some days, I'd thought of practically nothing else.
It was nothing like I expected. Parts of it were better. Parts of it were lots worse. While it was going on, it felt like an eternity. Afterwards, it seemed to be over in the blink of an eye.
Afterwards, I felt the same. But I also felt different. Something had changed between us.
It was weird. We were both shy as we put our clothes on and puttered around the room, looking away, not meeting each other's eyes. I wrapped the condom in a kleenex from a box beside the bed and took it into the bathroom and wound it with toilet paper and stuck it deep into the trash-can.
When I came back in, Ange was sitting up in bed and playing with her Xbox. I sat down carefully beside her and took her hand. She turned to face me and smiled. We were both worn out, trembly.
"Thanks," I said.
She didn't say anything. She turned her face to me. She was grinning hugely, but fat tears were rolling down her cheeks.
I hugged her and she grabbed tightly onto me. "You're a good man, Marcus Yallow," she whispered. "Thank you."
I didn't know what to say, but I squeezed her back. Finally, we parted. She wasn't crying any more, but she was still smiling.
She pointed at my Xbox, on the floor beside the bed. I took the hint. I picked it up and plugged it in and logged in.
Same old same old. Lots of email. The new posts on the blogs I read streamed in. Spam. God did I get a lot of spam. My Swedish mailbox was repeatedly "joe-jobbed" -- used as the return address for spams sent to hundreds of millions of Internet accounts, so that all the bounces and angry messages came back to me. I didn't know who was behind it. Maybe the DHS trying to overwhelm my mailbox. Maybe it was just people pranking. The Pirate Party had pretty good filters, though, and they gave anyone who wanted it 500 gigabytes of email storage, so I wasn't likely to be drowned any time soon.
I filtered it all out, hammering on the delete key. I had a separate mailbox for stuff that came in encrypted to my public key, since that was likely to be Xnet-related and possibly sensitive. Spammers hadn't figured out that using public keys would make their junk mail more plausible yet, so for now this worked well.
There were a couple dozen encrypted messages from people in the web of trust. I skimmed them -- links to videos and pics of new abuses from the DHS, horror stories about near-escapes, rants about stuff I'd blogged. The usual.
Then I came to one that was only encrypted to my public key. That meant that no one else could read it, but I had no idea who had written it. It said it came from Masha, which could either be a handle or a name -- I couldn't tell which.
> You don't know me, but I know you.
> I was arrested the day that the bridge blew. They questioned me. They decided I was innocent. They offered me a job: help them hunt down the terrorists who'd killed my neighbors.
> It sounded like a good deal at the time. Little did I realize that my actual job would turn out to be spying on kids who resented their city being turned into a police state.
> I infiltrated Xnet on the day it launched. I am in your web of trust. If I wanted to spill my identity, I could send you email from an address you'd trust. Three addresses, actually. I'm totally inside your network as only another 17-year-old can be. Some of the email you've gotten has been carefully chosen misinformation from me and my handlers.
> They don't know who you are, but they're coming close. They continue to turn people, to compromise them. They mine the social network sites and use threats to turn kids into informants. There are hundreds of people working for the DHS on Xnet right now. I have their names, handles and keys. Private and public.
> Within days of the Xnet launch, we went to work on exploiting ParanoidLinux. The exploits so far have been small and insubstantial, but a break is inevitable. Once we have a zero-day break, you're dead.
> I think it's safe to say that if my handlers knew that I was typing this, my ass would be stuck in Gitmo-by-the-Bay until I was an old woman.
> Even if they don't break ParanoidLinux, there are poisoned ParanoidXbox distros floating around. They don't match the checksums, but how many people look at the checksums? Besides me and you? Plenty of kids are already dead, though they don't know it.
> All that remains is for my handlers to figure out the best time to bust you to make the biggest impact in the media. That time will be sooner, not later. Believe.
> You're probably wondering why I'm telling you this.
> I am too.
> Here's where I come from. I signed up to fight terrorists. Instead, I'm spying on Americans who believe things that the DHS doesn't like. Not people who plan on blowing up bridges, but protestors. I can't do it anymore.
> But neither can you, whether or not you know it. Like I say, it's only a matter of time until you're in chains on Treasure Island. That's not if, that's when.
> So I'm through here. Down in Los Angeles, there are some people. They say they can keep me safe if I want to get out.
> I want to get out.
> I will take you with me, if you want to come. Better to be a fighter than a martyr. If you come with me, we can figure out how to win together. I'm as smart as you. Believe.
> What do you say?
> Here's my public key.
When in trouble or in doubt, run in circles, scream and shout.
Ever hear that rhyme? It's not good advice, but at least it's easy to follow. I leapt off the bed and paced back and forth. My heart thudded and my blood sang in a cruel parody of the way I'd felt when we got home. This wasn't sexual excitement, it was raw terror.
"What?" Ange said. "What?"
I pointed at the screen on my side of the bed. She rolled over and grabbed my keyboard and scribed on the touchpad with her fingertip. She read in silence.
"This has to be lies," she said. "The DHS is playing games with your head."
I looked at her. She was biting her lip. She didn't look like she believed it.
"Sure. They can't beat you, so they're coming after you using Xnet."
I sat back down on the bed. I was breathing fast again.
"Chill out," she said. "It's just head-games. Here."
She never took my keyboard from me before, but now there was a new intimacy between us. She hit reply and typed,
> Nice try.
She was writing as M1k3y now, too. We were together in a way that was different from before.
"Go ahead and sign it. We'll see what she says."
I didn't know if that was the best idea, but I didn't have any better ones. I signed it and encrypted it with my private key and the public key Masha had provided.
The reply was instant.
> I thought you'd say something like that.
> Here's a hack you haven't thought of. I can anonymously tunnel video over DNS. Here are some links to clips you might want to look at before you decide I'm full of it. These people are all recording each other, all the time, as insurance against a back-stab. It's pretty easy to snoop off them as they snoop on each other.
Attached was source-code for a little program that appeared to do exactly what Masha claimed: pull video over the Domain Name Service protocol.
Let me back up a moment here and explain something. At the end of the day, every Internet protocol is just a sequence of text sent back and forth in a prescribed order. It's kind of like getting a truck and putting a car in it, then putting a motorcycle in the car's trunk, then attaching a bicycle to the back of the motorcycle, then hanging a pair of Rollerblades on the back of the bike. Except that then, if you want, you can attach the truck to the Rollerblades.
For example, take Simple Mail Transport Protocol, or SMTP, which is used for sending email.
Here's a sample conversation between me and my mail server, sending a message to myself:
> HELO littlebrother.com.se
250 mail.pirateparty.org.se Hello mail.pirateparty.org.se, pleased to meet you
> MAIL FROM:email@example.com
250 2.1.0 firstname.lastname@example.org... Sender ok
> RCPT TO:email@example.com
250 2.1.5 firstname.lastname@example.org... Recipient ok
354 Enter mail, end with "." on a line by itself
> When in trouble or in doubt, run in circles, scream and shout
250 2.0.0 k5SMW0xQ006174 Message accepted for delivery
221 2.0.0 mail.pirateparty.org.se closing connection
Connection closed by foreign host.
This conversation's grammar was defined in 1982 by Jon Postel, one of the Internet's heroic forefathers, who used to literally run the most important servers on the net under his desk at the University of Southern California, back in the paleolithic era.
Now, imagine that you hooked up a mail-server to an IM session. You could send an IM to the server that said "HELO littlebrother.com.se" and it would reply with "250 mail.pirateparty.org.se Hello mail.pirateparty.org.se, pleased to meet you." In other words, you could have the same conversation over IM as you do over SMTP. With the right tweaks, the whole mail-server business could take place inside of a chat. Or a web-session. Or anything else.
This is called "tunneling." You put the SMTP inside a chat "tunnel." You could then put the chat back into an SMTP tunnel if you wanted to be really weird, tunneling the tunnel in another tunnel.
In fact, every Internet protocol is susceptible to this process. It's cool, because it means that if you're on a network with only Web access, you can tunnel your mail over it. You can tunnel your favorite P2P over it. You can even tunnel Xnet -- which itself is a tunnel for dozens of protocols -- over it.
Domain Name Service is an interesting and ancient Internet protocol, dating back to 1983. It's the way that your computer converts a computer's name -- like pirateparty.org.se -- to the IP number that computers actually use to talk to each other over the net, like 184.108.40.206. It generally works like magic, even though it's got millions of moving parts -- every ISP runs a DNS server, as do most governments and lots of private operators. These DNS boxes all talk to each other all the time, making and filling requests to each other so no matter how obscure the name is you feed to your computer, it will be able to turn it into a number.
Before DNS, there was the HOSTS file. Believe it or not, this was a single document that listed the name and address of every single computer connected to the Internet. Every computer had a copy of it. This file was eventually too big to move around, so DNS was invented, and ran on a server that used to live under Jon Postel's desk. If the cleaners knocked out the plug, the entire Internet lost its ability to find itself. Seriously.
The thing about DNS today is that it's everywhere. Every network has a DNS server living on it, and all of those servers are configured to talk to each other and to random people all over the Internet.
What Masha had done was figure out a way to tunnel a video-streaming system over DNS. She was breaking up the video into billions of pieces and hiding each of them in a normal message to a DNS server. By running her code, I was able to pull the video from all those DNS servers, all over the Internet, at incredible speed. It must have looked bizarre on the network histograms, like I was looking up the address of every computer in the world.
But it had two advantages I appreciated at once: I was able to get the video with blinding speed -- as soon as I clicked the first link, I started to receive full-screen pictures, without any jitter or stuttering -- and I had no idea where it was hosted. It was totally anonymous.
At first I didn't even clock the content of the video. I was totally floored by the cleverness of this hack. Streaming video from DNS? That was so smart and weird, it was practically perverted.
Gradually, what I was seeing began to sink in.
It was a board-room table in a small room with a mirror down one wall. I knew that room. I'd sat in that room, while Severe-Haircut woman had made me speak my password aloud. There were five comfortable chairs around the table, each with a comfortable person, all in DHS uniform. I recognized Major General Graeme Sutherland, the DHS Bay Area commander, along with Severe Haircut. The others were new to me. They all watched a video screen at the end of the table, on which there was an infinitely more familiar face.
Kurt Rooney was known nationally as the President's chief strategist, the man who returned the party for its third term, and who was steaming towards a fourth. They called him "Ruthless" and I'd seen a news report once about how tight a rein he kept his staffers on, calling them, IMing them, watching their every motion, controlling every step. He was old, with a lined face and pale gray eyes and a flat nose with broad, flared nostrils and thin lips, a man who looked like he was smelling something bad all the time.
He was the man on the screen. He was talking, and everyone else was focused on his screen, everyone taking notes as fast as they could type, trying to look smart.
"-- say that they're angry with authority, but we need to show the country that it's terrorists, not the government, that they need to blame. Do you understand me? The nation does not love that city. As far as they're concerned, it is a Sodom and Gomorrah of fags and atheists who deserve to rot in hell. The only reason the country cares what they think in San Francisco is that they had the good fortune to have been blown to hell by some Islamic terrorists.
"These Xnet children are getting to the point where they might start to be useful to us. The more radical they get, the more the rest of the nation understands that there are threats everywhere."
His audience finished typing.
"We can control that, I think," Severe Haircut Lady said. "Our people in the Xnet have built up a lot of influence. The Manchurian Bloggers are running as many as fifty blogs each, flooding the chat channels, linking to each other, mostly just taking the party line set by this M1k3y. But they've already shown that they can provoke radical action, even when M1k3y is putting the brakes on."
Major General Sutherland nodded. "We have been planning to leave them underground until about a month before the midterms." I guessed that meant the mid-term elections, not my exams. "That's per the original plan. But it sounds like --"
"We've got another plan for the midterms," Rooney said. "Need-to-know, of course, but you should all probably not plan on traveling for the month before. Cut the Xnet loose now, as soon as you can. So long as they're moderates, they're a liability. Keep them radical."
The video cut off.
Ange and I sat on the edge of the bed, looking at the screen. Ange reached out and started the video again. We watched it. It was worse the second time.
I tossed the keyboard aside and got up.
"I am so sick of being scared," I said. "Let's take this to Barbara and have her publish it all. Put it all on the net. Let them take me away. At least I'll know what's going to happen then. At least then I'll have a little certainty in my life."
Ange grabbed me and hugged me, soothed me. "I know baby, I know. It's all terrible. But you're focusing on the bad stuff and ignoring the good stuff. You've created a movement. You've outflanked the jerks in the White House, the crooks in DHS uniforms. You've put yourself in a position where you could be responsible for blowing the lid off of the entire rotten DHS thing.
"Sure they're out to get you. Course they are. Have you ever doubted it for a moment? I always figured they were. But Marcus, they don't know who you are. Think about that. All those people, money, guns and spies, and you, a seventeen year old high school kid -- you're still beating them. They don't know about Barbara. They don't know about Zeb. You've jammed them in the streets of San Francisco and humiliated them before the world. So stop moping, all right? You're winning."
"They're coming for me, though. You see that. They're going to put me in jail forever. Not even jail. I'll just disappear, like Darryl. Maybe worse. Maybe Syria. Why leave me in San Francisco? I'm a liability as long as I'm in the USA."
She sat down on the bed with me.
"Yeah," she said. "That."
"Well, you know what you have to do, right?"
"What?" She looked pointedly at my keyboard. I could see the tears rolling down her cheeks. "No! You're out of your mind. You think I'm going to run off with some nut off the Internet? Some spy?"
"You got a better idea?"
I kicked a pile of her laundry into the air. "Whatever. Fine. I'll talk to her some more."
"You talk to her," Ange said. "You tell her you and your girlfriend are getting out."
"Shut up, dickhead. You think you're in danger? I'm in just as much danger, Marcus. It's called guilt by association. When you go, I go." She had her jaw thrust out at a mutinous angle. "You and I -- we're together now. You have to understand that."
We sat down on the bed together.
"Unless you don't want me," she said, finally, in a small voice.
"You're kidding me, right?"
"Do I look like I'm kidding?"
"There's no way I would voluntarily go without you, Ange. I could never have asked you to come, but I'm ecstatic that you offered."
She smiled and tossed me my keyboard.
"Email this Masha creature. Let's see what this chick can do for us."
I emailed her, encrypting the message, waiting for a reply. Ange nuzzled me a little and I kissed her and we necked. Something about the danger and the pact to go together -- it made me forget the awkwardness of having sex, made me freaking horny as hell.
We were half naked again when Masha's email arrived.
> Two of you? Jesus, like it won't be hard enough already.
> I don't get to leave except to do field intelligence after a big Xnet hit. You get me? The handlers watch my every move, but I go off the leash when something big happens with Xnetters. I get sent into the field then.
> You do something big. I get sent to it. I get us both out. All three of us, if you insist.
> Make it fast, though. I can't send you a lot of email, understand? They watch me. They're closing in on you. You don't have a lot of time. Weeks? Maybe just days.
> I need you to get me out. That's why I'm doing this, in case you're wondering. I can't escape on my own. I need a big Xnet distraction. That's your department. Don't fail me, M1k3y, or we're both dead. Your girlie too.
My phone rang, making us both jump. It was my mom wanting to know when I was coming home. I told her I was on my way. She didn't mention Barbara. We'd agreed that we wouldn't talk about any of this stuff on the phone. That was my dad's idea. He could be as paranoid as me.
"I have to go," I said.
"Our parents will be --"
"I know," I said. "I saw what happened to my parents when they thought I was dead. Knowing that I'm a fugitive isn't going to be much better. But they'd rather I be a fugitive than a prisoner. That's what I think. Anyway, once we disappear, Barbara can publish without worrying about getting us into trouble."
We kissed at the door of her room. Not one of the hot, sloppy numbers we usually did when parting ways. A sweet kiss this time. A slow kiss. A goodbye kind of kiss.
BART rides are introspective. When the train rocks back and forth and you try not to make eye contact with the other riders and you try not to read the ads for plastic surgery, bail bondsmen and AIDS testing, when you try to ignore the graffiti and not look too closely at the stuff in the carpeting. That's when your mind starts to really churn and churn.
You rock back and forth and your mind goes over all the things you've overlooked, plays back all the movies of your life where you're no hero, where you're a chump or a sucker.
Your brain comes up with theories like this one:
If the DHS wanted to catch M1k3y, what better way than to lure him into the open, panic him into leading some kind of big, public Xnet event? Wouldn't that be worth the chance of a compromising video leaking?
Your brain comes up with stuff like that even when the train ride only lasts two or three stops. When you get off, and you start moving, the blood gets running and sometimes your brain helps you out again.
Sometimes your brain gives you solutions in addition to problems.
Little Brother by Cory Doctorow is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License .