В состав дистрибутивов ОСОН Орёл и ОССН Смоленск входит пакет библиотек для выполнения защитного преобразования по алгоритмам ГОСТ
Данный пакет обеспечивает включение в состав методов защитного преобразования,
поддерживаемых пакетами openssl и openvpn, следующих алгоритмов:
- ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 - алгоритмы цифровой подписи.
Также поддерживается обмен ключами, основанный на открытых ключах (детали см. в RFC 4357).
Алгоритмы используют- Закрытые ключи 256 бит для ГОСТ 2001, и 256/512 бит для ГОСТ 2012.
- Открытые ключи 512 бит для GOST 2001 и 512/1024 for GOST 2012.
- ГОСТ Р 34.11-94 Алгоритм хеширования. Хэш 256 бит.
- ГОСТ Р 34.11-2012 Алгоритм хеширования. Хэш 256 и 512 бит.
- ГОСТ 28147-89 - Симметричное защитное преобразование с ключем 256 бит.
Реализованы режимы CBC, CFB и CNT, поддерживается алгоритмы "key meshing" (RFC 4357). - ГОСТ 28147-89 в режиме выработки имитовставки. Базируется на алгоритме симметричного защитного преобразования.
Имеет симметричный ключ 256 бит и разрядность вставки от 8 до 64 (по умолчанию 32) бит. - ГОСТ Р 34.13–2015 - Симметричное защитное преобразование "Кузнечик" ("Grasshopper"")
Установку пакета можно осуществить из графического менеджера пакетов, или из командной строки командой
После установки для подключения установленных алгоритмов следует внести измения в файл конфигурации службы openssl (/etc/ssl/openssl.cnf).
Образец стандартного конфигурационного файла при установке пакета копируется в файл с образцом конфигурации
и, если в конфигурацию openssl не вносились никакие изменения, которые жалко потерять,
образец можно просто распаковать в файл конфигурации /etc/ssl/openssl.cnf. Например, командой
gunzip -c /usr/share/doc/libgost-astra/openssl.cnf.gz | sudo tee /etc/ssl/openssl.cnf1 > /dev/null
Ручная настрока конфигурации openssl
Добавить в начало файла /etc/ssl/openssl.cnf строку
openssl_conf = openssl_def
В конец файла добавить строчки
[openssl_def]
engines = engine_section
[engine_section]
gost-astra = gost_section
[gost_section]
engine_id = gost-astra
dynamic_path = /usr/lib/x86_64-linux-gnu/engines-1.1/gost-astra.so
default_algorithms = ALL
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet
При этом значение переменной, указывающей место размещения библиотеки dynamic_path = /usr/lib/x86_64-linux-gnu/engines-1.1/
gost-astra.so
зависит от используемой версии SSL (в приведённом примере - версия 1.1.х, размещение "по умолчанию" при установке пакета).
Однако, библиотеку можно разместить в любом месте, указав соответствующее значение размещения.