如何配置 Dovecot 以禁用 NIST 曲线并仍保留 EECDH?

如何配置 Dovecot 以禁用 NIST 曲线并仍保留 EECDH?

我有兴趣配置 Dovecot 的 TLS 以保留前向保密性,但消除所有 NIST 椭圆曲线。

除了容易受到侧信道攻击,在 Dual EC DRBG 失败之后,某些方面人们普遍不信任 NIST 的曲线和其他密码原语。

据我所知,以下内容将阻止在 Dovecot 中使用 NIST 的曲线(和一些其他危险原语),但这可以通过完全禁用 EECDH 来实现。

ssl_cipher_list = HIGH:!DSS:!EECDH:!ECDH:!SHA1:!aNULL:!eNULL:@STRENGTH

通过使用 EDH,这仍然应该保留前向保密性,但这并没有给允许的算法留下太多空间:

$ openssl ciphers -V 'HIGH:!DSS:!EECDH:!ECDH:!SHA1:!aNULL:!eNULL:@STRENGTH'
  0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
  0x00,0x6B - DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
  0x00,0x9D - AES256-GCM-SHA384       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(256) Mac=AEAD
  0x00,0x3D - AES256-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA256
  0x00,0x9E - DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
  0x00,0x67 - DHE-RSA-AES128-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA256
  0x00,0x9C - AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD
  0x00,0x3C - AES128-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA256

有没有更好的方法可以做到这一点?有没有办法只禁用可疑的 NIST 曲线,同时仍保留 EECDH,但使用像 X25519 这样的侧信道安全曲线?

相关内容