К сожалению, при таком раскладе посланное вами донесение фактически перестает быть секретным, поскольку ваш открытый ключ всем известен (так и должно быть, иначе вы сможете отправлять шифрованные сообщения только ограниченному кругу людей, которые знают ваш открытый ключ). Любой, кто перехватит донесение, сможет прочитать его. Ему не удастся подменить или исправить содержание, но если вы не хотите, чтобы посторонние знали, о чем информируете шефа, вам необходимо найти лучшее решение.
Вот почему вы шифруете донесение не только своим личным ключом, но
Круто, правда? Когда я впервые узнал об этой системе, мы с Даррелом тут же обменялись ключами и несколько месяцев прикалывались и потирали руки от удовольствия, посылая друг другу совершенно секретные сообщения о том, где встречаемся после уроков и какие у Даррела шансы добиться внимания Ванессы.
Однако специфика дела обеспечения безопасности такова, что вам придется учитывать самые шизоидные варианты. Типа, как поступить, если я наколю вас и заставлю поверить, что
А я устроюсь посередке, как жирный паук в центре паутины, и поимею все ваши секреты.
Так вот, самый простой способ избежать этого — изо всех сил рекламировать ваш открытый ключ. Чем проще станет любому человеку узнать ваш настоящий открытый ключ, тем тяжелее придется тому, кто пытается осуществить подрыв изнутри. Кстати, к вашему сведению, добиться широкой известности так же трудно, как хранить секреты. Только подумайте о миллиардах долларов, которые тратятся на рекламу шампуня и прочей дребедени с единственной целью — проинформировать не меньшее количество народу о существовании чего-то, о чем рекламодатель хочет, чтоб они знали.
Есть способ не допустить подрыва коммуникаций изнутри и подешевле: создать сеть доверия. Скажем, прежде чем покинуть штаб и отправиться в тыл к противнику, посидите на дорожку с шефом и за чашкой кофе оба разложите на столе свои ключи. Попробуй-ка теперь кто-нибудь подсунуть вам замочек, что отпирается чужим ключиком! Вы абсолютно уверены, что располагаете ключами вашего шефа, потому что он сам передал их вам из рук в руки.
Ладно, едем дальше. Для подобного взаимообмена ключами существуют физические рамки: сколько раз вы сможете вот так встретиться с человеком лицом к лицу, сколько часов в день готовы уделить работе, по объему равной составлению телефонного справочника? И сколько ваших партнеров согласны пожертвовать ради вас сопоставимым по длительности временем?
Сравнение с телефонным справочником в данном контексте весьма кстати. Было дело, телефонные справочники заполонили мир, и человек не мог без них обойтись. Но сейчас при желании или необходимости куда-нибудь позвонить, мы чаще всего вспоминаем нужный номер или просим кого-нибудь из окружающих подсказать его нам. Даже теперь, когда при мне всегда имеется мой сотовый телефон, я скорее спросил бы Джолу или — до недавнего времени — Даррела, не знают ли они, как позвонить в такое-то место. Так быстрее и проще, чем выискивать номер в онлайне, да и надежней тоже. Если Джолу знает этот номер, я ему доверяю, и номеру тоже доверяю. Такое доверие расходится от нас по сети наших отношений в обществе, а потому так и называется — «переходящее», или «транзитивное» доверие.
«Сеть доверия» — более широкое понятие. Скажем, я встречаю Джолу и получаю от него ключик к шифру. Вешаю этот ключик себе на «связку» — список кодов, «подписанных» моим личным ключом. То есть теперь вы можете разомкнуть «связку» моим открытым ключом и будете знать наверняка, что я — ну, или тот, у кого есть мой ключ — говорю вам, мол, «вот этот ключ принадлежит вон тому парню».
Итак, вы принимаете от меня мою связку и при этом верите, что я действительно лично встречался с обладателями нанизанных на нее ключей и в свою очередь полностью доверяю им. Так что вы смело добавляете мою связку к той, которая у вас уже имеется. Потом вы встречаетесь с кем-то еще и передаете всю связку ему. Таким образом, она все увеличивается, и пока сохраняется доверие к каждому очередному преемнику, мы все можем быть достаточно уверены, что находимся в безопасности.
Тут мы вплотную приблизились к понятию «тусовка с подпиской ключами», которое означает именно то, о чем вы подумали: народ собирается на тусовку и переписывает себе чужие открытые ключи. Когда я и Даррел доверили друг другу свои ключи, у нас состоялась как бы скоротечная мини-тусовка «с подпиской ключами», всего лишь с двумя скромными участниками, хоть и с далеко идущими последствиями. Но с толпой народа вы закладываете основу сети доверия, которая далее будет расти и развиваться сама по себе. Все те, кто уже находится на вашей связке ключей, выходят в мир, встречаются с другими надежными людьми, и к связке прибавляются все новые имена. И вам не обязательно лично знакомиться с новобранцами, просто верьте, что очередной ключ, добытый вашими товарищами, не подведет.
Теперь вы знаете, почему сеть доверия и тусовка «с подпиской ключами» сочетаются, как икра и сливочное масло.
— Просто надо предупредить всех, что это закрытая тусовка, вход только по приглашениям, — предложил я. — Мол, если приведете посторонних, вас самих не пустят.
Джолу перестал смотреть в свой кофе и поднял глаза на меня.
— Ты чего, обалдел? Тогда все точно приволокут за собой кучу приятелей и знакомых!
— Блин! — В последнее время я проводил один вечер в неделю дома у Джолу, обновляя код индинета. «Пигсплин» действительно заплатил мне за работу конкретные деньги, что меня приятно удивило. Никогда бы не подумал, что смогу зарабатывать программированием.
— Ну и что нам делать? Там не должно быть никого, кто не пользуется нашим безоговорочным доверием, а причину мы сможем объяснить, только когда соберем их ключи и разошлем секретные сообщения.
Джолу просматривал код индинета в поисках ошибок, а я подстраховывал, глядя на экран через его плечо. Было время, эту процедуру называли «экстремальным программированием», что звучит слишком громко, а потому для нас она просто естественный этап программирования. Вдвоем гораздо проще заметить ошибку, чем в одиночку. У профессиональных программистов есть поговорка: «Чем больше глаз, тем меньше багов».
Мы уже почти закончили работу, после чего оставалось только запустить новый билд. От пользователей практически ничего требовалось, кроме как примерно раз в неделю просыпаться обладателями улучшенной программы. У меня возникло довольно странное ощущение при мысли, что уже завтра сотни тысяч людей станут пользоваться написанным мной кодом.
— Что нам делать? Я не знаю, что нам делать! Ничего тут, наверное, не поделаешь.
Мне опять вспомнилось золотое времечко «Харадзюку-Фан-Мэднес». В ходе игры нам нередко приходилось выкручиваться из ситуаций с участием больших скоплений народа.
— Может, ты и прав. Но давай хотя бы попытаемся в максимальной степени ограничиться приглашенными. К примеру, скажем, чтобы приводили с собой не более одного человека, с которым знакомы не меньше пяти лет.
Джолу отвернулся от экрана и посмотрел на меня.
— А что, это может сработать. Я бы на такое клюнул. Одно дело, ты мне скажешь: «Никого не приводи», и я отвечу: «Да пошел ты!», а так чем-то смахивает на шпионские страсти с Джеймсом Бондом.
Потом я нашел ошибку в коде. Потом мы выпили кофе. Потом я ушел домой и немного поиграл в «пиратов», стараясь не думать о любознательных партнерах по игре с их дотошными вопросами. Потом я отрубился и всю ночь продрых без задних ног.
Сутро-Батс — это настоящие американские римские бани, точнее, развалины. Бани открылись в 1896 году и в ту пору стали самым большим в мире помывочным сооружением с огромным стеклянным солярием в викторианском стиле, многочисленными бассейнами, ваннами и даже одной из первых водяных горок. К