自从TLS 1.3协议标准规范定稿,各大浏览器厂商(Chrome、Firefox、Edge、Safari)不约而同在近日宣告即将废弃TLS 1.0和TLS 1.1协议了,今天我从多个视角给大家普及下相关知识,以便大家更好的部署自己的 HTTPS 服务。
TLS 1.0和TLS 1.1 为什么要废弃
从时间上看,TLS 1.0 协议已经有20年历史了,确实要退出历史舞台了。
目前TLS协议主流的版本是 v1.2,那么和 v1.0 和 v1.1 版本相比,它有那些优势呢?或者说 v1.0 和 v1.1 版本必然有一些缺陷,所以才要被各大浏览器厂商废弃。
主要原因有两方面,首先就是性能,TLS 1.2协议有了更快的密码学算法,比如支持AEAD类的加密模式。当然更重要的是安全性。
TLS 1.0是 SSL 3.0的一个简单升级,只是换了个叫法而已;TLS 1.1 在安全性方面有了很大的提升,并且引入了TLS 扩展,这是非常重要的改革;TLS 1.2 版本是比较大的一个改造,加强了密码套件的扩展性。
安全是相对的,理论上TLS 1.0和TLS 1.1 协议是安全的,即使历史上出现一些安全问题,也已经被TLS实现(比如OpenSSL)或客户端(比如浏览器)修复了,但在某种程度上这二个版本仍然有安全风险,主要原因在于某些密码算法已经被认为是不安全了(比如 SHA1、RC4算法)。
所以从安全的角度看v1.0 和 v1.1版本确实可以宣告死亡了,但为什么值得现在他们仍然还存活着?兼容性,这是一种妥协,因为世界上还有很多设备(比如 XP/IE8)不支持现代化的密码算法(比如GCM),所以HTTPS服务部署者