netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Setting TLS_RX and TLS_TX crypto info more than once?
@ 2023-01-24 17:48 Marcel Holtmann
  2023-01-24 22:29 ` Sabrina Dubroca
  0 siblings, 1 reply; 5+ messages in thread
From: Marcel Holtmann @ 2023-01-24 17:48 UTC (permalink / raw)
  To: Ilya Lesokhin, Dave Watson; +Cc: netdev

Hi Ilya,

in commit 196c31b4b5447 you limited setsockopt for TLS_RX and TLS_TX
crypto info to just one time.

+       crypto_info = &ctx->crypto_send;
+       /* Currently we don't support set crypto info more than one time */
+       if (TLS_CRYPTO_INFO_READY(crypto_info))
+               goto out;

This is a bit unfortunate for TLS 1.3 where the majority of the TLS
handshake is actually encrypted with handshake traffic secrets and
only after a successful handshake, the application traffic secrets
are applied.

I am hitting this issue since I am just sending ClientHello and only
reading ServerHello and then switching on TLS_RX right away to receive
the rest of the handshake via TLS_GET_RECORD_TYPE. This works pretty
nicely in my code.

Since this limitation wasn’t there in the first place, can we get it
removed again and allow setting the crypto info more than once? At
least updating the key material (the cipher obviously has to match).

I think this is also needed when having to do any re-keying since I
have seen patches for that, but it seems they never got applied.

Any thoughts?

Regards

Marcel


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-26  8:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-24 17:48 Setting TLS_RX and TLS_TX crypto info more than once? Marcel Holtmann
2023-01-24 22:29 ` Sabrina Dubroca
2023-01-25 10:24   ` Marcel Holtmann
2023-01-25 18:22     ` Jakub Kicinski
2023-01-26  8:34     ` Boris Pismenny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).