WikiDer > GNU Privacy Guard

GNU Privacy Guard
GNU Privacy Guard
Логотип GNU Privacy Guard
Процесс генерации пары ключей в эмуляторе терминала Unix
Процесс генерации ключевой пары в Unix эмулятор терминала
Оригинальный автор (ы)Вернер Кох
Разработчики)Проект GNU
изначальный выпуск7 сентября 1999 г.; 21 год назад (1999-09-07)[1]
Стабильный выпуск (ы) [±]
Современное2.2.25 / 23 ноября 2020 г.; 3 дня назад (2020-11-23)[2]
Классический1.4.23 / 11 июня 2018 г.; 2 года назад (2018-06-11)[3]
Предварительный выпуск (ы) [±]
Репозиторийразработчик.gnupg.org/источник/ gnupg/
Написано вC
Операционная системаМайкрософт Виндоус, macOS, ОС RISC, Android, Linux
ТипOpenPGP
ЛицензияGPLv3
Интернет сайтgnupg.org

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

GnuPG является частью Проект GNU, и получил значительное финансирование от Правительство Германии в 1999 году.[5]

Обзор

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

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

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

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

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

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

Открытый ключ
ЮАР, Эль-Гамаль, DSA, ECDH, ECDSA, EdDSA
Шифр
3DES, ИДЕЯ (начиная с версий 1.4.13 и 2.0.20), CAST5, Blowfish, Twofish, AES-128, AES-192, AES-256, Камелия-128, -192 и -256 (начиная с версий 1.4.10 и 2.0.12)
Хеш
MD5, SHA-1, РИПЭМД-160, SHA-256, SHA-384, SHA-512, SHA-224
Сжатие
Несжатый, ZIP, ZLIB, BZIP2

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

История

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

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

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

ветви

По состоянию на январь 2018 г., есть две активно поддерживаемые ветки GnuPG:

  • «Современный» (2.2) с множеством новых функций, таких как криптография на основе эллиптических кривыхпо сравнению с прежней «стабильной» (2.0) веткой, которую она заменила выпуском GnuPG 2.2.0 28 августа 2017 года.[15] Первоначально он был выпущен 6 ноября 2014 года.[9]
  • "Classic" (1.4), более старая, но все еще поддерживаемая автономная версия, наиболее подходящая для старых или встроенных платформ. Первоначально выпущен 16 декабря 2004 г.[16]

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

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

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

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

