"I'm going to take this letter and scan it now. I want pictures of the two of you, now and later -- we can send out a photographer, but I want to document this as thoroughly as I can tonight, too."
I went with her into her office to do the scan. I'd expected a stylish, low-powered computer that fit in with her decor, but instead, her spare-bedroom/office was crammed with top-of-the-line PCs, big flat-panel monitors, and a scanner big enough to lay a whole sheet of newsprint on. She was fast with it all, too. I noted with some approval that she was running ParanoidLinux. This lady took her job seriously.
The computers' fans set up an effective white-noise shield, but even so, I closed the door and moved in close to her.
"Um, Barbara?"
"Yes?"
"About what you said, about what might be used to discredit me?"
"Yes?"
"What I tell you, you can't be forced to tell anyone else, right?"
"In theory. Let me put it this way. I've gone to jail twice rather than rat out a source."
"OK, OK. Good. Wow. Jail. Wow. OK." I took a deep breath. "You've heard of Xnet? Of M1k3y?"
"Yes?"
"I'm M1k3y."
"Oh," she said. She worked the scanner and flipped the note over to get the reverse. She was scanning at some unbelievable resolution, 10,000 dots per inch or higher, and on-screen it was like the output of an electron-tunneling microscope.
"Well, that does put a different complexion on this."
"Yeah," I said. "I guess it does."
"Your parents don't know."
"Nope. And I don't know if I want them to."
"That's something you're going to have to work out. I need to think about this. Can you come by my office? I'd like to talk to you about what this means, exactly."
"Do you have an Xbox Universal? I could bring over an installer."
"Yes, I'm sure that can be arranged. When you come by, tell the receptionist that you're Mr Brown, to see me. They know what that means. No note will be taken of you coming, and all the security camera footage for the day will be automatically scrubbed and the cameras deactivated until you leave."
"Wow," I said. "You think like I do."
She smiled and socked me in the shoulder. "Kiddo, I've been at this game for a hell of a long time. So far, I've managed to spend more time free than behind bars. Paranoia is my friend."
#
I was like a zombie the next day in school. I'd totaled about three hours of sleep, and even three cups of the Turk's caffeine mud failed to jump-start my brain. The problem with caffeine is that it's too easy to get acclimated to it, so you have to take higher and higher doses just to get above normal.
I'd spent the night thinking over what I had to do. It was like runnin though a maze of twisty little passages, all alike, every one leading to the same dead end. When I went to Barbara, it would be over for me. That was the outcome, no matter how I thought about it.
By the time the school day was over, all I wanted was to go home and crawl into bed. But I had an appointment at the Bay Guardian, down on the waterfront. I kept my eyes on my feet as I wobbled out the gate, and as I turned into 24th Street, another pair of feet fell into step with me. I recognized the shoes and stopped.
"Ange?"
She looked like I felt. Sleep-deprived and raccoon-eyed, with sad brackets in the corners of her mouth.
"Hi there," she said. "Surprise. I gave myself French Leave from school. I couldn't concentrate anyway."
"Um," I said.
"Shut up and give me a hug, you idiot."
I did. It felt good. Better than good. It felt like I'd amputated part of myself and it had been reattached.
"I love you, Marcus Yallow."
"I love you, Angela Carvelli."
"OK," she said breaking it off. "I liked your post about why you're not jamming. I can respect it. What have you done about finding a way to jam them without getting caught?"
"I'm on my way to meet an investigative journalist who's going to publish a story about how I got sent to jail, how I started Xnet, and how Darryl is being illegally held by the DHS at a secret prison on Treasure Island."
"Oh." She looked around for a moment. "Couldn't you think of anything, you know, ambitious?"
"Want to come?"
"I am coming, yes. And I would like you to explain this in detail if you don't mind."
After all the re-tellings, this one, told as we walked to Potrero Avenue and down to 15th Street, was the easiest. She held my hand and squeezed it often.
We took the stairs up to the Bay Guardian's offices two at a time. My heart was pounding. I got to the reception desk and told the bored girl behind it, "I'm here to see Barbara Stratford. My name is Mr Green."
"I think you mean Mr Brown?"
"Yeah," I said, and blushed. "Mr Brown."
She did something at her computer, then said, "Have a seat. Barbara will be out in a minute. Can I get you anything?"
"Coffee," we both said in unison. Another reason to love Ange: we were addicted to the same drug.
The receptionist -- a pretty latina woman only a few years older than us, dressed in Gap styles so old they were actually kind of hipster-retro -- nodded and stepped out and came back with a couple of cups bearing the newspaper's masthead.
We sipped in silence, watching visitors and reporters come and go. Finally, Barbara came to get us. She was wearing practically the same thing as the night before. It suited her. She quirked an eyebrow at me when she saw that I'd brought a date.
"Hello," I said. "Um, this is --"
"Ms Brown," Ange said, extending a hand. Oh, yeah, right, our identities were supposed to be a secret. "I work with Mr Green." She elbowed me lightly.
"Let's go then," Barbara said, and led us back to a board-room with long glass walls with their blinds drawn shut. She set down a tray of Whole Foods organic Oreo clones, a digital recorder, and another yellow pad.
"Do you want to record this too?" she asked.
Hadn't actually thought of that. I could see why it would be useful if I wanted to dispute what Barbara printed, though. Still, if I couldn't trust her to do right by me, I was doomed anyway.
"No, that's OK," I said.
"Right, let's go. Young lady, my name is Barbara Stratford and I'm an investigative reporter. I gather you know why I'm here, and I'm curious to know why you're here."
"I work with Marcus on the Xnet," she said. "Do you need to know my name?"
"Not right now, I don't," Barbara said. "You can be anonymous if you'd like. Marcus, I asked you to tell me this story because I need to know how it plays with the story you told me about your friend Darryl and the note you showed me. I can see how it would be a good adjunct; I could pitch this as the origin of the Xnet. 'They made an enemy they'll never forget,' that sort of thing. But to be honest, I'd rather not have to tell that story if I don't have to.
"I'd rather have a nice clean tale about the secret prison on our doorstep, without having to argue about whether the prisoners there are the sort of people likely to walk out the doors and establish an underground movement bent on destabilizing the federal government. I'm sure you can understand that."
I did. If the Xnet was part of the story, some people would say, see, they need to put guys like that in jail or they'll start a riot.
"This is your show," I said. "I think you need to tell the world about Darryl. When you do that, it's going to tell the DHS that I've gone public and they're going to go after me. Maybe they'll figure out then that I'm involved with the Xnet. Maybe they'll connect me to M1k3y. I guess what I'm saying is, once you publish about Darryl, it's all over for me no matter what. I've made my peace with that."
"As good be hanged for a sheep as a lamb," she said. "Right. Well, that's settled. I want the two of you to tell me everything you can about the founding and operation of the Xnet, and then I want a demonstration. What do you use it for? Who else uses it? How did it spread? Who wrote the software? Everything."
"This'll take a while," Ange said.
"I've got a while," Barbara said. She drank some coffee and ate a fake Oreo. "This could be the most important story of the War on Terror. This could be the story that topples the government. When you have a story like this, you take it very carefully."
Chapter 17
This chapter is dedicated to Waterstone's, the national UK bookselling chain. Waterstone's is a chain of stores, but each one has the feel of a great independent store, with tons of personality, great stock (especially audiobooks!), and knowledgeable staff.
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 Barabara 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.
> M1k3y
> 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.
> Masha
#
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.
I paced.
"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.
"You think?"
"Sure. They can't beat you, so they're coming after you using Xnet."
"Yeah."
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.
> Masha
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:m1k3y@littlebrother.com.se
250 2.1.0 m1k3y@littlebrother.com.se... Sender ok
> RCPT TO:m1k3y@littlebrother.com.se
250 2.1.5 m1k3y@littlebrother.com.se... Recipient ok
> DATA
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
QUIT
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 204.11.50.136. 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.