<div dir="ltr">Привет!<div><br></div><div>Я на выходных отвечу.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 6, 2019 at 6:49 PM Alexander Bokovoy &lt;<a href="mailto:ab@altlinux.org">ab@altlinux.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Привет!<div><br></div><div>В последних версиях crypto-policies (<a href="https://gitlab.com/redhat-crypto/fedora-crypto-policies/" target="_blank">https://gitlab.com/redhat-crypto/fedora-crypto-policies/</a>), которые уже присутствуют в Fedora 31, появилась поддержка &quot;вторичных политик&quot;.</div><div><br></div><div>&quot;Вторичные политики&quot; позволяют добавить разрешения на использование специфичных крипто-систем поверх имеющейся системной политики. Даже есть заготовка для ГОСТ, но она не работает, потому что не описывает конкретные шифронаборы, которые можно разрешать.</div><div><br></div><div>Вот дополнительный модуль политики для ГОСТ: <a href="https://gitlab.com/redhat-crypto/fedora-crypto-policies/blob/master/policies/modules/GOST.pmod" target="_blank">https://gitlab.com/redhat-crypto/fedora-crypto-policies/blob/master/policies/modules/GOST.pmod</a>. Этот модуль определяет внутренние имена для генераторов политик конкретных библиотек. Например, openssl генератор: <a href="https://gitlab.com/redhat-crypto/fedora-crypto-policies/blob/master/python/policygenerators/openssl.py" target="_blank">https://gitlab.com/redhat-crypto/fedora-crypto-policies/blob/master/python/policygenerators/openssl.py</a>. Этот генератор (как и другие) не содержит преобразований из внутренних имен ГОСТ, определенных в GOST.pmod в имена, понимаемые библиотеками. </div><div><br></div><div>Фактически, это заготовка, которую нужно доработать.</div><div><br></div><div>Преобразование нужно как-то определить -- оно позволяет нам описать предпочитаемые шифронаборы и управлять их выбором. Если таких наборов будет несколько (старый ГОСТ, современный ГОСТ и так далее), то мы можем описать их в разных дополнительных модулях (GOST-OLD, GOST, etc), но нам нужно договориться о том, во что используемые в них имена будут преобразованы для каждой библиотеки, поддерживающей ГОСТ.</div><div><br></div><div>Так что, вопрос к экспертам: определите, пожалуйста, что использовать для следующий понятий для старого и нового ГОСТ:</div><div><br></div><div>1) HMAC</div><div>2) group</div><div>3) hash</div><div>4) signature</div><div>5) TLS cipher</div><div>6) key exchange</div><div><br></div><div>Вот так это выглядит в подполитике GOST сейчас:</div><div><pre lang="plaintext"><span id="gmail-m_6872558611460830335gmail-LC4" lang="plaintext"># This adds the HMAC-GOST at the end of the mac list</span>
<span id="gmail-m_6872558611460830335gmail-LC5" lang="plaintext">mac = HMAC-GOST+</span>
<span id="gmail-m_6872558611460830335gmail-LC6" lang="plaintext"></span>
<span id="gmail-m_6872558611460830335gmail-LC7" lang="plaintext"># This adds the GOST-EC to the beginning of the group list</span>
<span id="gmail-m_6872558611460830335gmail-LC8" lang="plaintext">group = +GOST-EC</span>
<span id="gmail-m_6872558611460830335gmail-LC9" lang="plaintext"></span>
<span id="gmail-m_6872558611460830335gmail-LC10" lang="plaintext">hash = +GOSTHASH</span>
<span id="gmail-m_6872558611460830335gmail-LC11" lang="plaintext"></span>
<span id="gmail-m_6872558611460830335gmail-LC12" lang="plaintext">sign = +GOST-EC-GOSTHASH</span>
<span id="gmail-m_6872558611460830335gmail-LC13" lang="plaintext"></span>
<span id="gmail-m_6872558611460830335gmail-LC14" lang="plaintext">tls_cipher = +GOST-CIPHER</span>
<span id="gmail-m_6872558611460830335gmail-LC15" lang="plaintext"></span>
<span id="gmail-m_6872558611460830335gmail-LC16" lang="plaintext">cipher = +GOST-CIPHER</span>
<span id="gmail-m_6872558611460830335gmail-LC17" lang="plaintext"></span>
<span id="gmail-m_6872558611460830335gmail-LC18" lang="plaintext">key_exchange = +GOST-EC</span>
</pre></div><div>Для примера, вот так выглядит подполитики выкидывания поддержки SHA1, NO-SHA1.pmod:</div><div><pre lang="plaintext"><span id="gmail-m_6872558611460830335gmail-LC1" lang="plaintext"># This is example subpolicy dropping the SHA1 hash and signature support</span>
<span id="gmail-m_6872558611460830335gmail-LC2" lang="plaintext"></span>
<span id="gmail-m_6872558611460830335gmail-LC3" lang="plaintext">hash = -SHA1</span>
<span id="gmail-m_6872558611460830335gmail-LC4" lang="plaintext"></span>
<span id="gmail-m_6872558611460830335gmail-LC5" lang="plaintext">sign = -RSA-PSS-SHA1 -RSA-SHA1 -ECDSA-SHA1</span>
</pre></div><div>Где SHA1, RSA-PSS-SHA1 и остальные имена либо стандартизированы между библиотеками, либо мапятся в стандартизированные каждым генератором отдельно.<br clear="all"><div><br></div>-- <br><div dir="ltr">/ Alexander Bokovoy</div></div></div>
_______________________________________________<br>
oss-gost-crypto mailing list<br>
<a href="mailto:oss-gost-crypto@lists.altlinux.org" target="_blank">oss-gost-crypto@lists.altlinux.org</a><br>
<a href="https://lists.altlinux.org/mailman/listinfo/oss-gost-crypto" rel="noreferrer" target="_blank">https://lists.altlinux.org/mailman/listinfo/oss-gost-crypto</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">SY, Dmitry Belyavsky</div>