GnuPG

Материал из Википедии — свободной энциклопедии
(перенаправлено с «GPG»)
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 11 октября 2023 года; проверки требуют9 правок.
Перейти к навигацииПерейти к поиску
GNU Privacy Guard
Логотип программы GNU Privacy Guard
Скриншот программы GNU Privacy Guard
ТипPretty Good PrivacyOpenPGP
АвторWerner Koch
РазработчикGNU Project
Написана наC
Операционные системыMicrosoft Windows,macOS,RISC OS,Android,Linux
Первый выпуск7 сентября 1999; 25 лет назад (1999-09-07)
Последняя версия
Тестовая версия
Репозиторийdev.gnupg.org/source/gnupg/
Читаемые форматы файлов:
GNU Privacy Guard public keyring (generic)[вд]
Создаваемые форматы файлов:
GNU Privacy Guard public keyring (generic)[вд]
ЛицензияGPL-3.0+
Сайтgnupg.org
Логотип Викисклада Медиафайлы на Викискладе

GNU Privacy Guard (GnuPG,GPG) —свободное программное обеспечение дляшифрования информации и созданияэлектронных цифровых подписей. GnuPG присутствует во всех свободных операционных системах, включаяGNU/Linux, распространяется под свободной лицензиейGNU General Public License. GnuPG полностью совместима со стандартомIETFOpenPGP. Текущие версии GnuPG могут взаимодействовать сPGP и другими OpenPGP-совместимыми системами.

Содержание

История

[править |править код]

Проект GnuPG был инициирован в конце 1990-х годовВернером Кохом (нем.Werner Koch) с целью замены набора криптографического программного обеспеченияPGP (точнее, асимметричной криптографии) альтернативным свободным программным обеспечением.[4][5]

Для этой цели было получено значительное финансирование отФедеральное министерство экономики и защиты климата Германии.[6]

Первая стабильная версия 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) Германии). Эта статья аналогична23-й статье Конституции РФ, гарантирующей тайну переписки, переговоров и иных сообщений. Ограничения в США не позволяли экспортировать криптографическое программное обеспечение за границу. Правительство США стало преследовать Циммерманна, и тогда он обошёл это ограничение — опубликовал исходный код в книге, а уже за границей можно было набрать этот исходный код из книги и скомпилировать на компьютере. Жёсткие ограничения правительства США не давали возможность другим странам использовать сильную криптографию в программном обеспечении американских компаний (в том числе и Microsoft Windows). Разрабатывать криптографическое ПО в США с возможностью дальнейшего экспорта в другие страны разрешается только с соблюдением некоторых требований, и поэтому часть такого ПО создавалось за границами США (например,OpenBSD — в Канаде, GnuPG — в Германии). Правительство США пыталось заставить правительство Германии пересмотреть позицию по выпуску сильной криптографии на платформе Windows, но, так ничего и не добившись, в конце концов, ослабило свои экспортные ограничения на криптографическое ПО.

Ветви версий

[править |править код]

На данный момент поддерживаются три стабильные ветви GnuPG:[13]

  • ветвь «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.[14]

Особенности

[править |править код]
  • Свободная альтернативаPGP
  • Не использует патентованные алгоритмы
  • Распространяется подGNU General Public License
  • Полная реализацияOpenPGP
  • Расшифрование и аутентификация почтовых сообщений, созданных с помощьюPGP 5, 6 и 7
  • Поддержка электронной подписи с помощью алгоритмовElGamal,DSA,RSA и хеш-функцийMD5,SHA-1,SHA-2,RIPEMD-160 иTIGER. Начиная с версии 2.2[15] в разряд стабильных переведены алгоритмыэллиптической криптографии с использованием кривыхCurve25519,NIST P-256/P-384/P-521, Brainpool[16] P-256/P-384/P-512 и Secp256k1[17]
  • Работа с асимметричным шифрованиемElGamal иRSA (длина ключа от 1024 до 4096 бит)
  • Поддержка блочных алгоритмов симметричного шифрованияAES,CAST5,3DES,Twofish,Blowfish,Camellia, а такжеIDEA с помощью плагина
  • Поддержка алгоритмов сжатия:ZIP,ZLIB,BZIP2
  • Лёгкая реализация новых алгоритмов с помощью дополнительных модулей
  • Поддержка просроченных ключей и подписей
  • Интегрированная поддержкаHKP серверов ключей
  • Встроенный сервер и клиент WKD[18] для распространения публичных ключей.

