Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12


Пакет libgost-astra

В состав дистрибутивов Astra Linux входит пакет библиотек для выполнения защитного преобразования по алгоритмам ГОСТ

Информация
libgost-astra

Данный пакет обеспечивает включение в состав методов защитного преобразования,
поддерживаемых пакетами openssl и openvpn, следующих алгоритмов:

  • ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 - алгоритмы цифровой подписи.
    Также поддерживается обмен ключами, основанный на открытых ключах (детали см. в RFC 4357).
    Алгоритмы используют:
    • Закрытые ключи 256 ключи 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"").

Для установки пакета можно использовать Графический менеджер пакетов synaptic, или выполнить установку из командной строки командой

Command
apt install libgost-astra

После установки При установке для подключения установленных добавленных алгоритмов следует внести автоматически вносятся изменения в файл конфигурации службы openssl (/etc/ssl/openssl.cnf).

Образец стандартного конфигурационного файла при установке пакета копируется в файл с образцом конфигурации

Информация
/usr/share/doc/libgost-astra/openssl.cnf.gz

и, если в конфигурацию openssl не вносились никакие изменения, которые жалко потерять,
образец можно просто распаковать в файл конфигурации /etc/ssl/openssl.cnf. Например, командой

Command

gunzip -c /usr/share/doc/libgost-astra/openssl.cnf.gz | sudo tee /etc/ssl/openssl.cnf1 > /dev/null

Генерация ключей

Для генерации ключей можно использовать стандартную команду openssl genpkey, например:

Command
openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out seckey.pem

При этом ключ -algorithm используется для указания алгоритма, а ключ -pkeyopt используется для передачи параметров алгоритму.
Поддерживаются следующие сочетания алгоритмов и параметров:

АлгоритмПараметры
gost20010, A, B, C, XA, XB
gost2012_256
gost2012_512A, B

Проверить список доступных алгоритмов можно командой

Command
openssl engine gost -c


Ручная настройка конфигурации openssl

Добавить

Информация
В современных версиях libgost-astrs настройка выполняется автоматически при установке пакета. Ручная настройка конфигурации не требуется.


Раскрыть

Для подключения библиотеки libgost-astra добавить в начало файла /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

Значения параметров в секции [gost_section]:

ПараметрЗначение
engine_id = gost-astra

Указывает на название движка (английский термин - engine). Устанавливаем значение gost-astra.

Проверить список установленных и включенных движков можно командой

Command
openssl engine

При установленном и включенном движке libgost-astra ответ команды будет выглядеть примерно так:

Информация
# openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gost-astra) Astra implementation of GOST engine


dynamic_path =
/usr/lib/x86_64-linux-gnu/engines-1.1/gost-astra.so
<путь>

Указывает расположение файла динамической библиотеки, реализующей алгоритмы ГОСТ. Расположение зависит от используемой версии openssl и используемой аппаратной платформы.Проверить актуальное расположение библиотеки можно командой: 

Command
dpkg -L libgost-astra | grep engines

Указывает путь до динамической библиотеки gost-astra.so.
Значение переменной, указывающей место размещения библиотеки, зависит от используемой версии SSL
(в приведённом примере - использовалась версия 1.1.х, и указано размещение "по умолчанию" при установке пакета).
Однако, при необходимости, библиотеку можно разместить в любом месте, указав соответствующее значение размещения.

Проверить текущую установленную версию openssl можно командой

Commandopenssl version


default_algorithms = ALL

Разрешает использование движком всех

алгоримов

алгоритмов, имеющихся в движке.

Проверить список доступных алгоритмов можно командой

Command
openssl engine gost -
astra -
c

При установленном и включенном движке libgost-astra ответ команды будет выглядеть примерно так:

Информация
# openssl engine gost-astra -c
(gost-astra) Astra implementation of GOST engine
 [gost89, gost89-cnt, gost89-cnt-12, gost89-cbc, grasshopper-ecb, grasshopper-cbc, grasshopper-cfb, grasshopper-ofb, grasshopper-ctr, md_gost94, gost-mac, md_gost12_256, md_gost12_512, gost-mac-12, gost2001, gost-mac, gost2012_256, gost2012_512, gost-mac-12]


CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSetПараметр CRYPT_PARAMS применяется только для библиотеки gost-astra.
Позволяет пользователю выбирать наборы параметров симметричного алгоритма защитного преобразования.
Без этой опции не будет работать опция -gost89, что, в свою очередь, приведёт к тому, что для защитного преобразования вместо GOST 28147-89 будет использоваться rc2-cbc
.
Предупреждение
Инструмент быстрого запуска сервиса OpenVPN автоматически перезаписывают файл конфигурации openssl, добавляя в него указания на библиотеку
.