Использование алгоритмов ГОСТ
В МСВСфера 9 Сервер вы можете включить поддержку российских алгоритмов хэширования, шифрования и электронной подписи (алгоритмы ГОСТ).
Пакет crypto-policies-x.x.x
содержит библиотеки, необходимые для работы алгоритмов ГОСТ.
В пакет добавлены политики (.pol), реализующие необходимые алгоритмы ГОСТ, а также модули (.mod), котороые могут подключаться к любым политикам и в них добавлять поддержку алгоритмов ГОСТ.
Модуль GOST.mod
ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 — алгоритмы электронной цифровой подписи.
ГОСТ Р 34.11-94 — алгоритм хэширования. 256-битное значение хэша.
ГОСТ Р 34.11-2012 — алгоритм хэширования. 256- и 512-битные значения хеша.
ГОСТ 28147-89 — симметричное шифрование с 256-битным ключом. Доступны режимы CBC, CFB и CNT. Для усложнения статистического анализа поддерживается «key meshing».
ГОСТ 28147-89 в режиме выработки имитовставки (MAC). Основан на алгоритме хэширования с использованием алгоритмов симметричного шифрования. Он имеет 256-битный симметричный ключ и разрядность от 8 до 64 (по умолчанию 32) бит.
ГОСТ Р 34.13–2015 — симметричное шифрование «Кузнечик» («Grasshopper»).
Алгоритмы базового профиля (т.е если базовый профиль
DEFAULT
, то к его алгоритмом добавляются указанные выше).
Модуль PAM-GOST.mod
Задание хешей паролей в соответствии с ГОСТ Р 34.11-2012.
Алгоритмы базового профиля (т.е если базовый профиль
DEFAULT
, то к его алгоритмом добавляются указанные выше).
Модуль SSSD-PAM-GOST.mod
Задание хешей паролей в соответствии с ГОСТ Р 34.11-2012.
Алгоритмы базового профиля (т.е если базовый профиль
DEFAULT
, то к его алгоритмом добавляются указанные выше).
Модуль PATCH-PAM-GOST.mod
Задание хешей паролей в соответствии с ГОСТ Р 34.11-2012.
Алгоритмы базового профиля (т.е если базовый профиль
DEFAULT
, то к его алгоритмом добавляются указанные выше).
Политика GOST-ONLY.pol
ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 — алгоритмы электронной цифровой подписи.
ГОСТ Р 34.11-94 — алгоритм хэширования. 256-битное значение хэша.
ГОСТ Р 34.11-2012 — алгоритм хэширования. 256- и 512-битные значения хеша.
ГОСТ 28147-89 — симметричное шифрование с 256-битным ключом. Доступны режимы CBC, CFB и CNT. Для усложнения статистического анализа поддерживается «key meshing».
ГОСТ 28147-89 в режиме выработки имитовставки (MAC). Основан на алгоритме хэширования с использованием алгоритмов симметричного шифрования. Он имеет 256-битный симметричный ключ и разрядность от 8 до 64 (по умолчанию 32) бит.
ГОСТ Р 34.13–2015 — симметричное шифрование «Кузнечик» («Grasshopper»).
Политика GOST-ONLY-PAM.pol
ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 — алгоритмы электронной цифровой подписи.
ГОСТ Р 34.11-94 — алгоритм хэширования. 256-битное значение хэша.
ГОСТ Р 34.11-2012 — алгоритм хэширования. 256- и 512-битные значения хеша.
ГОСТ 28147-89 — симметричное шифрование с 256-битным ключом. Доступны режимы CBC, CFB и CNT. Для усложнения статистического анализа поддерживается «key meshing».
ГОСТ 28147-89 в режиме выработки имитовставки (MAC). Основан на алгоритме хэширования с использованием алгоритмов симметричного шифрования. Он имеет 256-битный симметричный ключ и разрядность от 8 до 64 (по умолчанию 32) бит.
ГОСТ Р 34.13–2015 — симметричное шифрование «Кузнечик» («Grasshopper»).
Задание хешей паролей в соответствии с ГОСТ Р 34.11-2012.
Выберите политику, которую необходимо применить или модуль, который необходимо подключить к политике и сделайте это из командной строки или в Cockpit (веб-интерфейс удалённого администрирования).
Здесь GOST-ONLY-PAM
, GOST-ONLY
, PAM-GOST
и GOST
— имена политик и модулей, которые используются в командах их подключения.
Требования к окружению для работы с алгоритмами ГОСТ
Для корректной работы алгоритмов ГОСТ с OpenSSL установите пакет openssl-gost-engine
следующей командой:
$ sudo dnf install openssl-gost-engine -y
Применение политики с поддержкой ГОСТ из командной строки
Для просмотра текущей политики выполните следующую команду (в выводе команды показана текущая политика):
$ update-crypto-policies --show DEFAULT
Примените необходимую политику.
$ sudo update-crypto-policies --set ИМЯ_ПОЛИТИКИПример применения политики
GOST-ONLY
.$ sudo update-crypto-policies --set GOST-ONLY [sudo] пароль для user1: Setting system policy to GOST-ONLY Note: System-wide crypto policies are applied on application start-up. It is recommended to restart the system for the change of policies to fully take place. Изменения успешно применены.
Проверьте, что текущая политика по умолчанию изменилась:
$ update-crypto-policies --show GOST-ONLY
Подключение модуля с поддержкой ГОСТ к существующей политике из командной строки
Для просмотра текущей политики выполните следующую команду (в выводе команды показана текущая политика):
$ update-crypto-policies --show DEFAULT
Подключите необходимый модуль. Он будет добавлен к текущей политике. Если текущая политика —
DEFAULT
, то общая команда подключения модуля выглядит следующим образом:
$ sudo update-crypto-policies --set DEFAULT:ИМЯ_МОДУЛЯПример подключения модуля
PAM-GOST
к политикеDEFAULT
.$ sudo update-crypto-policies --set DEFAULT:PAM-GOST [sudo] пароль для user1: Setting system policy to DEFAULT:PAM-GOST Note: System-wide crypto policies are applied on application start-up. It is recommended to restart the system for the change of policies to fully take place. Изменения успешно применены.Для подключения нескольких модулей перечислите их через
:
:$ sudo update-crypto-policies --set DEFAULT:PAM-GOST:GOST
Проверьте, что текущая политика по умолчанию изменилась:
$ update-crypto-policies --show DEFAULT:PAM-GOST
Применение политики с поддержкой ГОСТ в Cockpit
Для применения политик с поддержкой ГОСТ должна быть установлена последняя версия Cockpit с поддержкой ГОСТ.
Откройте веб-интерфейс приложения по адресу
http://localhost:9090
.Войдите под своей учётной записью с правами администратора.
Выберите пункт меню Обзор и перейдите в окно Настройка. В этом окне нажмите на поле Cryptographic policy.
Откроется окно выбора политики, где показана текущая политика и можно выбрать одну из политик ГОСТ, нажав на неё.
Пример генерации сертификата с подключённым ГОСТ
Проверьте, что используется политика с поддержкой ГОСТ:
$ update-crypto-policies --show DEFAULT:GOSTЕсли установлена какая-либо другая политика, установите политику с поддержкой ГОСТ с помощью инструкции Применение политики с поддержкой ГОСТ из командной строки.
Генерация закрытого ключа и создание сертификата с подписью ГОСТ выполняется следующей командой:
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 | grep GOST Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit) Public Key Algorithm: GOST R 34.10-2012 with 256 bit modulus Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)То есть файл
cert.pem
должен существовать и выводgrep
не должен быть пустым.