Младший брат - Кори Доктороу 15 стр.


напечатал я проходящему мимо пирату.

> Прокачаешь меня?

Тот остановился.

> С какой стати?

> Мы с тобой в одной команде. Плюс тебе начисляются очки за опыт.

Придурок какой-то. Новичок, что ли? Впрочем, отвечает быстро.

> Ты где территориально?

Знакомое начало.

> В Сан-Франциско.

> А где в Сан-Франциско?

Я вышел из программы. С игрой творилось что-то странное. Я переключился на LiveJournal и принялся переползать от блога к блогу. Пролистав с полдюжины, я наткнулся на такое, отчего у меня застыла кровь в жилах.

Блогеры из LiveJournal обожают дурачиться и задавать друг другу прикольные вопросы. Например, к какому виду хоббитов ты принадлежишь? Или - считаешь ли ты себя великим любовником? Какая планета нравится тебе больше всего? С кем из киноперсонажей ты себя идентифицируешь? К какому эмоциональному типу ты относишься? Все заполняют такие вопросники и дают заполнить друзьям, а потом сравнивают, что получилось. Совершенно невинная забава.

Но анкета, появившаяся в икснете в ту ночь, была далеко не безобидной и застремала меня по-черному.

> Какой твой пол?

> В каком ты классе?

> В какой школе учишься?

> В каком районе живешь?

Результаты ответов на эти вопросы появлялись на карте города в виде булавок с цветными головками, воткнутых в местах проживания и расположения школ, после чего давались неудачные рекомендации, где покупать пиццу и все такое.

Я посмотрел на анкету и представил, как будут выглядеть мои ответы.

> Мужской

> Семнадцать

> Сезар-Чавес

> Портеро-Хидл

Во всей нашей школе только двое соответствуют такому описанию. То же самое наверняка и в остальных школах. И если вы решили вычислить икснетовцев, то с помощью подобной анкеты успешно справитесь с задачей.

Конечно, это плохо само по себе. Но еще хуже логическое умозаключение, которое следует из факта появления анкеты: икснет засветился, и теперь ДНБ использует его против нас в качестве подставы.

А еще это значит, что среди нас завелись стукачи.

Я раздал икснетовские диски сотням ребят, и они, в свою очередь, сделали то же самое. Эти ребята известны мне достаточно хорошо. А некоторые даже очень хорошо. Всю свою жизнь я прожил на одном месте, и за эти годы завел сотни и сотни друзей, начиная с детсадовских одногруппников и тех, с кем вместе гонял футбольный мяч, а позже к ним прибавились соратники по ролевым играм и одноклубники, школьные приятели. Конечно, самыми близкими друзьями для меня остается моя команда по ИАР, но очень многим я доверяю настолько, что без колебаний вручил им икснетовский диск.

И теперь я остро нуждался в их дружеской поддержке.

Я разбудил Джолу, трижды набрав номер его мобильника и каждый раз давая отбой после первого гудка. Через минуту он уже был в икснете, и мы могли спокойно общаться. Я сказал ему зайти на мой блог с последним сообщением о радиофургоне, и через минуту он вернулся, перепуганный до предела.

> Ты уверен, что они охотятся за нами?

В ответ я послал ему текст анкеты.

> Вот черт, нам хана.

> Нет, не все так плохо, но мы должны точно знать, кому можно верить.

> Как это сделать?

> Вот это я и хотел обсудить - сколько ты знаешь надежных ребят, за которых можешь поручиться?

> Ну, 20–30 примерно.

> Я хочу собрать команду из надежных парней, чтобы мы обменялись кодами и создали сеть доверия.

Сеть доверия - одна из тех криптографических примочек, о которых я читал, но еще никогда не применял на практике. Это почти гарантированный способ обезопасить от под-слушки ваш разговор со своими людьми. Единственное неудобство этого способа в том, что вы должны лично встретиться с корреспондентами по сети хотя бы раз в самом начале.

> Понятно. Идея неплохая. Но как ты соберешь всех вместе, чтоб переписать коды?

> Вот и я хотел спросить тебя об этом - как нам встретиться и не подставиться?

Джолу принялся было печатать и тут же стер, напечатал еще и опять стер.

> Даррел бы сообразил, напечатал я.

> Да уж, он в таких делах волок конкретно.

Джолу помолчал, потом напечатал:

> Как насчет вечеринки?

> Что, если собраться где-нибудь под видом тусовки, так что если кто-то спросит, что мы тут делаем, у нас готова отговорка?

> Точно! Ты гений, Джолу!

> Знаю. Я уже даже знаю, где можно собраться.

> Где?

> Сутро-Батс!