Использование

[править |править код]
Пример использования GnuPG: в качестве ключа подписи репозитория программного обеспечения дляZYpp

GnuPG — программа, которая работает почти на всех операционных системах: отMicrosoft Windows иGNU/Linux доMac OS X,FreeBSD,OpenBSD,NetBSD и т. д.

Хотя в основном интерфейсом GnuPG являетсякомандная строка, существуют различные внешние дополнения, которые делают доступной функциональность этой программы через графический интерфейс пользователя. Например, GnuPG интегрирован в графические клиенты электронной почтыKMail иEvolution. Механизм плагинов полностью совместим со стандартомOpenPGP.

С помощью расширенияEnigmail GnuPG работает в почтовом клиентеMozilla Thunderbird для шифрования и аутентификации сообщений. Также поддержка GnuPG имеется в почтовых клиентахMutt,The Bat! иGnus.

При помощи программы GPGrelay[19] шифровать и подписывать электронные письма через GnuPG можно любыми почтовыми клиентами, работающими по протоколамPOP3,IMAP4,SMTP.

Для пользователей операционной системы 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 удалён из пакета[20]);
  • документацию на английском и немецком языке.

По сути, Gpg4win — это официальная версия GnuPG для платформы Windows, и все включённые в этот пакет компоненты такжесвободны.

Также, используя дополнительные плагины GnuPG илиSecureIM, можно достичь шифрования сообщений с помощью GnuPG в клиенте сетей мгновенных сообщенийMiranda IM.

GnuPG поддерживаетсяJabber-клиентамиPsi иGajim.

Плагины для браузеров

[править |править код]

До 7 июня 2010 года велась разработка FireGPG[21] — дополнения дляFirefox, которое позволяло добавить в этот браузер поддержку GnuPG. Помимо прочих функций оно позволяло интегрировать GnuPG вGmail. Из-за того что веб-интерфейс Gmail постоянно менялся, автор плагина прекратил сначала поддерживать шифрование Gmail почты, а затем и всего плагина. Этим плагином FireGPG пользовалось около 30 тысяч человек.

Другой плагин для браузеров WebPG существует в версиях для Firefox (Seamonkey, Thunderbird) иChrome (Chromium). Поддерживает функции: шифрование, расшифровывание, цифровая подпись, управление ключами. Текущая версия 0.9.2 от 24 января 2013 года. Есть экспериментальная интеграция с Gmail.

Другой действующий плагин, позволяющий использовать криптозащиту (шифрование и ЭЦП) в сообщении на странице в Интернете для браузера Chrome — этоGPG4Browsers. Этот плагин первоначально выпущен немецкой компаниейRecurity Labs, но затем передан в отдельный проектOpenPGP.js.

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

Принцип работы

[править |править код]

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

GnuPG не использует запатентованное или иначе ограниченноепрограммное обеспечение и/или алгоритмы, включая алгоритмIDEA, который представлен в PGP почти с самого начала. GnuPG использует другие непатентованные алгоритмыCAST5,3DES,AES,Blowfish иTwofish. Тем не менее, возможно использование в GnuPG и алгоритма IDEA с помощью дополнительногомодуля.

GnuPG — это гибридное криптографическое программное обеспечение, которое использует комбинацию стандартного шифрования с помощью симметричных ключей и шифрования с открытым ключом для безопасного обмена ключами, открытый ключ получателя необходим для шифрования ключа сессии, используемого единожды. Такой режим работы является частью стандартаOpenPGP и частью PGP в его первой версии.

Проблемы

[править |править код]

Подпись

[править |править код]

Стандарт OpenPGP определяет несколько методов дляподписанных цифровой подписью сообщений. Из-за ошибки, допущенной в результате попытки сделать эти методы более эффективными, появилась уязвимость. Это затрагивает только один метод в цифровой подписи сообщений, только для некоторых выпусков GnuPG (1.0.2 до 1.2.3), и было меньше чем 1000 таких ключей, перечисленных на ключевых серверах.[22]

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.[23]

