在这一点上,HTTPS 不仅像它的不安全版本 HTTP 一样广为人知,它开始变得更加普遍,此外,HTTPS 网址旁边显示的绿色锁头代表该网站是安全且值得信赖的,而其在您今日所访问的大多数网站上几乎被视为是理所当然的。

这一切都归功于那些长期致力于使用 HTTPS 并使其无所不在的人们的努力。使这一切成为可能的小型电子文档是每个想要实施 HTTPS 的网站所有者或管理员都必须获得的公钥凭证。

先前人们大多称呼这个凭证为 SSL 凭证,但今日你可能会看到它被称为 TLS 凭证,而使用它的协议有时被称为 SSL,有时被称为 TLS。

那麽到底什麽是 SSL 凭证?TLS 凭证又是什麽? 为什麽两者之间会混淆?

什麽是凭证?

让我们先往后退一步,先来谈谈什麽是加密凭证。如果您曾经使用过密码,将字母替换为数字,或者为每个字母设定大小写区别,然后使用密钥对讯息进行编码和解码,那麽您就有关于密码学的相关经验。

具体来说,公钥密码学使用複杂的数学(我们现在先不多做解释)在两方之间创建一个共享密钥,并只有创建它的两方才能使用密钥解码讯息并在开放的网路上共享送出的讯息。

为了使其运作,共享密钥本身需要进行加密签名,并使用公钥凭证去签署该密钥。因此,凭证的功能是确认开始加密交换讯息的机器并没有在其实际代表的域名或组织方面上撒谎。

这些凭证的颁发方式本质上是分层的。少数的 “凭证颁发机构”(或是您常听到的 CA)会颁发新凭证。这些凭证颁发机构在颁发凭证时其实就是在为凭证的所有者提供担保。他们确定凭证请求者是否合法的方法为验证他们是否有欲请求凭证之域名的控制权。

他们使用三种方法来做到这一点:
  1. 透过 DNS 进行网域控制验证(又称为 DCV)
    这是最常见的网域控制验证形式。CA 会向凭证请求者提供他们需要添加到其 DNS 区域文件中的 DNS 记录。一旦 CA 验证记录添加完成,他们就会颁发凭证。
  2. 透过电子邮件进行网域控制验证
    CA 会发送向 admin@example.com(这边的 “example.com” 实际上为正在验证的域名)发送一封电子邮件,其中包含用于验证域名的连结。访问该连结后,CA 将颁发凭证给请求者。
  3. 透过文本进行网域控制验证
    CA 提供了一个文本文件(使用 .txt 做结尾),凭证请求者需将其上传到其域名指向的伺服器。然后,一旦他们可以验证文本文件的存在,CA 就会颁发凭证。

这样做是在建立所谓的 “信任链”,目的是让网路日常用户相信他们在使用的 HTTPS 的网站上所输入的敏感信息是安全的,不会被恶意的第三方拦截。如果没有这个 “信任链”,我们所知道的电子商务和私人线上空间就不可能实现。

当您打开浏览器并访问受 HTTPS 保护的网站时,您的浏览器将验证由您访问的网站所提供涵盖查询之域名的凭证所建立的“信任链”。这就是建立 HTTPS 连结的第一步 —— “握手”,即 SSL 或 TLS 连结的开始,在此期间,加密数据可以在网路上的两个应用程式(例如您的浏览器或是网站)之间自由交换。

基本上这就是 SSL 凭证或 TLS 凭证的运作方式。但是要了解 SSL 凭证和 TLS 凭证的区别,我们需要了解一下 SSL 凭证和 TLS 凭证的历史。

SSL 凭证是如何创建的?

儘管 SSL 凭证的历史可以追溯到 1980 年代中期,但最初的 SSL 协议是在 Netscape Communications 被开发的。他们将协议称为安全通讯端层(或是 SSL,Secure Sockets Layer),这个名称指的是透过网路交换特定讯息的两种协议。

SSL 的第一个版本 1.0 含有太多安全漏洞而无法发佈,但在 1995 年时,他们发佈了 SSL 2.0 版,并将其与他们的旗舰网路浏览器 Netscape Navigator 一起发佈。

浏览器大战

1990 年代出现了现在称为 “浏览器大战” 的第一场重大战役。指的是当时不同网路浏览器软体的开发者之间的激烈竞争和争夺主导地位的情况。在第一轮浏览器大战中,佔据市场主导地位的 Netscape Navigator 受到微软 Internet Explorer 的挑战。

SSL 是 Netscape 相对于 Microsoft 的一个关键优势,但它确实存在一些安全漏洞。

不久之后,Microsoft 开发了他们自己的安全协议,该协议源自于 SSL 2.0 版,并修復了这些称为 “私密通讯技术”(Private Communications Technology 或 PCT )的缺陷,以与 Netscape 的 SSL 竞争。

而 Netscape 也不甘示弱,彻底重新设计了 SSL 凭证并发佈了一个新的版本 —— SSL 3.0。

TLS 的诞生

拥有竞争力和专有的网路安全协议最终意味着整体网路的安全性降低,并且需要在网站实施多种安全标准才能与所有网路浏览器兼容。

因此,许多从事原始 SSL 协议工作的开发人员向网路工程任务组提出了一项提案,该机构透过提案,完善和发佈网路的标准协议和体系结构作为大众普遍使用和应用的标准。

该提案主要是将 SSL 3.0 版变成一个网路的标准。透过一些微小的更改,他们将 SSL 重新命名为 “传输层安全性协定”,或是我们常听到的 TLS,这是对 TLS 用于保护的网路 “层” 的引用。

因此,从本质上来讲,TLS 是 SSL 品牌的重塑。由于浏览器大战,开发它的工程师希望它至少在表面上不同于最初由 Netscape 贊助开发的协议,即使 TLS 1.0 版本质上就是 SSL 3.1 版,但微软可以接受并将该协议使用于 Internet Explorer 浏览器(微软所开发的图形化使用者介面网页浏览器)。

此后,TLS 进行了多次改版,目前的最新版本是 TLS 1.3 版。就其本身而言,儘管 TLS 1.0 版至 1999 年才问世,但 SSL 3.0 版是在 2014 年时被发现容易受到 POODLE 攻击,而在 2015 年时被弃用。

哪个才是正确的名称:SSL 或是 TLS?

所以从技术上来说,TLS 是正确的术语(和协议),因为所有版本的 SSL 现在都已正式弃用。但是您仍然会听到和看到对 SSL 凭证的引用,并且 “SSL 凭证” 仍然是搜索引擎中名列前茅的关键字。

主要原因是 “SSL” 和 “SSL 凭证” 作为一个术语比 TLS 更广为人知。即使实际上不再使用 SSL 凭证,“SSL” 仍被用来代指安全凭证,只是实际上是使用的是 TLS 凭证。

所以对于哪个术语是正确的这个问题,技术上来说,正确的答案是 TLS,但从文化上来看,SSL 仍然具有相关性。