id: Гость   вход   регистрация
текущее время 16:38 03/05/2024
Владелец: SATtva редакция от 20/12/2007 20:31 (автор: SATtva) Печать
Категории: софт, gnupg, свободный софт, разное, события, сообщество, личности
https://www.pgpru.com/Библиотека/Статьи/КраткаяИсторияGPG
создать
просмотр
редакции
ссылки

Это старая редакция страницы Библиотека / Статьи / Краткая История G P G за 20/12/2007 20:31.


Краткая история GNU Privacy Guard


Прошло десять лет с того дня, как самая первая версия GNU Privacy Guard увидела свет. На тот момент она называлась не известным нам сегодня GnuPG, а "g10" по номеру статьи Немецкой Конституции (Grundgesetz Artikel 10), закрепляющей право на свободу телекоммуникаций, и как издёвка над законом G-10, дающим право спецслужбам обходить эти конституционно гарантированные свободы.


fileВерсия 0.0.0, выпущенная 20 декабря 1997 года, представляла собой едва работающую замену PGP, которая использовала алгоритмы Elgamal и Blowfish вместо запатентованных RSA и IDEA. Она была объявлена тестовой версией, но, несмотря на это, уже включала большинство функций современного GnuPG. Формат данных, однако, был совместим не с OpenPGP, а ориентирован на формат PGP-2 с рядом дополнительных расширений (в частности, с поддержкой потовой передачи данных). Рабочая группа OpenPGP была основана ещё осенью 97-го, но я узнал о ней довольно поздно, чтобы написать "g10" в соответствии с уже существовавшим черновым стандартом. По соображениям авторских прав было практически невозможно подвергнуть формат PGP-5 реверс-инженерингу, так что учреждение рабочей группы оказалось нужным событием в нужное время.


Прежде, чем перейти к GnuPG, нам стоит вернуться на несколько лет назад. В 1991 году для помощи политическим активистам Фил Циммерман выпустил программу под названием Pretty Good Privacy (PGP). PGP был создан как удобный инструмент шифрования без каких-либо потайных ходов и с открытым исходным кодом, и в действительности был не "довольно хорошим" (pretty good), а по-настоящему криптографически стойким. Однако, изначально он имел пару проблем, главной из которых являлся самодельный алгоритм шифрования. Благодаря наличию исходного текста к разработке подключилось сообщество хакеров (таких, как Бранко Ланкастер, Колин Пламб, Дерек Аткинс, Хал Финни, Питер Гутман и другие), которые помогли Филу устранить недостатки и успешно выпустили надёжную версию 2.


Вскоре после этого начались проблемы. Как и во многих других странах, в США использование и экспорт средств стойкой криптографии был строго ограничен, и обычно допускались лишь ослабленные криптосистемы. PGP был значительно надёжней, а благодаря конференциям Usenet и доступности FTP-серверов и BBS, PGP неожиданно просочился за пределы страны, и Фил попал под следствие за незаконный экспорт вооружений. Эти законы об экспортном контроле были не совсем в духе века информационных технологий и имели забавное исключение, по которому экспорт программ в распечатанном виде не подпадал под запрет. Поэтому MIT Press опубликовал книгу с исходным кодом PGP, которая затем была отсканирована за пределами Штатов, чтобы воссоздать базу PGP-2i ("i" означает "international"), версию, получившую после широкое распространение.


Уголовное дело против Фила было закрыто в 96-м, и он учредил фирму PGP Inc., которая занялась разработкой PGP-5. Первый публичный релиз состоялся весной 97-го. В августе того же года в Мюнхене на 39-м собрании IETF Фил Циммерман и Джон Каллас обратились к организации с просьбой открыть рабочую группу, призванную опубликовать стандарт, основанный на протоколе, используемом в PGP-5. Стандарт был назван OpenPGP. Главным мотивом к этой инициативе было повсеместное распространение стойкого крипто даже в том случае, если вновь созданная компания в какой-то момент вдруг прекратит продажу и поддержку PGP. И спустя несколько месяцев PGP Inc. была поглощена компанией Network Associates, которая в 2002 году действительно прекратила поддержку и развитие PGP (правда, историю PGP впоследствии продолжила новая компания PGP Corporation).


Хотя PGP часто назывался Свободным Софтом, в действительности, он никогда не соответствовал его требованиям: PGP-5 — явно проприетарная программа; доступность исходного кода сама по себе не делает программу свободной. PGP-2 тоже имел определённые ограничения на коммерческое использование,1 что накладывало ограничения на программу и делало её несвободной. Ещё одной проблемой PGP-2 была необходимость реализации запатентованных алгоритмов RSA и IDEA. Патент на RSA был действителен только в Штатах, но патент на IDEA был и остаётся действительным 2 во множестве стран.


Хотя в плане развития проекта GNU в течение нескольких лет был отмечен пункт о необходимости замены для PGP, начать его реализацию до истечения действия патентов на алгоритмы с открытым ключом не представлялось возможным. Всё изменилось в апреле 1997 года с окончанием действия основного патента (панент США №4200770 на алгоритм Диффи-Хеллмана) и в августе, когда прекратил действие более общий патент на схему Меркла-Хеллмана (№4218582).


Месяц спустя на конференции Individual-Network Betriebstagung в Ахене Ричард Столлман в продолжение своего выступления на сессии BoF обратился к европейским хакерам с просьбой начать реализацию средств шифрования с открытым ключом. Американский закон об экспорте вооружений не давал возможности проекту GNU написать подобное ПО в собственной стране или силами работающих за рубежом американских граждан. Поэтому он объявил европейцам об их исключительной роли в возможности помочь проекту GNU с криптографическим софтом.



1 Из файла pgpdoc2.txt: "Наконец, если вы желаете превратить PGP в коммерческую программу и делать деньги на её продаже, тогда нам следует договориться, как и я смогу получать с неё деньги. [...] Ни при каких обстоятельствах PGP не должен распространяться без документации PGP, включающей и настоящее Руководство пользователя."


2 "Действителен" в смысле его использования самими держателями патента, независимо от того, считаю ли я "действительной" концепцию софтверных патентов, как таковую. См. http://www.fsfeurope.org/proje.....t/background.en.html.