Вы хотите отправить кому-то сообщение, которое не сможет прочитать никто посторонний. Это реализуется при помощи шифрования – некоего способа запутать сообщение перед отправкой, чтобы получатель мог обратить процедуру вспять. Чтобы это сделать, нужен ключ – описание того, как распутывать сообщение.
Если мы говорим о коммуникации не между правительством и его посольствами, а между обычными людьми, а особенно теми людьми, которые никогда не видели друг друга, то использование шифрования проблематично. Если у меня нет безопасного способа отправки сообщения, то у меня, вероятно, нет и безопасного способа отправки ключа. И если кто-то перехватит ключ по пути, он сможет прочитать и мои будущие сообщения.
Несколько десятилетий назад было изобретено решение этой проблемы – шифрование с открытым ключом. Оно завязано на математической операции, которая генерирует пару уникальных взаимосвязанных ключей: сообщение, зашифрованное одним ключом, требует для своей расшифровки второй. Один из ключей, открытый, вы отправляете всем и каждому, публикуете онлайн, делаете его как можно более известным. Второй ключ, закрытый, всегда находится под вашим контролем.
Теперь любой может написать сообщение, которое можете прочитать только вы, зашифровав его вашим открытым ключом, а расшифровать его можно закрытым ключом, который есть только у вас. Если у шпиона есть копия вашего открытого ключа, то он также может отправлять вам секретные сообщения. Но он не сможет читать сообщения, отправляемые вам другими людьми, даже в том случае, если ему удается их перехватить, поскольку для этого нужен закрытый ключ.
Шифрование открытым ключом не только решает проблему безопасной коммуникации по каналам, которые просматриваются третьими лицами, но и решает проблему подтверждения вашей личности на большом расстоянии. Предположим, я хочу отправить сообщение незнакомцу и при этом дать понять, что оно отправлено именно мной. Я зашифровываю сообщение своим закрытым ключом, добавляю незашифрованную пометку о том, что оно зашифровано моим ключом, зашифровываю сообщение вместе с пометкой его открытым ключом – и отправляю. Он расшифровывает всё письмо своим закрытым ключом, читает пометку, а затем расшифровывает само сообщение, используя мой открытый ключ. Теперь он знает, что сообщение было зашифровано кем-то, кто знает закрытый ключ, соответствующий моему открытому ключу, следовательно, это сообщение от меня. В этом суть того, как работают цифровые подписи.
Предположим, что предполагаемый получатель не знает моего открытого ключа, но у него есть открытый ключ какой-то организации, которую мы оба считаем надежной, например, American Express, Католическая церковь или Фонд электронной свободы. Я иду в эту организацию, показываю им мой открытый ключ и документы, удостоверяющие личность. Они выписывают мне цифровой сертификат о том, что этот открытый ключ действительно принадлежит Дэвиду Д. Фридману, который преподаёт в университете Санта-Клары и является автором Механики свободы. Они подписывают мой ключ, используя свой закрытый. Я прикрепляю сертификат к подписанному сообщению и отправляю его. Получатель проверяет подпись на сертификате, используя открытый ключ, размещенный на дверях каждого офиса American Express. Теперь он знает мой открытый ключ. Если я не полностью доверяю American Express, я отправляю получателю отдельные сертификаты от полдюжины разных организаций. Если они поголовно не работают на Агентство национальной безопасности, то получатель может быть уверен в достоверности моей подписи.
Что если я хочу подтвердить не свою реальную личность, а личность в киберпространстве, доказать, что я та онлайн-персона, с которой он общался раньше? Эта персона ассоциируется с открытым ключом, который мой контрагент использует для шифрования отправляемых ей сообщений. Используя соответствующий закрытый ключ для подписи отправляемых моему собеседнику сообщений, я подтверждаю свою онлайн-личность,.
Как показывает этот пример, шифрование с открытым ключом не только делает возможным конфиденциальное общение, но и позволяет сочетать анонимность с репутацией. Вы можете иметь онлайн-личность со своей репутацией без необходимости сообщать кому бы то ни было, включая тех, кто имеет с этой онлайн-личностью дело, о том, кто вы, сколько вам лет или на каком континенте вы живёте.
Есть ещё два способа, с помощью которых потенциальный наблюдатель из налоговой службы или АНБ мог бы идентифицировать вас. Один из них – отследить, откуда приходят и куда отправляются ваши электронные письма. Другой способ, основанный на предположении, что вы участвуете в экономических операциях в сети – отслеживать денежные потоки.
Шифрование с открытым ключом даёт возможность контрмер. Против анализа трафика работает анонимный ремейлер. Вы шифруете своё сообщение открытым ключом предполагаемого получателя, добавляете пометку с его адресом электронной почты, шифруете всё вместе открытым ключом ремейлера и отправляете на адрес ремейлера. Ремейлер удаляет верхний уровень шифрования, читает адрес электронной почты и пересылает по нему сообщение. У него тысячи входящих и выходящих сообщений – они не могут быть сопоставлены, поскольку они отличаются одним уровнем шифрования. Даже сторонний наблюдатель, который может видеть каждое сообщение, его отправителя и получателя, не может связать первоначального отправителя с конечным получателем.
Что если ремейлер захвачен тем, от кого вы пытаетесь скрыть информацию? И для этой проблемы тоже есть решение. Адрес пересылки вашего письма это адрес не получателя, а другого ремейлера. При удалении верхнего уровня шифрования обнаруживается этот адрес и сообщение, зашифрованное открытым ключом второго ремейлера. Передайте ваше сообщение через десять ремейлеров к предполагаемому получателю, и если все десять не работают на одних и тех же плохих парней, то ни один наблюдатель не сможет связать отправителя с получателем.
Проблема онлайн-платежей может быть решена с помощью другого применения технологии шифрования – анонимных цифровых денег, технологии, разработанной голландским криптографом Дэвидом Чаумом. Это способ, с помощью которого один человек может произвести платеж другому, отправив ему сообщение, при этом ни одна из сторон не обязана знать личность другой, а хранящий деньги банк не знает ни того, ни другого. Достаточно заинтересованные и обладающие достаточными познаниями в математике читатели путём несложного поиска могут найти математическое описание. Для остальных я предлагаю рассмотреть более простую версию:
Простые анонимные электронные наличные
Я придумываю и записываю очень большое случайное число. Затем кладу этот номер и долларовую купюру в конверт, после чего отправляю его по почте в Первый Киберденежный банк (ПКД). ПКД может делать две вещи с деньгами, полученными таким образом:
- Если кто-то приходит в ПКД и показывает номер, он получает долларовую купюру, связанную с этим номером.
- Если ПКД получает сообщение, которое включает номер, связанный с долларовой банкнотой, которую он имеет на депозите, и указанием того, чтобы ПКД изменил его на новый номер, то он поменяет номер и опубликует факт транзакции без указания нового номера на общедоступной доске объявлений. Долларовая банкнота теперь будет связана с новым номером.
Алиса отправила в ПКД доллар, сопровождаемый номером 59372 (я упрощаю, на самом деле номер куда длиннее, чтобы другим было сложнее его угадать). Теперь она хочет купить у Билла цифровых картинок на один доллар, поэтому она отправляет ему свой номер по электронной почте. Билл шлёт емэйл в ПКД, записав в нём три номера: 59372, 21754 и 46629.
ПКД проверяет, есть ли у него доллар на депозите с номером 59372, он там есть. Он изменяет номер, связанный с этим долларовым счетом, на 21754, второе число Билла. Одновременно он публикует на общедоступной доске объявлений сообщение «транзакция с идентификатором 46629 прошла». Билл читает это сообщение, в котором говорится, что у Алисы действительно был депозит в долларах, и теперь он принадлежит ему, поэтому он отправляет ей емэйл с цифровыми картинками стоимостью в доллар.
У Алисы больше нет доллара, поскольку у ПКД больше нет доллара, связанного с номером, который она знает. Если она попытается потратить его снова, банк сообщит, что тратить ей нечего. У Билла теперь есть доллар, так как доллар, который Алиса первоначально отправила, теперь ассоциируется с новым номером, который знают только он и банк. Он находится в точно такой же ситуации, в которой находилась Алиса до сделки, теперь он может потратить доллар, купив что-либо у кого-то другого. Как и обычный бумажный доллар, электронный доллар переходит из рук в руки. В конце концов кто-то, к кому он пришёл, решает, что вместо этого ему нужен бумажный доллар; он берет свой номер, с которым теперь ассоциируется оригинальный доллар Алисы, приносит его в ПКД и обменивает его на долларовую купюру.
Может, это и примитивная схема, но она отвечает всем требованиям. Оплата производится путем отправки сообщения. Плательщику и получателю не нужно ничего знать о личности другого человека, кроме адреса, на который следует отправить сообщение с номером. Банку не нужно ничего знать ни об одной из сторон. Когда долларовая купюра впервые попала в банк, в письме уже не было имени, только идентификационный номер. Каждый раз, когда она переходила из рук в руки, банк получал электронное письмо, но не знал, кто его отправил. Даже если банк идентифицирует человека, который в конце концов приходит за долларом, он не может отследить по цепочке предыдущих владельцев доллара. Виртуальный доллар такой же анонимный, как бумажные доллары в моем кошельке.
Мир строгой конфиденциальности
Представьте себе, что всё это – шифрование с открытым ключом для общения и идентификации, сеть цифровых ремейлеров и какая-то форма анонимных цифровых наличных – широко используется. Далее предположим, что такие технологии, как виртуальная реальность, достаточно развиты, так что многие люди тратят большую часть жизни, взаимодействуя онлайн. В результате получается некий мир, киберпространство, с уровнем конфиденциальности, которого человечество ещё не знало.
Трудно обложить налогом то, чего не видишь. Если вы зарабатываете деньги в обычной реальности и тратите их онлайн, правительство может обложить налогом ваши доходы. Если вы зарабатываете деньги онлайн, но тратите их в обычной реальности, государство может обложить налогом ваши расходы. Если же вы зарабатываете деньги онлайн и тратите их онлайн, то и траты, и расходы оказываются невидимыми для налоговой.
Трудно регулировать то, чего не видишь. Предположим, я хочу продать юридическую консультацию, хотя не являюсь членом коллегии. Я создаю сайт, открытый ключ и онлайн-личность: Legal Eagle Online. Весь следующий год я создаю себе репутацию, предлагая юридические консультации бесплатно, притом качественные, в чём убеждаются те, кто их получил. Сделав себе имя, я начинаю брать деньги за консультации, цифровыми наличными. Я нарушаю правила государственного лицензирования адвокатской деятельности. Но, поскольку Коллегия адвокатов не знает, кто я и где живу, они никак не могут применить ко мне свои правила.
Обобщите эти примеры, и получится мир, в котором государство контролируют реальное пространство, но киберпространство остаётся безгосударственным.
Насилие и мошенничество: правоприменение в онлайн-анархии
Насилие, по большому счёту, в киберпространстве нереализуемо: пули по интернет-протоколам не передаются. Чтобы убить кого-то в обычной реальности, или хотя бы арестовать его, нужно знать, кто этот человек. Перед нами встаёт проблема мошенничества.
Рассмотрим вопрос контрактов. Например, я нанимаю вас для написания компьютерной программы. Если я заплачу авансом, я могу так и не получить программу. Если же вы авансом передадите код, рискуете остаться без оплаты. Проблема может решаться через институт репутации. Вы не начнёте кодить до оплаты, если с моей онлайн-личностью не связана история предшествующего соблюдения контрактов, репутация, которая окажется под ударом, если я откажусь платить за работу. И я, в свою очередь, отказываюсь платить вперёд, если у вас не будет схожей репутации.
Чтобы это работало, нам нужен способ, используя который, третья сторона, заинтересованная в дальнейшем сотрудничестве с одним из нас, могла бы сказать, кто из нас мошенник. Этот способ – арбитраж. Наш контракт, который мы подписали цифровой подписью при помощи своих закрытых ключей, включает открытый ключ арбитра, на которого мы оба согласились. Если возникает спор, то арбитр решает, кто из нас и что именно должен другому. Если проигравшая арбитраж сторона не платит, арбитр пишет своё заявление по этому поводу, подписывает его электронной подписью с помощью своего закрытого ключа и передает подписанный документ победившей стороне для размещения на веб-странице с именем другой стороны в нём. Любой, кто хочет проверить репутацию проигравшей стороны, запускает поиск, находит документ и обнаруживает, что этой стороне нельзя доверять, ибо она не исполняет решения арбитража, на который сама же и согласилась. Подлинность документа удостоверена цифровыми подписями. Всё, никаких других исследований не требуется.
Что если у обеих сторон нет репутации, которую они могли бы потерять? Они могут использовать репутацию третьей стороны, эскроу-агента. Каждый передаёт депозит эскроу-агенту и соглашается на то, что тот передаст эти деньги другой стороне, если так решит арбитр. Предлагаю читателям самостоятельно обдумать дальнейшие потенциальные проблемы и способы их решения.
На пороге будущего
Всё, что я описал выше, мы умеем делать уже несколько десятилетий. Шифрование с открытым ключом широко используется для защиты онлайн-коммерции, однако инфраструктура ещё не развилась до той точки, когда у каждого есть пара ключей, обычной практикой является идентификация реальной личности по открытому ключу, а большая часть онлайн-коммуникаций защищена сквозным шифрованием и цифровыми ремейлерами. Анонимные электронные наличные были предложены Чаумом в 1990 году, но до сих пор не существуют, вероятно, потому что для этого нужен надежный банк, банки жёстко регулируются, а существование анонимных электронных наличных устранит важный инструмент правоприменения.
Последнее может измениться благодаря внедрению другого вида электронных наличных – биткоина. Биткоин не просто не анонимный, это наименее анонимная форма денег, которая когда-либо существовала, поскольку каждая транзакция видна каждому держателю биткоинов. Но транзакции идентифицируются по учетной записи, а не по реальной личности, и, достаточно очевидно, как, добавив процедуры, аналогичные анонимным ремейлерам, разорвать связь между платежом и поступлением, преобразовав биткоин в полностью анонимную валюту. Его большое преимущество перед версией Чаума состоит в том, что он не требует доверенного эмитента. Читатели, интересующиеся подробностями, могут изучить их в интернете – развёрнутое объяснение заняло бы добрую половину ещё одной книги.
Проблемы, вызванные отсутствием остальной инфраструктуры, были наглядно продемонстрированы в 2013 году в публикациях Сноудена о деятельности Агентства национальной безопасности. Оно не только получало от операторов связи информацию о том, кто, кому и когда звонил, но и осуществляло крупномасштабный мониторинг онлайн-активности, частично в рамках ордеров, полученных по суду, частично методами, легальность которых зависит от секретных трактовок соответствующих законодательных актов, а отчасти средствами, которые, если верить докладу Сноудена, вообще не являются законными. Одна из особенностей уголовного права в США в настоящее время заключается в том, что возбуждать дела может только государство, а это весьма удобно для преступников, совершающих преступления, одобренные государством.
Широкое внедрение сквозного шифрования с открытым ключом и использование анонимных ремейлеров сделало бы невозможным большую часть того, что совершало АНБ, хотя оно всё ещё могло получить слабо защищённые закрытые ключи, например, через взлом компьютеров, на которых они хранились. Ни одна из известных мне систем безопасности не защищена от человеческих ошибок. Использование таких ошибок в прошлом было главным фактором успешного взлома.
Раскрытие деятельности АНБ усилило давление со стороны компаний и частных лиц в защиту конфиденциальности в интернете, но остаётся практическая проблема. Для большинства из нас шифрование электронной почты имеет смысл только в том случае, если большинство тех, с кем мы взаимодействуем, является частью сети открытых ключей, со своими парами ключей и необходимым программным обеспечением. Пока некому принимать, никто не будет передавать, а пока никто не передаёт, никто не готов к приёму. Ещё одна проблема состоит в том, что шифрование и анонимные ремейлеры защищают конфиденциальность только в том случае, если их использует много людей. А пока их мало, само использование этих методов означает риск попасть под подозрение, поскольку вам есть, что скрывать. Будущее с сильной приватностью в сети возможно, однако отнюдь не неизбежно.
В моей книге Несовершенное будущее, где я более подробно рассматривал эти вопросы, указывалась их связь с противоположной тенденцией: развитием слежки. Сочетание дешёвой видеозаписи, программного распознавания лиц и технологий обработки больших данных позволяет создать, и, видимо, уже создаёт то, что Дэвид Брин назвал «прозрачным обществом», мир, в котором всё происходящее в публичных местах записывается и доступно к поиску. Продвинемся чуть дальше, где уже доступны недорогие видеокамеры с размерами и аэродинамикой комаров, и прозрачность не будет уже ограничиваться только общественными местами.
Представьте себе будущее, в котором в киберпространстве будет больше, а в реальности меньше приватности, чем когда-либо знало человечество. То, насколько частным или публичным окажется этот мир, будет зависеть от вашей степени погружения в киберпространство и от того, насколько хорошо вы сможете защитить вашу связь с ним от наблюдателей в реальности. Бесполезно защищать почту сильным шифрованием, если видеокомар наблюдает, что вы набираете.
Добро пожаловать в будущее.
Эта глава посвящена Тиму Мэю, основателю списка рассылки шифропанков, где многие из этих вопросов были подняты и обсуждены ещё около двадцати лет назад, и Вернору Винджу, компьютерщику и писателю-фантасту, чей рассказ «Истинные имена», опубликованный в 1981 году, указал на возможности онлайн-анонимности.