Деревья атак PGP

Ниже показана схема нападений на программы безопасности электронной почты PGP. Так как PGP является сложной программой, то и схема получается сложной, и будет проще изобразить ее в виде плана, а не графически. PGP имеет несколько средств безопасности, так что здесь показано только одно из нескольких деревьев атак на PGP. В нашей схеме цель состоит в том, чтобы прочитать сообщение, зашифрованное с помощью PGP. Другими мишенями могут быть: подделка подписи, изменение подписи в письме, незаметное изменение сообщения, подписанного или зашифрованного с помощью PGP.

Если компьютерная программа допускает изменение (с помощью троянского коня) или порчу (с помощью вируса), то ее можно использовать для того, чтобы PGP создавал незащищенную пару (открытый – закрытый) ключей (например, чтобы факторизация осуществлялась на основе множителей, известных нападающему).

Дерево атак 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.

1.1.2.2. Криптоанализ шифрования с помощью симметричного ключа Алгоритмы шифрования с помощью симметричного ключа (поддерживаемые PGP 5.x): IDEA, 3-DES, CAST-5, Blowfish и SAFER-SK 128. Эффективные методы для общего криптоанализа этих алгоритмов не известны.

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, совершенно не защищено от таких атак. Пересылая адресату тот же ключ (или зашифрованный ключ) вместе с измененным текстом, можно заполучить полное содержание письма.

1.3.2. Атаковать открытый ключ с помощью избранного зашифрованного текста (ИЛИ)

Так как RSA и схема Эль-Гамаля достаточно гибки, можно внести определенные изменения в зашифрованный симметричный ключ. Этот измененный (зашифрованный) ключ можно переслать с подлинным сообщением. Это дает возможность атаковать симметричные алгоритмы. Или можно найти слабый зашифрованный текст, и его шифрование с помощью алгоритма симметричного ключа предоставит информацию об измененном ключе, что позволит получить сведения о подлинном ключе.

1.3.3. Отправить любое сообщение адресату (ИЛИ)

Если получатель автоматически расшифровывает сообщение и отвечает на него, то отправитель получит образец шифрования известного открытого текста.

1.3.4. Контроль исходящей почты получателя (ИЛИ)

Если получатель отвечает на сообщение без использования шифрования, то можно собрать информацию о полученном им сообщении.

1.3.5. Сфальсифицировать поля «ответить» или «от кого» подлинного сообщения (ИЛИ)

В этом случае получатель может послать ответ по фальшивому адресу электронной почты, и даже если послание засекречено, оно будет зашифровано открытым ключом, секретный ключ которого известен.

1.3.6. Прочитать послание после того, как оно будет расшифровано получателем

1.3.6.1. Скопировать сообщение с жесткого диска или из виртуальной памяти компьютера (ИЛИ)

1.3.6.2. Копировать сообщение с резервной копии, хранящейся на магнитной ленте (ИЛИ)

1.3.6.3. Контроль сетевого трафика (ИЛИ)

1.3.6.4. Использовать средства приема электромагнитного излучения для считывания сообщения, выведенного на экран (ИЛИ)

1.3.6.5. Получение сообщения с устройств вывода

1.3.6.5.1. Получить текст с бумажной распечатки

1.3.6.5.2. Получить текст с фоточувствительного барабана принтера

1.3.6.5.3. Подслушать передачу информации с компьютера на принтер

1.3.6.5.4. Получить информацию из памяти принтера.

1.4. Добыть секретный ключ получателя

1.4.1. Разложение на модули RSA или вычисление дискретного логарифма для схемы Эль-Гамаля (ИЛИ)

Оба эти способа требуют решения множества теоретических вопросов, которые в настоящее время представляются очень сложными.

1.4.2. Получить секретный ключ получателя из его связки ключей (ИЛИ)

1.4.2.1. Добыть зашифрованную связку ключей получателя (И)

1.4.2.1.1. Скопировать его с жесткого диска пользователя (ИЛИ)

1.4.2.1.2. Скопировать его резервную копию (ИЛИ)

1.4.2.1.3. Контроль сетевого трафика (ИЛИ)

1.4.2.1.4. Внедрить вирус или закладку для раскрытия копии зашифрованного секретного ключа

Недавно созданный вирус Melissa как раз подходит для такого случая. Существуют и другие возможности: сделать файл открытым для чтения или поместить его в Интернете.

1.4.2.2. Расшифровать секретный ключ

1.4.2.2.1. Взломать зашифрованное с помощью алгоритма IDEA сообщение (ИЛИ)

1.4.2.2.1.1. Взломать IDEA с помощью атаки «в лоб» (ИЛИ)

IDEA использует 128-битовые ключи. Поэтому успешная атака «в лоб» нереальна.

1.4.2.2.1.2. Криптоанализ IDEA

Эффективные методы криптоанализа IDEA не известны

1.4.2.2.2. Узнать пароль

1.4.2.2.2.1. Контроль клавиатуры в момент введения пользователем пароля (ИЛИ)

1.4.2.2.2.2. Убедить пользователя открыть пароль (ИЛИ)

1.4.2.2.2.3. Использовать программу, запоминающую нажатия на клавиши, когда пользователь вводит пароль (ИЛИ)

1.4.2.2.2.4. Угадать пароль

1.4.3. Контроль памяти получателя (ИЛИ)

Когда пользователь расшифровывает полученное письмо, секретный ключ должен помещаться где-нибудь в памяти.

1.4.4. Внедрить вирус для раскрытия секретного ключа

На самом деле более изощренным является способ, указанный в пункте 1.4.2.1.4, где вирус дожидается расшифровки секретного ключа.

1.4.5. Создать для получателя незащищенную пару ключей (открытый – закрытый)

При рассмотрении схемы сразу становится очевидным, что взлом RSA и IDEA алгоритмов шифровки – не самое выгодное нападение на PGP. Существует множество способов считывания посланий, зашифрованных PGP. Вы можете подсмотреть изображение на экране, когда получатель расшифровывает и читает послание (используя троянского коня вроде Back Orifice, приемник TEMPEST или скрытую камеру), завладеть секретным ключом, после того как пользователь введет пароль (с помощью Back Orifice или специального компьютерного вируса), получить пароль (с помощью программы, запоминающей ввод с клавиатуры, приемника TEMPEST или Back Orifice) или попытаться овладеть паролем «в лоб» (это будет в меньшей степени энтропией, чем генерировать 128-битовые ключи IDEA). Выбор алгоритма и длина ключа – наименее существенные вещи из тех, которые могут сокрушить всю систему безопасности PGP.

Ниже приведена более общая схема: цель состоит в прочтении определенного сообщения или во время пересылки, или на одном из двух компьютеров.