Глава 10

А как бы вы поступили, если бы поняли, что в вашей команде завелся стукач? Можно, конечно, публично разоблачить его, выставить у позорного столба и с позором же изгнать. Но если это не единственный шпион, то второй станет более осторожным, и тогда выявить его будет намного труднее, чем первого.

Есть выход получше: засечь канал связи между шпионом и теми, кто его подослал, и сливать в него дезинформацию. Скажем, шпион получает задание собрать сведения о ваших передвижениях. Не мешайте ему следовать за вами по пятам и делать нужные пометки, зато потом вскройте над паром конверт с донесением и подмените отчет о ваших передвижениях на липовый. При желании вы можете выставить шпиона перед его хозяевами как лживого и ненадежного, и тогда они сами избавятся от него. Можно также спровоцировать кризисную ситуацию, вследствие чего противная сторона будет вынуждена раскрыть и других своих агентов. Короче, вы их всех поимеете.

Такой прием называется "подрыв изнутри", и, если задуматься, это довольно стремный приемчик с весьма болезненными последствиями. Возьмись кто-нибудь подрывать изнутри ваши коммуникации, вас могут поиметь любым из тысячи доступных способов.

Конечно, владея шифровальным делом, вы сумеете эффективно противостоять попыткам напасть изнутри на ваши каналы связи. Если у вас на вооружении есть криптография, противник, даже добравшись до ваших сообщений, не сможет прочитать их, подправить, подменить на ложные. Именно для этого и придумали тайнопись.

Но помните, чтобы криптография работала, вы должны снабдить своих партнеров декрипторными ключами, то есть поделиться с ними кое-какими своими секретами, знанием способов шифрования и дешифрования сообщений, так, чтобы не подпустить и близко к вашей информации желающих подпортить ее изнутри.

В этой связи у специалистов возникла немного напряжная, но невероятно остроумная идея использовать "открытые" декрипторные ключи.

При открытой системе каждая пара пользователей имеет по два ключа, которые представляют собой длинные цепочки математической абракадабры и обладают почти магическими свойствами. Что бы вы ни зашифровали одним ключом, вторым обязательно расшифруете, и наоборот. Более того, данную операцию могут проделать исключительно эти два ключа, и никакие другие. Поэтому если вам удалось расшифровать сообщение с помощью одного из двух ключей, то вы знаете, что оно зашифровано посредством второго, парного ключа (и наоборот).

Так вот, вы берете один из этих двух ключей (все равно какой) и просто-напросто раскрываете его, рассекречиваете, делаете общеизвестным. Пусть о нем знает весь белый свет. Вот, собственно, почему этот ключ и называется "открытым".

Второй ключ вы прячете в самых темных уголках вашего сознания. Вы защищаете его ценой собственной жизни. Никто ни при каких условиях не должен знать, что он собой представляет. Поэтому его зовут вашим "личным ключом". (Уф-ф!)

Теперь предположим, что вы шпион и хотите провести сеанс связи со своим шефом. Его открытый ключ известен всему миру. Ваш открытый ключ известен всему миру. Но никто, кроме вас, не знает вашего личного ключа. И никто, кроме шефа, не знает его личного ключа.

Вам надо послать своему шефу донесение. Во-первых, вы шифруете его своим личным ключом. Теперь ваше донесение готово к отправке, и дело в шляпе, поскольку шеф получит донесение и поймет, что оно от вас. Почему? Очень просто: раз полученное донесение можно расшифровать вашим открытым ключом, значит, его могли зашифровать только вы и только вашим личным ключом. Это все равно что заверить копию оригинала собственной подписью и печатью. Ваш личный ключ будто говорит за вас: это написал я, и никто другой; текст данного документа не был подменен или подправлен.

К сожалению, при таком раскладе посланное вами донесение фактически перестает быть секретным, поскольку ваш открытый ключ всем известен (так и должно быть, иначе вы сможете отправлять шифрованные сообщения только ограниченному кругу людей, которые знают ваш открытый ключ). Любой, кто перехватит донесение, сможет прочитать его. Ему не удастся подменить или исправить содержание, но если вы не хотите, чтобы посторонние знали, о чем информируете шефа, вам необходимо найти лучшее решение.

Вот почему вы шифруете донесение не только своим личным ключом, но также открытым ключом вашего шефа. Теперь оно под двойным замком. Первый замок, запертый открытым ключом шефа, отпирается только личным ключом шефа. Второй замок, запертый вашим личным ключом, отпирается вашим открытым ключом. Шеф, получив донесение, отопрет оба замка в полной уверенности, что: а) донесение написано вами, и б) никто из посторонних не прочитает донесение.

