RFR 8223482: Unsupported ciphersuites may be offered by a TLS client

Xuelei Fan xuelei.fan at oracle.com
Tue May 7 22:52:07 UTC 2019


If I remember correct, there was a serious performance impact when 
trying to check every crypto operations before using them (suspend for 
seconds or minutes, I cannot remember numbers).  That's the underlying 
reason why most of the checking got removed in latest JDK releases.

The best approach is still not checking. If it is too ideal, checking at 
least as possible.  An provider MUST support the JDK required 
algorithms; and provider MUST support TLS required algorithms.  So there 
is no need to check those algorithms.  What happens if a provider does 
not support those algorithms?  Configure the application to avoid the 
use of the algorithms, or don't use the provider, as the workaround.

Anyway, it depends on the benchmark.  If the performance impact is 
minimal, we are happy.  Otherwise, we may want to think about 
alternative solutions.

Thanks,
Xuelei

On 5/7/2019 1:33 PM, Martin Balao wrote:
> Hi Xuelei,
> 
> Thanks for having a look.
> 
> I'll work on a benchmark to see the impact of this proposal.
> 
> I have a couple of ideas but wish we could discuss them before moving to
> their implementation.
> 
> #1
> ...............................
> 
> Under the assumption that security providers do not change in run time,
> we can store "supports" results when SSLCipher instances are created.
> There would be a static initialization cost but a negligible run time
> cost. The drawback is that the assumption that security providers do not
> change in run time is not correct for all use-cases.
> 
> #2
> ...............................
> 
> We create many cipher instances to decide if an algorithm is supported
> and one of them -depending on which ciphersuite the server chooses- will
> be used. We can make something to avoid creating an instance we already
> had. Gain would be very low I guess because most of the instances would
> be wasted.
> 
> Is there something else on your mind? What do you think of this options?
> 
> I'll keep thinking.
> 
> Kind regards,
> Martin.-
> 
> 
> 
> On 5/7/19 4:53 PM, Xuelei Fan wrote:
>> Hi Martin,
>>
>> Would you mind evaluate the performance impact of the fix and improve it
>> accordingly?
>>
>> Thanks,
>> Xuelei
>>
>> On 5/7/2019 12:45 PM, Martin Balao wrote:
>>> Hi,
>>>
>>> I'd like to propose a fix for "8223482: Unsupported ciphersuites may be
>>> offered by a TLS client" [1]:
>>>
>>>    * http://cr.openjdk.java.net/~mbalao/webrevs/8223482/8223482.webrev.00/
>>>
>>> Testing:
>>>
>>>    * FipsModeTLS12 (after Webrev.00 modifications) reproduces this bug and
>>> works as a regression test
>>>
>>>    * No regressions found in jdk/sun/security/ssl
>>>
>>> I'd be grateful if someone can have a look.
>>>
>>> Thanks,
>>> Martin.-
>>>
>>> -- 
>>> [1] - https://bugs.openjdk.java.net/browse/JDK-8223482
>>>
> 



More information about the security-dev mailing list