GnuPG
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/ | ||
| |||
| |||
Лицензия | 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 — программа, которая работает почти на всех операционных системах: от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]
См. также
[править |править код]Примечания
[править |править код]- ↑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.5 released] — 2025.
- ↑12Angwin, 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.
- ↑[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.
Ссылки
[править |править код]- Википедия:Cite web (не указан язык)
- Википедия:Страницы с ежедневно очищаемым кэшем
- Википедия:Статьи с источниками из Викиданных
- Википедия:Статьи со ссылками на элементы Викиданных без русской подписи
- Википедия:Статьи с изображениями: заполнить свойство P373 в Викиданных
- ПРО:ИТ:Статьи по алфавиту
- ПРО:ИТ:Последняя правка: в текущем году
- Википедия:Статьи, достоверность которых требует проверки
- Википедия:Статьи с шаблонами недостатков по алфавиту
- Википедия:Статьи, достоверность которых требует проверки без пояснений в шаблоне
- Википедия:Статьи, требующие конкретизации
- Статьи со ссылками на Викисклад