GNU Privacy Guard

редактировать
GNU Privacy Guard
Логотип GNU Privacy Guard
Процесс создания пары ключей в эмуляторе терминала Unix Процесс создания пары ключей в Unix эмуляторе терминала
Первоначальный автор (ы) Вернер Кох
Разработчик (и) Проект GNU
Первоначальный выпуск7 сентября 1999 г.; 21 год назад (1999-09-07)
Стабильный выпуск (ы) [±]
Modern2.2.23 / 3 сентября 2020 г.; 41 день назад (2020-09-03)
Classic1.4.23 / 11 июня 2018 г.; 2 года назад (11.06.2018)
Предварительные версии [±]
Репозиторий dev.gnupg.org / source / gnupg /
Написано вC
Операционной системе Microsoft Windows, macOS, RISC OS, Android, Linux
Тип OpenPGP
Лицензия GPLv3
Веб-сайтgnupg.org

GNU Privacy Guard (GnuPG или GPG ) - это бесплатное программное обеспечение, заменяющее программный пакет PGP cryptographic от Symantec, и он соответствует с RFC 4880, стандартом IETF, отслеживающим спецификацию OpenPGP. Современные версии PGP совместимы с GnuPG и другими системами, совместимыми с OpenPGP.

GnuPG является частью проекта GNU и получил основное финансирование от правительства Германии.

Содержание
  • 1 Обзор
  • 2 История
    • 2.1 Филиалы
  • 3 Платформы
  • 4 Ограничения
  • 5 Уязвимости
  • 6 Поддержка приложений
  • 7 В популярной культуре
  • 8 См. Также
  • 9 Ссылки
  • 10 Внешние ссылки
Обзор

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

Серия GnuPG 1.x использует интегрированную криптографическую библиотеку, а серия GnuPG 2.x заменяет ее на Libgcrypt.

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

GnuPG также поддерживает алгоритмы симметричного шифрования. По умолчанию GnuPG использует симметричный алгоритм AES, начиная с версии 2.1, CAST5 использовался в более ранних версиях. GnuPG не использует запатентованное или иным образом ограниченное программное обеспечение или алгоритмы. Вместо этого GnuPG использует множество других, не запатентованных алгоритмов.

Долгое время он не поддерживал алгоритм шифрования IDEA, используемый в PGP. Фактически было возможно использовать IDEA в GnuPG, загрузив для него подключаемый модуль, однако для этого может потребоваться лицензия для некоторых видов использования в странах, где IDEA была запатентована. Начиная с версий 1.4.13 и 2.0.20, GnuPG поддерживает IDEA, поскольку последний патент IDEA истек в 2012 году. Поддержка IDEA предназначена «для того, чтобы избавиться от всех вопросов от людей, пытающихся расшифровать старые данные или перенести ключи из PGP. to GnuPG ", поэтому не рекомендуется для регулярного использования.

Начиная с версии 2.2 GnuPG поддерживает следующие алгоритмы:

Открытый ключ
RSA, ElGamal, DSA, ECDH, ECDSA, EdDSA
Cipher
3DES, IDEA (начиная с версий 1.4.13 и 2.0.20), CAST5, Blowfish, Twofish, AES-128, AES-192, AES-256, Camellia-128, -192 и -256 (начиная с версий 1.4.10 и 2.0.12)
Хэш
MD5, SHA-1, RIPEMD-160, SHA -256, SHA-384, SHA-512, SHA-224
Сжатие
Без сжатия, ZIP, ZLIB, BZIP2

Более свежие выпуски GnuPG 2.x («современная» и ныне устаревшая «стабильная» серия) предоставляет большинство криптографических функций и алгоритмов, которые предоставляет Libgcrypt (его криптографическая библиотека), включая поддержку криптографии с эллиптическими кривыми ( ECDH, ECDSA и EdDSA) в «современной» серии (т.е. начиная с GnuPG 2.1).

История

Первоначально GnuPG был разработан Вернером Кохом. Первая производственная версия 1.0.0 была выпущена 7 сентября 1999 года, почти через два года после первого выпуска GnuPG (версия 0.0.0). Федеральное министерство экономики и технологий Германии профинансировало документацию и перенос на Microsoft Windows в 2000 году.

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

7 февраля 2014 г. завершился краудфандинг GnuPG , 36 732 евро за новый веб-сайт и улучшения инфраструктуры.

Филиалы

По состоянию на январь 2018 года существует два активно поддерживаемых филиала GnuPG:

Различные версии GnuPG 2.x (например, из веток 2.2 и 2.0) не могут быть установлены одновременно. Однако можно установить «классическую» версию GnuPG (т. Е. Из ветки 1.4) вместе с любой версией GnuPG 2.x.

До выпуска GnuPG 2.2 («современный») эта версия теперь устарела. «стабильная» ветвь (2.0) была рекомендована для общего использования, первоначально выпущена 13 ноября 2006 г. Эта ветка достигла конца жизненного цикла 31 декабря 2017 г.; Его последняя версия - 2.0.31, выпущенная 29 декабря 2017 года.

До выпуска GnuPG 2.0 все стабильные выпуски происходили из одной ветки; то есть до 13 ноября 2006 г. несколько ветвей выпуска не поддерживались параллельно. Этими предыдущими, последовательно следующими (до 1.4) ветвями выпуска были:

  • ветвь 1.2, первоначально выпущенная 22 сентября 2002 г., с последней версией 1.2.6, выпущенной 26 октября 2004 г.
  • 1.0, первоначально выпущенная 7 сентября 1999 года, с последней версией 1.0.7, выпущенной 30 апреля 2002 года.

(Обратите внимание, что ветки с нечетным второстепенным номером версии (например, 2.1, 1.9, 1.3) находятся в стадии разработки ветви, ведущие к ветке стабильного выпуска с более высоким номером версии "+ 0.1" (например, 2.2, 2.0, 1.4), следовательно, ветви 2.2 и 2.1 относятся к "современной" серии, а 2.0 и 1.9 - к "стабильной" серии, в то время как ветви 1.4 и 1.3 принадлежат к "классической" серии.)

Платформы

Хотя основная программа GnuPG имеет интерфейс командной строки, существуют различные интерфейсы, которые предоставляют ему графический пользовательский интерфейс. Например, поддержка шифрования GnuPG была интегрирована в KMail и Evolution, графические почтовые клиенты, найденные в KDE и GNOME., самые популярные настольные компьютеры Linux. Существуют также графические интерфейсы GnuPG, например Seahorse для GNOME и KGPG для KDE.

Проект GPG Suite предоставляет ряд Aqua внешних интерфейсов для интеграции ОС для шифрования и управления ключами, а также для установки GnuPG через Installer пакеты для macOS. Кроме того, установщик GPG Suite устанавливает все связанные приложения OpenPGP (GPG Keychain Access), плагины (GPGMail ) и зависимости (MacGPG) для использования шифрования на основе GnuPG.

Приложения для обмена мгновенными сообщениями, такие как Psi и Fire, могут автоматически защищать сообщения при установке и настройке GnuPG. Интернет-программное обеспечение, такое как Horde, также использует его. Кроссплатформенное расширение Enigmail обеспечивает поддержку GnuPG для Mozilla Thunderbird и SeaMonkey. Точно так же Enigform обеспечивает поддержку GnuPG для Mozilla Firefox. Поддержка FireGPG была прекращена 7 июня 2010 года.

В 2005 году g10 Code GmbH и Intevation GmbH выпустили Gpg4win, программный пакет, включающий GnuPG для Windows, GNU Privacy Assistant и подключаемые модули GnuPG. для Windows Explorer и Outlook. Эти инструменты включены в стандартный установщик Windows, что упрощает установку и использование GnuPG в системах Windows.

Ограничения

