Undo deprecation of brainpool EC
Xuelei Fan
xuelei.f at gmail.com
Mon Nov 21 06:48:47 UTC 2022
Hi,
As I’m working on this area recently, I will see if I can contribute. But it may be no easier than JDK 21. If you don’t mind, I may ask for more requirement details later and help for testing.
Thanks,
Xuelei
> On Nov 15, 2022, at 11:23 PM, <benjamin.marwell at f-i.de> <benjamin.marwell at f-i.de> wrote:
>
> Hi Xuelei and Sean,
>
> We use/see mostly brainpoolP512r1. But it is not just us!
>
>> , although I will note that the IANA registry
>> still lists them as not recommended for TLS [1].
>
> I agree that brainpoolP512r1 are not particularly interesting when it comes to TLS,
> but we still see server certificates (not the TLS algo) created with brainpoolP512r1, as well as keystores.
> Not being able to connect due to certificate validation errors OR
> not being able to read a (somewhat) recently created keystore was astonishing, to say the least.
>
>> And with
>> recently added support for EdDSA and the future with PQC, it's not
>> likely we will circle back to them.
>
> This is not about which algorithm is "better" or "can be replaced".
> It is only about "what should (still) be supported, because NIST and BSI still list them".
>
>> We are ok with a contribution,
>
> In my opinion, this is a major breaking change for this reason and should not wait for contributions.
>
> - Ben
>
>
> On 15.11.22, 15:35, "security-dev on behalf of Sean Mullan" <security-dev-retn at openjdk.org on behalf of sean.mullan at oracle.com> wrote:
>
> Hi,
>
> Thanks for your questions about brainpool. See below for more details.
>
> On 11/14/22 3:36 AM, benjamin.marwell at f-i.de wrote:
>> Hello everyone!
>>
>> To our surprise, brainpool EC have been deprecated with Java 14+ [1].
>> However, JDK-8234924 [1] does not add any information on WHY they would have been deprecated.
>> In fact, neither NIST (USA) nor BSI (Germany) list them as deprecated.
>> On the contrary, both institutions list them as an acceptable cipher.
>>
>> As a matter of fact, the deprecation notice seem to have originated by bad wording.
>> Please read this quote from Manfred Lochter, how works at the BSI:
>>
>>> The unfortunate wording about the brainpool curves originated in TLS 1.3,
>>> however RFC 8734 makes the curves usable for TLS again.
>>> We will continue to recommend the Brainpool curves.
>>> It should also be noted that the arguments for the "modern formulas" have all been refuted by now.
>>> Especially the implementation of Curve 25519 requires more effort to protect against SCA;
>>> the deterministic signatures are vulnerable to fault injection.
>>> In the medium term, however, the switch to post-quantum cryptography is necessary;
>>> there are comprehensive recommendations on this at [2]
>>
>> Now, european banking and health industry still do rely heavily on brainpool curves.
>> Given all these facts, I hereby request to undo the depracation of brainpool EC in OpenJDK.
>>
>> Please let me know what lead to the assumption that brainpool ciphers were deprecated.
>> Neither NIST nor BSI seems to be the source. Given all the facts, it should still be included.
>
> The word "deprecated" may have been the wrong word to use when referring
> to the brainpool curves, although I will note that the IANA registry
> still lists them as not recommended for TLS [1].
>
> We don't have any issues with the brainpool curves as we do for
> some of the other legacy curves. But, these curves were implemented in
> native C code and we changed the structure of the JDK EC implementation
> such that all curves that were implemented in C were removed. The
> remaining curves that we do support are implemented in Java and use
> modern techniques and complete formulas.
>
> It has not been a priority for us to re-implement brainpool. And with
> recently added support for EdDSA and the future with PQC, it's not
> likely we will circle back to them.
>
> We are ok with a contribution, but they would need to be done using
> the current design structure and using complete formulas.
>
> --Sean
>
> [1] https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml
>
>>
>> References:
>>
>> [1]: https://bugs.openjdk.org/browse/JDK-8234924
>> [2]: https://www.bsi.bund.de/EN/Themen/Unternehmen-und-Organisationen/Informationen-und-Empfehlungen/Quantentechnologien-und-Post-Quanten-Kryptografie/quantentechnologien-und-post-quanten-kryptografie_node.html
>>
>> Mit freundlichen Grüßen
>>
>> Benjamin Marwell
>>
More information about the security-dev
mailing list