Какво ще направиш, ако разбереш, че сред хората ти има предател? Може да го изобличиш и да го разстреляш. Но тогава вероятно ще ти пратят нов шпионин, който ще е по-внимателен, и няма да го заловиш лесно.
Ето по-добра идея: започни да прихващаш комуникациите му и да подаваш фалшива информация. Да речем, че му е наредено да те следи. Оставяш го да ходи след теб и да си води записки, след това отваряш писмата му до вражеския щаб на пара и изпращаш фалшиви сведения. Ако искаш, може да го изкараш ненадежден и господарите му ще се отърват от него. Може да изфабрикуваш фалшиви кризи, които да ти разкрият още шпиони. Накратко, в ръцете ти са.
Тази стратегия се нарича „човек в средата“ и ако се замислиш, е доста плашеща. Онзи, който я използва и има достъп до комуникациите ти, може да те подлъже по стотици начини.
Разбира се, има много лесен начин да се избегне тази атака. Използвай крипто. С криптографията няма значение дали противникът прихваща съобщенията ти, защото не може да ги дешифрира. Това е една от основните причини за употреба на крипто.
Но за да сработи, трябва да имаш ключове за хората, с които ще си говориш. Тези ключове ви трябват, за да можете да кодирате и декодирате съобщенията си и да изолирате човека-в-средата.
Тук идва идеята за обществените ключове. Малко е странна, но пък е невероятно елегантна.
При тази криптография всеки получава два ключа. Това са дълги редове от математически безсмислици и имат почти магически свойства. Каквото кодираш с единия ключ, се разкодира с другия и обратно. Освен това тези два ключа са единствените, които могат да го сторят. Ако можеш да разкодираш съобщение с единия ключ, значи е кодирано с другия.
И така, вземаш единия ключ, няма значение кой, и го публикуваш. Правиш го абсолютно несекретен. Искаш целият свят да го знае. По очевидни причини той се нарича „обществен ключ“.
Другият скриваш в най-тъмните кътчета на съзнанието си. Пазиш го с цената на живота си. Не го казваш на никого. Той се нарича „личен ключ“. (Блях!)
Да речем, че си шпионин и искаш да говориш с шефовете си. Техният публичен ключ е известен. Твоят също. Никой не знае личния ти ключ. Само те знаят техния.
Искаш да им пратиш съобщение. Кодираш го с личния си ключ. Можеш да го изпратиш така и ще свърши някаква работа, понеже те ще знаят, че съобщението е от теб. Как? Защото, щом се отваря с твоя обществен ключ, значи е кодирано единствено с твоя личен ключ. Това е все едно да сложиш подпис или печат. „Аз написах това и никой не може да го е променил.“
За съжаление така съобщението няма да е тайна. Защото общественият ти ключ е достояние на всички. (Или трябва да бъде, освен ако не искаш да говориш със съвсем малко хора.) Всеки, който прихване съобщението, ще може да го прочете. Никой няма да може да го промени, но ако не искаш другите да знаят какво изпращаш, ти трябва по-добро решение.
Затова вместо да го кодираш само с личния си ключ, използваш и обществения на шефа си. Така е заключено два пъти. Първата ключалка, общественият ключ на шефа, се отваря само с неговия личен. Втората, твоят личен, се отваря само с твоя обществен. Когато шефовете ти получат съобщението и го разшифроват, могат да са сигурни, че ти си го написал и че само те могат да го прочетат.
Много е готино. Щом го открих, незабавно размених ключове с Дарил и често си изпращахме топсекретни съобщения къде ще се срещнем след училище и дали Ван някога ще го забележи.
Ако искате да вникнете в сигурността, трябва да обмислите най-параноидните възможности. Например какво ще стане, ако те заблудя, че моят обществен ключ е общественият ключ на шефовете ти? Ще криптираш съобщението с твоя личен ключ и моят обществен. Аз мога да го прочета, да го криптирам с истинския ключ на шефовете ти и да го изпратя. Никой няма да заподозре, че съм успял да го прочета.
А аз ще стоя в средата, като тлъст паяк в мрежата си, и ще събирам всичките ти тайни.
Най-лесният начин да се оправи това е като рекламираш широко обществения си ключ. Така работата на човека-в-средата става много трудна. Но да направиш нещо добре известно е точно толкова трудно, колкото да го опазиш в тайна. Помислете само. Колко милиарди се харчат за реклама на шампоани и други боклуци, за да станат известни на хората?
Има по-евтин начин да се преодолее човекът-в-средата. Мрежа на доверие. Да речем, преди да тръгнеш от щаба с шефовете си, сядате на кафе и действително си разменяте ключове. Край с човека-в-средата! Абсолютно сигурен си кои са ключовете, защото си ги получил лично.
Дотук добре. Но това си има естествен лимит. С колко хора можеш да се видиш лично и да обмените ключове? Колко часа на ден искаш да отделиш на създаването на този вид телефонен указател? Колко от тези хора ще искат да отделят същото време като теб?
Едно време светът е бил пълен с указатели и когато ти е трябвал даден номер, си го търсел там. Но много от нужните номера или помниш наизуст, или питаш някого. Дори днес, с моя клетъчен телефон, бих питал Хулу или Дарил, ако търся някой номер. По-лесно и по-бързо е, отколкото да го търся сам. А и по-надеждно. Аз вярвам на Хулу, така че вярвам и на номера. Това се нарича транзитно доверие. Доверие, което се движи по мрежата на социалните взаимоотношения.
Мрежата на доверие е по-голяма версия на същото. Да речем, че се срещна с Хулу и взема ключа му. Добавям го към моята „халка“ — списък от ключове, който е заключен с личния ми код. Тоест можеш да го отвориш с обществения ми и да знаеш, че аз съм го изготвил.
Така, аз ти давам халката си и ако ти ми вярваш, можеш да я добавиш към твоята. След това срещаш някой друг и му предаваш цялата халка. Ако всеки има доверие на останалите по веригата, вие сте в безопасност.
Така стигаме до партитата за обмяна на ключове. Те са точно партита, на които хората се събират, за да обменят ключове. Ние с Дарил си бяхме направили подобно парти, макар и само с двама участници. Но с повече хора може да създадеш мрежа на доверие и оттам тя да се разшири. Не е нужно да се срещаш с новите хора, просто трябва да се довериш, че ключовете, които си получил от мрежата, са валидни.
Така че мрежата на доверие и партитата са неразделни като фъстъчено масло и шоколад.
— Кажи им, че е суперчастно парти, само с покани — обясних аз. — Да не водят никого, или няма да бъдат пуснати.
Хулу ме погледна над кафето си.
— Шегуваш се, нали? Ако им кажа това, задължително ще домъкнат приятели.
— Уф! — Напоследък прекарвах поне една нощ седмично у тях, ъпдейтвахме кода на независимата мрежа. „Пигсплийн“ ми плащаха за това, което беше странно. Не бях предполагал, че ще ми плащат да програмирам.
— Какво ще правим? Искаме само хора, на които вярваме, и не можем да им кажем защо, преди да съберем ключовете, за да комуникираме тайно.
Хулу отстраняваше бъгове, а аз гледах над рамото му. Това се нарича екстремно програмиране, но името е объркващо, затова го наричаме само програмиране. Двама души забелязват бъговете много по-лесно от един.
Преглеждахме доклада за грешките и се готвехме да изкараме новата версия. Беше автоматичен ъпдейт, така че потребителите не трябваше да правят нищо. Просто веднъж на седмица-две се събуждаха с по-добра програма. Беше ми странно, като знаех, че кодът от тази вечер ще се ползва от стотици хора утре.
— Какво да правим ли? Не знам, човече. Явно ще трябва да се примирим.
Замислих се за дните на „Хараджуку Фън Меднес“. В играта имаше много социални предизвикателства, включващи големи групи хора.
— Добре, прав си. Но нека се опитаме да запазим секретност. Кажи им, че могат да доведат максимум един човек, но трябва да го познават лично поне от пет години.
Хулу вдигна поглед от екрана.
— Ей, това ще свърши работа. Определено. Ако кажеш да не водя никого, ще си река: „Тоя за какъв се мисли?“ Но ако го представиш по този начин, звучи като филм за 007.
Открих един бъг. Допихме кафето. Прибрах се вкъщи и поиграх на „Денонощно плячкосване“, като се опитах да не мисля за прекалено любопитните пирати. След това заспах като бебе.
Баните Сутро са фалшивите римски руини на Сан Франциско. Когато ги отворили през 1896-а били най-голямата закрита баня в света. Огромен викториански стъклен солариум с множество басейни, вани и дори подобие на водна пързалка. През петдесетте банята започнала да запада и през 1966-а собствениците я запалили заради застраховката. Сега е останал само каменен лабиринт в скалите на Оушън Бийч. Страшно прилича на мистериозни римски руини. До тях има пещери с отвори към морето. При висок прилив вълните наводняват пещерите и стигат до руините. Даже имаше няколко удавени туристи.
Оушън Бийч е отвъд парка „Голдън Гейт“. Скалист бряг със скъпарски къщи и малки плажчета, пълни с медузи и смели (ненормални) сърфисти. В плитчините има гигантска бяла скала. Наричат я Тюленовата скала. Там са се събирали морските лъвове и са срали — оттам и цвета на скалата, — преди да ги преместят на по-туристическа локация като Фишърманс Уарф.
След залез-слънце там няма никого. Става студено и солените пръски могат да те намокрят до кости. Скалите са остри, има счупени стъкла и по някоя наркоманска игла.
Страхотно място за купон.
Аз намерих брезент и химически нагревателни ръкавици. Хулу се погрижи за бирата. Брат му, Хавиер, имаше приятел, който развиваше истински бизнес с осигуряване на алкохол на малолетни. Вадиш парите и той се появява на закътано място с охладители и колкото бира желаеш. Похарчих част от парите от програмирането и човекът се появи в уреченото време: в осем, един час след залез-слънце. Разтовари шест стиропорени охладителя от пикапа си. Беше се сетил да вземе дори един празен за амбалажа.
— Внимавайте, хлапета — каза той и наклони каубойската си шапка. Беше дебел самоанец с голяма усмивка. Под елечето му се виждаше коремът и косматите подмишници. Извадих двайсетачка от пачката си и му я подадох. Човекът работеше със 150 процента надценка. Нелош бизнес.
Той погледна пачката ми.
— Мога да ти ги взема. Все пак съм престъпник.
Прибрах парите и го погледнах в очите. Беше тъпо, че му ги показах, но има моменти, в които трябва да устояваш позицията си.
— Ебавам се — каза той накрая. — Но внимавай с тези пари. Не ги развявай насам-натам.
— Благодаря, но Вътрешна сигурност ме пази.
Усмивката му стана още по-широка.
— Ха! Те дори не са истински ченгета. Тия кълвачи не разбират нищо.
Погледнах към пикапа. На предното стъкло имаше прилежно изложен „ФасТрак“. Зачудих се кога ли ще го спипат.
— Мацки ли сте поканили? Затова ли ви трябва бирата?
Усмихнах се и му махнах за сбогом. Той схвана намека и се качи в колата. Усмивката така и не слезе от лицето му.
Хулу ми помогна да примъкнем сандъците. Светехме си с челници и оставихме по един във всеки охладител, за да се вижда, като си взимаш бира.
Нощта беше безлунна, а далечното улично осветление почти не достигаше до нас. Знаех, че се виждаме ярко през инфрачервен мерник, но нямаше начин да събера толкова хора незабелязано. Надявах се ченгетата да решат, че купонът е безобиден, и да не ни обърнат внимание.
Принципно не пия много. Откакто станах на четиринайсет по купоните ни винаги има бира и трева, но аз мразя да пуша. (Макар че не отказвам кексче с трева от време на време.) Екстазито иска твърде много време. Трябва да отделиш цял уикенд, за да се надрусаш и после да се освестиш. Бирата става, но не е моето питие. Предпочитам големи коктейли, от ония с по шест слоя, които горят, и то предимно заради шоуто.
Нямам нищо против да съм пиян, но мразя махмурлука, а моят е доста тежък. Като се замисля, вината сигурно е в коктейлите.
Но не можеш да направиш купон, без да метнеш две-три каси бира в леда. Очаква се. Освобождава обстановката. Хората правят глупости, като се напият, но пък моите приятели принципно нямат коли. А и хората правят глупости и без трева и алкохол.
Двамата с Хулу си отворихме бири. „Енкър Стийм“ за него, „Бъд Лайт“ за мен. Чукнахме се и седнахме на една скала.
— В девет ли им каза?
— Аха — отвърна той.
— И аз.
Пиехме мълчаливо. „Бъд Лайт“ беше най-леката бира в сандъка, тази вечер щеше да ми трябва трезва глава.
— Плашиш ли се понякога? — попитах го накрая.
Той се обърна към мен.
— Не, човече. Непрекъснато ме е страх. Още откакто станаха експлозиите. Толкова ме е страх, че понякога не ми се става от леглото.
— Тогава защо го правиш?
Хулу се усмихна.
— Може би няма да продължа. Искам да кажа, че беше страхотно да ти помагам. Наистина страхотно. Не знам дали съм правил по-важно нещо. Но, Маркъс, брато, трябва да ти кажа… — Гласът му заглъхна.
— Какво? — попитах аз, въпреки че знаех какво ще последва.
— Не мога да го правя вечно. Най-много още месец. Мисля, че съм дотук. Рискът е твърде голям. Не може да воюваш със СВС. Наистина е лудост.
— Говориш като Ван. — Тонът ми беше по-горчив, отколкото възнамерявах.
— Не те критикувам, човече. Страхотно е, че имаш смелост да продължиш да се бориш. Аз нямам. Не мога да живея в постоянен терор.
— Какво искаш да кажеш?
— Казвам, че приключвам. Ще съм като останалите, които смятат, че всичко е нормално и някой ден ще се оправим. Ще си ползвам интернет, а в Екснет само ще играя игри. Казвам ти, че се измъквам. Повече няма да бъда част от плановете ти.
Не отвърнах.
— Знам, че те изоставям. Не искам да го правя, повярвай ми. Бих предпочел ти да се откажеш с мен. Не може да обявиш война на правителството на САЩ. Няма как да спечелиш. Като те гледам, все едно виждам как някаква птица се блъска постоянно в прозореца.
Очакваше да кажа нещо. Исках да отвърна: „Боже, Хулу, благодаря, че ме заряза. Забрави ли как ни отвлякоха? Забрави ли каква беше страната, преди да я превземат?“ Но той не искаше да чуе това. Ето какво очакваше да му кажа:
— Разбирам, Хулу. Уважавам решението ти.
Той допи бирата и си взе нова.
— Има още нещо.
— Какво?
— Нямаше да го споменавам, но искам да разбереш защо го правя.
— Боже, Хулу, какво има?
— Не ми харесва да го казвам, но ти си бял. Аз не съм. Белите ги хващат с кокаин и ги пращат в клиника. Нас ни хващат с крек и получаваме двайсет години затвор. Белите виждат полицаи на улицата и се чувстват защитени. Моите хора виждат ченгета и се чудят дали ще ги претарашат. Как СВС се отнесоха с теб? Законът в тази страна винаги се отнася така с нас.
Това не беше честно. Не бях бял по желание. Не мислех, че съм смел само защото съм бял. Но Хулу беше прав. Ако ченгетата спираха някого за проверка в Мишън, той най-вероятно не беше бял. Колкото и да рискувах, Хулу рискуваше повече. Каквато и цена да платях, неговата щеше да е по-висока.
— Не знам какво да кажа.
— Не е нужно да казваш нещо. Просто исках да разбереш.
Видях, че по пътеката се задават хора. Бяха приятели на Хулу. Двама мексиканци и едно момиче, което бегло познавах. Беше нисичка и носеше готини черни очила, като на Бъди Холи. Приличаше на задръстена ученичка от тийнейджърски филм, която се превръща в суперяка мацка.
Хулу ме запозна с тях и им даде бири. Момичето отказа, извади малка сребърна манерка с водка и ми предложи. Отпих една глътка. Топлата водка не е много приятна, но направих комплимент за манерката, на която бяха гравирани герои от „Парапа Рапър“.
— Японска е — каза тя, докато я осветявах с челника. — Имат страхотни алкохолни продукти, базирани на детски игри. Тотално извращение.
Представих се.
— Анджи — каза тя и се здрависахме. Ръката й беше суха, топла и с къси нокти. Хулу ме запозна и с момчетата, с които беше приятел от четвърти клас. Появиха се още хора. Пет, десет, двайсет. Вече бяхме сериозна група.
Бяхме им казали да дойдат до 9:30 и изчакахме до 9:45 да видим кой ще се появи. Почти три четвърти бяха приятели на Хулу. Бях поканил всички, на които имах доверие. Или бях по-дискриминативен от него, или не бях толкова популярен. Като ми каза, че напуска, реших, че вероятно не е бил достатъчно придирчив. Ядосах се, но се стараех да не го показвам. Концентрирах се върху социализирането с хората. Но той не беше глупав. Видя какво става и определено се подразни. Добре.
Покатерих се на една руина.
— Здравейте! — Някои от близкостоящите ми обърнаха внимание, но по-далечните продължаваха да си говорят. Вдигнах ръце като футболен съдия, но беше твърде тъмно, за да ме видят. Накрая се сетих да осветя всеки с челника си. Постепенно тълпата утихна.
Приветствах ги и благодарих, че са дошли. След това ги помолих да се приближат, за да им обясня за какво става дума. Виждах, че са заинтригувани от секретността и леко замаяни от бирата.
— И така. Всички ползвате Екснет. Не е съвпадение, че тази мрежа се появи, след като СВС завладя града. Тя е създадена от организация, бореща се за правото на лична свобода. Предназначението на мрежата беше да ни пази от хрътките на СВС. — С Хулу се бяхме разбрали. Нямаше да признаем, че Екснет е наше дело. Беше твърде рисковано. Вместо това се представяхме за лейтенанти в „армията“ на Мики, натоварени с организирането на местна съпротива.
— Екснет не е чиста — продължих аз. — Може да се ползва от противника. Знаем, че има шпиони на СВС, които го правят. Използват социални методи, за да ни накарат да се разкрием и да ни заловят. Ако искаме Екснет да успее, трябва да измислим как да им попречим да ни шпионират. Трябва ни мрежа в мрежата.
Направих пауза, за да осмислят думите ми. Хулу беше предположил, че няма да реагират леко, като научат, че са включени в революционна организация.
— Няма да ви карам да правите нещо активно. Не е нужно да ходите да заглушавате. Тук сте, защото знаем, че сте печени, и ви вярваме. От вас тази вечер искам вашето доверие. Някой сигурно са запознати с мрежата на доверие и партитата за обмяна на ключове. За останалите ще обясня набързо.
Направих го.
— Искам от вас да поговорите с хората тук и да решите доколко им имате вяра. Ще ви помогнем да си генерирате ключове и да ги обмените.
Това беше сложната част. Нямаше как да накараме хората да си носят лаптопи, а трябваше да направим нещо сложно, което не ставаше с лист и химикалка.
Взех лаптопа, който с Хулу бяхме сглобили предната вечер.
— Вярвам на тази машина. Всеки компонент в нея е поставен от моите ръце. Има чисто нова версия на „ПараноидЛинукс“ и се зарежда от диск. Това може би е най-сигурният компютър на света.
— Има генератор за ключове. Въвеждате някаква безсмислена комбинация и от нея програмата ще създаде личен и обществен ключ. Може да снимате личния ключ с телефона си, след което го изтривате с произволен клавиш. Няма да се запази на диска. После програмата ще покаже обществения ви ключ. Викате всеки от хората, на които вярвате, и заставате до екрана, за да ви снимат и да знаят кой ключ на кого е.
Като се приберете, трябва да конвертирате снимките в ключове. Доста работа е, но се прави само един път. Трябва да внимавате, като ги изписвате, ако сгрешите и един символ, всичко се прецаква. За щастие има начин да разберете дали сте го направили както трябва. Под ключа има по-къс номер, наречен „отпечатък“. След като наберете ключа, може да генерирате отпечатък. Ако двата отпечатъка съвпадат, значи всичко е наред.
Всички се пулеха насреща ми. Вярно, че ги карах да правят нещо странно, но все пак.