Секреты и ложь. Безопасность данных в цифровом мире
Шрифт:
Дверной замок служит примером такой же модели защиты, какую в 1466 году привнес в криптографию Леон Баттиста Альберти, известный итальянский архитектор эпохи Возрождения, создав криптографический ключ. У кого угодно могут быть замки одинаковых моделей, но ключи у всех разные. Конструкция замка не является уникальной – у слесарей есть книги с подробными схемами, а большинство хороших моделей описаны в общедоступных патентах, – но ключ является тайной. У вас есть ключ, значит, вы можете отпереть дверь. Если вы одолжите ключ другу, то он сможет войти в дом. А тот, у кого ключа нет, останется на улице. (Слесарями в данном случае будут криптоаналитики; до них мы доберемся позднее.)
Применение такой модели в криптографии решает обе упомянутые выше проблемы. Алгоритмы, так же как и замки, можно стандартизировать. Стандарт шифрования данных (Data Encryption Standard, DES) – это общепринятый криптографический алгоритм, широко распространенный с 1977 года. Его использовали в тысячах различных
С помощью ключей решается задача включения и исключения людей из группы избранных. Если Алиса и Боб договорились о совместном использовании одного ключа и хотят, чтобы Ким Филби смог присоединиться к их общению, они просто дадут ему копию ключа. Если позже они решат, что Филби передает секреты Советскому Союзу, им нужно просто сменить ключ и не сообщать об этом Филби. С этого момента он исключен из системы и больше не сможет читать сообщения, зашифрованные новым ключом. (Увы, он все же может прочитать старые.)
Современная криптография традиционно устроена именно таким образом. Алгоритмы заменяют традиционные ручку и бумагу – они оперируют битами вместо символов алфавита, компьютеры оснащены эффективными микропроцессорами и интегральными схемами, – но философия остается прежней. Алгоритм доступен для всех, а общающиеся стороны договариваются о секретном ключе, который они применят для этого алгоритма.
Такие алгоритмы называют симметричными, потому что отправитель и получатель используют один и тот же ключ. Ключ представляет собой случайную строку битов некоторой длины: в 2000 году хорошей длиной ключа считалась длина в 128 бит. У различных симметричных алгоритмов – разная длина ключей.
Симметричные алгоритмы можно обнаружить в шифровальных системах всего компьютеризованного мира. Общепринятыми алгоритмами считают DES и тройной DES, RC4 и RC5, IDEA и Blowfish. Улучшенный стандарт шифрования (Advanced Encryption Standard, AES) вскоре станет стандартным алгоритмом шифрования правительства США [18] . При помощи этих алгоритмов обеспечивается безопасность частных сообщений электронной почты, индивидуальных файлов, электронных банковских операций и кодов запуска ракет с ядерными боеголовками. Эти алгоритмы препятствуют нарушению конфиденциальности.
18
40– и 48-битовые ключи RC5 были вскрыты (за 3,5 и 316 часов) на конкурсе, объявленном Bell Labs, в 1997 году, на сети из 250 компьютеров университета Беркли. (40 бит – экспортное ограничение США на ключи шифрования.) Через полгода пал DES (56-битовый ключ вскрывался 140 дней). В 1998 году он уже был вскрыт за 39 дней. Именно тогда национальный институт стандартизации США (NIST) объявил конкурс на утверждение нового стандарта AES (Advanced Encryption Standard), призванного защищать конфиденциальную, но не секретную информацию. На конкурс было подано 15 заявок, первый этап отбора прошли только 5 (включая RC6). В числе финалистов был и TwoFish – разработанный компанией Шнайера Counterpane Labs (впитавший много из Blowfish). (Бизнес Шнайера после этого резко пошел в гору, была основана новая компания, о TwoFish много писали в прессе.) Победителем стал шифр Rijndael (быстрый блочный шифр, реализованный на математическом аппарате теории конечных полей). В 2001 году Rijndael был принят в качестве американского стандарта криптографической защиты AES и заменил отживший свое DES – обратите внимание при чтении следующей главы в разделе «Выбор алгоритма или протокола». Правда, из заявленного множества длин ключей (128, 192, 256) остался только 128-битовый. – Примеч. ред.
Но они несовершенны.
Проблема в распределении ключей. Для того чтобы описанная система работала, Алиса и Боб должны договориться о секретном ключе перед тем, как получат возможность обменяться тайными сообщениями. Если они достаточно сообразительны, то будут регулярно менять ключ, скажем, раз в день. Им необходимо как-то тайно уславливаться об этих ежедневно изменяющихся ключах, так как, перехватив ключ, кто угодно сможет читать все сообщения, зашифрованные с его помощью. Кроме того, поскольку необходима попарная секретность, количество ключей будет возрастать пропорционально квадрату количества пользователей. Двум пользователям нужен только один ключ, но сеть из десяти пользователей требует 45 ключей [19] , чтобы предоставить каждой паре возможность секретного
19
В случае попарных комбинаторных сочетаний их количество подчиняется зависимости, близкой к квадратичной. – Примеч. ред.
Это означает, что уничтожение ключей имеет большое значение. Алиса и Боб не могут просто выбросить свой ключ в корзину в конце работы и надеяться, что его никто не найдет. Перехватчики не пренебрегают хранением зашифрованных посланий, которых не способны прочесть, в надежде, что найдут к ним ключ через несколько дней. Агентство национальной безопасности получило возможность расшифровать русский трафик VENONA (вспомните эту историю; это действительно поучительно) только благодаря тому, что СССР повторно использовал ключ, который, должно быть, ранее выбросил, и тому, что АНБ хранило все эти советские шифрованные сообщения более 10 лет [20] .
20
Venona, тайная операция спецслужб США периода Второй мировой войны, получила свое название по имени матери Гайаваты из поэмы Г. Лонгфелло. В результате многократного использования одноразового шифра при обмене донесениями между Центром и резидентурой была расшифрована секретная переписка советской разведки, что привело к разоблачению и аресту множества агентов, работавших в 1939—1957 годах. Официально операция завершена в 1980 году. Американский исследователь истории криптографии Роберт Луис Бенсон, офицер АНБ, в 1996 году подготовил двухтомный сборник, названный «VENONA. Soviet Espionage and American Responce», куда вошли и материалы по Venona. Их можно посмотреть на сайте АНБ nsa gov/docs/venona). – Примеч. ред.
Есть множество исторических примеров, когда недостаточное внимание к обращению с ключами приводило к разгадке безупречного шифрования. Джон Уокер служил в военно-морском флоте США и был офицером безопасности, ответственным за обеспечение безопасности ключей, но одновременно он делал и другую карьеру, фотографируя ключи флота и отсылая фотографии русским. Японская секта поклонников смерти Аум Синрике зашифровала свои компьютерные записи, но она была настолько неосторожна, что оставили копии ключей на дискете, обнаруженной полицией. Это произошло в 1995 году: не кажется ли вам, что приверженцы культа смерти могли бы к тому времени кое-что знать о ключах.
Что означает «взломать» алгоритм? На первый взгляд очевидно – кто-то сможет прочитать сообщение, не имея ключа. Но на самом деле все сложнее.
Если злоумышленник просто берет зашифрованное сообщение и восстанавливает открытый текст, то такую атаку называют атакой с использованием только шифрованного текста (cipher text-only attack). Их, как правило, больше не используют – современные алгоритмы слишком хороши, чтобы их одолеть атаками такого рода.
С большей вероятностью можно встретить атаки с использованием известного открытого текста (known-playn text attack): у дешифровщика есть образец открытого и шифрованного текста, что позволяет ему восстановить ключ. На первый взгляд может показаться, что это бесполезно, но на самом деле смысл есть. Если при помощи этого же ключа будут зашифрованы другие тексты, злоумышленник сумеет взять ключ и прочесть остальные тексты. Например, почти у всех компьютерных файлов есть заголовок. Все файлы Microsoft Word, например, начинаются с нескольких сотен одинаковых байтов. (Это «невидимые» символы – служебные байты программы, и они не отображаются в окне.) Если криптоаналитик может, воспользовавшись имеющимся открытым текстом, воспроизвести ключ, то сумеет прочитать документ Word полностью. Атаки, при которых известен открытый текст, с большим успехом применяли против немецкой «Энигмы». Аналитики получали в руки единственный незашифрованный текст, например прогноз погоды, а через некоторое время один из отдаленных немецких постов в Норвегии начинал пунктуально присылать ежедневные одинаковые сообщения: «Нечего сообщать». (Открытый текст можно еще называть шпаргалкой.) Обычно таким образом узнавали ключ текущего дня, а затем с помощью ключа читали зашифрованные сообщения.