Open-source aspects of GOST Cryptography
 help / color / mirror / Atom feed
From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
To: Open-source aspects of GOST Cryptography
	<oss-gost-crypto@lists.altlinux.org>
Subject: Re: [oss-gost-crypto] Интеграция ГОСТ в crypto-policies
Date: Mon, 11 Nov 2019 00:29:30 +0300
Message-ID: <CALT56yPrCWgeuwmM3ieXce_De3+N0OY5MxQfw4OvCgv68cVv3Q@mail.gmail.com> (raw)
In-Reply-To: <CADqLbz+HpaPVaxj4AxAEnNqPtWVmisYdkkPvp5ZMZFoq4WgvDg@mail.gmail.com>

Привет!

вс, 10 нояб. 2019 г. в 21:31, Dmitry Belyavsky <beldmit@gmail.com>:
> On Wed, Nov 6, 2019 at 6:49 PM Alexander Bokovoy <ab@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.

Я накидал https://gitlab.com/redhat-crypto/fedora-crypto-policies/merge_requests/50,
исходя из своего понимания.
Надо доделать генераторы для openssl, gnutls и т.п. (patches are
welcome). Для gnutls постараюсь сделать во вторник.
Плюс я не включил MGM в список, но это просто решается.

С openssl будет отдельный вопрос, потому что openssl ciphers без
engine не будет нормально работать с ГОСТовыми именами.

>> Так что, вопрос к экспертам: определите, пожалуйста, что использовать для следующий понятий для старого и нового ГОСТ:
>>
>> 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 list
>> mac = HMAC-GOST+
>>
>> # This adds the GOST-EC to the beginning of the group list
>> group = +GOST-EC
>>
>> hash = +GOSTHASH
>>
>> sign = +GOST-EC-GOSTHASH
>>
>> tls_cipher = +GOST-CIPHER
>>
>> cipher = +GOST-CIPHER
>>
>> key_exchange = +GOST-EC
>>
>> Для примера, вот так выглядит подполитики выкидывания поддержки SHA1, NO-SHA1.pmod:
>>
>> # This is example subpolicy dropping the SHA1 hash and signature support
>>
>> hash = -SHA1
>>
>> sign = -RSA-PSS-SHA1 -RSA-SHA1 -ECDSA-SHA1
>>
>> Где SHA1, RSA-PSS-SHA1 и остальные имена либо стандартизированы между библиотеками, либо мапятся в стандартизированные каждым генератором отдельно.
>>
>> --
>> / Alexander Bokovoy
>> _______________________________________________
>> oss-gost-crypto mailing list
>> oss-gost-crypto@lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/oss-gost-crypto
>
>
>
> --
> SY, Dmitry Belyavsky
> _______________________________________________
> oss-gost-crypto mailing list
> oss-gost-crypto@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/oss-gost-crypto



-- 
With best wishes
Dmitry

           reply	other threads:[~2019-11-10 21:29 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <CADqLbz+HpaPVaxj4AxAEnNqPtWVmisYdkkPvp5ZMZFoq4WgvDg@mail.gmail.com>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALT56yPrCWgeuwmM3ieXce_De3+N0OY5MxQfw4OvCgv68cVv3Q@mail.gmail.com \
    --to=dbaryshkov@gmail.com \
    --cc=oss-gost-crypto@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Open-source aspects of GOST Cryptography

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/oss-gost-crypto/0 oss-gost-crypto/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 oss-gost-crypto oss-gost-crypto/ http://lore.altlinux.org/oss-gost-crypto \
		oss-gost-crypto@lists.altlinux.org oss-gost-crypto@lists.altlinux.ru oss-gost-crypto@lists.altlinux.com
	public-inbox-index oss-gost-crypto

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.oss-gost-crypto


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git