Перейти к содержанию

GnuTLS: поддержка ГОСТ для защищённых соединений

В НАЙС.ОС GnuTLS собирается с поддержкой ГОСТ, поэтому приложения, использующие эту библиотеку, могут согласовывать соответствующие алгоритмы для защищённых сетевых соединений. GnuTLS решает транспортную задачу: проверяет сертификаты, участвует в установлении защищённой сессии и передаёт данные через TLS или DTLS.

Это самостоятельный криптографический стек. Приложение, использующее GnuTLS, не переключается на ГОСТ только из-за настройки OpenSSL Engine/Provider. GnuTLS использует собственные механизмы протокола и криптографический backend Nettle. Поэтому при настройке защищённого сервиса прежде всего определяют, с какой TLS-библиотекой он собран.

Что входит в ГОСТ-профиль GnuTLS

Возможность Роль
ГОСТ Р 34.10-2001 и 2012 Алгоритмы цифровой подписи и открытого ключа
Стрибог-256/512 Хэширование и связанные криптографические операции
Наборы CryptoPro и ТК26 Идентификация допустимых параметров эллиптических кривых
VKO GOST Согласование общего секрета на основе ГОСТ-ключей
Кузнечик, Магма, ГОСТ 28147-89 Защита записей TLS в соответствующих профилях
X.509 Представление сертификатов и проверка цепочек доверия

Важное различие: ГОСТ-сертификат сервера сам по себе не делает весь TLS-сеанс ГОСТ-сеансом. Защита соединения определяется реально согласованными параметрами — версией протокола, способом обмена ключами, набором шифров и алгоритмом подписи.

Как посмотреть доступные средства

gnutls-cli --version
gnutls-cli -l

В полученном перечне ищите подписи GOSTR341012-256, GOSTR341012-512, группы GC256B, GC512A и ГОСТ-шифры. Состав перечня определяется установленной библиотекой и политикой её настройки.

gnutls-cli --list --priority 'NONE:+VERS-TLS1.2:+GOST'

В GnuTLS выражение +GOST служит сокращением для согласованных ГОСТ-параметров, а NONE позволяет сформировать отдельный тестовый профиль. Такой профиль полезен для изучения, но не заменяет эксплуатационную настройку TLS без проверки совместимости обоих концов соединения.

Где пригодится

  • Сетевые службы, связанные с GnuTLS.
  • Работа с сертификатами X.509 и клиентской аутентификацией.
  • Тестирование взаимодействия с другими ГОСТ-совместимыми TLS-реализациями.
  • Отладка ошибок согласования криптопрофиля.

Читать дальше

Источники терминологии: руководство GnuTLS, RFC 9189 — ГОСТ в TLS 1.2.