Критика

[править |править код]

Эксперты по ИТ-безопасности критикуют плохую кодовую базу GnuPG, отсутствие системы непрерывной интеграции и связанные с этим уязвимости.[24]

См. также

[править |править код]

Примечания

[править |править код]
  1. Koch W.GnuPG 2.4.7 and Gpg4win 4.4.0 released (англ.) — 2024.
  2. Noteworthy changes in version 2.2.43 — 2024.
  3. Кох В.[Announce GnuPG 2.5.5 released] — 2025.
  4. 12Angwin, Julia. The World's Email Encryption Software Relies on One Guy, Who is Going Broke  (неопр.). ProPublica (5 февраля 2015). Дата обращения: 5 февраля 2025.
  5. Germany Awards Grant for Encryption  (неопр.). archive.nytimes.com. Дата обращения: 5 февраля 2025.
  6. online, heise. Bundesregierung fördert Open Source (нем.). heise online (15 ноября 1999). Дата обращения: 5 февраля 2025.
  7. Project, The People of the GnuPG. GnuPG - Release Notes (англ.). gnupg.org (12 июня 2021). Дата обращения: 5 февраля 2025.
  8. The World’s Email Encryption Software Relies on One Guy, Who is Going Broke - ProPublica  (неопр.). web.archive.org (6 февраля 2015). Дата обращения: 5 февраля 2025.
  9. Germany Awards Grant for Encryption  (неопр.). web.archive.org (25 августа 2014). Дата обращения: 5 февраля 2025.
  10. Goteo, Fundación. GnuPG: new website and infrastructure (фр.). Goteo.org. Дата обращения: 5 февраля 2025.
  11. Goteo.org Crowdfunding the commons  (неопр.). web.archive.org (30 марта 2014). Дата обращения: 5 февраля 2025.
  12. OpenPGP.org - Gnu Privacy Guard  (неопр.). web.archive.org (27 февраля 2014). Дата обращения: 5 февраля 2025.
  13. [Announce] GnuPG 2.3.3 released  (неопр.). lists.gnupg.org. Дата обращения: 5 февраля 2025.
  14. [Announce] GnuPG 2.1.0 "modern" released  (неопр.). web.archive.org (6 ноября 2014). Дата обращения: 5 февраля 2025.
  15. Объявление о выпуске GnuPG 2.2.0  (неопр.). Дата обращения: 21 сентября 2018. Архивировано 29 августа 2017 года.
  16. RFC 5639 — Elliptic Curve Cryptography (ECC) Brainpool Standard Curves and Curve Generation  (неопр.). Дата обращения: 21 сентября 2018. Архивировано 15 февраля 2020 года.
  17. Описание кривой Secp256k1  (неопр.). Bitcoin Wiki. Дата обращения: 21 сентября 2018. Архивировано 21 сентября 2018 года.
  18. WKD — GnuPG wiki  (неопр.). Дата обращения: 21 сентября 2018. Архивировано 4 сентября 2018 года.
  19. GPGrelay
  20. Gpg4win 2.2.6 released
  21. Maximilien Cuony. FireGPG discontinued  (неопр.) (7 июля 2010). Дата обращения: 22 апреля 2014. Архивировано 27 июля 2013 года.
  22. Werner Koch. [Announce] GnuPG's ElGamal signing keys compromised  (неопр.) (27 ноября 2003). Дата обращения: 22 апреля 2014. Архивировано 18 марта 2004 года.
  23. Мария Нефёдова. В GNUPG И БИБЛИОТЕКЕ LIBGCRYPT ИСПРАВИЛИ КРИТИЧЕСКИЙ БАГ, СУЩЕСТВУЮЩИЙ С 1998 ГОДА  (неопр.) (22 августа 2016). Дата обращения: 28 августа 2016. Архивировано 8 ноября 2016 года.
  24. Golem.de: IT-News für Profis  (неопр.). www.golem.de. Дата обращения: 5 февраля 2025.

Ссылки

[править |править код]
Перейти к шаблону «GNU»
История
Лицензии
Программное
обеспечение
Персоналии
Другие темы
Источник —https://ru.wikipedia.org/w/index.php?title=GnuPG&oldid=143302500
Категории:
Скрытые категории: