传输层安全性协议(英语:Transport Layer Security,
缩写作 TLS),及其前身安全套接层(Secure Sockets Layer,缩写作 SSL)是一种
安全协议,目的是为
互联网通信,提供安全及数据
完整性保障。
网景公司(Netscape)在1994年推出首版
网页浏览器,
网景导航者时,推出
HTTPS协议,以SSL进行加密,这是SSL的起源。
IETF将SSL进行标准化,1999年公布第一版TLS标准文件。随后又公布RFC 5246 (2008年8月)与 RFC 6176 (2011年3月)。在
浏览器、
电子邮件、
即时通信、
VoIP、
网络传真等应用程序中,广泛支持这个协议。主要的网站,如
Google、
Facebook等也以这个协议来创建安全连接,发送数据。已成为
互联网上保密通信的工业标准。
TLS协议采用
主从式架构模型,用于在两个应用程序间通过网络创建起安全的连接,防止在交换数据时受到
窃听及篡改。
TLS协议的优势是与高层的
应用层协议(如
HTTP、
FTP、
Telnet等)无耦合。应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密通道需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。
TLS协议是可选的,必须配置客户端和服务器才能使用。主要有两种方式实现这一目标:一个是使用统一的TLS协议通信端口(例如:用于
HTTPS的端口443);另一个是客户端请求服务器连接到TLS时使用特定的协议机制(例如:邮件、新闻协议和
STARTTLS)。一旦客户端和服务器都同意使用TLS协议,他们通过使用一个握手过程协商出一个有状态的连接以传输数据。通过握手,客户端和服务器协商各种参数用于创建安全连接:
早期的研究工作,为方便改造原有网络应用程序,在1993年已经有了相似的
Berkeley套接字安全传输层API方法。
SSL(Secure Sockets Layer)是
网景公司(
Netscape)设计的主要用于Web的安全传输协议,这种协议在Web上获得了广泛的应用。
2014年10月,Google发布在SSL 3.0中发现设计缺陷,建议禁用此一协议。攻击者可以向TLS发送虚假错误提示,然后将安全连接强行降级到过时且不安全的SSL 3.0,然后就可以利用其中的设计漏洞窃取敏感信息。Google在自己公司相关产品中陆续禁止向后兼容,强制使用TLS协议。
Mozilla也在11月25日发布的
Firefox34中彻底禁用了SSL 3.0。
微软同样发出了安全通告。
截至2018年3月21日,TLS 1.3是一个已经成为建议标准(Proposed Standard)的互联网草案。它基于更早的TLS 1.2规范,与TLS 1.2的主要区别包括: