0

I have a client which connects to a server securely on multiple protocols, namely MQTT and HTTPS.

Because of the following CVE, CVE-2009-3555, we decided to disable all client-initiated session renegotiation. We also decided to keep server-initiated session renegotiation, because we can't afford TLS handshake overhead.

For MQTT we use PahoMQTTC, and for HTTPS we use libcurl both with OpenSSL v1.1.1.

  • How to disable client-initiated session renegotiation entirely from my side (the client) in OpenSSL or by using TLS/SSL params in the used libraries?

I understand that in order for the client to renegotiate the keys/session, it should send a new Client Hello message to start the renegotiation.

  • How to prevent OpenSSL from doing this?

I see that OpenSSL has this option, SSL_OP_NO_RENGOTIATION, which I think can be used to disable the renegotiation from the client side but I'm afraid it will disable the client handling server-initiated renegotitaion as well.

Sir Muffington
  • 1,447
  • 2
  • 9
  • 22
  • That CVE is 13 years old; if you're running any software, client or server, that's vulnerable to it, then you have MUCH bigger problems! Also, disabling renegotiation on the client to deal with this is kind of like saying "My house door is vulnerable to lockpicks. How can I modify the key to my front door to be less like a lockpick?". The vulnerability is _in the server_; it doesn't do you any good to modify your client. – CBHacking Jun 08 '22 at 23:26

0 Answers0