Disable TLS Renegociation ?
Sean Mullan
sean.mullan at oracle.com
Tue Apr 23 13:29:31 UTC 2024
On 4/23/24 5:54 AM, Simon Bernard wrote:
>
> Hi,
>
> I'm implementing coaps+tcp (Coap over TLS) for LWM2M protocol.
>
> In this context, I would like to disable TLS renegotiation because :
>
> * by the past we faces security issue about it
> * it doesn't really make sense to use it with those protocols
> (better to not increase the attack surface for nothing)
> * (TLS) / (DTLS) Profiles for the Internet of Things strongly
> recommend (mandate?) to disable it :
> https://datatracker.ietf.org/doc/html/rfc7925#section-17
>
> So what is the right way to deactivate it (for SslSocket and
> SslEngine) ? I searched for a programmatically way to do that (maybe
> using SSLParam) but didn't find it.
>
> Only find a system properties :
> |jdk.tls.rejectClientInitiatedRenegotiation| to /"Rejects
> client-initiated renegotiation on the server side. If this system
> property is |true|, then the server will not accept client initiated
> renegotiations and will fail with a fatal |handshake_failure| alert.
> Rejects server-side client-initialized renegotiation."
>
> /But the documentation says :///"This system property is currently
> used by the JSSE implementation, but it is not guaranteed to be
> examined and used by other implementations. If it is examined by
> another implementation, then that implementation should handle it in
> the same manner as the JSSE implementation does. There is no guarantee
> the property will continue to exist or be of the same type (system or
> security) in future releases."/
>
> (source :
> https://docs.oracle.com/en/java/javase/21/security/java-secure-socket-extension-jsse-reference-guide.html#GUID-A41282C3-19A3-400A-A40F-86F4DA22ABA9)
>
> Which sounds not so good and is only documented for java 17 and 21 (I
> just checked LTS version), not java 8 or 11. /
> /
>
That property is supported in JDK 8 and up. It was originally introduced
in JDK 8. It is supported in the SunJSSE provider. If you are using a
different JSSE provider, it may not be supported. But most (all?)
implementations of OpenJDK probably include the SunJSSE provider.
The docs for JDK 8 and 11 should document this property - I'll file an
issue to have them updated.
--Sean
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/security-dev/attachments/20240423/a6ab9d76/attachment.htm>
More information about the security-dev
mailing list