SSL 的发展历史

​ 想在网络世界中,让用户无感知地实现安全通讯,最合理的做法就是在传输层之上、应用层之下加入专门的安全层来实现。这样对于上层原本是基于 HTTP 的 Web 应用来说,甚至都察觉不到有什么影响。构建传输安全层这个想法,甚至可以说是和万维网的历史一样长,早在 1994 年,就已经有公司开始着手去实践了:

  • 1994 年,网景(Netscape)公司开发了 SSL 协议(Secure Sockets Layer)的 1.0 版,这是构建传输安全层的起源,但是 SSL 1.0 从未正式对外发布过。

  • 1995 年,Netscape 把 SSL 升级到 2.0 版,正式对外发布,但是刚刚发布不久,就被发现有严重漏洞,所以并未大规模使用。

  • 1996 年,修补好漏洞的 SSL 3.0 对外发布,这个版本得到了广泛的应用,很快成为 Web 网络安全层的事实标准。
  • 1999 年,互联网标准化组织接替网景公司,将 SSL 改名为 TLS(Transport Layer Security),随即就形成了传输安全层的国际标准。第一个正式的版本是RFC 2246定义的 TLS 1.0,该版 TLS 的生命周期极长,直到 2020 年 3 月,主流浏览器(Chrome、Firefox、IE、Safari)才刚刚宣布同时停止 TLS 1.0/1.1 的支持。而讽刺的是,由于停止后许多政府网站被无法被浏览,此时又正值新冠病毒的爆发期,Firefox 紧急发布公告宣布撤回该改动,因此目前 TLS 1.0 的生命还在顽强延续。
  • 2006 年,TLS 的第一个升级版 1.1 发布(RFC 4346),但它除了增加对 CBC 攻击的保护外,几乎没有任何改变,沦为了被遗忘的孩子,当时也很少有人会使用 TLS 1.1,甚至 TLS 1.1 根本都没有被提出过有啥已知的协议漏洞。
  • 2008 年,TLS 1.1 发布 2 年之后,TLS 1.2 标准发布(RFC 5246),迄今超过 90% 的互联网 HTTPS 流量都是由 TLS 1.2 所支持的,现在我们仍在使用的浏览器几乎都完美支持了该协议。
  • 2018 年,最新的 TLS 1.3(RFC 8446)发布,比起前面版本相对温和的升级,TLS 1.3 做出了一些激烈的改动,修改了从 1.0 起一直没有大变化的两轮四次(2-RTT)握手,首次连接仅需一轮(1-RTT)握手即可完成;在有连接复用支持的时候,甚至可以把 TLS 1.2 原本的 1-RTT 下降到 0-RTT,显著提升了访问速度。
  • 本文作者: forever杨
  • 本文链接: https://blog.yl-online.top/posts/3d3bd7ca.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。如果文章内容对你有用,请记录到你的笔记中。本博客站点随时会停止服务,请不要收藏、转载!