Data Center Use of Static Diffie-Hellman in TLS 1.3
tools.ietf.org
tools.ietf.org
Previous discussion of that email thread: https://news.ycombinator.com/item?id=12641880
Basically, someone noticed (too late) that TLS 1.3 no longer has the RSA key exchange, which they liked because it allowed decryption of the encrypted traffic by passive middleboxes (which have a copy of the RSA private key). This draft is probably a response to that.
There are already plenty of ways for enterprises to get around this, like having their own CA and deploying that as a trusted CA to their machines. Then they can issue certs that their proxies could use, and their machines would just trust those certs.
Why don't they just use that method?
Also, how would a browser know it has encountered this behavior? A key might be rotated every few minutes, so just seeing the same key twice is not enough; and the key could be derived from a static key and the TLS nonces, so seeing a different key also means nothing.
That said, I think server vendors should not implement this option. It's too risky, since it could be enabled by accident, incompetence, or malice. It's better to force the few who believe they really need this option to implement it themselves.
https://media.ccc.de/v/33c3-8348-deploying_tls_1_3_the_great...
Seems irresponsible to a layman like me.
More complex is to log the DH private key that is used and make that available to the middle box.
And as last resort, the server can just send all plain text to the middle box.
There is no such thing as one-size-fits-all security. The important thing of course, is to make sure that such a feature cannot be turned on accidentally.
I don't know about EC, but in classical DH, if the server uses the same DH private key for all connections, then a client can detect that (by initiating multiple connections). So a paranoid client library can issue a warning.
*sorry, couldn't resist :D