PRETTY GOOD PRIVACY (PGP)
Pretty Good Privacy (PGP, весьма хорошая секретность) - это свободно распространяемая программа безопасной электронной почты, разработанная Филипом Циммерманном (Philip Zimmermann) [1652]. Для шифрования данных она использует IDEA, для управления ключами и цифровой подписи - RSA (длина ключа до 2047 битов), а для однонаправленного хэширования - MD5.
Для получения случайных открытых ключей PGP использует вероятностную проверку чисел на простоту, используя для получения стартовых последовательностей интервалы между нажатиями пользователем клавиш на клавиатуре. PGP генерирует случайные ключи IDEA с помощью метода, в ANSI X9.17, Appendix C (см. раздел 8.1) [55], используя вместо DES в качестве симметричного алгоритма IDEA. PGP также шифрует закрытый ключ пользователя с помощью хэшированной парольной фразы, а не пароля непосредственно.
Сообщения, зашифрованные PGP, имеют несколько уровней безопасности. Единственная вещь, известная криптоаналитику о зашифрованном сообщении, - это получатель сообщения при условии, что криптоаналитику известен ID ключа получателя. Только расшифровав сообщение, получатель узнает, кем оно подписано, если оно подписано. Это резко отличается от сообщения PEM, в заголовке которого немало информации об отправителе, получателе и самом сообщении хранится в незашифрованном виде.
Самой интересной особенностью PGP является распределенный подход к управлению ключами (см. раздел 8.12). Центров сертификации ключей нет, вместо этого в PGP поддерживается "сеть доверия". Каждый пользователь сам создает и распространяет свой открытый ключ. Пользователи подписывают ключи друг друга, создавая взаимосвязанное сообщество пользователей PGP.
Например, Алиса может физически передать Бобу свои открытый ключ. Боб лично знает Алису, поэтому он подписывает ее открытый ключ. Одну подписанную копию он возвращает Алисе, а другую оставляет. Когда Алисе нужно связаться с Кэрол, она посылает Кэрол подписанную Бом копию ключа. Кэрол, у которой каким-то образом уже есть ключ Боба (она получила его раньше), и которая доверяет Бобу заверить ключ другого человека, проверяет его подпись под ключом Алисы и убеждается, что она правильна. Таким образом, Боб знакомит Алису и Кэрол.
PGP не определяет стратегию установки доверительных связей, пользователи сами решают, кому верить, а кому нет. PGP обеспечивает механизмы для поддержки ассоциативного доверия открытым ключам и для использования доверия. Каждый пользователь хранит набор подписанных открытых ключей в виде файла кольца открытых ключей (public-key ring). Каждый ключ кольца обладает полем законности ключа, определяющим уровень доверия к ключу конкретного пользователя. Чем больше уровень доверия, тем больше пользователь уверен в законности ключа. Поле доверия к подписи измеряет, насколько пользователь верит тому, кто подписал открытые ключи других пользователей. И наконец поле доверия к владельцу ключа задает уровень, определяющий, насколько конкретный пользователь верит владельцу ключа, подписавшему другие открытые ключи. Это поле вручную устанавливается пользователем. PGP непрерывно обновляет эти поля по мере появления новой информации.
На Рис. 22-7 показано, как выглядит эта модель для конкретного пользователя, Алисы. Ключ Алисы находится в самом верху иерархии, владелец ключа абсолютно надежен. Алиса подписывает ключи Боба, Кэрол, Дэйва, Элен и Фрэнка. Она доверяет Бобу и Кэрол подписывать открытые ключи других людей, кроме того, она частично доверяет Дэйву и Элен подписывать открытые ключи других людей. И она доверяет Гейл подписывать открытые ключи других людей, хотя сама не подписывала ключ Гейл.
Двух частично доверяемых подписей может оказаться достаточным для сертификации ключа. Алиса считает, что ключ Курта законен, так как Дэйв и Элен подписали его. Уровень доверия устанавливается в PGP вручную, Алиса может выбрать устраивающую ее степень паранойи.
Алиса не должна автоматически доверять ключам других людей только потому, что они подписаны ключом, который она считает правильным. Алиса Она не доверяет Фрэнку Она подписывать другие ключи, хотя она собственноручно подписывала его ключ. Кроме того, она не доверяет подписи Ивана под ключом Мартина или подписи Курта под ключом.
Ключ Оуэна вообще на входит в сеть, может быть, Алиса получила его от сервера. PGP не считает ключ автоматически правильным, Алиса должна либо объявить о правильности ключа, либо решиться поверить одному из тех, кто подписал ключ.
Конечно, ничто не мешает Алисе использовать ключи, которым она не доверяет. Задача PGP - предупредить Алису о подозрительности ключа, а не помешать ей устанавливать соединения.
Самым слабым звеном этой системы является отзыв ключей: гарантировать, что кто-нибудь не воспользуется скомпрометированным ключом, невозможно. Если закрытый ключ Алисы украден, она может послать некий сертификат отзыва ключа (key revocation certificate), но, так как некое распределение ключей уже произошло, нельзя гарантировать, что это сообщение будет получено всеми, использующими ее открытый ключ в своем кольце ключей. И так как Алиса должна будет подписать свой сертификат отзыва ключа своим закрытым ключом, то если она потеряет ключ, она не сможет и отозвать его.
Рис. 22-7. Модель доверия в PGP.
Текущей версией PGP является 2.6.2. Появление новой версии, PGP 3.0, ожидается к концу 1995 года. В 3.0 включены опции тройного DES, SHA, другие алгоритмы с открытыми ключами, разделение пар "открытый ключ/закрытый ключ" для шифрования и для подписи, расширенные процедуры отзыва ключей, улучшенные функции управления кольцом ключей, API для интегрирования PGP в другие программы и полностью переписанные исполняемые модули.
PGP доступна для MS-DOS, UNIX, Macintosh, Amiga и Atari. В личных, некоммерческих целях ее можно использовать свободно, скачав со многих узлов ftp в Internet. Чтобы скопировать PGP с узла MIT с помощью telnet подключитесь к net-dist.mit.edu, войдите в систему как getpgp, ответьте на вопросы, затем используйте ftp для соединения с net-dist.mit.edu и перейдите в каталог, указанный в сессии telnet. Эту программу также можно получить ftp.ox.ac.uk, ftp.dsi.unimi.it, ftp.funet.fi, ftp.demon.co.uk, CompuServe, AOL, и т.п. Для коммерческого использования в США PGP можно приобрести - полностью, вместе с лицензиями - примерно за 100 долларов в компании ViaCrypt, 9033 N 24th Ave., Phoenix, AZ, 85021; (602) 944-0773; viacrypt@acm.org. Существуют различные средства, помогающие интегрировать PGP в MS-DOS, Microsoft Windows, Macintosh и UNIX.
О PGP написано несколько книг [601,1394,1495]. Исходный код был даже опубликован в печатном виде в [1653] при попытке обойти Госдепартамент США, который продолжает считать, что исходный код можно экспортировать только в бумажном, а не в электронном виде. Если вы доверяете IDEA, PGP позволит вам приблизиться к военному уровню шифрования.
Дата добавления: 2021-01-26; просмотров: 399;