[oss-gost-crypto] Интеграция ГОСТ в crypto-policies
Dmitry Belyavsky
beldmit at gmail.com
Sun Nov 10 21:30:47 MSK 2019
Привет!
On Wed, Nov 6, 2019 at 6:49 PM Alexander Bokovoy <ab at altlinux.org> wrote:
> Привет!
>
> В последних версиях 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), но нам нужно
> договориться о том, во что используемые в них имена будут преобразованы для
> каждой библиотеки, поддерживающей ГОСТ.
>
С единством имён у нас плохо. Для openssl в своё время часть имён придумали
мы в Криптокоме, и не всегда удачно.
Есть старые ГОСТы, которые потихоньку вымирают, и есть новые, частично
дублированные в RFC.
> Так что, вопрос к экспертам: определите, пожалуйста, что использовать для
> следующий понятий для старого и нового ГОСТ:
>
> 1) HMAC
>
HMAC по ГОСТ он и есть HMAC. То есть если там базовый примитив ГОСТовый, то
сам он ГОСТовый. Другой вопрос, что в ГОСТах есть ещё минимум 3 варианта
MAC: на старом ГОСТ, и OMAC на новом. Но для OMAC тоже смотрим на базовые
примитивы.
> 2) group
>
Тут я предлагаю брать то, что описано в
https://tools.ietf.org/html/draft-smyshlyaev-tls12-gost-suites-06#section-9
> 3) hash
>
Три штуки. ГОСТ Р 34.11-94, ГОСТ Р 34.11-2012 в двух вариантах. RFC 6986.
> 4) signature
>
ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012. RFC 7091.
> 5) TLS cipher
>
Я бы брал https://tools.ietf.org/html/draft-smyshlyaev-tls12-gost-suites-06
> 6) key exchange
>
Вот как его выделить, я не знаю. Идеологически это (EC)DH, по факту с
вариациями.
>
> Вот так это выглядит в подполитике 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
> _______________________________________________
> oss-gost-crypto mailing list
> oss-gost-crypto at lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/oss-gost-crypto
>
--
SY, Dmitry Belyavsky
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/oss-gost-crypto/attachments/20191110/7e64011a/attachment.html>
More information about the oss-gost-crypto
mailing list