Секреты и ложь. Безопасность данных в цифровом мире
Шрифт:
Если компьютерная программа допускает изменение (с помощью троянского коня) или порчу (с помощью вируса), то ее можно использовать для того, чтобы PGP создавал незащищенную пару (открытый – закрытый) ключей (например, чтобы факторизация осуществлялась на основе множителей, известных нападающему).
Цель: прочитать сообщение, зашифрованное PGP (ИЛИ)
1. Прочитать сообщение, зашифрованное PGP
1.1. Расшифровать сообщение (ИЛИ)
1.1.1. Взломать асимметричное шифрование (ИЛИ)
1.1.1.1. Атаковать «в лоб» асимметричное шифрование (ИЛИ)
Можно подбирать возможные ключи с помощью (известного) открытого ключа получателя
1.1.1.2. Математически взломать асимметричное шифрование (ИЛИ)
1.1.1.2.1. Взломать RSA (ИЛИ)
На сегодня неизвестно, равнозначен ли взлом RSA разложению на множители.
1.1.1.2.2. Разложение на множители RSA или вычисление дискретного логарифма для схемы Эль-Гамаля.
Каждое из этих действии требует решения множества теоретических проблем, которые в настоящий момент кажутся очень сложными.
1.1.1.3. Криптоанализ асимметричного шифрования
1.1.1.3.1. Общий криптоанализ RSA и схемы Эль-Гамаля (ИЛИ)
Способы общего криптоанализа RSA или Эль-Гамаль не известны. Криптоанализ одного зашифрованного текста даст общий подход для взламывания RSA и схемы Эль-Гамаля.
1.1.1.3.2. Использование уязвимых мест RSA и Эль-Гамаля (ИЛИ)
В RSA есть несколько уязвимых мест; тем не менее PGP устраняет большую часть угроз, с ними связанных.
1.1.1.3.3. Тайминг-атаки (атаки, основанные на сравнительных измерениях времени) на RSA и Эль-Гамале.
Тайминг-атаки на RSA уже известны, они вполне могут успешно применяться и против схемы Эль-Гамаля. Однако эти атаки требуют низкоуровневого контроля за компьютером получателя в то время, как он расшифровывает послание.
1.1.2. Взломать симметричный ключ
1.1.2.1. Взломать симметричный ключ с помощью атаки «в лоб» (ИЛИ)
Все алгоритмы шифрования с помощью симметричного ключа для PGP имеют ключи размером не менее 128 бит. Это делает нереальной лобовую атаку.
Атака «в лоб» в некоторой степени облегчается при включении избыточной информации в начало всех зашифрованных сообщений. См. OpenPGP RFC [54] .
1.1.2.2. Криптоанализ шифрования с помощью симметричного ключа Алгоритмы шифрования с помощью симметричного ключа (поддерживаемые PGP 5.x): IDEA, 3-DES, CAST-5, Blowfish и SAFER-SK 128. Эффективные методы для общего криптоанализа этих алгоритмов не известны.
54
RFC 2440. В настоящее время конкуренцию ему составляет Gnu PG (GPG) – открытая реализация стандарта OpenPGP. Проект был поддержан грантом от правительства Германии, впервые для открытого программного обеспечения. Русскоязычную документацию GPG можно просмотреть на сайте переводчика www inar ru/-zwon/gph html. – Примеч. ред.
1.2. Другими способами установить симметричный ключ, используемый для шифрования посланий
1.2.1. Вынудить (обманом) отправителя использовать открытый ключ получателя, чей закрытый ключ известен, для шифрования сообщения, (ИЛИ)
1.2.1.1. Заставить отправителя поверить, что некий подложный ключ (секретный ключ которого известен) – это ключ адресата.
1.2.1.2. Убедить отправителя зашифровать послание не одним-единственным ключом: настоящим ключом получателя и другим, секретный ключ которого известен.
1.2.1.3. Сделать так, чтобы сообщение было зашифровано некоторым другим открытым ключом, происхождение которого отправителю неизвестно Этого можно добиться,
запустив программу, которая заставит пользователя поверить, что используется правильный ключ, тогда как на самом деле шифрование производится другим ключом.1.2.2. Заставить получателя подписать зашифрованный симметричный ключ (ИЛИ)
Если адресат слепо подписывает зашифрованный ключ, то он невольно открывает незашифрованный ключ. Ключ достаточно короток, поэтому хэширование не обязательно перед подписыванием. Или если хэш-функция сообщения соответствует зашифрованному ключу, то получателю можно предложить подписать сообщение (или его хэш-функцию).
1.2.3. Контроль памяти компьютера отправителя (ИЛИ)
1.2.4. Контроль памяти компьютера получателя (ИЛИ)
Незашифрованный симметричный ключ должен храниться где-нибудь в памяти во время шифрования и дешифрования. Если память доступна, это дает повод завладеть ключом и прочитать послание.
1.2.5. Определить ключ по генератору случайных чисел (ИЛИ)
1.2.5.1. Определить состояние генератора случайных чисел в момент шифрования послания (ИЛИ)
1.2.5.2. Внедрить программу (вирус), которая определенным образом изменит состояние генератора случайных чисел (ИЛИ)
1.2.5.3. Внедрить программу, которая непосредственно повлияет на выбор симметричных ключей
1.2.6. Внедрить вирус, который откроет симметричный ключ 1.3. Заставить получателя (помочь) расшифровать послание (ИЛИ)
1.3.1. Атаковать симметричный ключ с помощью зашифрованного текста (ИЛИ)
Шифрование в режиме обратной связи, используемое PGP, совершенно не защищено от таких атак. Пересылая адресату тот же ключ (или зашифрованный ключ) вместе с измененным текстом, можно заполучить полное содержание письма [55] .
55
Исследование этой уязвимости приведено в работе Шнайера «Implementation of Chosen-Ciphertext Attacks against PGP and GnuPG». Способ эксплуатирует стандартную реакцию получателя сообщения, принявшего вместо связного текста околесицу. Скорее всего, получатель вложит в письмо текст исходного сообщения, нажмет вездесущую кнопку «Ответить» и попросит переслать сообщение повторно. Дальше нет проблем. Ключ известен – сообщение расшифровано. Единственное ограничение – текст должен быть не сжатым. – Примеч. ред.
1.3.2. Атаковать открытый ключ с помощью избранного зашифрованного текста (ИЛИ)
Так как RSA и схема Эль-Гамаля достаточно гибки, можно внести определенные изменения в зашифрованный симметричный ключ. Этот измененный (зашифрованный) ключ можно переслать с подлинным сообщением. Это дает возможность атаковать симметричные алгоритмы. Или можно найти слабый зашифрованный текст, и его шифрование с помощью алгоритма симметричного ключа предоставит информацию об измененном ключе, что позволит получить сведения о подлинном ключе.
1.3.3. Отправить любое сообщение адресату (ИЛИ)
Если получатель автоматически расшифровывает сообщение и отвечает на него, то отправитель получит образец шифрования известного открытого текста.
1.3.4. Контроль исходящей почты получателя (ИЛИ)
Если получатель отвечает на сообщение без использования шифрования, то можно собрать информацию о полученном им сообщении.
1.3.5. Сфальсифицировать поля «ответить» или «от кого» подлинного сообщения (ИЛИ)
В этом случае получатель может послать ответ по фальшивому адресу электронной почты, и даже если послание засекречено, оно будет зашифровано открытым ключом, секретный ключ которого известен.