<div dir="auto">...and once again FIPS screws those who don't want to adhere to its mandates (which everyone in the know has always stated simply reduces security by requiring the use of less-secure ciphers and implementations, without allowing patches or modifications to deal with newly-discovered classes of attacks without requiring a complete new validation procedure).<div dir="auto"><br></div><div dir="auto">Also, I fear that I am likely to be viewed as "overly paranoid" here, by reminding everyone that Oracle exists because CIA wanted a way to avoid paying IBM more money.  They have maintained their national-security roots ("Trusted Oracle", anyone?), and both US and Australia are members of the Five Eyes coalition; there's no reason that governments wouldn't lean on their assets which hire contributors to OpenSSL to reduce the putative security level that OpenSSL could provide, via platitudes of the form "the check will be cheaper".  (It was in the Snowden docs, after all, that the US government has wealened encryption by sabotaging standardization efforts and open-source particopation.  I have no doubt that governments within Five Eyes want to decrease the number of keys they have to crack in traffic that they don't already know the profile of.)</div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">I really think that the checks should be conditional on FIPS mode or setting an option flag (for those national standards that don't have a validation effort associated with them).</span><br></div><div dir="auto"><br></div><div dir="auto">-Kyle H</div><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Sun, Sep 16, 2018, 14:23 Paul Dale <<a href="mailto:paul.dale@oracle.com">paul.dale@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-AU" link="blue" vlink="purple"><div class="m_5016795712340248449WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">There is nothing S390 specific in this, it is a requirement to use GCM based ciphers for TLS when running in a FIPS validated environment.  The check will be cheaper than trying to avoid it by conditioning on FIPS mode -- hence it’s unconditional.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Pauli<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">-- <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Oracle<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Dr Paul Dale | Cryptographer | Network Security & Encryption <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Phone +61 7 3031 7217<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Oracle Australia<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Dmitry Belyavsky [mailto:<a href="mailto:beldmit@gmail.com" target="_blank" rel="noreferrer">beldmit@gmail.com</a>] <br><b>Sent:</b> Friday, 14 September 2018 8:41 PM<br><b>To:</b> <a href="mailto:openssl-users@openssl.org" target="_blank" rel="noreferrer">openssl-users@openssl.org</a><br><b>Subject:</b> Re: [openssl-users] Limit the number of AES-GCM keys allowed in TLS<u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Hello,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Sorry, I've just found similar checks in all _CGM functions. <u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Fri, Sep 14, 2018 at 1:30 PM Dmitry Belyavsky <<a href="mailto:beldmit@gmail.com" target="_blank" rel="noreferrer">beldmit@gmail.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><div><p class="MsoNormal">Dear Paul,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Could you please clarify? <u></u><u></u></p></div><div><p class="MsoNormal">The code seems to be related to s390 platform. Do I miss something?<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Sep 13, 2018 at 1:55 AM Paul Dale <<a href="mailto:paul.dale@oracle.com" target="_blank" rel="noreferrer">paul.dale@oracle.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I wasn’t aware of other national standards requiring a similar check.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I made the change in the AES-GCM code because FIPS demands the check be inside the FIPS boundary.  I’d have preferred to make it in the TLS layer, but that mustn’t be inside the FIPS boundary.  My understanding is that TLS catches this case earlier and thus the test can never pass.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I don’t think dropping the check down into the algorithm implementations makes sense.  A more generic mechanism at the EVP would.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Pauli</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">-- </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Oracle</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Dr Paul Dale | Cryptographer | Network Security & Encryption </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Phone +61 7 3031 7217</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Oracle Australia</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Dmitry Belyavsky [mailto:<a href="mailto:beldmit@gmail.com" target="_blank" rel="noreferrer">beldmit@gmail.com</a>] <br><b>Sent:</b> Wednesday, 12 September 2018 7:02 PM<br><b>To:</b> <a href="mailto:openssl-users@openssl.org" target="_blank" rel="noreferrer">openssl-users@openssl.org</a><br><b>Subject:</b> [openssl-users] Limit the number of AES-GCM keys allowed in TLS</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div><div><div><p class="MsoNormal">Hello,<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">The issue <a href="https://github.com/openssl/openssl/pull/7129" target="_blank" rel="noreferrer">https://github.com/openssl/openssl/pull/7129</a> has introduced a possibility to limit the amount of TLS records processed without key changing as required by FIPS.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">We in Russia have limitations with the same semantics applicable to Russian GOST TLS ciphersuites (<a href="https://datatracker.ietf.org/doc/draft-smyshlyaev-tls12-gost-suites/" target="_blank" rel="noreferrer">https://datatracker.ietf.org/doc/draft-smyshlyaev-tls12-gost-suites/</a>) so I think that this mechanism is very useful. <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">The current implementation is done at EVP level, and it seems suboptimal because of the following reasons:<u></u><u></u></p></div><div><p class="MsoNormal">- If the AES implementation is provided via engine, not by OpenSSL itself, the limitation can be avoided<u></u><u></u></p></div><div><p class="MsoNormal">- the limitation has been made too generic<u></u><u></u></p></div><div><p class="MsoNormal">- the implementation seems to be AEAD-specific. <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">So does not it make sense to provide this limitation at least at the ciphersuite level? It can provide more straightforward way to manage such limitations.<u></u><u></u></p></div><div><p class="MsoNormal"><br>Thank you!<u></u><u></u></p></div><div><div><p class="MsoNormal"> <u></u><u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><p class="MsoNormal">SY, Dmitry Belyavsky<u></u><u></u></p></div></div></div></div></div></div><p class="MsoNormal">-- <br>openssl-users mailing list<br>To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" target="_blank" rel="noreferrer">https://mta.openssl.org/mailman/listinfo/openssl-users</a><u></u><u></u></p></blockquote></div><p class="MsoNormal"><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><p class="MsoNormal">SY, Dmitry Belyavsky<u></u><u></u></p></div></div></blockquote></div><p class="MsoNormal"><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><p class="MsoNormal">SY, Dmitry Belyavsky<u></u><u></u></p></div></div></div></div>-- <br>
openssl-users mailing list<br>
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" rel="noreferrer noreferrer" target="_blank">https://mta.openssl.org/mailman/listinfo/openssl-users</a><br>
</blockquote></div></div>