TLS 1.1 于2006年作为
RFC 4346
发布
TLS 1.2 于2008年发布为
RFC 5246
TLS 1.3 于2018年8月作为建议标准在
RFC 8446
发布
SSL(Secure Sockets Layer)是网景公司(Netscape)设计的主要用于Web的安全传输协议,这种协议在Web上获得了广泛的应用。SSL1.0没有被公开发布过,1995 网景公司发布SSL2.0,但是由于SSL2.0有严重的安全漏洞,因此1996年又发布了SSL3.0。
但是在2014年10月,Google发布在SSL 3.0中发现设计缺陷,建议禁用此一协议。攻击者可以向TLS发送虚假错误提示,然后将安全连接强行降级到过时且不安全的SSL 3.0,然后就可以利用其中的设计漏洞窃取敏感信息。Google在自己公司相关产品中陆续禁止回溯兼容,强制使用TLS协议。Mozilla也在11月25日发布的Firefox 34中彻底禁用了SSL 3.0。微软同样发出了安全通告。
这就是SSL3.0在2015年被弃用的原因。
但是由于SSL存在的时间太长了,人们以及习惯用SSL这个名词来指代加密的安全传输协议,因此我们要知道现在说的SSL绝大多数都是说的TLS加密。
众所周知当年的浏览器大战微软战胜了网景,而后网景将SSL协议的管理权交给了标准化组织IETF(Internet Engineering Task Force)。
1999年
,IETF在SSL3.0的基础上进行发布了TLS协议的1.0版本,需要注意的是TLS1.0版本和SSL3.0版本的区别很小,并且TLS1.0是可以降级到SSL3.0来使用的,之所以换名字主要是为了避免一些版权和法律的问题。这也就导致了后来谷歌禁止TLS回溯兼容SSL协议从而避免安全事故的发送。注意其实所有TLS版本在
2011年3月
发布的
RFC 6176
中删除了对SSL2.0的兼容,这样TLS会话将永远无法协商使用的SSL 2.0以避免安全问题。
但是还是可以降级协商到SSL3.0的。
RFC 6176 的原文摘要如下: This document requires that when Transport Layer Security (TLS) clients and servers establish connections, they never negotiate the use of Secure Sockets Layer (SSL) version 2.0 . This document updates the backward compatibility sections found in the Transport Layer Security (TLS).
TLS 1.1在
RFC 4346
中定义,于2006年4月发表。TLS 1.2在
RFC 5246
中定义,于2008年8月发表。TLS 1.3在
RFC 8446
中定义,于2018年8月发表。实际上现代的浏览器已经基本不使用 SSL,使用的都是 TLS,而目前主流使用的加密协议版本是TLS1.2和TLS1.3。
RFC5246
文档中我们也可以看到对应的简单图示
整体流程和上面的基本相同,都是需要进行两个RTT操作。