名称
TLS, Transport Layer Security, 传输层安全性协议
SSL, Secure Sockets Layer, 安全套接层
历史
- 90 年代,WWW 先驱网景公司开发 SSL,用于提升 Web 安全性。
- 1996,SSL 开始由 IETF (The Internet Engineering Task Force, 互联网工程任务组) 标准化,最后在 1999 年成为 RFC 2246,名字改成了 TLS。
- TLS 1.0 约等于 SSL 3.0
- 微软 IE 也支持 TLS 1.0
- 现在,SSL 时期的三个版本,均已被彻底废弃。
- 由于历史原因,很多场合如果不严格区分版本,SSL 等于 TLS。
- TLS 1.2 在 2008 年成为 IETF 推荐的版本(2018 年被 TLS 1.3 淘汰)
- TLS 1.3 于 2018 年 8 月发表,它的突破性改进包括握手更快从而加快连接速度、简化支持的加密方式、速度和性能优于 TLS 1.2。
协议 | 发布时间 | 状态 | 说明 |
---|---|---|---|
SSL 1.0 | 未公布 | 未公布 | |
SSL 2.0 | 1995 年 | 2011 年弃用 | |
SSL 3.0 | 1996 年 | 2015 年弃用 | |
TLS 1.0 | 1999 年 | 2021 年弃用 | RFC 2246 |
TLS 1.1 | 2006 年 | 2021 年弃用 | RFC 4346 |
TLS 1.2 | 2008 年 | RFC 5246 | |
TLS 1.3 | 2018 年 | RFC 8446 |
旧版本的废弃
- SSL 1.0 从未发布。
- 2011 年 3 月,RFC 6176 删除了对 SSL 的兼容,避免通过协商使用已经被废弃的 SSL 2.0 而出现安全问题。
- 2014 年 10 月,Google 发现 SSL 3.0 有设计缺陷,可以将 TLS 安全连接强行降级到过时且不安全的 SSL 3.0。之后,Google 在自己公司相关产品中陆续禁止回溯兼容,强制使用 TLS 协议。
- 2015 年,正式废弃 SSL 3.0。
- 微软、Google、苹果、Mozilla 四家浏览器厂商在 2020 年终止支持 TLS 1.0 及 1.1。
- 2021 年 3 月,RFC 8996 标准弃用了 TLS 1.0 和 TLS 1.1。
现在主流的是 TLS 1.2 和 TLS 1.3。
相比之下,TLS 1.3 安全性更好,性能也更好。
搜索一下 tls1.2 tls1.3 difference
或者 tls1.2 tls1.3 performance
就能看到很多相关比较。
作用
SSL/TLS 的本质就是非对称加密。
细节
安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
该协议由两层组成:
- TLS 记录协议(TLS Record)
- TLS 握手协议(TLS Handshake)
握手协议(handshake protocol)
密钥规格变更协议(change cipher spec protocol)
应用数据协议(application data protocol)
警报协议(alert protocol)。
参考资料与拓展阅读
- 维基百科(en), Transport Layer Security
- 维基百科(zh), 传输层安全性协议
- OSCHINA, IETF 正式弃用 TLS 1.0 和 TLS 1.1
- OSCHINA, npm registry 正在弃用 TLS 1.0 和 TLS 1.1
- OSCHINA, 传输层安全协议 TLS 1.3 RFC 8446 正式发布
- OSCHINA, HTTP/2 没有强制要求 TLS
> HTTP/2 规范并没有要求使用 TLS,但是主流浏览器开发商全部选择在 TLS 之上实现 HTTP/2。 - OSCHINA, 微软将在 9 月禁用 TLS 1.0/TLS 1.1 传输协议
> 微软宣布从 2022 年 9 月 13 日起, Internet Explorer 和 EdgeHTML( WebView 控件的呈现引擎) 将默认禁用 TLS 1.0 和 1.1。禁用 TLS 1.0 和 1.1 的工作早在 2020 年提出,但当时新冠病毒在全球爆发,大量开发者居家办公,微软只能推迟淘汰 TLS 1.0 和 1.1 的时间。
> 注意:不是弃用,仍然可以通过配置打开相关支持。