WikiDer > GNU Privacy Guard
Процесс генерации ключевой пары в Unix эмулятор терминала | |||||
Оригинальный автор (ы) | Вернер Кох | ||||
---|---|---|---|---|---|
Разработчики) | Проект GNU | ||||
изначальный выпуск | 7 сентября 1999 г.[1] | ||||
Стабильный выпуск (ы) [±] | |||||
| |||||
Предварительный выпуск (ы) [±] | |||||
Репозиторий | разработчик | ||||
Написано в | C | ||||
Операционная система | Майкрософт Виндоус, macOS, ОС RISC, Android, Linux | ||||
Тип | OpenPGP | ||||
Лицензия | GPLv3 | ||||
Интернет сайт | gnupg |
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, включают следующее:
- Когти Mail - почтовый клиент с плагином GPG
- Enigform - а Fire Fox расширение
- Enigmail - а Mozilla Thunderbird и SeaMonkey расширение
- Эволюция - а ГНОМ Почтовое приложение с встроенной поддержкой GnuPG
- FireGPG - расширение Firefox (снято с производства)
- Gnus - читалка сообщений и новостей в GNU Emacs
- Gpg4win - пакет Windows с инструментами и руководствами для электронной почты и шифрования файлов
- GPGMail - плагин macOS Mail.app
- КГПГ - графический интерфейс KDE для GnuPG
- KMail - почтовый клиент / почтовый компонент Контакт (Программное обеспечение PIM), который использует GPG для криптографии
- MCabber - а Джаббер клиент
- Почтовый конверт - а Гугл Хром и Fire Fox расширение для сквозного шифрования почтового трафика
- Матт - почтовый клиент со встроенной поддержкой PGP / GPG
- Psi (клиент обмена мгновенными сообщениями)
- Летучая мышь! - почтовый клиент, который может использовать GnuPG в качестве провайдера OpenPGP
- WinPT - графический интерфейс к GPG для Windows (прекращено)
В популярной культуре
В мае 2014 г. Вашингтон Пост сообщил о 12-минутном видеогиде "GPG для журналистов", размещенном в Vimeo в январе 2013[37] пользователем с именем anon108. В Почтовый идентифицирован anon108 как беглец АНБ осведомитель Эдвард Сноуден, который, по его словам, создал учебное пособие, «озвученное замаскированным цифровым способом голосом, чьи речевые модели похожи на речевые модели Сноудена» - для обучения журналиста Гленн Гринвальд шифрование электронной почты. Гринвальд заявил, что не может подтвердить авторство видео.[38] Есть сходство между учебником и интервью, в которых участвовал Сноуден, например, упоминание пароля «margaretthatcheris110% sexy» как в этом видео, так и в интервью, проведенном с Джон Оливер в 2015 году.[39]
Смотрите также
- Акустический криптоанализ
- Вечеринка для подписания ключей
- Сообщения без записи - также известен как OTR
- Карта OpenPGP - смарт-карта с множеством функций GnuPG
- Менеджер пакетов
- RetroShare - сеть друзей на основе аутентификации PGP
- Сеть доверия
Рекомендации
- ^ а б c «Примечания к выпуску». GnuPG. В архиве из оригинала от 09.02.2014. Получено 2014-01-30.
- ^ Кох, Вернер (2020-11-23). "[Объявление] Выпущен GnuPG 2.2.25". gnupg-анонс (Список рассылки). Получено 2020-11-24.
- ^ "НОВОСТИ файл". Заслуживающие внимания изменения в заголовке версии 1.4.23 (2018-06-11). Получено 13 июн 2018.
- ^ "Gnu Privacy Guard". GnuPG.org. В архиве из оригинала от 29.04.2015. Получено 2015-05-26.
- ^ "Bundesregierung fördert Open Source" (на немецком). Heise Online. 1999-11-15. В архиве с оригинала 12 октября 2013 г.. Получено 24 июля, 2013.
- ^ "[Объявление] Возможно, последняя бета-версия GnuPG 2.1". В архиве из оригинала на 2019-05-02. Получено 2019-03-28.
- ^ «Возможности GnuPG». В архиве из оригинала 4 октября 2009 г.. Получено 1 октября, 2009.
- ^ Кох, Вернер (21 декабря 2012 г.). «Выпущен GnuPG 1.4.13» (Список рассылки). gnupg-users. В архиве из оригинала от 12 февраля 2013 г.. Получено 2013-05-19.
- ^ а б c Кох, Вернер (2014-11-06). "[Объявление] GnuPG 2.1.0" modern "выпущен". gnupg.org. В архиве из оригинала 06.11.2014. Получено 2014-11-06.
- ^ а б Ангвин, Джулия (5 февраля 2015 г.). «Мировое программное обеспечение для шифрования электронной почты полагается на одного парня, который разоряется». ProPublica. В архиве из оригинала от 6 февраля 2015 г.. Получено 6 февраля 2015.
- ^ а б Уэйнер, Питер (19 ноября 1999). «Грант Германии награждает за шифрование». Нью-Йорк Таймс. В архиве с оригинала 25 августа 2014 г.. Получено 2014-08-08.
- ^ "Gnu Privacy Guard". OpenPGP.org. Архивировано из оригинал на 2014-02-27. Получено 2014-02-26.
- ^ «Где взять PGP». Philzimmermann.com. В архиве из оригинала от 26.02.2014. Получено 2014-02-26.
- ^ «GnuPG: Новый веб-сайт и инфраструктура». goteo.org. В архиве из оригинала 30.03.2014. Получено 2014-03-09.
- ^ Кох, Вернер (2017-08-28). "[Объявление] Выпущен GnuPG 2.2.0". gnupg-анонс (Список рассылки). В архиве из оригинала от 29.08.2017. Получено 2017-09-21.
- ^ Кох, Вернер (2004-12-16). «[Объявление] GnuPG stable 1.4 выпущен». gnupg.org. В архиве из оригинала от 03.01.2005. Получено 2004-12-16.
- ^ Кох, Вернер (2006-11-13). «[Объявление] GnuPG 2.0 выпущен». gnupg.org. В архиве из оригинала на 14.02.2014. Получено 2014-01-30.
- ^ Кох, Вернер (2017-01-23). "[Объявление] Выпущен GnuPG 2.1.18". gnupg.org. В архиве из оригинала на 2017-02-11. Получено 2017-02-04.
- ^ "GnuPG 2.0.31". 2017-12-29. Получено 2017-12-30.
- ^ Кох, Вернер (2002-09-06). «[Объявление] GnuPG 1.2 выпущен». gnupg.org. В архиве из оригинала от 17.06.2014. Получено 2014-11-06.
- ^ Кох, Вернер (2004-08-26). "[Объявление] Выпущен GnuPG 1.2.6". gnupg.org. В архиве из оригинала от 17.06.2014. Получено 2014-11-06.
- ^ Кох, Вернер (2002-04-30). "[Объявление] Выпущен GnuPG 1.0.7". gnupg.org. В архиве из оригинала от 17.06.2014. Получено 2014-11-06.
- ^ «Mac GPG Suite». GPG Suite. Получено 2017-12-24.
- ^ «Установщик Mac GPG Suite». GPG Suite. Получено 2017-12-24.
- ^ «Блог разработчиков FireGPG». В архиве из оригинала 27 июля 2013 г.. Получено 24 июля, 2013.
- ^ "GPGME (GnuPG Made Easy)". gnupg.org. 11 февраля 2015 года. В архиве из оригинала 17 февраля 2015 г.. Получено 3 марта, 2015.
- ^ «Библиотеки». GNUPG. В архиве из оригинала 8 декабря 2015 г.. Получено 2 декабря 2015.
- ^ Нгуен, Фонг К. «Можно ли доверять криптографическому программному обеспечению? Криптографические недостатки в GNU Privacy Guard v1.2.3». ЕВРОКРИПТ 2004: 555–570. В архиве из оригинала на 2017-12-04. Получено 2019-08-23.
- ^ Кох, Вернер (27 ноября 2003 г.). «Ключи подписи ElGamal от GnuPG взломаны». В архиве с оригинала 18 марта 2004 г.. Получено 14 мая, 2004.
- ^ Кох, Вернер (15 февраля 2006 г.). «Проверка ложноположительной подписи в GnuPG». В архиве из оригинала 17 июня 2006 г.. Получено 23 мая, 2006.
- ^ Кох, Вернер (9 марта 2006 г.). «GnuPG не обнаруживает внедрение беззнаковых данных». В архиве из оригинала 5 мая 2006 г.. Получено 23 мая, 2006.
- ^ Эдж, Джейк (5 июля 2017 г.). «Взлом Libgcrypt RSA через побочный канал». LWN.net. В архиве из оригинала 28 июля 2017 г.. Получено 28 июля 2017.
- ^ «Сползание вправо к катастрофе: утечка через скользящие окна слева направо» (PDF). В архиве (PDF) из оригинала на 30.06.2017. Получено 2017-06-30.
- ^ Возвращение атаки медников: практическая факторизация широко используемых модулей RSA В архиве 2017-11-12 в Wayback Machine, Матус Немец, Марек Сис, Петр Свенда, Душан Клинец, Вашек Матьяс, ноябрь 2017 г.
- ^ «Архивная копия». В архиве из оригинала на 2018-09-07. Получено 2018-09-07.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Архивная копия». В архиве из оригинала на 2018-06-30. Получено 2018-09-07.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «GPG для журналистов - версия для Windows - Шифрование для журналистов». Vimeo. В архиве из оригинала на 2016-10-24. Получено 2016-10-14.
- ^ Петерсон, Андреа (14 мая 2014 г.). «Эдвард Сноуден отправил Гленну Гринвальду это видео-руководство о шифровании для журналистов. Гринвальд проигнорировал его». Вашингтон Пост. В архиве с оригинала 23 июня 2015 г.. Получено 28 августа, 2017.
- ^ "Эдвард Сноуден о паролях: Сегодня вечером на прошлой неделе с Джоном Оливером (HBO)". YouTube. В архиве из оригинала 17 июля 2020 г.. Получено 17 июля 2020.
внешняя ссылка
- Официальный веб-сайт
- Краткая история GNU Privacy Guard, написанный Вернером Кохом, опубликованный к 10-летию GnuPG