Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРС_ИПОВС_МСЗИ.doc
Скачиваний:
41
Добавлен:
05.06.2015
Размер:
1.79 Mб
Скачать

Взлом pgp adk

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

Описание протокола

Термин "протокол" в данном разделе не будет использоваться в том смысле, в котором он обычно используется в компьютерной среде. Приведенный ниже протокол не является протоколом сообщений, которые используются для передачи информации в сети. В данном случае будет обсуждаться протокол шифрования. Эти протоколы помогают управлять логическими ключами, используемыми в криптографии. Используемая криптосистема является системой с несимметричным ключом. Система с несимметричным ключом — это система, которая позволяет двум сторонам обмениваться информацией, которая кодируется и декодируется с помощью разных ключей. Один ключ используется для кодирования информации (этот ключ называется открытым), а второй для декодирования информации (этот ключ называется секретным). Открытый ключ может свободно распространяться и используется для отправки сообщений. Секретный ключ держится в тайне — это позволяет безопасно передавать сообщения, не боясь их перехвата. Два ключа образуют пару ключей и не имеют смысла друг без друга.

Создание пары

Когда создается секретный ключ, он должен быть защищен, чтобы посторонние не могли получить к нему доступ. Это значит, что ключ не может быть просто сохранен в месте, где его может считать любой. Более того, поскольку ключ имеет довольно большой размер (64, 128, 256 или более байтов), пользователю будет трудно запомнить его и вводить каждый раз. Обычно ключ кодируется и сохраняется на диске. Пароль, используемый для кодирования частного ключа, выбирается пользователем.

Активизация пары

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

  • Открытый ключ может быть переслан отдельным людям посредством электронной почты.

  • Открытый ключ может быть переслан на сервер, который доступен всем. Данный сервер доступен как людям, с которыми хочет общаться владелец ключа, так и тем, с кем владелец ключа общаться не хочет. Пересылка открытого ключа на такой сервер аналогична занесению вашего телефона в телефонную книгу.

Уничтожение пары

Этот процесс может принять несколько форм, в зависимости от того, как распространялся открытый ключ.

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

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

Восстановление ключа

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

■ Владелец ключа утратил или повредил пароль, с помощью которого открывается секретный ключ.

■ Сотрудник компании уволился и не оставил пароля для открытия файлов.

■ Сотрудник компании умышленно закодировал данные с целью шантажа.

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

Есть два способа уменьшить вероятность полной утери секретного ключа: создать резервную копию ключа или создать дополнительный ключ для декодирования, к которому пользователь не имеет доступа.

Резервный ключ может быть переписан на систему с ограниченным доступом. Этот метод используется некоторыми компаниями ведения сертификатов (Certificate AuthorityСА). Такие компании создают секретный и открытый ключи, передают их пользователю и сохраняют у себя копию секретного ключа. Этот ключ может быть использован для восстановления данных.

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

Дополнительный ключ декодирования (Additional Decryption KeyADK) создается во время установки сервера ключей PGP. Этот сервер используется для создания копий программного обеспечения PGP, которые будут устанавливаться сотрудникам компании. Эти копии программ при соответствующей настройке содержат в себе ADK. После установки программы пользователи начинают создавать сертификаты, в которые, кроме всего прочего, будут добавлены дополнительные ключи декодирования.

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

Этот метод создания сертификатов используется в пакете Utopia. Дополнительный ключ декодирования можно добавить в сертификат без ведома пользователя. Этот ADK может быть использован для декодирования данных, что сводит на нет усилия, потраченные на создание системы криптокодирования.

Существует два типа сертификатов, поддерживаемых PGP. Сертификаты более старой версии 3 не подвержены взлому, в отличие от сертификатов версии 4.

Способ применения

Для добавления скрытого ADK в сертификат нужно создать подпакет 10-го типа в некодированной области сертификата. Хотя такой подпакет находится в защищенной области, он не кодируется.

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

  • Отправитель должен иметь скрытый ADK. В противном случае взломщик просто не будет иметь дополнительного ключа декодирования.

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

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

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

Симптомы атаки

Есть два метода, которые позволяют обнаружить данную атаку. Во-первых, можно заметить взлом, воспользовавшись GnuPG. Более удобный способ заключается в использовании утилиты обнаружения дополнительного ключа, разработанной PGP. Оба эти метода описаны ниже.

Чтобы обнаружить дополнительный ключ с помощью GnuPG (http://www.gnupg.org/), нужно выполнить следующую команду.

gPg —-list-Packets keyFile

В результате будет выведен список атрибутов ключа файла. Если в файле есть санкционированный ADK, в числе атрибутов появится следующая строка:

hashed subPkt 10 Len 23 (additional recipient request)

Однако если в ключевой файл был добавлен несанкционированный дополнительный ключ, в списке атрибутов будет присутствовать такая строка:

subpkt 10 len 23 (additional recipient request)

Компания PGP выпустила утилиту под названием PGPrepair 1.0 (http://www.pgp.com/other/advisories/adk.asp). Данная утилита позволяет просканировать существующие файлы ключей на наличие дополнительных ключей. Существует возможность как сканирования, так и восстановления файлов. Данная утилита обнаруживает дополнительный ключ дописанный взломщиком, и сигнализирует об этом.

Методы защиты

Уже выпущена версия PGP 6.5.3, которая невосприимчива к данному взлому. Поэтому лучшей защитой будет обновление программ шифрования.

Кроме того, как уже было сказано, существует утилита PGPrepair, которая позволяет найти и удалить ADK взломщика из файла ключа. Нужно проверить все файлы ключей, которые были созданы до того, как администратор обновил PGP. Если вы используете PGP версии 2.6.x и ниже, в обновлении нет надобности, поскольку PGP этих версий не под­держивает сертификаты версии 4 (следовательно, не поддерживают ADK). Это не значит, что использование только сертификатов версии 3 защитит вашу систему. Файлы ключей и сертификаты можно преобразовать в формат версии 4, а потом встроить туда незакодированный ADK. Чтобы защитится от взлома посредством использования сертификатов версии 3, нужно использовать PGP версий 2.6.x и ниже.

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

Лучшим выходом является обновление PGP и проверка всех ключей с помощью утили-гы PGPrepair.