去掉不安全的 TLS 1.0 和 TLS 1.1,使用 TLS 1.2,等待 TLS 1.3

在网站使用 https 问题上,David Yin 一直是鼓励大家一定要上 https 的,并且在过去有建议不要使用 SSL 协议,因为不安全,希望只是用 TLS 系列的协议,包括 TLS 1.0, TLS 1.1, TLS 1.2。

而现在我要更新一下我的建议了,那就是在你的网站配置中,只允许 TLS 1.2,以及更高的 TLS 1.3,如果你的服务器支持的话。

在我的 nginx 配置中,有关的那条现在是这样的:

ssl_protocols TLSv1.2 TLSv1.3;

因为目前我的服务器对于 TLS 1.3 的支持不够,nginx 虽然已经支持 TLS1.3了,openssl 却是还在草案阶段,连浏览器 Chrome 支持到草案而已。所以 TLS 1.3 还需要等等。

根据 IESG 的新闻稿,TLS 1.3 已经正式被批准了,现在只是等待各大厂商的支持了。

这里我想稍微提一下 TLS 1.3 同 TLS 1.2的区别。

  • 新的加密套件只能在TLS 1.3 中使用,旧的加密套件不能用于TLS 1.3 连接;
  • 添加了0-RTT 模式,在建立连接时节省了往返时间;
  • 废除了静态的 RSA( 不提供前向保密 )密钥交换,基于公钥的密钥交换机制现在可提供前向保密;
  • ServerHello 之后的所有握手消息采取了加密操作;
  • TLS 1.2 版本的重协商握手机制已被弃用,TLS 1.3 中重新协商变为不可行了;
  • 相比过去的的版本,会话恢复在服务端是无状态的,使用了新的 PSK 交换;
  • DSA 证书不再允许在 TLS 1.3 中使用;

以上的这些改动,可以避免之前版本出现的缺陷,并且还可以减少TLS握手的时间。TLS 1.3 与以前的版本相比的最大优势是:安全性增强、访问速度更快。

所以在少折腾的原则上,就是在配置文件中只用 TLS 1.2 和 TLS 1.3,在等待新的协议完全支持的前,只是用足够安全的 TLS 1.2。


作者: David Yin
原载: SEO 网站优化推广
版权所有。转载时必须以链接形式注明作者和及本声明。