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

Алгоритмы и криптографические профили OpenVPN

Канонический источник: Общая теория Магмы, Кузнечика, Стрибога и MGM находится в центральном справочнике. Эта статья — о выборе профиля OpenVPN.

НАЙС.ОС предоставляет OpenVPN доступ к российским криптографическим алгоритмам OpenSSL. Практический выбор следует делать по типу канала и назначению алгоритма.

Шифрование канала данных

Алгоритм Назначение Особенности
kuznyechik-cbc Шифрование пользовательского IP-трафика 256-битный ключ, блок 128 бит, нужен HMAC
magma-cbc Альтернативный ГОСТ-шифр 256-битный ключ, блок 64 бита; применимость и объёмы данных требуют особого внимания
gost89-cbc Совместимость с историческими системами 64-битный блок; выбирать только для конкретного профиля совместимости
kuznyechik-cfb, kuznyechik-ofb Другие режимы, доступные через OpenSSL OpenVPN может помечать их как TLS client/server mode only; не используйте в data-ciphers без проверки допустимости

Целостность и подлинность

В используемом профиле указан auth id-tc26-gost3411-12-256, поэтому OpenVPN использует HMAC-Стрибог-256 для защиты пакетов. Это отдельная операция, а не режим блочного шифрования.

Где задаётся алгоритм

  • data-ciphers — алгоритм, согласуемый для пользовательского трафика.
  • auth — HMAC для не-AEAD режима.
  • tls-cipher — настройки управляющего TLS для старых вариантов TLS.
  • tls-ciphersuites — настройки TLS 1.3.
  • cipher — параметр совместимости; в современном TLS-режиме не заменяет data-ciphers.

Готовый набор параметров приведён в рабочем профиле, а объяснение каналов — в схеме криптографической защиты.

Как выбирать профиль

Сначала определите требования обеих сторон к поддерживаемым алгоритмам и сертификатам. Затем сравните вывод openvpn --show-ciphers на клиенте и сервере. Закрепите допустимый data-ciphers без нежелательных альтернатив, а результат подтвердите журналом реальной сессии.

Особенности обновления gost-engine и OpenSSL рассматриваются в интеграции с OpenSSL. Upstream регулярно развивает поддержку ГОСТ; поэтому после обновлений проводите повторную приёмку.

См. также: Руководство OpenVPN.