HTTPS、SSL 和 TLS 是构建安全互联网的基石,它们之间既有紧密的联系,也有明确的区别。
简单来说:
SSL 和 TLS 是加密协议,它们为通信提供安全层。
HTTPS 是 HTTP 协议 和 SSL/TLS 协议 的结合体,让普通的网站访问变得安全。
下面我们进行详细的分解和对比。
一、逐个解释
1. SSL (安全套接层)
是什么:Secure Sockets Layer(安全套接层)的缩写。这是由网景公司(Netscape)在1990年代中期设计的,用于在互联网通信中提供安全保障的加密协议。
作用:它在客户端(如你的浏览器)和服务器(如网站)之间建立一个加密的链接,确保两者之间传输的所有数据都是私密和完整的,防止被窃听或篡改。
现状:已被淘汰。由于被发现存在多个严重的安全漏洞(如 POODLE 攻击),所有版本的 SSL(SSL 1.0, 2.0, 3.0)都已不再使用且被视为不安全。现在绝对不应该再使用任何版本的 SSL。
2. TLS (传输层安全)
是什么:Transport Layer Security(传输层安全)的缩写。这是 SSL 的继任者,由互联网工程任务组(IETF)对 SSL 3.0 进行标准化和改进后更名而来。你可以把它看作是 SSL 的升级版、更安全版。
作用:与 SSL 完全相同,即在传输层对网络连接进行加密,但做得更高效、更安全。它同样用于保障数据的隐私性和完整性。
版本:TLS 1.0 (1999), TLS 1.1 (2006), TLS 1.2 (2008), TLS 1.3 (2018)。
现状:当前的标准。TLS 1.2 是目前最广泛支持的版本,而 TLS 1.3 是最新、最快、最安全的版本,正在被迅速采用。当我们今天说“使用 SSL”时,绝大多数情况下实际指的是使用“TLS”。
3. HTTPS (超文本传输安全协议)
是什么:HyperText Transfer Protocol Secure(超文本传输安全协议)的缩写。它不是一个新的协议,而是标准的 HTTP 协议 和 SSL/TLS 协议 的组合。
作用:普通的 HTTP 协议以明文形式传输数据,非常不安全。HTTPS 通过在 HTTP 下层加入 SSL/TLS 层,对普通的 HTTP 通信进行加密。这就是为什么你在访问银行、邮箱或任何需要登录的网站时,地址栏会显示
https://并有一个锁形图标。如何工作:当你的浏览器使用
https://连接一个网站时,会先通过 SSL/TLS 握手 过程与服务器建立安全连接(交换密钥、验证身份等),之后所有的 HTTP 请求和响应都会在这个加密的通道中传输。
二、联系与区别
一个简单的比喻
为了更好地理解,我们可以用一个邮寄信件的比喻:
HTTP:就像你寄送一张明信片。上面的所有内容(收件人、寄件人、留言)任何人都可以看到和修改。
SSL/TLS:就像一个安全的信封和一套复杂的加密规则。这套规则规定了如何把信加密后封入信封,以及如何验证信件在途中没有被拆开过。
HTTPS:就是你使用那个安全的信封和加密规则来寄送你的明信片。最终,明信片(HTTP数据)被安全地送达,无人能窥探其内容。
总结
SSL 是祖父,TLS 是父亲:TLS 直接源于 SSL,并取代和超越了它。现在我们应该只说 TLS,但出于习惯,“SSL”这个术语仍然被广泛使用(例如“SSL证书”其实应该是“TLS/SSL证书”)。
HTTPS = HTTP + SSL/TLS:HTTPS 是 HTTP 协议在 SSL/TLS 加密协议之上的应用,是安全通信的最终表现形态。
当你访问一个 HTTPS 网站时,发生的事是:浏览器和网站服务器首先通过 TLS 协议进行“握手”来建立安全通道,然后才通过这个安全通道传输 HTTP 数据。
因此,现在当你为网站购买“SSL证书”以启用HTTPS时,你实际上是在获取一个支持TLS协议的证书,以确保你与访问者之间的连接是现代化的、安全的。