Круто, правда? Когда я впервые узнал об этой системе, мы с Даррелом тут же обменялись ключами и несколько месяцев прикалывались и потирали руки от удовольствия, посылая друг другу совершенно секретные сообщения о том, где встречаемся после уроков и какие у Даррела шансы добиться внимания Ванессы.

Однако специфика дела обеспечения безопасности такова, что вам придется учитывать самые шизоидные варианты. Типа, как поступить, если я наколю вас и заставлю поверить, что мой открытый ключ - это открытый ключ вашего шефа? Вы зашифруете свое донесение своим личным ключом и моим открытым ключом. Я расшифрую ваше донесение, прочитаю, снова зашифрую настоящим открытым ключом вашего шефа и переправлю адресату. А ваш шеф будет по-прежнему думать, что только вы готовили это донесение и он один прочитал его.

А я устроюсь посередке, как жирный паук в центре паутины, и поимею все ваши секреты.

Так вот, самый простой способ избежать этого - изо всех сил рекламировать ваш открытый ключ. Чем проще станет любому человеку узнать ваш настоящий открытый ключ, тем тяжелее придется тому, кто пытается осуществить подрыв изнутри. Кстати, к вашему сведению, добиться широкой известности так же трудно, как хранить секреты. Только подумайте о миллиардах долларов, которые тратятся на рекламу шампуня и прочей дребедени с единственной целью - проинформировать не меньшее количество народу о существовании чего-то, о чем рекламодатель хочет, чтоб они знали.

Есть способ не допустить подрыва коммуникаций изнутри и подешевле: создать сеть доверия. Скажем, прежде чем покинуть штаб и отправиться в тыл к противнику, посидите на дорожку с шефом и за чашкой кофе оба разложите на столе свои ключи. Попробуй-ка теперь кто-нибудь подсунуть вам замочек, что отпирается чужим ключиком! Вы абсолютно уверены, что располагаете ключами вашего шефа, потому что он сам передал их вам из рук в руки.

Ладно, едем дальше. Для подобного взаимообмена ключами существуют физические рамки: сколько раз вы сможете вот так встретиться с человеком лицом к лицу, сколько часов в день готовы уделить работе, по объему равной составлению телефонного справочника? И сколько ваших партнеров согласны пожертвовать ради вас сопоставимым по длительности временем?

Сравнение с телефонным справочником в данном контексте весьма кстати. Было дело, телефонные справочники заполонили мир, и человек не мог без них обойтись. Но сейчас при желании или необходимости куда-нибудь позвонить, мы чаще всего вспоминаем нужный номер или просим кого-нибудь из окружающих подсказать его нам. Даже теперь, когда при мне всегда имеется мой сотовый телефон, я скорее спросил бы Джолу или - до недавнего времени - Даррела, не знают ли они, как позвонить в такое-то место. Так быстрее и проще, чем выискивать номер в онлайне, да и надежней тоже. Если Джолу знает этот номер, я ему доверяю, и номеру тоже доверяю. Такое доверие расходится от нас по сети наших отношений в обществе, а потому так и называется - "переходящее", или "транзитивное" доверие.

"Сеть доверия" - более широкое понятие. Скажем, я встречаю Джолу и получаю от него ключик к шифру. Вешаю этот ключик себе на "связку" - список кодов, "подписанных" моим личным ключом. То есть теперь вы можете разомкнуть "связку" моим открытым ключом и будете знать наверняка, что я - ну, или тот, у кого есть мой ключ - говорю вам, мол, "вот этот ключ принадлежит вон тому парню".

Итак, вы принимаете от меня мою связку и при этом верите, что я действительно лично встречался с обладателями нанизанных на нее ключей и в свою очередь полностью доверяю им. Так что вы смело добавляете мою связку к той, которая у вас уже имеется. Потом вы встречаетесь с кем-то еще и передаете всю связку ему. Таким образом, она все увеличивается, и пока сохраняется доверие к каждому очередному преемнику, мы все можем быть достаточно уверены, что находимся в безопасности.

Тут мы вплотную приблизились к понятию "тусовка с подпиской ключами", которое означает именно то, о чем вы подумали: народ собирается на тусовку и переписывает себе чужие открытые ключи. Когда я и Даррел доверили друг другу свои ключи, у нас состоялась как бы скоротечная мини-тусовка "с подпиской ключами", всего лишь с двумя скромными участниками, хоть и с далеко идущими последствиями. Но с толпой народа вы закладываете основу сети доверия, которая далее будет расти и развиваться сама по себе. Все те, кто уже находится на вашей связке ключей, выходят в мир, встречаются с другими надежными людьми, и к связке прибавляются все новые имена. И вам не обязательно лично знакомиться с новобранцами, просто верьте, что очередной ключ, добытый вашими товарищами, не подведет.

