Алгоритмы и криптографические профили 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.