В любом случае у вас нулевая конфиденциальность. Смиритесь.
Техника сейчас развилась до такой степени, что позволяет осуществлять повсеместное наблюдение, которое раньше могли себе представить только фантасты с невероятным воображением.
Цифровые технологии принесли нам огромные преимущества, и без них наша жизнь ощущалась бы намного более скудной. В то же время их использование негативно сказалось на нашей безопасности и неприкосновенности частной жизни, причем ситуация только ухудшается. Некоторые нарушения конфиденциальности связаны с интернетом и приложениями, которые он поддерживает. Другие появились просто как побочный эффект того, что устройства стали меньше, дешевле и быстрее. Увеличились их вычислительная мощность, емкость хранилища и пропускная способность. Все вместе дало возможность с легкостью собирать и хранить личную информацию из многих источников, эффективно агрегировать и анализировать ее, а также широко распространять, к тому же с минимальными затратами.
Согласно одному определению, конфиденциальность — это право и возможность не раскрывать аспекты своей личной жизни другим людям. Мне бы не хотелось, чтобы правительство или компании, с которыми я взаимодействую, знали, что я покупаю, с кем общаюсь, где путешествую, какие книги читаю и как развлекаюсь в свободное время. Все это касается только меня, и раскрывать что-либо посторонним возможно лишь с моего недвусмысленного согласия. Дело не в том, что у меня есть постыдные секреты – во всяком случае, их не больше, чем у среднестатистического человека. Но мне нужна уверенность в том, что сведения о моей жизни и привычках не передаются на сторону, особенно коммерческим компаниям, стремящимся продать мне свои товары, или правительственным структурам, пусть даже с самыми благими намерениями.
Люди иногда говорят: «Мне все равно, мне нечего скрывать». Это наивно и глупо. Вы хотите, чтобы любой случайный человек мог увидеть ваш домашний адрес, номера телефонов, налоговые декларации, электронные письма, кредитную историю, медицинские карты, все места, по которым вы ходили или ездили на машине, а также то, с кем вы обменивались телефонными звонками и переписывались? Маловероятно. Но есть возможность, что вся эта информация (кроме, предположительно, налоговых деклараций и медицинских записей) уже доступна брокерам данных, готовым продавать ее.
Правительство использует слово «безопасность» в значении «национальная безопасность», то есть оборона страны как единого целого от таких угроз, как террористические атаки и действия других государств. Корпорации применяют тот же термин, говоря о защите своих активов от преступников и иных компаний. Для частных лиц она часто отождествляется с конфиденциальностью: трудно чувствовать себя в безопасности, если большинство аспектов вашей личной жизни широко известны или их легко выяснить. Интернет оказал особенно значительное влияние на нашу личную безопасность (скорее даже на финансовую, чем на физическую), поскольку он облегчил сбор персональных сведений из разных мест и впустил в нашу жизнь «электронных злоумышленников».
Если вас заботят вопросы личной конфиденциальности и безопасности в Сети, крайне важно, чтобы вы превосходили большинство людей в уровне технических знаний. Если вы изучите основы, вам будет намного легче справиться со сложностями. В главе 10 мы рассмотрели конкретные способы того, как просматривать веб-страницы и пользоваться смартфоном без вреда для себя. Далее мы изучим более обширные контрмеры, которые можно предпринять, чтобы замедлить вторжение в частную жизнь и повысить свою безопасность. Однако это большая тема, так что здесь рассматривается только ее часть.
13.1. Криптография
Криптография, искусство «секретного письма» или «тайнописи», – во многих отношениях наша лучшая защита от посягательств на частную жизнь. Если применять это средство правильно, оно оказывается удивительно гибким и мощным. К сожалению, создание хороших шифров – также сложное и тонкое дело, поэтому их слишком часто вскрывают из-за человеческих ошибок.
На протяжении тысячелетий к криптографии прибегали для обмена частной информацией с другими сторонами. Юлий Цезарь использовал простую схему шифрования (представьте себе, ее называют «шифром Цезаря»), сдвигая буквы в тайных посланиях на три позиции, так что А превращалось в D, В – в Е и так далее. Сообщение HI JULIUS кодировалось бы как KL MXOLXV. Этот алгоритм можно встретить в программе rotl3, которая сдвигает буквы на 13 позиций. Он применяется в телеконференциях, чтобы скрыть спойлеры и оскорбительные материалы от случайных просмотров, а не для каких-либо криптографических целей. (Подумайте, почему смещение на 13 знаков удобно для текстов на английском языке.)
Тайнопись имеет долгую историю, часто красочную и иногда опасную для тех, кто надеялся сохранить свои секреты благодаря шифрованию. Так, в 1587 году Мария Стюарт, королева Шотландии, лишилась головы из-за некачественной криптографии. Она обменивалась посланиями с заговорщиками, которые хотели свергнуть Елизавету I и посадить Марию на трон. Их шифр взломали, заговор и имена его участников раскрыли с помощью атаки через посредника. Их ждала такая судьба, что обезглавливание в сравнении с ней выглядит гуманным155. В 1943 году адмирал Исороку Ямамото, главнокомандующий Объединенным флотом Японии, погиб из-за того, что криптографическая система империи оказалась недостаточно надежной. Американская разведка узнала планы полета Ямамото, а пилоты смогли сбить его транспортник. Также утверждается, хотя и не везде признается, что Вторая мировая война продлилась значительно меньше, чем могла бы, потому что Британия, полагаясь на вычислительные методы и знания Алана Тьюринга, смогла разгадать код в немецких военных сообщениях, зашифрованных с помощью машины «Энигма» (рис. 13.1).
Рис. 13.1. Немецкая шифровальная машина «Энигма»156
Основная идея криптографии заключается в том, что Алиса и Боб хотят переписываться, но так, чтобы злоумышленники не разгадали содержимое посланий, даже если сумеют прочесть их. В таком случае Алисе и Бобу нужен какой-то общий секрет для кодирования и расшифровки сообщений, чтобы они понимали смысл текста, а посторонние – нет. Такой секрет называется ключом. В шифре Цезаря, например, его роль играет промежуток, на который сдвигается алфавит, – например, 3 для замены A на D, и так далее. Для такого сложного механического шифратора, как «Энигма», ключ – это комбинация расположения нескольких кодовых колес и подключения набора штекеров. А для современных компьютерных систем шифрования ключ выглядит как большое секретное число, используемое в алгоритме. Тот преобразует биты сообщения таким образом, что их невозможно раскодировать, если не знать это число.
Атаки на алгоритмы криптографии ведутся разными способами. Частотный анализ, то есть подсчет встречаемости каждого символа, хорошо работает для шифра Цезаря и простых подстановочных шифров в журнальных ребусах. Чтобы защититься от него, алгоритмы должны обеспечить одинаковую встречаемость для всех символов и исключить шаблоны для анализа в зашифрованном виде. Другая атака может заключаться в эксплуатации уязвимости известного открытого текста, то есть сообщения, про которое известно, что потом его зашифровали целевым ключом. Также возможны атаки на основе подобранного открытого текста, когда выбранные сообщения прогоняют через алгоритм с целевым ключом. Хороший алгоритм должен успешно противостоять всем подобным нападениям.
Нужно исходить из того, что злоумышленники знают, какая криптографическая система используется, и отлично разбираются в ней, поэтому всю защиту следует обеспечивать ключом. Если же мы будем думать, что противнику неизвестно, какая схема применяется и как она работает (то есть полагаться на безопасность через неясность), то пожалеем об этом или сразу, или довольно скоро. Соответственно, если кто-нибудь говорит вам, что их криптосистема полностью надежна, но не сообщает, как она устроена, будьте уверены – она ненадежна.
В данной области жизненно необходима открытая разработка. Для поиска уязвимостей в криптосистемах нужны опыт и навыки как можно большего количества экспертов. Но даже тогда будут сомнения, что система в порядке. Спустя долгое время после первоначальной разработки и анализа может проявиться уязвимость на уровне алгоритма. В коде, вставленном случайно или злонамеренно, вылезут ошибки. Кроме того, порой предпринимаются осознанные попытки ослабить криптосистемы – как в том случае, когда АНБ пыталось определить принципиальные параметры одного генератора случайных чисел, используемого в важном стандарте шифрования157.
13.1.1. Криптография с секретным ключом
Сегодня используются два принципиально разных вида систем шифрования. Более старая обычно называется криптографией с секретным ключом (КрСК), или симметричной (с симметричным ключом). Такое название более информативно, поскольку здесь для шифрования и дешифрования используется один и тот же ключ. С другой стороны, вариант «секретный ключ» лучше контрастирует с названием нового вида тайнописи – криптографии с открытым ключом (КрОК), о которой мы поговорим в следующем разделе.
В КрСК сообщение шифруется и дешифруется одним и тем же секретным ключом, который должны знать все стороны, участвующие в обмене посланиями. Предположим, что алгоритм полностью понятен и не имеет изъянов или слабых мест. Тогда единственным способом декодировать сообщение станет атака методом «грубой силы», когда нужно перепробовать все возможные
секретные ключи, подбирая тот, что применялся для шифрования. Времени может уйти много: если ключ содержит N бит, объем работ будет примерно пропорционален 2N. Однако «грубая сила» не то же самое, что «тупая». Злоумышленник будет пробовать сначала короткие и вероятные ключи, а потом длинные и маловероятные. Например, в атаке по словарю перебираются широкоупотребимые слова и сочетания чисел, такие как «пароль» и «12345». Если люди поленились или небрежно отнеслись к выбору ключей, то такое нападение окажется успешным.
До начала 2000-х годов самым распространенным криптографическим алгоритмом с секретным ключом был Data Encryption Standard[134], или DES, разработанный IBM и АНБ в начале 1970-х. Существовали подозрения, что АНБ тайно встроила в него лазейку, бэкдор, чтобы зашифрованные по DES сообщения удавалось быстро раскодировать, но это так и не подтвердилось158. Так или иначе, DES давал 56-битный ключ, поэтому, когда ЭВМ стали быстрее, он показался слишком коротким. К 1999 году ключ DES получалось взломать методом перебора за день вычислений с помощью сравнительно недорогого компьютера специального назначения. Это привело к созданию новых алгоритмов с более длинными ключами.
Самый распространенный из них – Advanced Encryption Standard[135], или AES. Его разработали в рамках всемирного открытого конкурса, спонсируемого Национальным институтом стандартов и технологий США (НИСТ). Там представили несколько десятков алгоритмов co всего мира, причем все они открыто тестировались и обсуждались. Победителем стал Rijndael, созданный бельгийскими криптографами Йоаном Даменом и Винсентом Райменом, после чего в 2002 году его приняли как официальный стандарт правительства США. Это общедоступный алгоритм, то есть любой желающий вправе использовать его без лицензий или сборов. AES поддерживает три длины ключей: 128, 192 и 256 бит. Значит, потенциальных ключей много, и атаки «грубой силой», скорее всего, не будут иметь смысла еще долгие годы, разве что найдется какое-нибудь слабое место AES.
Давайте даже посчитаем для наглядности. Если специализированный процессор, такой как GPU, способен выполнять 1013 операций в секунду, то миллион графических процессоров производят 1019 операций в секунду, или около 3 × 1026 в год, что составляет примерно 290. Это значение намного меньше, чем 2128, так что даже 128-битный ключ наверняка защищен от атаки методом перебора.
Серьезная проблема с AES и другими КрСК – распространение (раздача) ключей. Каждому участнику общения нужно знать ключ, поэтому требуется безопасный способ его получения. Иногда достаточно просто пригласить всех к себе домой на ужин, но если общение ведется с агентами или инакомыслящими, которые действуют во враждебной среде, надежного и безопасного канала для отправки секретного ключа может и не найтись. Еще одна проблема – пролиферация (рост количества) ключей: чтобы вести независимые секретные беседы с не связанными между собой партнерами, вам нужен отдельный ключ для каждой группы, что еще больше усложняет проблему их раздачи. Такие ограничения привели к разработке криптографии с открытым ключом, которую мы сейчас и обсудим.
13.1.2. Криптография с открытым ключом
Системы КрОК работают по совершенно иному принципу, выведенному в 1976 году Уитфилдом Диффи и Мартином Хеллманом в Стэнфорде при использовании некоторых идей Ральфа Меркла. В 2015-м Диффи и Хеллман получили премию Тьюринга за свое достижение. Правда, на несколько лет раньше них данный принцип независимо обнаружили Джеймс Эллис и Клиффорд Кокс – два криптографа из британского разведывательного управления GCHQ[136]. Но их работу не рассекречивали вплоть до 1997 года, поэтому они не могли опубликовать результаты, а иначе удостоились бы куда больших почестей.
В КрОК у каждого пользователя есть пара (согласованных) ключей, состоящая из открытого и закрытого ключа. Они математически связаны: сообщение, закодированное одним ключом из этой пары, можно декодировать только вторым ключом – и наоборот. Если ключи достаточно длинные, преступники не сумеют ни провести расчеты для дешифровки сообщения, ни логически вывести секретный ключ из открытого. Таких вычислительных мощностей нет. Наиболее известные алгоритмы, доступные злоумышленнику, потребуют времени выполнения, которое будет расти экспоненциально с увеличением длины ключа.
На практике открытый ключ действительно общедоступен: им может воспользоваться каждый, и часто он размещается на какой-нибудь веб-странице. Секретный же должен храниться в строгой тайне, чтобы его знал только владелец этой пары ключей.
Предположим, что Алиса хочет отправить Бобу сообщение, зашифрованное так, чтобы только Боб мог его прочитать. Она переходит на веб-страницу Боба и берет его открытый ключ, которым затем кодирует свое послание. Когда она отсылает зашифрованное сообщение, соглядатай Ева может увидеть факт отправки, но, поскольку текст закодирован, она не сумеет прочесть его159.
Боб расшифровывает послание Алисы с помощью своего секретного ключа, который известен только ему. Это единственный способ прочитать сообщение, закодированное посредством его открытого ключа (см. рис. 13.2). Если он хочет отправить зашифрованный ответ Алисе, он использует открытый ключ Алисы. И снова Ева может увидеть письмо, но только в кодированном виде, нечитаемом для нее. Алиса же расшифрует ответ Боба своим секретным ключом, который знает только она.
Рис. 13.2. Алиса отправляет Бобу зашифрованное сообщение
На этой схеме проблема раздачи ключей решена, потому что нет общих секретов, которые нужно передавать друг другу. У Алисы и Боба есть соответствующие открытые ключи на веб-страницах, и любой желающий может вести с ними личную переписку, ни о чем предварительно не договариваясь и не обмениваясь никакими секретными кодами. Сторонам не нужно даже встречаться лично. Конечно, если Алиса хочет отправить одно и то же зашифрованное сообщение Бобу, Карлу и другим, она должна закодировать их отдельно для каждого получателя, используя соответствующий открытый ключ.
КрОК – важнейший компонент безопасной коммуникации в интернете. Предположим, что я решил купить книгу онлайн. Мне нужно указать на сайте Amazon номер моей кредитной карты, но я не хочу вводить его открыто, поэтому нам нужен зашифрованный канал связи. Мы не можем сразу использовать AES, поскольку у нас нет общего ключа. Чтобы обеспечить его, мой браузер генерирует случайный временный ключ. Затем он использует открытый ключ Amazon для шифрования самого временного ключа и безопасно пересылает его магазину. Amazon с помощью своего открытого ключа декодирует временный ключ. Теперь Amazon и мой браузер применяют общий временный ключ для AES-шифрования информации – номера моей карты.
У КрОК есть недостаток: ее алгоритмы работают на несколько порядков медленнее алгоритмов с секретным ключом (таких как AES). Поэтому вместо шифрования всех данных открытым ключом используется двухэтапный метод: сначала для получения временного секретного ключа применяется открытый, а затем, для передачи большого объема данных, используется уже AES.
Связь защищенанакаждом этапе: сначалабезопасность обеспечивает открытый ключ для настройки временного ключа, а потом, при обмене основной информацией, AES. Посещая интернет-магазины, сетевые почтовые сервисы и большинство других сайтов, вы применяете этот механизм. И вы знаете, когда он действует, так как браузер показывает, что вы соединены по HTTPS-протоколу (безопасному HTTP). Программа отображает значок в виде закрытого замка, указывающий, что подключение зашифровано.
Большинство веб-сайтов теперь используют HTTPS по умолчанию. Это может замедлить транзакции, но ненамного, а вот дополнительная безопасность точно не помешает, даже если для того, что вы делаете на странице, вам не нужен конфиденциальный обмен данными.
У криптографии с открытым ключом есть и другие полезные свойства. Например, ее можно использовать в электронной цифровой подписи. Предположим, Алиса хочет подписать сообщение, чтобы получатель был уверен, что оно пришло от нее, а не от мошенника. Если она зашифрует послание своим секретным ключом (СК) и отправит результат, то любой сможет прочитать его с помощью ее открытого ключа. А если СК Алисы обладает только она сама, значит, сообщение могла закодировать только она. Очевидно, это не сработает в том случае, если ее СК попал не в те руки.
Давайте посмотрим, как Алиса обрабатывает личное послание для Боба, чтобы его никто больше не мог прочитать, а адресат не сомневался, что оно пришло от нее. Алиса сначала подписывает сообщение Бобу своим СК, затем шифрует всё вместе открытым ключом адресата. Ева может заметить, что Алиса что-то отправляет Бобу, но декодировать послание сумеет только Боб. Он расшифровывает «внешнее» сообщение своим секретным ключом, а «внутреннее» – открытым ключом Алисы и так удостоверяется, что письмо от нее160.
КрОК, конечно, не решает все задачи. Если секретный ключ Алисы раскроют, то посторонние смогут прочесть все ее сообщения, отправленные ранее, а ее подписи будут вызывать подозрение. Отозвать ключ (то есть объявить, что он больше не действителен) сложно, хотя в большинстве схем создания ключа в него добавляются сведения о дате генерации и сроке окончания его действия. Но тут помогает техника прямой секретности. Каждое отдельное сообщение шифруется разовым паролем, как описано выше, а затем пароль очищается. Если разовые пароли сгенерированы так, что злоумышленнику не удастся их воссоздать, то, даже узнав пароль для одного послания и взломав секретный ключ, он не сумеет расшифровать предыдущие или будущие сообщения.
Наиболее широко используемый алгоритм с открытым ключом называется RSA – по первым буквам фамилий Рональда Ривеста, Ади Шамира и Леонарда Адлемана (Rivest, Shamir, Adleman), ученых-информатиков из МТИ, которые изобрели его в 1978 году. Математическая основа RSA – сложность разложения больших составных чисел[137] на множители. В RSA генерируются большие целые числа, состоящие как минимум из 500 десятичных цифр. Получают их перемножением двух больших простых чисел, каждое из которых примерно вдвое короче произведения. Полученные числа затем используются в качестве основы для открытого и секретного ключей. Тот, кто знает множители («держатель секретного ключа»), сможет быстро расшифровать сообщение, а вот другим, по сути, придется раскладывать на множители большое целое число. Считается, что при нынешней скорости вычислений это невозможно. За изобретение алгоритма RSA его создатели в 2002 году получили премию Тьюринга.
Важное значение имеет длина ключа. Насколько нам известно, объем работы по вычислению множителей большого простого числа, которое равно произведению двух простых чисел примерно одинакового размера, быстро растет при увеличении их длины, поэтому решение данной задачи невозможно. RSA Laboratories, компания-правообладатель патента на RSA, с 1991 по 2007 год проводила конкурс по разложению на множители. Она публиковала списки составных чисел, всякий раз увеличивая их длину, и предлагала денежный приз первому, кто справится с задачей. Наименьшие числа состояли примерно из 100 десятичных цифр, и их разложили довольно быстро. Когда конкурс закончился в 2007 году, самое длинное из разложенных чисел насчитывало 193 цифр (640 бит), а приз составлял 20 тысяч долларов. Известно, что в 2019 году удалось разложить на множители RSA-240 (240 цифр, 795 бит). Если хотите испытать себя, то список все еще можно найти в Сети.
Поскольку алгоритмы с открытым ключом работают медленно, документы часто подписываются опосредованно, с использованием гораздо меньшего значения, но выведенного на основе оригинального таким способом, что его невозможно подделать. «Укороченное» значение называется профилем сообщения или криптографическим хешем. Алгоритм зашифровывает биты любого ввода в последовательность битов фиксированной длины – профиль или хеш – с тем условием, что путем вычислений фактически невозможно найти другой ввод с таким же профилем. Более того, малейшая коррекция входных данных изменяет примерно половину битов в хеше. Значит, если сравнить текущий профиль (или хеш) документа с первоначальным, мы сможем установить, не сфальсифицировано ли содержимое.
Вот наглядный пример: в ASCII буквы × и X отличаются на один бит, то есть в шестнадцатеричном формате они представлены как 78 и 58, а в двоичном как 01111000 и 01011000. Ниже приведены их криптографические хеши, для получения которых использовался алгоритм под названием MD5. Первая строка – это первая половина хеша х, а вторая строка – первая половина хеша X. Соответственно, третья и четвертая строки – вторые половины. Даже вручную легко подсчитать, на сколько битов они отличаются (66 из 128), но я сделал это с помощью программы.
С помощью вычислений фактически невозможно найти еще один ввод, для которого будут составлены точно такие же хеши, а также нет способа перейти обратно от хеша к первоначальным данным.
Несколько хеш-алгоритмов стали широко использоваться. Показанный выше MD5 разработан Роном Ривестом и выдает 128-битный результат. SHA-1 от НИСТ формирует 160 бит. Со временем выяснилось, что MD5 и SHA-1 имеют слабые места, поэтому они вышли из употребления. А вот в алгоритме SHA-2, разработанном АНБ, пока не обнаружено уязвимостей. Впрочем, НИСТ все равно провел открытый конкурс – аналогичный тому, в результате которого появился AES, – чтобы создать новый алгоритм криптографического хеширования. В 2015 году выбрали победителя, ныне известного как SHA-3. Он, как и SHA-2, создает хеши в диапазоне от 224 до 512 бит.
Хотя современная криптография обладает удивительными свойствами, на практике все еще требуется обращение к доверенной третьей стороне. Например, как мне убедиться, что, заказывая книгу, я общаюсь с Amazon, а не с изощренным мошенником? Когда я захожу на сайт магазина, тот идентифицирует себя, отправляя сертификат — набор информации с цифровой подписью от независимого центра сертификации, с помощью которого можно подтвердить истинность страницы. Мой браузер проверяет его с помощью открытого ключа центра сертификации и устанавливает, что он принадлежит Amazon, а не кому-то другому. В теории, если некий контрольный орган верифицировал Amazon, я могу не сомневаться, что все хорошо.
Но тогда я должен доверять центру сертификации. Ведь если они мошенники, то я не вправе верить никому, кто с ними сотрудничает. Например, в 2011 году неизвестный хакер взломал DigiNotar, один из контрольных органов в Голландии, что позволило ему создать поддельные сертификаты ряда сайтов, включая Google. Если бы подложная страница прислала мне сертификат, подписанный DigiNotar, я принял бы ее за настоящий Google.
Обычный браузер знает поразительно много центров сертификации – около 80 в моей версии Firefox и около 200 для Chrome. О большинстве из них я даже не слышал, и они расположены где-то очень далеко.
Существует некоммерческий центр сертификации Let’s Encrypt, который предоставляет бесплатные сертификаты всем желающим. Там исходят из того, что если получить сертификат будет легко, то в конечном итоге все веб-сайты начнут работать по протоколу HTTPS и весь трафик будет зашифрован. К началу 2020 года Let’s Encrypt выпустил миллиард сертификатов.
13.2. Анонимность
Пользуясь интернетом, вы раскрываете много информации о себе. На самом низком уровне при каждом взаимодействии неизбежно используется ваш IP-адрес, что указывает на вашего провайдера, из-за чего любой может вычислить ваше положение. В зависимости от того, как вы подключаетесь к интернету, предположения могут оказаться довольно точными, если вы студент небольшого колледжа, или приблизительными, если вы работаете в большой сетевой корпорации.
Применяя браузер, как чаще всего поступает большинство людей, вы раскрываете еще больше данных о себе (рис. 11.3). Ваш браузер отправляет URL-адрес соответствующей страницы и подробную информацию о том, что он за программа и какие типы ответов способен обрабатывать (например, сжимать для него данные или нет, или какие типы изображений он может принимать). Если есть нужный код JavaScript, браузеры также сообщают о загруженных шрифтах и других свойствах. Вместе взятые, эти данные позволяют определить конкретного пользователя среди буквально миллионных групп населения. Браузерная идентификация такого типа становится все более распространенной, и ее трудно одолеть.
Как мы знаем из главы 11, на coveryourtracks.eff.org можно оценить, насколько вы уникальны. Я провел эксперимент с одним из моих ноутбуков и, просматривая эту страницу в Chrome, обнаружил, что уникален среди более чем 280 000 недавних пользователей. При использовании Firefox такие же настройки, как у меня, обнаружились еще у одного человека, и аналогичный результат принес опыт с Safari. Эти значения варьируются в зависимости от средств защиты, таких как блокировщики рекламы, но большая часть различий определяется по заголовку пользовательского агента (USER_AGENT на рис. 11.3), отправляемого автоматически, а также по установленным шрифтам и подключаемым плагинам, над которыми у меня почти нет контроля. По идее, разработчики браузеров могут настроить их так, чтобы они отправляли меньше информации, потенциально пригодной для отслеживания, но, кажется, мало что предпринимают. Несколько обескураживает тот факт, что если я отключу куки-файлы или задействую опцию «Не отслеживать», то начну отличаться от других, стану чуть более заметным, и меня легче будет идентифицировать.
Некоторые веб-сайты обещают анонимность. Например, сервис Snapchat говорит своим пользователям, что сообщения, фотографии и видео, отправленные ими друзьям, исчезнут за определенный (короткий) период времени. Но что, если данные потребуют от компании под угрозой судебного иска? В политике конфиденциальности Snapchat указывается: «Мы можем передать информацию о вас, если с достаточной уверенностью сочтем, что ее раскрытие обосновано в рамках любого правомерного юридического процесса, правительственного запроса или применимого здесь закона, регламента или предписания»161. Схожие формулировки типичны для всех политик конфиденциальности, откуда следует, что ваша анонимность соблюдается не строго и во многом зависит от того, в какой стране вы находитесь.
13.2.1. Конфиденциальность в Сети
Предположим, вы разоблачитель, который хочет предать гласности какое-то должностное преступление, сохранив в тайне свою личность (вспомните Эдварда Сноудена.) А может, вы, как и я, хотите просто использовать интернет так, чтобы за вами не наблюдали все время. Как вам усилить защиту вашей анонимности? Рекомендации в конце главы 10 точно полезны, но есть еще один эффективный метод (который, однако, будет стоить небольших денег).
Рис. 13.3. Логотип Тог
Можно настолько эффективно использовать криптографию для скрытия диалога, что конечный получатель не узнает, откуда исходит соединение. Наиболее популярная такая система называется Тог[138], что первоначально расшифровывалось как The Onion Router[139] – метафора для слоев шифрования, которые окружают разговор, когда он передается из одного места в другое. Логотип Тог на рис. 13.3 намекает на происхождение названия.
Тог использует криптографию при отправке интернет-трафика через серию ретрансляторов, поэтому каждый узел знает только идентификаторы ближайшего соседа на маршруте и не более того. Первому ретранслятору известен отправитель, но не конечный получатель. Последний узел на пути («выходной») знает место назначения, однако не представляет, кто инициировал соединение. Ретранслятор в середине знает только два узла, которые передали ему и получили от него информацию, вот и все. Само содержимое трафика зашифровывается на каждом шаге.
Сообщение завернуто в несколько уровней кодирования по числу ретрансляторов. Каждый узел удаляет один слой и отправляет послание дальше (отсюда и метафора с луковицей). Тот же метод применяется в обратном направлении. Обычно используются три узла, и среднему ничего не известно об отправителе или получателе.
Сейчас в мире насчитывается около 7000 ретрансляторов[140]. Приложение Тог выбирает случайный набор узлов и устанавливает путь, который время от времени меняется, даже в течение одной сессии.
Данный метод чаще всего используют с браузером Тог – версией Firefox, настроенной для взаимодействия с Тог при передаче. Также соответствующим образом изменены настройки безопасности.
В применении Тог почти идентичен Firefox, разве что страницы, возможно, загружаются немного медленнее, поскольку данным нужно пройти дополнительные узлы. Также время тратится на снятие шифрования. Некоторые веб-сайты предвзято относятся к пользователям Тог, порой из соображений самообороны, ведь злоумышленники ценят анонимность так же высоко, как и честные люди.
В качестве примера того, как выглядит анонимное посещение сайта для обычного пользователя, на рис. 13.4 показано отображение сайта с погодой в Принстоне в Тог (слева) и Firefox (справа). В обоих случаях я посетил https://weather.yahoo.com. Yahoo считает, что знает мое местоположение, но он ошибается, если я захожу через Тог. Почти в каждом моем эксперименте выходной узел находился где-то в Европе. Когда я через час перезагрузил страницу, он переместился из Латвии в Люксембург. Единственное, что меня немного смущает, – температура всегда указывалась по шкале Фаренгейта, не слишком распространенной за пределами США. От чего зависит выбор Yahoo? Другие погодные сайты указывают температуру в градусах Цельсия.
Согласно Panopticlick, когда я использую браузер Тог, из их выборки в 280 000 недавних посетителей около 3200 других людей имеют те же характеристики, что и я, поэтому мою личность труднее определить с помощью браузерной идентификации. И, безусловно, если сравнивать с прямым подключением через браузер, то так труднее определить, кто я.
Рис. 13.4. Браузер Тог в действии
Впрочем, и Тог наверняка не станет для вас идеальным решением всех проблем с конфиденциальностью. Если вы используете его небрежно, ваша анонимность даст трещину. Браузеры и выходные узлы могут атаковать злоумышленники, а взломанный ретранслятор сулит неприятности. Помимо того, применяя Тог, вы действительно выделяетесь из толпы, что тоже сопряжено с проблемами – правда, тут ситуация улучшается, так как популярность Тог растет.
Защищен ли он от АНБ или настолько же влиятельных организаций? В число документов, обнародованных Сноуденом, вошла презентация для АНБ 2007 года, где на одном слайде (рис. 13.5) говорится: «Мы никогда не сможем деанонимизировать всех пользователей Тог за все время его существования»162. Конечно, АНБ не собирается сдаваться, но пока эта система кажется лучшим инструментом защиты частной жизни для обычных людей163. (Тут есть легкая ирония, поскольку изначально Тог разрабатывался государственным учреждением США – научно-исследовательской лабораторией ВМС, – стремившимся обеспечить безопасность линий связи американской разведки.)
Рис. 13.5. Презентация АНБ на тему Тог (2007)[141]
13.2.2. Биткоин
Отправка и получение денег – вот еще одна область, где высоко ценится анонимность. Наличность обезличена: если вы что-то оплатили таким способом, то потом невозможно будет установить участников сделки. Но сейчас использовать наличные все сложнее, если не считать небольших покупок рядом с домом, таких как топливо и продукты. Аренда автомобилей, билеты на самолет, номера в отелях и, конечно же, приобретения в Сети – для всего этого требуются кредитные или дебетовые карты, которые идентифицируют клиента. Пластик удобен, но, когда вы расплачиваетесь им или покупаете что-то онлайн, вы оставляете следы.
Оказывается, хорошо продуманную криптосистему можно применить для создания анонимной валюты. Наиболее успешный пример здесь – так называемый биткоин[142], схема, изобретенная Сатоси Накамото и выпущенная в виде ПО с открытым исходным кодом в 2009 году. (Кто такой Накамото на самом деле, неизвестно, что служит редким примером сохранения анонимности.)
Биткоин (ВТС) – это децентрализованная цифровая валюта, или криптовалюта. Она не выпускается и не контролируется каким-либо правительством или иной организацией и не имеет физической формы, в отличие от обычных денег, воплощенных в банкнотах и монетах. Ее ценность и устойчивость не обеспечиваются государством и не зиждутся на каком-нибудь дефицитном природном ресурсе вроде золота. Однако, как и у желтого металла, ее стоимость зависит от того, сколько владельцы готовы отдавать или брать за товары и услуги.
Биткоин использует одноранговый протокол, который позволяет обмениваться валютой без посредников или привлечения доверенной третьей стороны, как происходит и при оплате наличными. Протокол «Биткоин» гарантирует, что криптовалютой действительно можно обменяться, то есть передать право собственности. При этом ни одна монета не теряется или не создается во время транзакции, ее саму невозможно отменить, а стороны при этом сохраняют анонимность как друг для друга, так и для остального мира.
Хотя протокол ведет публичный реестр всех обменов, называемый блокчейном, стороны, проводящие эти транзакции, обезличены и идентифицируются только по «адресу» – по сути, криптографическому открытому ключу. Сами биткоины создаются («майнятся») путем выполнения определенного объема сложной вычислительной работы, связанной с проверкой и хранением платежной информации в публичном реестре. Блоки в блокчейне имеют цифровую подпись и содержат отсылки к предыдущим блокам, поэтому более ранние транзакции невозможно изменить, если только не проделать заново всю работу, которую изначально произвели для генерации этих блоков. Следовательно, состояние всех транзакций, считая от самой первой, косвенно отображено в блокчейне, и его в принципе не удастся воссоздать. Никто не сумел бы организовать новый, подложный реестр, ведь для этого пришлось бы заново проделать все расчеты, что в принципе невыполнимо.
Важно отметить, что блокчейн полностью общедоступен. Соответственно, биткоины скорее не анонимны, а «псевдонимны»: каждый знает обо всех транзакциях, связанных с определенным адресом, но не представляет, кто именно их совершал. Однако же если вы не будете управлять своими адресами как положено, вас смогут опознать по вашим операциям. Ну, а если вы потеряете секретный ключ, то навсегда лишитесь своих накоплений.
Поскольку все стороны транзакций способны сохранить обезличенность, если будут вести себя внимательно, биткоин стал самой популярной валютой для торговли наркотиками, выплат вымогателям и других незаконных действий164. Например, электронная площадка Silk Road («Шелковый путь») широко использовалась для незаконной продажи наркотиков, оплачиваемых в ВТС. Ее владельца в итоге идентифицировали, но не из-за недостатков ПО. К нему привела почти незаметная дорожка из комментариев в Сети, которую сумел отследить внимательный агент Налогового управления США, выявивший реальную личность преступника. Безопасность операций («обеспечение скрытности», opsec на жаргоне разведки) трудно обеспечить, и достаточно разок проболтаться, чтобы лавочку прикрыли.
Рис. 13.6 Цены на биткоин[143] (finance.yahoo.com)165
Биткоины – это «виртуальная валюта», но их можно конвертировать в обычные платежные средства и обратно. В прошлом обменные курсы радикально менялись, стоимость BTC по отношению к доллару США значительно колебалась вверх и вниз. На рис. 13.6 показан график цен за несколько лет.
Большие игроки, такие как банки и компании вроде Facebook[144], окунулись в новый мир криптовалюты, предлагая услуги или даже свою версию валютного блокчей-на. Конечно, биткоинами заинтересовались и фискальные органы, поскольку анонимные платежи позволяют уйти от налогообложения. В США виртуальные валюты типа ВТС рассматриваются как средства, подлежащие обложению федеральным подоходным налогом, поэтому и с транзакций могут взимать процент курсовой выручки166.
С технологией биткоинов легко экспериментировать. Хорошее место для начала – bitcoin.org, а на coindesk.com можно найти отличную обучающую информацию. Есть также книги и онлайн-курсы167.
13.3. Краткие выводы
Криптография – это жизненно важная часть современных технологий и базовый механизм, который обеспечивает конфиденциальность и безопасность при использовании интернета. Но стоит отметить досадный факт: она помогает всем, а не только хорошим людям. Это означает, что преступники, террористы, производители детской порнографии, наркокартели и правительства – все они собираются применять криптографические методы для продвижения своих интересов в ущерб вашим.
И загнать джинна тайнописи обратно в бутылку уже невозможно. Криптографов мирового класса немного, и они разбросаны по всей планете – ни одна страна не обладает монополией на них. Кроме того, соответствующий код в основном открытый, то есть доступен каждому. Поэтому попытки запретить надежную криптографию в какой-либо стране вряд ли остановят ее использование.
Регулярно ведутся жаркие дебаты о том, помогает ли технология шифрования террористам и преступникам – и, следовательно, нужно ли объявить ее вне закона или, что более реалистично, обязать встраивать в криптосистемы бэкдор («лазейку», «черный ход»), через который правительственные агентства, наделенные соответствующими полномочиями, смогут расшифровать всё, что засекретили общение злоумышленники.
Эксперты единодушно считают, что это плохая идея. В 2015 году одна особо квалифицированная группа опубликовала доклад «Ключи под ковриками. Как государство одобряет небезопасность, требуя доступа ко всем данным и коммуникациям»168. Название явно намекает, какого мнения они придерживаются.
Правильно разработать криптосистему вообще чрезвычайно трудно, а если намеренно добавлять слабые места, пусть даже хорошо продуманные, сбои получатся еще более серьезными. Как мы недавно увидели, правительства (мое и ваше) ужасно любят хранить секреты. Вспомните хотя бы Сноудена и АНБ. Поэтому полагаться на то, что государственные учреждения будут надежно хранить ключи от лазеек и пользоваться ими только надлежащим образом, – априори плохая идея, даже если считать их порядочными (а это большое допущение).
Фундаментальная проблема заключается в том, что мы не можем ослабить шифрование для террористов, но сохранить его сильным для всех остальных. Как сказал Тим Кук, генеральный директор Apple, «дела обстоят так – если вы создадите черный ход, он будет открыт и для хороших парней, и для плохих». И, конечно же, мошенники, террористы и правительства других стран не станут пользоваться дефектной версией, так что наше положение только ухудшится.
ПО от Apple шифрует все содержимое iPhone на iOS, используя ключ, предоставленный пользователем и неизвестный самой корпорации. Если правительство или суд потребуют от нее расшифровать файлы на смартфоне, компания честно скажет, что не может этого сделать. Хотя из-за своего подхода Apple не завела себе друзей среди политиков или служителей закона, она все равно способна защитить свою позицию. В ней есть и коммерческий смысл: «подкованные» клиенты неохотно покупали бы телефоны, если бы знали, что власть с легкостью будет подслушивать разговоры и проверять содержимое.
В конце 2015 года два террориста убили 14 человек в Сан-Бернардино, штат Калифорния, а затем погибли сами. Тогда ФБР попыталось заставить Apple взломать шифрование на iPhone одного из преступников, но компания заявила, что, разработав даже узкоцелевой механизм для извлечения информации, она создаст прецедент, который серьезно ослабит безопасность всех телефонов.
Инцидент в Сан-Бернардино в конечном счете стал неактуальным, когда Бюро заявило, что нашло альтернативный способ восстановить информацию, однако вопрос снова возник в конце 2019 года, когда произошла очередная перестрелка, теперь во Флориде. ФБР запросило помощи, Apple ответила, что предоставила все сведения, какие имела, и что у нее нет паролей169.
Жаркие споры продолжаются, и у обеих сторон есть обоснованные опасения. Лично я считаю, что надежное шифрование – это один из очень немногих способов защиты обычных людей от произвола государства и посягательства преступников, так что мы не должны от него отказываться. При обсуждении метаданных я отмечал, что у правоохранительных органов есть множество иных вариантов достать информацию – нужно только обосновать необходимость в суде. Для того чтобы собрать сведения о небольшом количестве людей, совсем не обязательно понижать качество шифрования для всех. Однако это сложные вопросы, и они часто обостряются в политически окрашенных и эмоционально напряженных ситуациях – например, после какой-либо трагедии. Вряд ли ситуация как-то удовлетворительно разрешится в краткосрочной перспективе.
В любой системе безопасности самое слабое звено – это люди, которые случайно или намеренно саботируют чрезмерно сложные или трудные в использовании системы. Когда от вас требуют изменить пароль, подумайте как следует, особенно если новый нужно придумать прямо сейчас и он должен удовлетворять странным требованиям – например, содержать заглавные и строчные буквы, не менее одной цифры и специальные символы (причем какие-то разрешены, а другие – нет). Большинство людей прибегают к чему-то схематичному, а также записывают комбинацию. Оба этих действия потенциально ослабляют надежность защиты. Спросите себя: если злоумышленник увидит два или три ваших пароля, сможет ли он разгадать другие? Вспомните про адресный фишинг. Сколько раз вы получали весьма правдоподобные письма, в которых вас просили щелкнуть на ссылку, загрузить что-то или открыть? Поддавались ли вы искушению?
Даже если вы тщательно заботитесь о своей безопасности, решительный злоумышленник, стремясь получить доступ к данным, всегда может прибегнуть к четырем грязным приемам – подкупу, шантажу, краже со взломом и жестокости[145]. Правительство способно угрожать тюремным заключением, если человек отказывается раскрывать свои пароли по их требованию. Впрочем, если вы будете осторожны, то сумеете хорошо себя защитить, пусть даже не от всех опасностей и не навсегда – но достаточно для того, чтобы жить и работать в современном мире.