Теперь вы знаете, почему сеть доверия и тусовка "с подпиской ключами" сочетаются, как икра и сливочное масло.

- Просто надо предупредить всех, что это закрытая тусовка, вход только по приглашениям, - предложил я. - Мол, если приведете посторонних, вас самих не пустят.

Джолу перестал смотреть в свой кофе и поднял глаза на меня.

- Ты чего, обалдел? Тогда все точно приволокут за собой кучу приятелей и знакомых!

- Блин! - В последнее время я проводил один вечер в неделю дома у Джолу, обновляя код индинета. "Пигсплин" действительно заплатил мне за работу конкретные деньги, что меня приятно удивило. Никогда бы не подумал, что смогу зарабатывать программированием.

- Ну и что нам делать? Там не должно быть никого, кто не пользуется нашим безоговорочным доверием, а причину мы сможем объяснить, только когда соберем их ключи и разошлем секретные сообщения.

Джолу просматривал код индинета в поисках ошибок, а я подстраховывал, глядя на экран через его плечо. Было время, эту процедуру называли "экстремальным программированием", что звучит слишком громко, а потому для нас она просто естественный этап программирования. Вдвоем гораздо проще заметить ошибку, чем в одиночку. У профессиональных программистов есть поговорка: "Чем больше глаз, тем меньше багов".

Мы уже почти закончили работу, после чего оставалось только запустить новый билд. От пользователей практически ничего требовалось, кроме как примерно раз в неделю просыпаться обладателями улучшенной программы. У меня возникло довольно странное ощущение при мысли, что уже завтра сотни тысяч людей станут пользоваться написанным мной кодом.

- Что нам делать? Я не знаю, что нам делать! Ничего тут, наверное, не поделаешь.

Мне опять вспомнилось золотое времечко "Харадзюку-Фан-Мэднес". В ходе игры нам нередко приходилось выкручиваться из ситуаций с участием больших скоплений народа.

- Может, ты и прав. Но давай хотя бы попытаемся в максимальной степени ограничиться приглашенными. К примеру, скажем, чтобы приводили с собой не более одного человека, с которым знакомы не меньше пяти лет.

Джолу отвернулся от экрана и посмотрел на меня.

- А что, это может сработать. Я бы на такое клюнул. Одно дело, ты мне скажешь: "Никого не приводи", и я отвечу: "Да пошел ты!", а так чем-то смахивает на шпионские страсти с Джеймсом Бондом.

Потом я нашел ошибку в коде. Потом мы выпили кофе. Потом я ушел домой и немного поиграл в "пиратов", стараясь не думать о любознательных партнерах по игре с их дотошными вопросами. Потом я отрубился и всю ночь продрых без задних ног.

Сутро-Батс - это настоящие американские римские бани, точнее, развалины. Бани открылись в 1896 году и в ту пору стали самым большим в мире помывочным сооружением с огромным стеклянным солярием в викторианском стиле, многочисленными бассейнами, ваннами и даже одной из первых водяных горок. К пятидесятым годам бани пришли в упадок, и в 1966-м владельцы устроили пожар, чтобы получить страховку. Теперь от грандиозного сооружения остался лишь каменный лабиринт полуразрушенных стен, прижавшийся к обветренному скалистому утесу на берегу Оушн-Бич. Место и вправду живописное и загадочное, как римские развалины; а неподалеку в скале зияют черные провалы пещер. Во время штормовых приливов волны захлестывают руины и пещеры; известны случаи, когда мощный поток смывал внутрь отдельных злополучных туристов, и те тонули.

Оушн-Бич находится за парком Золотые Ворота. На голых склонах отвесной скалы чудом примостились дорогие дома. Сверху видно, что вода напротив узкого пляжа усеяна медузами и бесстрашными (безумными) серферами. Возле кромки берега из мелководья выступает белый каменный остров, именуемый Сил-Рок, "Тюленья скала". Когда-то на нем было лежбище морских львов - и их отхожее место, потому и поверхность его со временем окрасилась в белый цвет, - пока диковинных зверей не переселили в район Рыбацкой пристани, поближе к туристам.

С наступлением темноты Оушн-Бич пустеет. Ночью здесь всегда холодно, и если вдобавок не остережешься соленых брызг прибоя, продрогнешь до костей. Берег усыпан острыми камнями, меж которых попадаются осколки разбитых бутылок и торчащие иглы брошенных наркоманами шприцов.

В общем, стремное местечко для тусовки.

Назад Дальше