Шифрование
Большинство тех, кто пользуется компьютерами (а в это число входят и представители «четвертой власти), привыкли думать, что четвертое разрешенное нам действие помимо «чтения», «записи» и «выполнения» – это «удаление».
Эта команда неизменно на стороне компьютерных пользователей. В самом компьютере она есть на клавиатуре, а в программном обеспечении – это опция, которая может быть выбрана из выпадающего меню. В выборе кнопки Delete есть какая-то окончательность и известное чувство ответственности. Иногда ящик так и подпрыгивает с двойной проверкой: «Вы уверены?» Если компьютер испытывает вас дважды, требуя подтверждения, кликните «Да»: это наполнит вас ощущением, что команда будет иметь важные последствия, порой она – даже крайнее решение.
Несомненно, так оно и обстоит в мире за пределами компьютерных систем, где силы вычеркивания и вымарывания исторически значили бескрайне много. И, как нам красноречиво показывали разнообразные деспоты в мировой истории, чтобы избавиться от документа, недостаточно уничтожить каждую его копию. Надо уничтожить саму память о нем, а это равносильно тому, чтобы уничтожить всех людей, которые его помнят, а также все копии документов, где был упомянут этот документ, и всех людей, которые помнят те, другие документы. И вот тогда, может быть тогда, он пропадет совсем.
Функция «удаления» появилась с самого начала цифровых вычислений. Инженеры понимали, что в мире неограниченных опций некоторые действия неизбежно будут ошибочными. Пользователи независимо от их технического уровня должны чувствовать уверенность в отношении того, что создали сами. Умение разрушить то, что создано, и начать с чистого листа – главнейшая функция, которая придает пользователю чувство собственной значимости, несмотря на то что он может быть зависим от «железа», которое не умеет ремонтировать, и программного обеспечения, которое не может изменить, и связан правилами платформ, которые принадлежат некой третьей стороне.
Задумайтесь, почему вы нажимаете кнопку Delete. На своем персональном компьютере вы, может быть, хотите избавиться от какого-то документа, на котором поставили крест, или когда-то скачали файл, который вам больше не нужен; или вы не хотите, чтобы кто-то знал, что вы пользовались этим файлом. В своей почте вы можете стереть письмо от бывшего любовника, о котором не желаете вспоминать или не хотите, чтобы ваша вторая половина это письмо увидела; или письмо с приглашением на оппозиционную акцию, которую вы посетили. На телефоне вы можете удалить всю историю мест, которые ваш телефон «посетил» вместе с вами; некоторые фотографии, видео и личные записи, которые он автоматически загрузил в «облако». В одно мгновение вы нажимаете Delete, и файл исчезает.
Правда, однако, в том, что процесс уничтожения технически никогда не существовал таким, как мы его себе представляем. «Удаление» одной кнопкой – это подвох, обман, распространенный вымысел, не вполне благородная ложь, которую вам говорит компьютер, чтобы ободрить и успокоить. Хотя уничтоженный файл исчезает с глаз долой, он редко исчезает совсем. В техническом отношении «удаление» – это просто разновидность команды среднего уровня доступа, как и «запись». Обычно, когда вы нажимаете Delete, уничтожая файл, его данные, валяющиеся где-то глубоко на диске, на самом деле остались нетронутыми. Эффективные современные операционные системы не предусмотрены для того, чтобы отправляться вглубь, во внутренности диска, чисто для того, чтобы там что-то стереть. А вместо этого компьютерная карта, указывающая, где хранится каждый файл (она назвается «файловой таблицей») переписывается, чтобы сказать: «Я больше не использую это место для чего-то важного». И это значит, что ваш удаленный файл, словно забытая книга в громадной библиотеке, еще может быть прочитан кем-то, кто хорошенько его поищет. Вы стерли только ссылку на него, а сам файл остался.
Это можно проверить на собственном опыте. В следующий раз, пока будете копировать файл, спросите себя, почему это так долго по сравнению с моментальным актом уничтожения. Ответ таков: удаление ничего не делает файлу, а только скрывает его. Проще говоря, компьютеры создавались не для того, чтобы исправлять ошибки, а чтобы их прятать – и прятать только от тех, кто не знает, где искать.
Убывающие дни 2012 года принесли зловещую новость: немногочисленные меры правовой защиты, запрещающие массовую слежку главными членами разведывательной сети «Пять глаз», более не существуют. Правительства Австралии и Соединенного Королевства предложили законопроекты по обязательной регистрации телефонов и интернет-метаданных. Первый раз демократические правительства публично признались в стремлении установить своеобразную «машину времени» слежки, которая позволит им повернуть вспять события жизни любого человека на месяцы, а то и годы назад. Я увидел трансформацию так называемого «Западного мира»: из создателя и защитника свободного Интернета он превратился в его будущего разрушителя. Хотя эти законы и имели оправданием общественную безопасность, они представляли собой вопиющее вторжение в повседневную жизнь невиновных граждан – и даже граждан других стран, которые считали, что за ними слежки нет (вероятно, потому, что их правительства предпочли держать этот факт в тайне).
Эти общественные инициативы раз и навсегда доказали, что естественного союза между технологией и органами власти быть не может. Разрыв между моими двумя странно взаимосвязанными общностями – американским разведсообществом и глобальным племенем IT-специалистов – стал окончательным. В самом начале своей службы в разведке я еще мог примирить эти две культуры между собой. Я существовал где-то на периферии между своей шпионской работой и обычными «технарями» в Интернете, каждый из которых, от хакеров-анархистов до вполне «академических» Tor-специалистов, помогал мне развиваться профессионально и вдохновлял по части политики. Я годами обманывал себя, что мы находимся на одной стороне истории: защищаем Интернет, поддерживаем его свободу слова и свободу от страха. Однако больше я не был в силах обманывать себя. Мое правительство, оно же мой работодатель, теперь стало моим противником. То, что всегда подозревали эти ребята, подтвердилось, а я не мог им об этом сказать. Пока не мог.
Что я мог все-таки сделать – начать им помогать, покуда это не подвергало опасности мои планы. Так я и оказался в Гонолулу, прекрасном городе, к которому раньше не испытывал особенного интереса – в качестве одного из гостей и учителей на КриптоВечеринке. Это новый вид неофициальных встреч, изобретенный «снизу» международным криптологическим движением, в котором на волонтерских началах принимали участие технические специалисты. Бесплатно они проводили лекции на тему цифровой самозащиты – показывая, главным образом, как обеспечить безопасность своих коммуникаций. Во многих отношениях это была та же тема, которую я преподавал в Объединенной академии подготовки контрразведчиков (JCITA), поэтому я ухватился за возможность принять участие.
Вы можете ужаснуться, что я повел себя неосмотрительно, учитывая, чем я занимался все это время. Но этот поступок лишь показал, насколько сильно я верю в методы шифрования, которые преподавал. Это те самые методы, которые защищали дома мой диск, полный свидетельств о злоупотреблениях разведсообщества, – на нем стоял такой замок, который не по зубам самому АНБ. Я знал, что любого числа документов и публикаций о массовой слежке недостаточно: людям нужны инструменты для защиты себя, и им нужно знать, как ими пользоваться. Поскольку я также пытался передать эти инструменты журналистам, я сильно переживал, что мой подход стал слишком техническим. После такого количества часов преподавания коллегам возможность рассказать предмет в упрощенном виде пойдет на пользу мне самому не меньше, чем публике. А если честно, я скучал по лекциям. Прошел уже год, как я стоял перед классом, и в тот момент, когда я вновь вернулся к преподаванию, я осознал, что все время преподавал правильные вещи «неправильным» людям.
Когда я говорю о «преподавании», то не имею в виду школы разведсообщества или брифинги агентств. КриптоВечеринка проводилась в единственном зале галереи искусств, по соседству с мебельным складом и коворкингом. Пока я настраивал проектор, чтобы показать слайды со схемами работы Tor-сервера и рассказать, как он был бы полезен, например, жителям Ирана, а еще и жителям Австралии, Соединенного Королевства и Штатов, – мои слушатели начали заполнять зал. То была разношерстная группка незнакомцев, а также несколько человек, с которыми я до этого общался только в Интернете. Всего я насчитал человек двадцать, пришедших в тот декабрьский вечер, чтобы послушать выступления меня и моей содокладчицы Руны Сандвик – блестящей молодой специалистки по технологии Tor из Норвегии. (Позднее Руна станет Старшим директором по информационной безопасности в «Нью-Йорк таймс», и газета будет спонсировать ее следующие КриптоВечеринки.) Что объединяло нашу аудиторию, так это не интерес к Tor и даже не страх, что за тобой наблюдают, – а желание восстановить утраченный контроль над личным пространством и собственной жизнью. Присутствовали бабушки и дедушки, зашедшие прямо с улицы, местный журналист, освещавший гавайское движение Occupy! и женщина, ставшая жертвой порномести. Я также пригласил несколько коллег из АНБ, надеясь вовлечь их в это движение и продемонстрировать, что я не скрываю свои связи от агентства. Пришел только один: сел сзади и, расставив ноги и скрестив на груди руки, все время ухмылялся.
Я начал свою презентацию с обсуждения иллюзорности функции «удаления», цель которой – полностью стереть информацию – никогда не достигается. Толпа поняла это моментально. Я продолжил объяснения, рассказав, что в лучшем случае данные, видеть которые никто не должен, надо просто перезаписать: «замаскировать» сверху случайными или как бы случайными записями, которые скроют первоначальный текст. Но я предостерег, что даже этот подход имеет свои недостатки. Всегда существует вероятность, что ваша операционная система, не оповещая, спрячет копию файла, который вы рассчитывали уничтожить, в какой-нибудь временный уголок для хранения, о чем вы даже не узнаете.
В этом случае я предложил использовать криптографическую защиту.
Функция стирания – это мечта того, кто осуществляет слежку, и кошмар для того, за кем следят, но шифрование должно быть данностью для них обоих. Это единственная действенная защита против слежки. Если все ваши жесткие диски зашифрованы, ваши недоброжелатели не смогут копаться в уничтоженных вами файлах или где-либо еще – пока у них не будет ключа шифрования. Если все электронные письма в вашей папке входящих сообщений зашифрованы, Google не может их просматривать, чтобы составить ваш «портрет», пока не будет иметь ключа шифрования. Если все ваши коммуникации проходят по враждебным австралийским, британским, американским, китайским или российским сетям, шпионы их не прочтут до тех пор, пока у них не будет ключа шифрования. Определяющий принцип шифрования – вся власть у того, у кого есть ключи.
Шифрование работает, объяснил я, посредством алгоритмов. «Алгоритм шифрования» – звучит устрашающе и выглядит так же, но сам концепт примитивен. Это математический метод, который трансформирует вашу информацию (электронные письма, телефонные звонки, фото, видео и другие файлы) таким образом, что она становится недоступной всякому, кто не имеет ключа шифрования. Можете представить современный алгоритм шифрования как волшебную палочку, который вы взмахнете над документом, превратив каждую букву в язык, на котором читаете только вы и те, кому вы доверяете. Ключ шифрования – как волшебные слова заклинания: именно они приводят волшебную палочку в действие. Не важно, сколько человек знают о вашей волшебной палочке, пока вы скрываете слова заклинания от тех, кому не доверяете.
«Алгоритмы шифрования» в основе своей – математические задачи, решение которых должно быть невероятно сложным даже для компьютера. Ключ шифрования – это подсказка, которая помогает компьютеру решить конкретный набор математических задач, которые использованы в шифре. Вы помещаете читаемые данные, именуемые «простым» или «открытым» текстом, в один конец алгоритма шифра, а на выходе получите невразумительную абракадабру, называемую криптотекстом. Если кто-нибудь захочет прочитать криптотекст, им нужно перевернуть его обратно, но только – что очень важно – правильным ключом. Тогда вновь всплывает изначальный «открытый текст». Разные алгоритмы обеспечивают разные уровни защиты, а безопасность ключа шифрования часто основывается на его длине, что определяет уровень сложности математической задачи, которая лежит в основе алгоритма. В алгоритмах, которые коррелируют с более длинными ключами, сложность загадки нарастает по экспоненте. Если мы представим себе, что злоумышленнику нужны сутки, чтобы взломать 64-битный алгоритм шифрования – который кодирует ваши данные одним из 264 уникальных вариантов (18,446,744,073,709,551,616 – уникальные комбинации цифр), то ему понадобится вдвое больше времени, двое суток, чтобы взломать 65-битный алгоритм шифрования, и четверо суток, чтобы добраться до 66-битного ключа. А чтобы взломать 128-битное шифрование, потребуется в 264 раза больше времени, чем сутки, – это 50 миллионов миллиардов лет. К тому времени, меня, надеюсь, простят.
Общаясь с журналистами, я пользовался 4096– и 8192-битными ключами шифрования. А это означало, что даже криптоаналитики АНБ при совокупной мощи всех своих машин не смогли бы забраться в мои диски – ввиду отсутствия крупных инноваций в вычислительных технологиях или фундаментального переосмысления принципов, по которым числа разлагаются на множители. Поэтому шифрование – самый лучший инструмент для противодействия слежке в любой ее форме. Если все наши данные, включая личные контакты, были бы зашифрованы подобным способом, от отправителя до получателя, ни одно правительство, ни одно ведомство, мыслимое сегодня, не смогло бы ничего в них понять. Правительство может продолжать перехватывать и накапливать сигналы, но оно будет перехватывать и накапливать ничего не значащий шум. Шифрование наших коммуникаций поможет стирать их из памяти любого, с кем мы общались. Оно отзовет право их просматривать тем, кому это право изначально не выдавалось.
У каждого правительства, рассчитывающего получить доступ в зашифрованные коммуникации, есть два варианта выбора: идти к хранителю ключей или идти за самим ключом. Первый случай подразумевает давление на специалистов по криптографии с тем, чтобы они продавали поддельные ключи шифрования; или давление на криптографическое сообщество, чтобы встроить в алгоритмы шифрования намеренные дефекты, которые оставляют возможность секретных точек входа – иначе «бэкдоры». Второй вариант подразумевает целенаправленные атаки на конечные точки коммуникаций, на аппаратное и на программное обеспечение, которое осуществляет процесс шифрования. Это подразумевает эксплуатацию уязвимостей, которые ищут, чтобы украсть ваши ключи – техника, которая раньше использовалась злоумышленниками, но теперь взятая на вооружение крупными государственными структурами. Но даже и этот способ пагубен, так как предполагает создание разрушительных дыр в кибербезопасности важнейшей международной инфраструктуры.
Лучшие средства, которые у нас есть, чтобы держать ключи в недосягаемости, – это «zero knowledge», так называемое «нулевое разглашение». Оно гарантирует, что данные, которые вы пытаетесь хранить отдельно – например, на облачной платформе компании, – зашифрованы алгоритмом вашего устройства до того, как были загружены и ключ никому не передавался. В схеме «нулевого разглашения» ключи остаются в руках пользователя – и только у него. Никакой компании, никакому агентству, никакому врагу они не достанутся.
Мой ключ к секретам АНБ идет дальше «нулевого разглашения»: это ключ с нулевым разглашением, состоящий из множества нулевых разглашений. Представьте такую ситуацию: допустим, в конце моей лекции на КриптоВечеринке я стоял у выхода, а все двадцать слушателей проходили мимо. Теперь вообразите, что, когда каждый из них через дверь выходил в ночной Гонолулу, я каждому шепнул на ухо словечко – лишь одно слово, которое больше никто не услышал, а повторить эти слова они могут, только снова собравшись вместе в этой же комнате. Только собрав снова два десятка человек и заставив повторить их слова в том же самом порядке, как я их раздал вначале, можно собрать заново заклинание из двадцати слов. Если кто-то из них забыл свое слово или порядок их воспроизведения будет чуть-чуть иным, заклинание не подействует, волшебства не случится.
Мои ключи к диску с секретными данными напоминали этот прием, но с одной маленькой уловкой: раздавая по кусочку свое заклинание, я один оставил себе. Фрагменты моего волшебного заклинания могут быть спрятаны повсюду, но стоит мне разрушить хотя бы один, тот, что я припас для себя, как будет разрушен и доступ к тайнам АНБ – навечно.