В качестве системы на основе командной строки GnuPG 1.x не написан как API, который может быть включен в другое программное обеспечение. Чтобы преодолеть это, GPGME (сокращенно GnuPG Made Easy) был создан как оболочка API для GnuPG, которая анализирует вывод GnuPG и обеспечивает стабильный и поддерживаемый API между компонентами. В настоящее время для многих вызовов API GPGME требуется внепроцессный вызов исполняемого файла GnuPG; в результате возможные проблемы безопасности в приложении не распространяются на фактический криптокод из-за барьера процесса. Созданы различные графические интерфейсы на основе GPGME.

Начиная с GnuPG 2.0, многие функции GnuPG доступны непосредственно как C API в Libgcrypt.

Уязвимости

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

Еще две уязвимости были обнаружены в начале 2006 года; во-первых, использование GnuPG по сценарию для проверки подписи может привести к ложным срабатываниям, во-вторых, сообщения, не относящиеся к MIME, были уязвимы для внедрения данных, которые, хотя и не были охвачены цифровой подписью, будут сообщаться как будучи частью подписанного сообщения. В обоих случаях обновленные версии GnuPG были доступны на момент объявления.

В июне 2017 года Бернстайн, Брайтнер и другие обнаружили уязвимость (CVE-2017-7526) в Libgcrypt : библиотеке, используемой GnuPG, что позволило полностью восстановить ключ для RSA. -1024 и около 1/8 ключей RSA-2048. Эта атака по побочному каналу использует тот факт, что Libgcrypt использовал метод скользящего окна для возведения в степень, что приводит к утечке битов экспоненты и к полному восстановлению ключа. Опять же, на момент объявления была доступна обновленная версия GnuPG.

В октябре 2017 года было объявлено об уязвимости ROCA, которая затрагивает ключи RSA, созданные токенами YubiKey 4, которые часто используются с PGP / GPG. Многие опубликованные ключи PGP оказались уязвимыми.

Примерно в июне 2018 года было объявлено об атаках SigSpoof. Это позволило злоумышленнику убедительно подделать цифровые подписи.

Поддержка приложений

Известные приложения, внешние интерфейсы и расширения браузера, поддерживающие GPG, включают следующее:

  • Claws Mail - электронное письмо клиент с подключаемым модулем GPG
  • Enigform - расширение Firefox
  • Enigmail - расширение Mozilla Thunderbird и SeaMonkey расширение
  • Evolution - почтовое приложение GNOME со встроенной поддержкой GnuPG
  • FireGPG - расширение Firefox (прекращено)
  • Gnus - программа для чтения сообщений и новостей в GNU Emacs
  • Gpg4win - пакет Windows с инструментами и руководствами для электронной почты и шифрования файлов
  • GPGMail - плагин macOS Mail.app
  • KGPG - графический интерфейс KDE конец для GnuPG
  • KMail - почтовый клиент / компонент электронной почты Kontact (программное обеспечение PIM ), который использует GPG для криптографии
  • MCabber - a Jabber клиент
  • Mailvelope - Google Chrome и Firefox расширенный включено для сквозного шифрования почтового трафика
  • Mutt - почтовый клиент со встроенной поддержкой PGP / GPG
  • Psi (клиент обмена мгновенными сообщениями)
  • The Bat! - электронная почта клиент, который может использовать GnuPG в качестве поставщика OpenPGP
  • WinPT - графический интерфейс к GPG для Windows (прекращено)
В популярной культуре

В мае 2014 г. Вашингтон В сообщении сообщается о 12-минутном видеогиде «GPG для журналистов», размещенном на Vimeo в январе 2013 года пользователем по имени anon108. The Post определила анон108 как беглеца АНБ разоблачителя Эдварда Сноудена, который, по его словам, составил учебник - «рассказанный замаскированным цифровым способом голосом, чьи речевые модели похожи на речевые модели Сноудена» - для обучения журналист Гленн Гринвальд шифрование электронной почты. Гринвальд заявил, что не может подтвердить авторство видео. Есть сходство между учебным пособием и интервью, в которых участвовал Сноуден, например, упоминание пароля «margaretthatcheris110% sexy» в этом видео и интервью, проведенном с Джоном Оливером в 2015 году.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-21 09:11:24
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте