3.4.18.3 Настройка ГОСТ в OpenSSL в РЕД ОС 8
Скачать документ Установка пакетов
Включение поддержки алгоритмов шифрования ГОСТ
Проверка поддержки ГОСТ в OpenSSL
Пример генерации ключей
Возврат настроек по умолчанию
Окружение
- Версия РЕД ОС: 8
- Конфигурация: Рабочая станция
- Версия ПО: openssl-gost-engine-3.0.1-8
В состав дистрибутива РЕД ОС входит пакет библиотек, поддерживающих методы защитного преобразования по алгоритмам ГОСТ, openssl-gost-engine.
Пакет openssl-gost-engine включает в себя реализацию следующих алгоритмов ГОСТ:
ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 — алгоритмы электронной цифровой подписи.
ГОСТ Р 34.11-2012 — криптографический алгоритм вычисления хеш-функции “Стрибог” с размером блока входных данных 512 бит и размером хеш-кода 256 или 512 бит.
ГОСТ 28147-89 — симметричное шифрование с 256-битным ключом. Доступны режимы CBC, CFB и CNT. Для усложнения статистического анализа поддерживается «key meshing» (подробнее см. RFC 4357).
VKO ГОСТ Р 34.10 2001 и VKO ГОСТ Р 34.10 2012 – алгоритмы согласования ключей.
ГОСТ Р 34.12-2018 – симметричный алгоритм блочного шифрования “Магма”, построенный по типу сети Фейстеля, с размером секретного ключа 256 бит, размером входного сообщения 64 бита и 32 раундами шифрования.
ГОСТ Р 34.12-2018 — симметричный алгоритм блочного шифрования “Кузнечик” с размером блока 128 бит и длиной ключа 256 бит, использующий для генерации раундовых ключей SP-сеть.
Методы шифрования ГОСТ применяются к используемой в системе политике шифрования.
Общесистемные политики шифрования — это системный компонент, который настраивает основные криптографические подсистемы, включая протоколы TLS, IPsec, SSH, DNSSec и Kerberos. Он предоставляет небольшой набор политик, которые может выбрать администратор.
При использовании в системе общесистемных политик программы следуют настроенным правилам и не используют в своей работе алгоритмы и протоколы, которые не соответствуют настроенной политике (за исключением случаев, когда администратор явно указывает программе выполнить данное действие). Это значит, что политика применяется к поведению программ по умолчанию при работе с предоставленной системой конфигурацией, но при необходимости ее можно переопределить.
В системе поддерживаются следующие предопределенные политики:
DEFAULT – уровень общесистемной криптографической политики по умолчанию предлагает безопасные настройки для текущих моделей угроз. Он поддерживает протоколы TLS 1.2 и 1.3, а также протоколы IKEv2 и SSH2. Ключи RSA и параметры Диффи-Хеллмана принимаются, если их длина не менее 2048 бит.
LEGACY – совместим с более ранними системами и менее безопасен из-за увеличенной поверхности атаки. Помимо алгоритмов и протоколов уровня DEFAULT, он включает поддержку протоколов TLS 1.0 и 1.1. Алгоритмы DSA, 3DES и RC4 разрешены, а ключи RSA и параметры Диффи-Хеллмана принимаются, если их длина не менее 1023 бит.
FUTURE – более строгий уровень безопасности, предназначенный для тестирования возможной будущей политики. Политика не позволяет использовать SHA-1 в алгоритмах подписи. Он поддерживает протоколы TLS 1.2 и 1.3, а также протоколы IKEv2 и SSH2. Ключи RSA и параметры Диффи-Хеллмана принимаются, если их длина не менее 3072 бит. Если система имеет доступ в Интернет, есть вероятность столкнуться с проблемами совместимости.
Подробную информацию о криптографических политиках системы см. в нашей статье «Общесистемные криптографические политики».
Установка пакетов
Пакет openssl-gost-engine, обеспечивающий поддержку алгоритмов ГОСТ, по умолчанию предустановлен в РЕД ОС. Однако если по каким-либо причинам в вашей системе пакет отсутствует, для его установки перейдите в сеанс пользователя root:
su -
и выполните команду:
dnf install openssl-gost-engine
Здесь и далее команды будут выполняться с правами пользователя root, если не указано иное.
Включение поддержки алгоритмов шифрования ГОСТ
Для активации поддержки ГОСТ в openssl выполните:
openssl-switch-config gost
Для проверки используемой в системе политики шифрования выполните:
update-crypto-policies --show
Затем примените модуль политики, определяющий используемые методы шифрования ГОСТ:
для поддержки стандартных типов шифрования выполните команду:
update-crypto-policies --set <политика_шифрования>:GOST
для поддержки расширенных типов шифрования выполните:
update-crypto-policies --set <политика_шифрования>:TLS-GOST
Модуль политики GOST, поддерживающий стандартные типы шифрования, добавляет поддержку:
алгоритмов электронной цифровой подписи (ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012).
алгоритмов вычисления хеш-функции “Стрибог” (ГОСТ Р 34.11-2012).
алгоритмов симметричного шифрования (ГОСТ 28147-89).
алгоритмов согласования ключей (VKO ГОСТ Р 34.10 2001, VKO ГОСТ Р 34.10 2012).
Модуль политики TLS-GOST, поддерживающий расширенные типы шифрования, добавляет к стандартному набору типов шифрования поддержку следующих алгоритмов:
алгоритм блочного шифрования “Магма” (ГОСТ Р 34.12-2018).
алгоритм блочного шифрования “Кузнечик” (ГОСТ Р 34.12-2018).
Также данный модуль исключает тип шифрования 3DES и способы обмена ключами RSA, PSK и DHE_DSS.
Проверка поддержки ГОСТ в OpenSSL
После проведения настройки проверьте, видит ли OpenSSL алгоритмы ГОСТ, командой:
openssl ciphers | tr ":" "\n" | grep GOST GOST2012-MAGMA-MAGMAOMAC GOST2012-KUZNYECHIK-KUZNYECHIKOMAC LEGACY-GOST2012-GOST8912-GOST8912 IANA-GOST2012-GOST8912-GOST8912 GOST2001-GOST89-GOST89
Пример генерации ключей
Генерация закрытого ключа и создание сертификата с подписью ГОСТ производится следующей командой:
openssl req -x509 -newkey gost2012_256 -pkeyopt paramset:A -nodes -keyout key.pem -out cert.pem -md_gost12_256
Для проверки сертификата выполните команду:
openssl x509 -in cert.pem -text -noout Certificate: Dat a: Version: 3 (0x2) Serial Number: 17:86:3c:c0:8c:62:36:af:88:3c:19:01:34:bb:19:92:61:38:5a:37 Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit) Issuer: C = ru, ST = Russia, L = Moscow, O = red-soft, OU = drsp, CN = root, emailAddress = root Validity Not Before: Mar 15 11:24:48 2022 GMT Not After : Apr 14 11:24:48 2022 GMT Subject: C = ru, ST = Russia, L = Moscow, O = red-soft, OU = drsp, CN = root, emailAddress = root Subject Public Key Info: Public Key Algorithm: GOST R 34.10-2012 with 256 bit modulus Public key: X:27F4547D48EFAAE904FDCDCD190EB702858B77A796600E175FDEDA8BA35E3C1A Y:35D4E769099EDBC4461A8E67510897D98FD59C4F4D34F08F722899EAD7ABEF81 Parameter set: id-GostR3410-2001-CryptoPro-A-ParamSet X509v3 extensions: X509v3 Subject Key Identifier: 4B:E5:69:DE:B5:00:AE:01:71:56:97:C8:C5:30:8C:B1:5F:5E:AF:AF X509v3 Authority Key Identifier: keyid:4B:E5:69:DE:B5:00:AE:01:71:56:97:C8:C5:30:8C:B1:5F:5E:AF:AF X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit) 3e:94:02:7d:82:7a:52:5c:4d:09:8b:ae:c9:51:c1:19:2a:0f: c9:ce:39:39:89:27:89:87:e2:e7:bf:f7:9a:b3:be:bd:56:ea: 27:bf:56:d8:99:a9:96:09:62:a5:49:04:69:d1:ea:b3:0f:fa: 92:04:6a:da:27:79:49:ac:79:bd
Возврат настроек по умолчанию
Для возврата к настройкам по умолчанию выключите поддержку ГОСТ в openssl командой:
openssl-switch-config default
и примените необходимую общесистемную политику шифрования:
update-crypto-policies --set <политика_шифрования>
Дата последнего изменения: 13.01.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.