(Обратите внимание, что ветки с нечетным второстепенным номером выпуска (например, 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 и Эволюция, графический почтовые клиенты нашел в KDE и ГНОМ, самый популярный Linux рабочие столы. Также есть графические интерфейсы GnuPG, например Морской конек для GNOME и КГПГ для KDE.

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

Мгновенное сообщение такие приложения, как Пси и Огонь может автоматически защищать сообщения при установке и настройке GnuPG. Веб-программное обеспечение, такое как Орда также использует это. Кросс-платформенный расширение Enigmail обеспечивает поддержку GnuPG для Mozilla Thunderbird и SeaMonkey. По аналогии, Enigform обеспечивает поддержку GnuPG для Mozilla Firefox. Поддержка FireGPG была прекращена 7 июня 2010 г.[25]

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

Ограничения

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

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

Уязвимости

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

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

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

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

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

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

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

В популярной культуре

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

Смотрите также

Рекомендации

  1. ^ а б c «Примечания к выпуску». GnuPG. В архиве из оригинала от 09.02.2014. Получено 2014-01-30.
  2. ^ Кох, Вернер (2020-11-23). "[Объявление] Выпущен GnuPG 2.2.25". gnupg-анонс (Список рассылки). Получено 2020-11-24.
  3. ^ "НОВОСТИ файл". Заслуживающие внимания изменения в заголовке версии 1.4.23 (2018-06-11). Получено 13 июн 2018.
  4. ^ "Gnu Privacy Guard". GnuPG.org. В архиве из оригинала от 29.04.2015. Получено 2015-05-26.
  5. ^ "Bundesregierung fördert Open Source" (на немецком). Heise Online. 1999-11-15. В архиве с оригинала 12 октября 2013 г.. Получено 24 июля, 2013.
  6. ^ "[Объявление] Возможно, последняя бета-версия GnuPG 2.1". В архиве из оригинала на 2019-05-02. Получено 2019-03-28.
  7. ^ «Возможности GnuPG». В архиве из оригинала 4 октября 2009 г.. Получено 1 октября, 2009.
  8. ^ Кох, Вернер (21 декабря 2012 г.). «Выпущен GnuPG 1.4.13» (Список рассылки). gnupg-users. В архиве из оригинала от 12 февраля 2013 г.. Получено 2013-05-19.
  9. ^ а б c Кох, Вернер (2014-11-06). "[Объявление] GnuPG 2.1.0" modern "выпущен". gnupg.org. В архиве из оригинала 06.11.2014. Получено 2014-11-06.
  10. ^ а б Ангвин, Джулия (5 февраля 2015 г.). «Мировое программное обеспечение для шифрования электронной почты полагается на одного парня, который разоряется». ProPublica. В архиве из оригинала от 6 февраля 2015 г.. Получено 6 февраля 2015.
  11. ^ а б Уэйнер, Питер (19 ноября 1999). «Грант Германии награждает за шифрование». Нью-Йорк Таймс. В архиве с оригинала 25 августа 2014 г.. Получено 2014-08-08.
  12. ^ "Gnu Privacy Guard". OpenPGP.org. Архивировано из оригинал на 2014-02-27. Получено 2014-02-26.
  13. ^ «Где взять PGP». Philzimmermann.com. В архиве из оригинала от 26.02.2014. Получено 2014-02-26.
  14. ^ «GnuPG: Новый веб-сайт и инфраструктура». goteo.org. В архиве из оригинала 30.03.2014. Получено 2014-03-09.
  15. ^ Кох, Вернер (2017-08-28). "[Объявление] Выпущен GnuPG 2.2.0". gnupg-анонс (Список рассылки). В архиве из оригинала от 29.08.2017. Получено 2017-09-21.
  16. ^ Кох, Вернер (2004-12-16). «[Объявление] GnuPG stable 1.4 выпущен». gnupg.org. В архиве из оригинала от 03.01.2005. Получено 2004-12-16.
  17. ^ Кох, Вернер (2006-11-13). «[Объявление] GnuPG 2.0 выпущен». gnupg.org. В архиве из оригинала на 14.02.2014. Получено 2014-01-30.
  18. ^ Кох, Вернер (2017-01-23). "[Объявление] Выпущен GnuPG 2.1.18". gnupg.org. В архиве из оригинала на 2017-02-11. Получено 2017-02-04.
  19. ^ "GnuPG 2.0.31". 2017-12-29. Получено 2017-12-30.
  20. ^ Кох, Вернер (2002-09-06). «[Объявление] GnuPG 1.2 выпущен». gnupg.org. В архиве из оригинала от 17.06.2014. Получено 2014-11-06.
  21. ^ Кох, Вернер (2004-08-26). "[Объявление] Выпущен GnuPG 1.2.6". gnupg.org. В архиве из оригинала от 17.06.2014. Получено 2014-11-06.
  22. ^ Кох, Вернер (2002-04-30). "[Объявление] Выпущен GnuPG 1.0.7". gnupg.org. В архиве из оригинала от 17.06.2014. Получено 2014-11-06.
  23. ^ «Mac GPG Suite». GPG Suite. Получено 2017-12-24.
  24. ^ «Установщик Mac GPG Suite». GPG Suite. Получено 2017-12-24.
  25. ^ «Блог разработчиков FireGPG». В архиве из оригинала 27 июля 2013 г.. Получено 24 июля, 2013.
  26. ^ "GPGME (GnuPG Made Easy)". gnupg.org. 11 февраля 2015 года. В архиве из оригинала 17 февраля 2015 г.. Получено 3 марта, 2015.
  27. ^ «Библиотеки». GNUPG. В архиве из оригинала 8 декабря 2015 г.. Получено 2 декабря 2015.
  28. ^ Нгуен, Фонг К. «Можно ли доверять криптографическому программному обеспечению? Криптографические недостатки в GNU Privacy Guard v1.2.3». ЕВРОКРИПТ 2004: 555–570. В архиве из оригинала на 2017-12-04. Получено 2019-08-23.
  29. ^ Кох, Вернер (27 ноября 2003 г.). «Ключи подписи ElGamal от GnuPG взломаны». В архиве с оригинала 18 марта 2004 г.. Получено 14 мая, 2004.
  30. ^ Кох, Вернер (15 февраля 2006 г.). «Проверка ложноположительной подписи в GnuPG». В архиве из оригинала 17 июня 2006 г.. Получено 23 мая, 2006.
  31. ^ Кох, Вернер (9 марта 2006 г.). «GnuPG не обнаруживает внедрение беззнаковых данных». В архиве из оригинала 5 мая 2006 г.. Получено 23 мая, 2006.
  32. ^ Эдж, Джейк (5 июля 2017 г.). «Взлом Libgcrypt RSA через побочный канал». LWN.net. В архиве из оригинала 28 июля 2017 г.. Получено 28 июля 2017.
  33. ^ «Сползание вправо к катастрофе: утечка через скользящие окна слева направо» (PDF). В архиве (PDF) из оригинала на 30.06.2017. Получено 2017-06-30.
  34. ^ Возвращение атаки медников: практическая факторизация широко используемых модулей RSA В архиве 2017-11-12 в Wayback Machine, Матус Немец, Марек Сис, Петр Свенда, Душан Клинец, Вашек Матьяс, ноябрь 2017 г.
  35. ^ «Архивная копия». В архиве из оригинала на 2018-09-07. Получено 2018-09-07.CS1 maint: заархивированная копия как заголовок (связь)
  36. ^ «Архивная копия». В архиве из оригинала на 2018-06-30. Получено 2018-09-07.CS1 maint: заархивированная копия как заголовок (связь)
  37. ^ «GPG для журналистов - версия для Windows - Шифрование для журналистов». Vimeo. В архиве из оригинала на 2016-10-24. Получено 2016-10-14.
  38. ^ Петерсон, Андреа (14 мая 2014 г.). «Эдвард Сноуден отправил Гленну Гринвальду это видео-руководство о шифровании для журналистов. Гринвальд проигнорировал его». Вашингтон Пост. В архиве с оригинала 23 июня 2015 г.. Получено 28 августа, 2017.
  39. ^ "Эдвард Сноуден о паролях: Сегодня вечером на прошлой неделе с Джоном Оливером (HBO)". YouTube. В архиве из оригинала 17 июля 2020 г.. Получено 17 июля 2020.

внешняя ссылка