<--
Back |
The Network Revenant |
Forward-->
I turned my head carefully. There was, indeed, a man standing at the top of the stairs that led down to the lower level of the pad. He was short and dark of skin; not young, and wearing comfortable clothing including a worn sports jacket. That was all I could tell from my vantage point on the floor. His left hand was resting on the low wall that separated the stairway from the rest of the space. I just looked at him expressionlessly. He nodded to me.
Without taking my eyes from him, I stood up. Distantly, I was aware that I'd dropped the soda can while trying to break my fall; there was a pool of drink on the open wood behind me and to my left. I looked forward again. There was still a man standing on the stairs to the roof, and he was still wearing body armor. At least he was standing in a relaxed pose, which I was sure didn't mean he wasn't perfectly able and prepared to kill me, but at least he wasn't doing so right at that second.
I turned to the right and stepped a meter or two backwards until my calves hit a low soft chair. Reaching behind me, I sank into it while keeping my eyes on the older man at the stairs. He smiled approvingly and moved towards me, pulling another chair from its place to my right and moving it around to face me. Looking over, he nodded slightly to the heavy, who nodded back and stepped to his own left, more fully into my line of sight and behind the other man before turning to face us some three or four meters away and freezing in place behind his sunglasses. It was a trick I'd seen a million times, but never from this close up - bodyguard mime, protector turned statue. With the cessation of motion, he ceased to exist. Rather than radiating the threat of a cheap rent-a-cop, he blended entirely into the background, which was somehow even more coldly frightening. I had to keep reminding myself he was back there, and he was in my field of vision.
Then I thought about how many others might be in the house where I couldn't see them, and that didn't make me happy at all.
"I'm very sorry to startle you, Christopher." The voice was smooth and slightly lilting. Indian accent? Southern India, Bangalore? "We need to talk, you and I, and privately."
My mouth seemed to have recovered, at least. "I'm in the fucking directory."
"Of course you are. However, you are remarkably resistant to returning calls. And to be sure, I am remarkably reluctant to discuss anything of substance over telcom links."
"Why?"
"Oh, surely you can think of several reasons."
"No, I'm sure I can't."
"You are an Op, are you not, Christopher?"
"My name is Top. Using it would get you a lot farther."
"My apologies, Top. As an Op, surely you are aware of the many difficulties in keeping links secure."
"Why would anyone care about my calls?"
"Perhaps it is mine they care about."
"Look, the mysterious act is fucking fascinating and all-" he frowned, slightly, quickly; gotcha, "-but really, what the hell do you want and why are you in my place?"
He leaned back in the chair slightly and considered me. "Topher, do you know who I am?"
"No, man, of course I don't. I'm this fucking rude to everybody that breaks into my house, though, no fear."
That got a ghost of a smile. "I see. I apologize. My name is Jayanta Bharatmakhesh."
I sat back and looked at him carefully across the separation. "My line here would be the Jayanta Bharatmakhesh?"
"I assume so."
I just looked at him. He looked back. I looked at the bodyguard, who may or may not have looked at me, I couldn't tell through the shades. His presence made sense now. One of the Founders was in my loft, and suddenly I was sure there wasn't just one minder around.
"You're here to talk to Mikare."
The older man smiled, finally. "No, Top. I'm here to talk to you. Mikare is, however, welcome to listen in."
* * *
Later, we stood on the roofpad edge, leaning on the safety railing. I was holding a beer, Jay was cradling an extremely finely crafted martini. Thing One, the guard who had so rudely surprised me, was patrolling the roof somewhere behind us, unhappy with his charge's exposure. There was a whining noise from the Toyota - I'd left the fans on idle to discommode anyone with directional mikes. It hurt to finally have an empirical focus for my to-date whimsical paranoia, but damned if I was going to slack off now.
"So why me?" I was looking out across the choppy black water of the Harbor. The cratered wasteland of old Logan was visible on the other side, the lit pools of the boostpads surrounded by inky darkness of abandoned tarmac.
"Because of what you've built."
"The Flashrunners."
"Yes. The Flashrunners. We need your help."
I sighed and drank. "Okay. Run it by me. Slowly."
Jayanta took a sip of the martini and grimaced. "It's been years since we set the Ouroverse running. Years since we closed the lid on the box and set it free. You know how it works better than I at this point, I suspect. We just wanted to build it." He looked wistfully into the distance for a moment. "It was going to get built, you know. If not by us, then by somebody. It was coming already; people were building virtual environments every week. Games, sandboxes, proprietary experiments - they were all different, all wonderful, all broken. We just didn't trust anyone else to build the one we wanted to play in."
He stopped and drank again. I drank with him and waited while the Toyota spun the air on the roof behind us. Turning to face me, Jayanta continued. He looked older out under the scrippleshine of the night air; I realized he was probably in his fifties or sixties at least. "The primary concern we had was that no one entity own or control the virtual environment. That was the key."
"I know." I broke in, nodding. "'If there is control by one, there is no control by others; hence, there is no ownership and no sense of place.'"
He smiled. "Yes. We were young and arrogant, but that didn't make us wrong. We wanted to make sure that no one actor could seize control of the space, and that no one could deny the 'owner' of virtual estate their ownership rights. That way, of course, virtual estate could be worth something, and in addition to having a much more real virtual world to play in, we could of course make a pile of money."
"Well, you did. The lot of you."
"Yes, we did. We set the Ouroverse running. It was an 'experiment' for months; we reached critical node numbers on month seven; the Downtown tile was fully supported on public resources at the one hundred percent level for a solid week nine months into the project. Poetic. On the one year anniversary, we opened up the land sales on the Downtown Zero/Zero square."
"You made a lot of money."
"We did. We claimed the right to sell thirty-two of the first sixty-four squares outright. The rest were set apart for public space, infrastructure, and the like. There were seventeen of us, and over the next four years we made twenty-one billion euros among us."
"Was it that much? I never knew. The history just says 'adequate compensation.'"
That brought a laugh. "It was certainly that. Some of us took it and banked it conservatively, others invested boldly, others spent it. But at the end of the four years, we had sold all the reserved virtual estate, and we did as we'd promised - we released the expansion keys into the cloud, and the system became self-sustaining. We don't control it anymore. Each property owner controls their registered portal, and each square is controlled by the square portal owner association key votes. New squares are opened by proposal and referendum, and no entity controls the Ouroverse."
"So, the good guys win, hurrah, hurrah."
"Yes. And there's the problem."
I sighed and finished the beer. "Okay, Jay. Get to the rub."
"Pardon the Socratic diversion, Top. How does the Ouroverse stay secure?"
"I'll bite. The Ouroverse Server VM spec is such that the running image of an Ouroverse server is protected by the BCM/Satchel cryptosystem. In English, you set up a puzzle box to hide the Ouroverse in, and then locked the key inside. The running Ouroverse servers all over the world have encrypted running images on them, and they also contain distributed pieces of the keys required to decrypt other running images. As a result, while the servers can migrate running images from virtual machine to virtual machine, you need a complete cluster of virtual machines - and all the pieces of the key - to properly decrypt a migrated image. Hence, any particular tile of the Ouroverse can only migrate to a new virtual machine if the entire cluster of machines supporting that tile agrees that it can and should; and in order to 'hijack' a tile of the Ouroverse you'd need to gain control of the entire group of virtual machines running that particular tile. Okay so far?"
Jayanta smiled again. "I do wish I'd had you in my classes back home. Life would have been much more pleasant."
I shook my head. "Okay, so the entire point is that once you set this up and running, you had to embed the running keys inside the running images. Even you can't assume control of the images from outside anymore. The only way changes can be made to the images is by enough portal key holders in a square signing a new mapfile and uploading it to a new server - and even then, that server doesn't become a live server serving that tile, it just injects the new mapfile into the live cluster for that tile, wherever it is, if the mapfile signatures are valid. So the Ouroverse can't be stopped, shut down, or controlled - but it can't be upgraded, really, either. The reason it can keep up with new technologies is that you built it to run on a virtual machine spec, so we can keep coding Ouroverse servers on whatever new nanoblocks we get hold of, as long as they present the proper VM to the Revenet. If they do, eventually an Ouroverse server somewhere will grab hold of the VM and migrate an image onto it, if everything is coded right."
"Very good, Top. Now, here's the critical question. What is the most important assumption you've made, in that explanation, in order to tell me with confidence that the Ouroverse can't be cracked and compromised?"
I thought about it. "Um, well, not that you can't get control of an entire tile of servers...if you couldn't, you wouldn't need the Flashrunners, after all. It's technically possible."
"Yes, it is. We were impressed with your solution. It's fairly elegant. But that's not the problem."
"No, I didn't think so. Okay. Assumption...I'm assuming that...oh, Christ, no."
"I suspect you've figured it out."
I felt the blood leave my head. I put the beer down carefully on the rooftop. "Please tell me you're not saying what I think you're saying."
"Part of what several of us do with our staggeringly large pile of money is maintain and fund various research groups in applied computing, mathematics and computation theory. As a result, we were the ones who funded an enterprising pair of researchers who, three weeks ago, presented our referees with a draft paper announcing that they had discovered a collision in the mathematical function which forms the basis of the BCM/Satchel cryptographic system."
I sat down. "Oh, God. Oh, no."
Jayanta sat down next to me slowly and somewhat carefully and looked out over the darkened water. Somewhere above us a flitter droned by, drowning out the fans of the Toyota burring behind us for a time. Neither of us spoke for several minutes until he broke the silence thoughtfully.
"When we were deciding what to do, we wondered how long it would take you to see the ramifications of this."
I laughed bitterly. "See the ramifications? Jesus. If they found a collision- how long before there's a functional exploit, do you think?"
"We do not know. Perhaps weeks, perhaps months. Perhaps never, although that is unlikely. Take the MD5 example; it was under a year before a limited-case attack was developed."
"So in under a year, it will be possible to crack into a running Ouroverse server image and extract the Ouroverse Validation Key from it, most likely."
"Yes."
"Then we're screwed. The Ouroverse is tanked. And if the Ouroverse is tanked, all the monetary value based in the Ouroverse is tanked as well. Christ, it'll be another fucking Downtime."
"Not...necessarily."
I turned to look at him. "What?"
"There may be a solution."
I managed to not grab his lapels and shake him by reminding myself firmly of the hired killer who was still prowling my rooftop on the lookout for just such an action. It was still difficult.
"Pardon my rudeness, Jayanta Bharatmakhesh, but what the fuck are you talking about?"
He stood up, nodded in the direction of the stairs. I took the hint and followed him back into the pad. I was unsurprised to find Thing One waiting there for us. Jayanta moved to the bar and replaced our drinks before moving us over to the shadow of the metaframe and removing a small module from his pants pocket. Unfolding it like a small pocket phone, he touched a pad to start a pattern of OLEDs flickering red and blue with an accompanying whine. "Bug stomper," he said quietly, and put it down on the bench that ran around the pillar.
We sat to either side of it. "As I said," he continued, "Some of us maintain research organs for this very reason. Both to keep ourselves apprised of any threats, and to provide ourselves with a response." He reached into his pocket again and came out with a data module, which he placed next to the bug stomper.
"What is that?" I pointed at it, unwilling to touch it. I could feel the danger in it. My life was bending, twisting around that small bit of nanoform logic and plastics on the bench; I could see my choices splintering in the paths ahead of me, foaming into whitewater on the boulder that was the small chip he'd placed on the cushion.
"This is the next version of the Ouroverse server, Top. It contains a new cryptosystem to replace BCM/Satchel, but is entirely backwards compatible."
There was a moment of silence. I was getting used to those. The chip sat there.
"Just like that?" I found my voice. It was slightly cracked.
"Not quite!" Jayanta laughed. It was good to know someone found humor in this. "No, not quite. Entirely aside from the panic, late nights, effort and money that has gone into writing what's on that chip, there's another matter. First, though, believe me when I say that it works. We've tested it. You're welcome to test it too, of course; we'd expect nothing less. We released the code for the first Ouroverse VM to the world to try, and this one is no different. This is, again, a VM framework that will encode and decode the running VM image."
"Okay, so what's the 'one more thing?'"
"Well, as you said, we can't stop the Ouroverse either. We didn't leave a back door."
Light dawned. "That's why you came to me!"
"Indeed, Top. In order to inject this new version of the Ouroverse server into the running Ouroverse cloud, we will need to-"
"-You're going to have to compromise a running server cluster! And that means when you try it, the Flashrunners would stop you, so you need me to..." I ran down and looked at him.
"That's precisely it, Christopher." Jayanta had a very even, white-toothed smile. "We need you to help us take down the Ouroverse. The Flashrunners need to switch sides. Just this once."
* * *
<--Back | The Network Revenant | Forward-->