[oss-gost-crypto] ГОСТ в OpenPGP
Dmitry Belyavsky
beldmit at gmail.com
Tue Aug 13 14:58:53 MSK 2019
Привет!
On Tue, Aug 13, 2019 at 2:28 PM Paul Wolneykien <manowar at altlinux.org>
wrote:
>
> Всем привет. Вернувшись к работе над GnuPG я понял, что то, о чём мне
> несколько раз говорил Дима — что здесь нужен RFC, — действительно правда.
>
Ура.
>
> Согласно https://tools.ietf.org/html/rfc6637 , к каждому открытому
> ключу, для которого разрешено шифрование, прикладываются параметры KDF —
> key derivation function, т.е., в конечном счёте — рецепт: как для
> данного публичного ключа зашифровать симметричный ключ. Но для ГОСТ
> рецепт требуется свой, специфический. К тому же, есть уже несколько
> таких рецептов.
>
> Если следовать логике RFC 6637, то для открытого ключа ГОСТ нужно
> определить целых три группы параметров:
>
> * параметры ВКО (длина UKM, хэш-функция [+ её параметры]);
> * собственно KDF (диверсификация КриптоПро / KDF_TREE (количество
> итераций, сообщение-метка));
> * параметры шифрования (wrapping) симметричного ключа (вариант
> упаковки + шифр + вариант имитовставки).
>
> Если так сделать, то получится, конечно, очень и очень гибкий вариант.
> Но в этом как бы и заключается его отрицательная сторона: можно будет
> такой рецепт составить, который ослабит защиту (?) или будет противоречив.
>
Ну, внутри у нас всё равно схема Диффи-Хеллмана с вариациями.
> Другой очевидный подход — вместо кучи параметров определить в самом
> стандарте готовые варианты (как это сделано у Смышляева в TLS —
> https://tools.ietf.org/html/draft-smyshlyaev-tls12-gost-suites-05), и
> потом указывать для публичного ключа просто номер варианта. Примерно так
> сделано сейчас в OpenSSL, где длина UKM неявным образом определяет выбор
> между "старым" вариантом и вариантом "2018 года" (я прав, Дима?).
>
Оно по факту так, но вообще этот выбор однозначно следует из выбранного
шифронабора.
> Ситуация, однако, осложняется ещё тем, что в OpenPGP выбор алгоритма
> симметричного шифрования архитектурно отделён от параметров KDF:
> приоритет симметричных шифров определяется глобально, на стороне
> _отправителя_, в то время как предпочтительные параметры KDF определяет
> _получатель_ сообщения (поскольку он передаёт их отправителю вместе со
> своим публичным ключём).
> И вот тут я вообще пока не представляю как быть: теоретически,
> наверное, ГОСТовым KEK-ом можно зашифровать произвольный симметричный
> ключ — хоть AES, хоть Blowfish и, конечно, хоть ГОСТ 28147 или
> "Кузнечик". Но с другой стороны, в том же Смышляевском TLS чётко
> определены случаи, какой вариант KDF с каким шифром использовать.
>
С шифром? Не с длиной ключа?
> В итоге я пока не вижу простого и очевидного решения, которое хорошо
> вписалось бы в OpenPGP и не противоречило имеющимся RFC про ГОСТ.
>
У меня вопрос ровно один. Зачем мы хотим ГОСТ в OpenPGP?
--
SY, Dmitry Belyavsky
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/oss-gost-crypto/attachments/20190813/b4aba7a5/attachment.html>
More information about the oss-gost-crypto
mailing list