stringtranslate.com

Защита конфиденциальности GNU

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

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

Обзор

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

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

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

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

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

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

Алгоритмы

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

Открытый ключ
RSA , Эль-Гамаль , DSA , ECDH ( cv25519 , cv448 , [c] nistp256, nistp384, nistp521, BrainpoolP256r1 , BrainpoolP384r1, BrainpoolP512r1 , secp256k1), ECDSA (nistp256, nistp384, nistp521, BrainpoolP2) 56r1, мозговой пулP384r1, мозговой пулP512r1, secp256k1), EdDSA (ed25519 , изд448 [с] )
Шифр
3DES , IDEA (для обратной совместимости), CAST5 , Blowfish , Twofish , AES-128, AES-192, AES-256 , Camellia-128, -192 и -256
Хэш
МД5 , ША-1 , РИПЭМД-160 , ША-256, ША-384, ША-512, ША-224
Сжатие
Несжатый, ZIP , ZLIB , BZIP2.

История

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

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

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

Ветви

С момента выпуска стабильной версии GnuPG 2.3, начиная с версии 2.3.3 в октябре 2021 года, активно поддерживаются три стабильные ветки GnuPG: [17]

До GnuPG 2.3 активно поддерживались две стабильные ветки GnuPG:

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

Перед выпуском GnuPG 2.2 («современный») для общего использования была рекомендована устаревшая «стабильная» ветка (2.0), первоначально выпущенная 13 ноября 2006 года. [20] Срок службы этой ветки завершился в декабре. 31, 2017; [21] Последняя версия — 2.0.31, выпущенная 29 декабря 2017 года. [22]

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

