Rust openssl文档声明openssl默认值是不安全的,为什么呢?

fdx2calv  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(232)

我在Rust OpenSSL文档中查找SslAcceptor类型,看到第一句话是:
OpenSSL的默认配置非常不安全。此连接器管理OpenSSL结构、配置密码套件、会话选项等。
然后我查看了源代码,看到他们按照Mozilla的建议设置了diffie-hellman参数和密码套件。
为什么最初的OpenSSL配置不使用这个配置,为什么要由各个库来正确设置它?

uhry853o

uhry853o1#

为什么原始OpenSSL配置不使用此配置...
对加密算法的要求会随着时间的推移而变化,也就是说,没有永远是最好的正确配置。OpenSSL有像DEFAULT或HIGH这样的设置,这些设置会不时更新,通常是在主要版本中。因此,实际上没有特定设置的应用程序所使用的默认值取决于所使用的OpenSSL版本、编译时选项,有时还取决于系统配置。
......为什么要由各个库来正确设置它?
如果希望在不同的设置之间保持一致的行为,而不依赖于特定的库版本和系统设置,则需要在代码中提供所需的设置,而不是依赖于外部库和设置。
然后我查看了源代码,看到他们按照Mozilla的建议设置了diffie-hellman参数和密码套件。
这只是代码中所宣称的,而且在不久前可能是正确的,但是推荐已经向前发展了。
具体来说,代码仍然启用3DES作为对称加密,并启用SHA1作为HMAC。它还允许TLS 1.0和TLS 1.1,但禁用TLS 1.3。所有这些都与what they link to中的中间体的 * current * 描述不匹配。
就目前而言,Rust面临着与OpenSSL相同的问题--特定的库版本具有硬编码的安全设置,这些设置在某个时候很有用,但过了一段时间就会过时。

相关问题