PGP: Кодирование и шифрование информации с открытым ключом - Левин Максим
За семь лет триумфального шествия PGP были созданы десятки программ, в той или иной степени использующие компоненты технологии PGP, или согласованных с ней. Описать или даже перечислить их в одной статье не представляется возможным, поэтому здесь представлены лишь важнейшие продукты.
PGP 2.х.х и ее расширения.
PGP 2 — это "классическая" PGP. С помощью команд строчного интерфейса ее пользователь может выполнять все базовые криптографические функции, а именно:
• генерацию пары из закрытого/открытого ключа;
• шифрование файла с помощью открытого ключа любого пользователя PGP (в том числе своего);
• расшифровку файла с помощью своего закрытого ключа;
• наложение цифровой подписи с помощью своего закрытого ключа на файл (аутентификация файла) или на открытый ключ другого пользователя (сертификация ключа);
• проверку (верификацию) своей подписи или подписи другого пользователя с помощью его открытого ключа.
Награды PGP.
1997 "Crossroads 98 A-List Award" (единственный промышленный приз, вручаемый компанией Open System Advisor Inc. на основании опроса пользователей, использующих продукт в критическом контексте).
1996 "Приз за качество в информационных технологиях" от PS Week.
1996 "Лучший продукт для защиты" от Network Computing.
1996 Вторая премия за "Лучший Интернет-продукт" от Network Computing.
1995 "Один из 10 самых важных продуктов 1994 г." от Information Week.
1995 Крайслеровская премия "За инновацию в разработках".
Справка: Начиная с 1994 г., только с сервера MIT подгружается по 500—1000 копий PGP в день. Общее количество установленных копий всех версий оценивается в 2—5 млн.
Награды Фила Зиммермана.
1996 Премия Норберта Винера от CPSR ("Компьютерные профессионалы за социальную ответственность").
1995 Приз "За личные достижения" от Internet World.
1995 Приз "Pioneer Award" от Фонда электронных рубежей (EFF).
Простейшие функции управления "связками ключей".
Кроме того, PGP 2 реализует простейшие функции управления "связками ключей", включая добавление и удаление ключа со связки, возможность гибкой настройки параметров, а также встроенные функции сжатия исходного открытого текста по алгоритму ZIP и кодирования шифровки в формате RADIX-64, позволяющем пересылать сообщения по 7-битным каналам, не прибегая к дополнительному армированию (uuencode и пр.)
В качестве криптоалгоритма с открытым ключом (как для шифрования, так и для наложения подписи) в этой версии был использован RSA, в качестве алгоритма хеширования файла для наложения — MD5, а в качестве симметричного криптоалгоритма — IDEA. Популярность PGP имела своей обратной стороной то, что фирмы, претендующие на обладание патентами на эти алгоритмы (RSA Data Security Inc., США, — на первые два, и Ascom-Systec, Швейцария, — на третий) засыпали Зиммерманна судебными исками. История многочисленных обращений в суд, соглашений, отзывов и повторной подачи исков могла бы составить тему отдельного исследования.
Конечно, на популярность PGP очень сильно повлияли косвенные обстоятельства, такие, как попытки преследования Зиммерманна властями (косвенная аттестация качества программы спецслужбами), тяжбы с RSA и Ascom-Systec (привлекшие внимание всех тех, кто обеспокоен распространением "прав интеллектуальной собственности" на алгоритмы) и, наконец, бесплатное ее распространение.
Однако этих обстоятельств было бы недостаточно, чтобы сделать PGP 2 де-факто криптографическим стандартом для электронной почты, удерживать внимание пользователей в течение почти семи лет (своеобразный рекорд для всей компьютерной отрасли) и оставить позади всех конкурентов.
Суть заключается не в этом, а, как ни странно, в том, что Зиммерманн написал хорошую программу. С самого начала PGP соответствовала всем требованиям, предъявляемым гражданскими криптологами к криптографическому программному обеспечению, а именно:
• использование проверенных алгоритмов, выдержавших попытки взлома в течение достаточного времени;
• длина ключей, достаточная, чтобы исключить снижение безопасности в результате увеличения вычислительных ресурсов потенциальных оппонентов (удваивающихся каждый год, согласно закону Мура) в течение длительного периода времени (512-битные и длиннее ключи PGP 2.6 считаются относительно безопасными и сегодня);
• локальная генерация и локальный менеджмент ключей, исключающие их попадание в чужие руки;
• гибкая схема удостоверения действительности ключей, допускающая как распределенное управление доверием ("сеть доверия"), так и централизованную архитектуру сертификации;
• и, наконец, открытость и доступность для проверки и критики не только алгоритмических решений и форматов файлов, но и исходного текста самой программы.
PGP очень хорошо документирована. В отличие от большинства программных продуктов, документированы не только достоинства и сильные стороны программы, но также и уязвимые места; соответствующая глава сохранилась и в документации на коммерческие версии.
Все это очень высоко подняло планку качества для криптографических продуктов, и хотя за последние годы были предложены десятки альтернативных программ, ни одной из них не удалось приблизиться по количеству используемых копий к PGP 2. И сегодня эта версия конкурирует лишь с другими версиями PGP и ее клонами.
Позднее была построена версия PGP 2.6.31 ("международный релиз"), не использующая библиотеку RSAREF (это бесплатно распространяемая RSA Inc., то есть, американского производства, библиотека криптографических функций, примененная в версиях PGP начиная с 2.5).
Ресурсы и документация PGP 2.6 переведены на два десятка языков. Русскую локализацию PGP выполнил Андрей Чернов, а первый том "Руководства пользователя" переведен на русский Петром Сучковым.
Изначально ориентированная на массовых пользователей MS-DOS и Unix, PGP 2.6 была затем перенесена и на другие платформы, включая OS/2, MacOS, BeOS и даже Amiga и Atari. Доступ ко всем этим вариантам программы, к исходным текстам, а также к русским ресурсам можно получить со страниц "Русского Альбома PGP".
Недостатками этой версии принято считать неразвитость механизма управления связками ключей (они хранятся в виде простых последовательностей в файлах, и работа со связками, состоящими из сотен и тысяч ключей становится невыносимо медленной), ограниченный набор использованных в ней криптографических алгоритмов и ограничение на длину ключа. С распространением графических пользовательских интерфейсов (ГПИ) ОС и оболочек, а также почтовых программ, использующих ГПИ, консольный интерфейс PGP 2 стал преградой на пути приобщения к криптографии массового пользователя — тех, на кого, собственно, и была рассчитана программа.
Последний недостаток отчасти компенсировался появлением независимо разработанных программ — графических оболочек для PGP 2.6 и модулей сопряжения этой программы с популярными почтовыми пакетами.
PGP 2.7-4.5
Зиммерманн планировал приступить к разработке PGP 3 в 1993 году. Предполагалось, что третья версия программы предоставит пользователю достаточно широкий выбор криптографических алгоритмов, в то же время, сохраняя обратную совместимость со второй версией. Третья версия должна была поддерживать связки ключей как базы данных и предоставлять пользователю графический интерфейс.
Однако PGP 3 осталась бумажным проектом. В "Обращении к пользователям PGP" Зиммерманн пишет, что это произошло "по разным причинам, и не в последнюю очередь из-за трехлетнего уголовного расследования, предпринятого против меня американским правительством. Последнее обстоятельство действительно замедлило всю работу. Оно отняло почти всех моих добровольных помощников, усилия которых были столь полезны при работе над PGP 2.0 и последующими версиями... Это привело к формированию работавшей, в основном, бесплатно группы правовой защиты, созданию Фонда правовой защиты и трем годам почти ежедневных интервью. Пресса была в массе своей настроена против такого преследования, и вопрос о политике в области криптографии возбудил гнев всей компьютерной промышленности".