(Обратите внимание, что до выпуска GnuPG 2.3.0 ветки с нечетным младшим номером версии (например, 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 2.3.0 эта номенклатура была изменена и теперь состоит из «стабильной» и «LTS» веток из «современной» серии, а также 1.4 как последней поддерживаемой «классической» ветки. Также обратите внимание, что четные или нечетные номера второстепенных выпусков больше не указывают на стабильную или разрабатываемую ветку выпуска.)

Платформы

Пример использования GnuPG: в качестве ключа подписи репозитория программного обеспечения для openSUSE (с ZYpp ).

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

GPGTools предоставляет ряд интерфейсов для интеграции шифрования и управления ключами в ОС , а также установки GnuPG через пакеты установщика [26] для macOS . GPG Suite [27] устанавливает все связанные приложения OpenPGP (GPG Keychain), плагины ( GPG Mail ) и зависимости (MacGPG), а также службы GPG (интеграция в меню служб macOS) для использования шифрования на основе GnuPG.

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

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

Уязвимости

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

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

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

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

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

В январе 2021 года была выпущена версия Libgcrypt 1.9.0, в которой была обнаружена серьезная ошибка, которую было легко использовать. Исправление было выпущено 10 дней спустя в Libgcrypt 1.9.1. [39]

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

Примечания

  1. ^ GPL-3.0 или более поздняя версия с 4 июля 2007 г. для 2.x и с 23 октября 2007 г. для 1.x.
  2. ^ GPL-2.0 или более поздняя версия с 18 ноября 1997 г. по 4 июля 2007 г. для 2.x и 23 октября 2007 г. для 1.x.
  3. ^ ab доступно только в версии 2.3

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

  1. Вернер Кох (25 января 2024 г.). «[Объявить] Выпущен GnuPG 2.4.4» . Проверено 27 января 2024 г.
  2. ^ «Примечательные изменения в версии 2.2.42» . 28 ноября 2023 г. Проверено 22 февраля 2024 г.
  3. ^ «Выпущен GnuPG 1.4.23 (11 июня 2018 г.), важно» . 11 июня 2018 года . Проверено 20 июня 2018 г.
  4. ^ "Защитник конфиденциальности Gnu" . GnuPG.org. Архивировано из оригинала 29 апреля 2015 г. Проверено 26 мая 2015 г.
  5. ^ «Раскол в мире OpenPGP». Еженедельные новости Linux . Проверено 9 декабря 2023 г.
  6. ^ "Bundesregierung fördert Open Source" (на немецком языке). Хейзе Онлайн. 15 ноября 1999 г. Архивировано из оригинала 12 октября 2013 года . Проверено 24 июля 2013 г.
  7. ^ «[Объявить] Возможно, последняя бета-версия GnuPG 2.1» . Архивировано из оригинала 02 мая 2019 г. Проверено 28 марта 2019 г.
  8. ^ «Функции GnuPG». Архивировано из оригинала 4 октября 2009 года . Проверено 1 октября 2009 г.
  9. ^ Кох, Вернер (21 декабря 2012 г.). «Выпущен GnuPG 1.4.13» (список рассылки). gnupg-пользователи. Архивировано из оригинала 12 февраля 2013 г. Проверено 19 мая 2013 г.
  10. ^ abc Кох, Вернер (06 ноября 2014 г.). «[Анонсировать] Выпущен GnuPG 2.1.0 «современный». gnupg.org. Архивировано из оригинала 6 ноября 2014 г. Проверено 6 ноября 2014 г.
  11. ^ Аб Ангвин, Джулия (5 февраля 2015 г.). «Всемирное программное обеспечение для шифрования электронной почты опирается на одного парня, который обанкротился». ПроПублика . Архивировано из оригинала 6 февраля 2015 года . Проверено 6 февраля 2015 г.
  12. ^ Аб Уэйнер, Питер (19 ноября 1999 г.). «Грант Германии в области шифрования». Нью-Йорк Таймс . Архивировано из оригинала 25 августа 2014 года . Проверено 8 августа 2014 г.
  13. ^ ab «Примечания к выпуску». ГнуПГ. Архивировано из оригинала 9 февраля 2014 г. Проверено 30 января 2014 г.
  14. ^ "Защитник конфиденциальности Gnu" . OpenPGP.org. Архивировано из оригинала 27 февраля 2014 г. Проверено 26 февраля 2014 г.
  15. ^ «Где взять PGP» . Philzimmermann.com. Архивировано из оригинала 26 февраля 2014 г. Проверено 26 февраля 2014 г.
  16. ^ «GnuPG: Новый веб-сайт и инфраструктура» . goteo.org. Архивировано из оригинала 30 марта 2014 г. Проверено 9 марта 2014 г.
  17. ^ «Выпущена GnuPG 2.3.3» .
  18. ^ Кох, Вернер (28 августа 2017 г.). «[Объявить] Выпущен GnuPG 2.2.0». gnupg-announce (список рассылки). Архивировано из оригинала 29 августа 2017 г. Проверено 21 сентября 2017 г.
  19. ^ Кох, Вернер (16 декабря 2004 г.). «[Объявить] Выпущена стабильная версия GnuPG 1.4». gnupg.org. Архивировано из оригинала 3 января 2005 г. Проверено 16 декабря 2004 г.
  20. ^ Кох, Вернер (13 ноября 2006 г.). «[Объявить] Выпущен GnuPG 2.0». gnupg.org. Архивировано из оригинала 14 февраля 2014 г. Проверено 30 января 2014 г.
  21. ^ Кох, Вернер (23 января 2017 г.). «[Объявить] Выпущена GnuPG 2.1.18». gnupg.org. Архивировано из оригинала 11 февраля 2017 г. Проверено 4 февраля 2017 г.
  22. ^ "GnuPG 2.0.31" . 29 декабря 2017 г. Проверено 30 декабря 2017 г.
  23. ^ Кох, Вернер (6 сентября 2002 г.). «[Объявить]Выпущена GnuPG 1.2». gnupg.org. Архивировано из оригинала 17 июня 2014 г. Проверено 6 ноября 2014 г.
  24. ^ Кох, Вернер (26 августа 2004 г.). «[Объявить] Выпущен GnuPG 1.2.6». gnupg.org. Архивировано из оригинала 17 июня 2014 г. Проверено 6 ноября 2014 г.
  25. ^ Кох, Вернер (30 апреля 2002 г.). «[Объявить] Выпущена GnuPG 1.0.7». gnupg.org. Архивировано из оригинала 17 июня 2014 г. Проверено 6 ноября 2014 г.
  26. ^ "GPG Suite". GPGTools . Проверено 24 декабря 2017 г.
  27. ^ "GPG Suite". GPGTools . Проверено 16 февраля 2021 г.
  28. ^ "Блог разработчиков FireGPG" . 7 июня 2010. Архивировано из оригинала 27 июля 2013 года . Проверено 24 июля 2013 г.
  29. ^ «Gpg4win - О Gpg4win» . www.gpg4win.org . Проверено 23 марта 2021 г.
  30. ^ Нгуен, Фонг В. «Можем ли мы доверять криптографическому программному обеспечению? Криптографические недостатки в GNU Privacy Guard v1.2.3». ЕВРОКРИПТ 2004: 555–570. Архивировано из оригинала 4 декабря 2017 г. Проверено 23 августа 2019 г.
  31. Кох, Вернер (27 ноября 2003 г.). «Ключи подписи Эль-Гамаля GnuPG скомпрометированы» . Архивировано из оригинала 18 марта 2004 года . Проверено 14 мая 2004 г.
  32. Кох, Вернер (15 февраля 2006 г.). «Ложноположительная проверка подписи в GnuPG». Архивировано из оригинала 17 июня 2006 года . Проверено 23 мая 2006 г.
  33. Кох, Вернер (9 марта 2006 г.). «GnuPG не обнаруживает внедрение беззнаковых данных». Архивировано из оригинала 5 мая 2006 года . Проверено 23 мая 2006 г.
  34. Эдж, Джейк (5 июля 2017 г.). «Взлом Libgcrypt RSA через побочный канал». LWN.net . Архивировано из оригинала 28 июля 2017 года . Проверено 28 июля 2017 г.
  35. ^ «Скольжение прямо к катастрофе: протечки раздвижных окон слева направо» (PDF) . Архивировано (PDF) из оригинала 30 июня 2017 г. Проверено 30 июня 2017 г.
  36. Возвращение атаки Копперсмита: практическая факторизация широко используемых модулей RSA. Архивировано 12 ноября 2017 г. в Wayback Machine , Матус Немец, Марек Сис, Петр Свенда, Душан Клинец, Вашек Матьяс, ноябрь 2017 г.
  37. ^ «Ошибка PGP десятилетней давности позволяла хакерам подделывать практически чью-либо подпись» . 14 июня 2018 г. Архивировано из оригинала 07 сентября 2018 г. Проверено 7 сентября 2018 г.
  38. ^ «Проход не пройден: в простом хранилище паролей обнаружена ошибка подмены GnuPG» . Регистр . Архивировано из оригинала 30 июня 2018 г. Проверено 7 сентября 2018 г.
  39. ^ «Серьезная ошибка в Libgcrypt, используемая GPG и другими, доставляет целую кучу проблем, требующих установки исправлений». Архивировано из оригинала 21 февраля 2021 г.

Внешние ссылки