我有兴趣配置 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 这样的侧信道安全曲线?