Выпуск GnuPG 2.2.0

Спустя два с половиной года с момента формирования прошлой значительной ветки представлен релиз инструментария GnuPG 2.2.0 (GNU Privacy Guard), совместимого со стандартами OpenPGP (RFC-4880) и S/MIME, и предоставляющего утилиты для шифрования данных, работы с электронными подписями, управления ключами и доступа к публичным хранилищам ключей.

GnuPG 2.2.0 позиционируется как первый выпуск развивающийся стабильной ветки, в которой продолжат добавляться новые возможности. В ветке 2.1 теперь будут приниматься только корректирующие исправления, а ветка 2.0 переведена в разряд старой стабильной ветки, поддержка которой будет прекращена 31 декабря этого года. Что касается нововведений, то ветка GnuPG 2.2.0 плавно вобрала в себя все изменения, накопленные при подготовке выпусков 2.1.x.

В отличие от прошлых выпусков 2.1.x, в GnuPG 2.2.0 представлено два важных изменения в поведении: Во-первых, прекращена поставка выпусков GnuPG 2.x под именем «gpg2», после установки GnuPG теперь доступен как «gpg» (для установки как gpg2 следует явно указать при сборке опцию »--enable-gpg-is-gpg2»). Во-вторых, включено по умолчанию автоматическое извлечение ключей из серверов хранения ключей (по умолчанию включена опция '--auto-key-locate «local, wkd»'). Кроме того, в GnuPG agent по умолчанию включена опция »--no-grab», а в команду импорта gpg добавлена опция «show-only» для отображения импортируемых данных без их фактического сохранения.

Особенности GnuPG 2.2, реализованные в процессе развития ветки 2.1.x:

  • Добавлена поддержка шифрования с применением алгоритма Curve25519, предложенного Дэниэлом Бернштейном (D.J. Bernstein) и основанного на использовании криптографии по эллиптическим кривым;
  • Поддержка шифрования по эллиптическим кривым (ECC, Elliptic Curve Cryptography). Поддерживаются NIST P-256/P-384/P-521 и Brainpool P-256/P-384/P-512. По умолчанию применяется алгоритм Curve 25519 и схема цифровой подписи с открытым ключом Ed25519, разработанная Дэниэлом Бернштейном;
  • Прекращение поддержки устаревших ключей PGP2, не отвечающих современным требованиям к безопасности из-за использования хэшей MD5;
  • Прекращено использование файла «secring.gpg» для хранения закрытых ключей. Доступ к закрытым ключам теперь возможен только через gpg-agent, который хранит ключи в директории private-keys-v1.d. Напрямую gpg к закрытым ключам отныне обращаться не может. Добавлена поддержка слияния закрытых ключей;
  • Задействован новый формат для локального хранения публичных ключей, обеспечивающий большой прирост производительности для больших таблиц ключей (keyring);
  • Упрощён штатный интерфейс генерации ключей (gpg2 --gen-key), который стал более прост для генерации подходящих ключей начинающими пользователями. Для создания ключей теперь можно ввести только имя и email.
  • Добавлены команды для создания и подписания ключей из командной строки без дополнительных запросов ввода параметров (например, «gpg2 --batch --quick-gen-key 'Vasyliy Pupkin vasia@example.org' или «gpg2 --quick-sign-key '15CA 723E 2030 A1A8 2505 F3B7 CC10 B501 BD19 AC1C'»);
  • В Pinentry обеспечена возможность показа полей ввода нового пароля и его подтверждения в одном диалоге;
  • Пользователь избавлен от необходимости ручного запуска gpg-agent, который теперь вызывается автоматически из других частей GnuPG;
  • Обновлена поддержка смарткарт, добавлена поддержка новых устройств чтения и типов токенов. Добавлена поддержка смарткарт OpenPGP версии 3;
  • Улучшена обработка пулов серверов ключей (keyserver), используемых для балансировки нагрузки. Кроме распределения запросов на основе DNS в новой версии представлен процесс dirmngr, распределяющий запросы с учётом возможного выхода из строя отдельных серверов (если сервер не отвечает, выбирается другой сервер);
  • По умолчанию теперь для всех пар ключей создаётся отзывающий сертификат (revocation certificate);
  • Обеспечена возможность использования gpg-agent на платформе Windows в качестве замены Pageant для Putty;
  • Улучшен процесс создания сертификатов X.509. Обеспечена возможность экспорта сертификатов X.509 в форматы PKCS#8 и PEM для использования на серверах TLS;
  • Интегрирована функция экспорта ключей для SSH в формате для добавления в файл authorized_keys (опция »--export-ssh-key»);
  • Реализована возможность добавления к существующему ключу дополнительных идентификаторов пользователей и субключей с отдельным временем жизни. Также появилась опция для отзыва идентификатора пользователя из ключа;
  • Обеспечена возможность прямого изменения времени окончания жизни первичного ключа;
  • Добавлена возможность одновременного использования нескольких кардридеров;
  • Добавлены новые опции »-f»/»--recipient-file» и »-F»/»--hidden-recipient-file» для прямой загрузки ключей шифрования из заданного файла;
  • Реализована возможность использования gpg в качестве фильтра. Добавлены опции »--import-filter» и »--export-filter», которые позволяют на лету изменять ключ без его сохранения, выдавая результат в выходной поток для дальнейшей конвейерной обработки.

© OpenNet