Секреты и ложь. Безопасность данных в цифровом мире - Шнайер Брюс (первая книга TXT) 📗
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].
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.
Ниже приведена более общая схема: цель состоит в прочтении определенного сообщения или во время пересылки, или на одном из двух компьютеров.
Задача: прочитать определенное сообщение электронной почты, посланное с одного компьютера, использующего Windows 98, на другой.
1. Убедить отправителя показать письмо (ИЛИ)
1.1. Подкуп
1.2. Шантаж
1.3. Принуждение с помощью угроз
1.4. Обман
2. Прочитать сообщение, когда оно вводится в компьютер (ИЛИ)
2.1. Улавливать электромагнитное излучение экрана компьютера (Мера противодействия: использовать TEMPEST)
2.2. Визуально контролировать экран компьютера
55
Исследование этой уязвимости приведено в работе Шнайера «Implementation of Chosen-Ciphertext Attacks against PGP and GnuPG». Способ эксплуатирует стандартную реакцию получателя сообщения, принявшего вместо связного текста околесицу. Скорее всего, получатель вложит в письмо текст исходного сообщения, нажмет вездесущую кнопку «Ответить» и попросит переслать сообщение повторно. Дальше нет проблем. Ключ известен – сообщение расшифровано. Единственное ограничение – текст должен быть не сжатым. – Примеч. ред.