GnuPG
GNU Privacy Guard | |||
---|---|---|---|
![]() | |||
![]() | |||
Тип |
OpenPGP |
||
Автор |
Werner Koch |
||
Разработчик |
GNU Project |
||
Написана на | C | ||
Операционные системы | |||
Первый выпуск | 7 сентября 1999 | ||
Последняя версия | |||
Тестовая версия | |||
Репозиторий | dev.gnupg.org/source/gnupg/ | ||
| |||
| |||
Лицензия | GPL-3.0+ | ||
Сайт | gnupg.org | ||
![]() |
GNU Privacy Guard (GnuPG, GPG) —
История
Проект GnuPG был инициирован в конце 1990-х годов Вернером Кохом (нем. Werner Koch) с целью замены набора криптографического программного обеспечения PGP (точнее, асимметричной криптографии) альтернативным свободным программным обеспечением.[4][5]
Для этой цели было получено значительное финансирование от
Первая стабильная версия 1.0.0, была выпущена 7 сентября 1999 года, почти через два года после первого выпуска GnuPG (версия 0.0.0) 20 декабря 1997 года.[7][8] Федеральное министерство экономики Германии профинансировало документацию и портирование GnuPG на платформу Microsoft Windows в 2000 году.[9] В декабре 2013 года была запущена первая краудфандинговая кампания с целью создания более привлекательного веб-сайта, улучшения документации и выпуска версии 2.1 GnuPG.[10] 7 февраля 2014 года завершился краудфандинговый проект GnuPG, в ходе которого было собрано 36 732 € на новый веб-сайт и улучшение инфраструктуры.[11] С 2015 года, Core Infrastructure Initiative (CII) субсидирует проект в размере более 50 000 евро в год.[4][12]
достоверность сведений, изложенных в этом разделе. |
Первоначальное название проекта было не GnuPG, a G10 (в честь десятой статьи Конституции (нем. Grundgesetz) Германии).[13] Эта статья аналогична 23-й статье Конституции РФ, гарантирующей тайну переписки, переговоров и иных сообщений. Ограничения в США не позволяли экспортировать криптографическое программное обеспечение за границу. Правительство США стало преследовать Циммерманна, и тогда он обошёл это ограничение — опубликовал исходный код в книге, а уже за границей можно было набрать этот исходный код из книги и скомпилировать на компьютере. Жёсткие ограничения правительства США не давали возможность другим странам использовать сильную криптографию в программном обеспечении американских компаний (в том числе и Microsoft Windows). Разрабатывать криптографическое ПО в США с возможностью дальнейшего экспорта в другие страны разрешается только с соблюдением некоторых требований, и поэтому часть такого ПО создавалось за границами США (например, OpenBSD — в Канаде, GnuPG — в Германии). Правительство США пыталось заставить правительство Германии пересмотреть позицию по выпуску сильной криптографии на платформе Windows, но, так ничего и не добившись, в конце концов, ослабило свои экспортные ограничения на криптографическое ПО.
Ветви версий
На данный момент поддерживаются три стабильные ветви GnuPG:[14]
- ветвь «stable» («стабильная») — текущая разработка для общего использования (на данный момент времени, по состоянию на 2024-11-25 — это версия 2.4.7).
- ветвь «LTS» («долгосрочная поддержка»)
- «ELTS» («расширенная долгосрочная поддержка»)
- ветвь «legacy» — «устаревшая», для старых платформ (ранее называвшаяся ветвью «classic»), которая есть и останется версия 1.4 (1.4.23).
Различные версии GnuPG 2.x (например, из ветви 2.2 и 2.0) не могут быть установлены одновременно. Однако можно установить версию, например, из «устаревшей» ветви GnuPG (версию 1.4) вместе с любой версией GnuPG 2.x.[15]
Особенности
- Свободная альтернатива PGP
- Не использует патентованные алгоритмы
- Распространяется под GNU General Public License
- Полная реализация OpenPGP
- Расшифрование и аутентификация почтовых сообщений, созданных с помощью PGP 5, 6 и 7
- Поддержка электронной подписи с помощью алгоритмов DSA, RSA и хеш-функций MD5, SHA-1, SHA-2, RIPEMD-160 и TIGER. Начиная с версии 2.2[16] в разряд стабильных переведены алгоритмы эллиптической криптографии с использованием кривых Curve25519, NIST P-256/P-384/P-521, Brainpool[17] P-256/P-384/P-512 и Secp256k1[18]
- Работа с асимметричным шифрованием ElGamal и RSA(длина ключа от 1024 до 4096 бит)
- Поддержка блочных алгоритмов симметричного шифрования IDEAс помощью плагина
- Поддержка алгоритмов сжатия: BZIP2
- Лёгкая реализация новых алгоритмов с помощью дополнительных модулей
- Поддержка просроченных ключей и подписей
- Интегрированная поддержка HKP серверов ключей
- Встроенный сервер и клиент WKD[19] для распространения публичных ключей.
Использование
GnuPG — программа, которая работает почти на всех операционных системах: от
и т. д.Хотя в основном интерфейсом GnuPG является
С помощью расширения Enigmail GnuPG работает в почтовом клиенте Mozilla Thunderbird для шифрования и аутентификации сообщений. Также поддержка GnuPG имеется в почтовых клиентах Mutt, The Bat! и Gnus.
При помощи программы GPGrelay
Для пользователей операционной системы Microsoft Windows вторая ветвь GnuPG поставляется сразу с графическим интерфейсом. Начиная с 2005 года разработчиками проекта GnuPG выпускается Gpg4win (GNU Privacy Guard for Windows) — инсталляционный пакет, который включает в себя:
- версию GnuPG для Windows (ядро пакета, само средство шифрования);
- Kleopatra — менеджер сертификатов для OpenPGP и X.509;
- GPA — альтернативный менеджер сертификатов (GNU) для OpenPGP и X.509;
- GpgOL — плагин для Outlook;
- GpgEX — плагин для проводника Windows, используется при шифровании файлов;
- Claws Mail — полноценную почтовую программу с поддержкой функций GnuPG (с версии 2.2.6 удалён из пакета[21]);
- документацию на английском и немецком языке.
По сути, Gpg4win — это официальная версия GnuPG для платформы Windows, и все включённые в этот пакет компоненты также свободны.
Также, используя дополнительные плагины GnuPG или SecureIM, можно достичь шифрования сообщений с помощью GnuPG в клиенте сетей мгновенных сообщений Miranda IM.
GnuPG поддерживается
.Плагины для браузеров
До 7 июня 2010 года велась разработка FireGPG
Другой плагин для браузеров WebPG существует в версиях для Firefox (Seamonkey, Thunderbird) и Chrome (Chromium). Поддерживает функции: шифрование, расшифровывание, цифровая подпись, управление ключами. Текущая версия 0.9.2 от 24 января 2013 года. Есть экспериментальная интеграция с Gmail.
Другой действующий плагин, позволяющий использовать криптозащиту (шифрование и ЭЦП) в сообщении на странице в Интернете для браузера Chrome — это GPG4Browsers. Этот плагин первоначально выпущен немецкой компанией Recurity Labs, но затем передан в отдельный проект OpenPGP.js.
Использование плагинов в браузерах позволяет гарантировать принадлежность того или иного сообщения тому или иному человеку (через ЭЦП) или позволяет прочитать сообщение, находящееся в публичном доступе, кому-то одному (для кого зашифровано данное сообщение). В том числе возможно использование данных плагинов в социальных сетях или электронной почте.
Принцип работы
GnuPG шифрует сообщения, используя асимметричные пары ключей, генерируемые пользователями GnuPG. Открытыми ключами можно обмениваться с другими пользователями различными путями, в том числе и через Интернет с помощью серверов ключей. Также GnuPG позволяет добавлять криптографическую цифровую подпись к сообщению, при этом целостность и отправитель сообщения могут быть проверены.
GnuPG не использует запатентованное или иначе ограниченное
GnuPG — это гибридное криптографическое программное обеспечение, которое использует комбинацию стандартного шифрования с помощью симметричных ключей и шифрования с открытым ключом для безопасного обмена ключами, открытый ключ получателя необходим для шифрования ключа сессии, используемого единожды. Такой режим работы является частью стандарта
Проблемы
Подпись
Стандарт OpenPGP определяет несколько методов для
CVE-2016-6313
Уязвимость (CVE-2016-6313) была найдена специалистами Технологического института Карлсруэ, Феликсом Дёрре и Владимиром Клебановым; баг присутствует во всех версиях GnuPG и Libgcrypt, вышедших до 17 августа 2016 года.
Суть проблемы: если атакующему удастся извлечь 4620 бит данных из генератора случайных чисел, то последующие 160 бит последовательности он сумеет легко предсказать.
В заявлении разработчиков отдельно сообщается, что проблема не должна сказываться на безопасности существующих RSA-ключей. Также специалисты[кто?] считают крайне маловероятным, что кто-то сумеет использовать публичную информацию для предсказания приватных ключей DSA и Elgamal, однако в документе сообщается, что проблему всё ещё продолжают изучать.
Уязвимость устранена выпуском Libgcrypt 1.7.3, 1.6.6 и 1.5.6 и выпуском GnuPG 1.4.21.[24]
Критика
Эксперты по ИТ-безопасности критикуют плохую кодовую базу GnuPG, отсутствие системы непрерывной интеграции и связанные с этим уязвимости.[25]
См. также
Примечания
- ↑ Koch W. GnuPG 2.4.7 and Gpg4win 4.4.0 released (англ.) — 2024.
- ↑ Noteworthy changes in version 2.2.43 — 2024.
- ↑ Кох В. [Announce GnuPG 2.5.6 and Gpg4win-5-Beta190 released] — 2025.
- ↑ 1 2 Angwin, Julia. The World's Email Encryption Software Relies on One Guy, Who is Going Broke . ProPublica (5 февраля 2015). Дата обращения: 5 февраля 2025.
- ↑ Germany Awards Grant for Encryption . archive.nytimes.com. Дата обращения: 5 февраля 2025.
- ↑ online, heise. Bundesregierung fördert Open Source (нем.). heise online (15 ноября 1999). Дата обращения: 5 февраля 2025.
- ↑ Project, The People of the GnuPG. GnuPG - Release Notes (англ.). gnupg.org (12 июня 2021). Дата обращения: 5 февраля 2025.
- ↑ The World’s Email Encryption Software Relies on One Guy, Who is Going Broke - ProPublica . web.archive.org (6 февраля 2015). Дата обращения: 5 февраля 2025.
- ↑ Germany Awards Grant for Encryption . web.archive.org (25 августа 2014). Дата обращения: 5 февраля 2025.
- ↑ Goteo, Fundación. GnuPG: new website and infrastructure (фр.). Goteo.org. Дата обращения: 5 февраля 2025.
- ↑ Goteo.org Crowdfunding the commons . web.archive.org (30 марта 2014). Дата обращения: 5 февраля 2025.
- ↑ OpenPGP.org - Gnu Privacy Guard . web.archive.org (27 февраля 2014). Дата обращения: 5 февраля 2025.
- ↑ Project, The People of the GnuPG. 20141214-gnupg-and-g10 (англ.). gnupg.org (29 апреля 2015). Дата обращения: 2 апреля 2025.
- ↑ [Announce] GnuPG 2.3.3 released . lists.gnupg.org. Дата обращения: 5 февраля 2025.
- ↑ [Announce] GnuPG 2.1.0 "modern" released . web.archive.org (6 ноября 2014). Дата обращения: 5 февраля 2025.
- ↑ Объявление о выпуске GnuPG 2.2.0 . Дата обращения: 21 сентября 2018. Архивировано 29 августа 2017 года.
- ↑ RFC 5639 — Elliptic Curve Cryptography (ECC) Brainpool Standard Curves and Curve Generation . Дата обращения: 21 сентября 2018. Архивировано 15 февраля 2020 года.
- ↑ Описание кривой Secp256k1 . Bitcoin Wiki. Дата обращения: 21 сентября 2018. Архивировано 21 сентября 2018 года.
- ↑ WKD — GnuPG wiki . Дата обращения: 21 сентября 2018. Архивировано 4 сентября 2018 года.
- ↑ GPGrelay
- ↑ Gpg4win 2.2.6 released
- ↑ Maximilien Cuony. FireGPG discontinued (7 июля 2010). Дата обращения: 22 апреля 2014. Архивировано 27 июля 2013 года.
- ↑ Werner Koch. [Announce] GnuPG's ElGamal signing keys compromised (27 ноября 2003). Дата обращения: 22 апреля 2014. Архивировано 18 марта 2004 года.
- ↑ Мария Нефёдова. В GNUPG И БИБЛИОТЕКЕ LIBGCRYPT ИСПРАВИЛИ КРИТИЧЕСКИЙ БАГ, СУЩЕСТВУЮЩИЙ С 1998 ГОДА (22 августа 2016). Дата обращения: 28 августа 2016. Архивировано 8 ноября 2016 года.
- ↑ Golem.de: IT-News für Profis . www.golem.de. Дата обращения: 5 февраля 2025.