[oss-gost-crypto] Интеграция ГОСТ в crypto-policies

Alexander Bokovoy ab at altlinux.org
Wed Nov 6 18:48:52 MSK 2019


Привет!

В последних версиях crypto-policies (
https://gitlab.com/redhat-crypto/fedora-crypto-policies/), которые уже
присутствуют в Fedora 31, появилась поддержка "вторичных политик".

"Вторичные политики" позволяют добавить разрешения на использование
специфичных крипто-систем поверх имеющейся системной политики. Даже есть
заготовка для ГОСТ, но она не работает, потому что не описывает конкретные
шифронаборы, которые можно разрешать.

Вот дополнительный модуль политики для ГОСТ:
https://gitlab.com/redhat-crypto/fedora-crypto-policies/blob/master/policies/modules/GOST.pmod.
Этот модуль определяет внутренние имена для генераторов политик конкретных
библиотек. Например, openssl генератор:
https://gitlab.com/redhat-crypto/fedora-crypto-policies/blob/master/python/policygenerators/openssl.py.
Этот генератор (как и другие) не содержит преобразований из внутренних имен
ГОСТ, определенных в GOST.pmod в имена, понимаемые библиотеками.

Фактически, это заготовка, которую нужно доработать.

Преобразование нужно как-то определить -- оно позволяет нам описать
предпочитаемые шифронаборы и управлять их выбором. Если таких наборов будет
несколько (старый ГОСТ, современный ГОСТ и так далее), то мы можем описать
их в разных дополнительных модулях (GOST-OLD, GOST, etc), но нам нужно
договориться о том, во что используемые в них имена будут преобразованы для
каждой библиотеки, поддерживающей ГОСТ.

Так что, вопрос к экспертам: определите, пожалуйста, что использовать для
следующий понятий для старого и нового ГОСТ:

1) HMAC
2) group
3) hash
4) signature
5) TLS cipher
6) key exchange

Вот так это выглядит в подполитике GOST сейчас:

# This adds the HMAC-GOST at the end of the mac listmac = HMAC-GOST+#
This adds the GOST-EC to the beginning of the group listgroup =
+GOST-EChash = +GOSTHASHsign = +GOST-EC-GOSTHASHtls_cipher =
+GOST-CIPHERcipher = +GOST-CIPHERkey_exchange = +GOST-EC

Для примера, вот так выглядит подполитики выкидывания поддержки SHA1,
NO-SHA1.pmod:

# This is example subpolicy dropping the SHA1 hash and signature
supporthash = -SHA1sign = -RSA-PSS-SHA1 -RSA-SHA1 -ECDSA-SHA1

Где SHA1, RSA-PSS-SHA1 и остальные имена либо стандартизированы между
библиотеками, либо мапятся в стандартизированные каждым генератором
отдельно.

-- 
/ Alexander Bokovoy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/oss-gost-crypto/attachments/20191106/97866cd8/attachment.html>


More information about the oss-gost-crypto mailing list