SSL/TLS Certificates – Their Architecture, Process & Interactions

  • 翻译文档

SSL/TLS Certificates and how SSL/TLS works

您可能听说过SSL,您的网站甚至可能使用SSL加密 - 但您知道它是如何工作的吗?你想关心一下?当然可以。你有一个好奇心,这就是你点击这个链接的原因!

在本文中,我们将介绍SSL的内部工作原理,包括SSL架构,数字签名,PKI和SSL的交互和流程。

SSL证书

SSL,它是安全套接字层的缩写(今天,我们实际上使用它的后继传输层安全性(TLS),但仍然通常将其称为SSL),实际上是两件事。这是证书和协议。

将证书视为各种驾驶执照。它既可以验证持有者的身份,也可以授予某些权限。 SSL协议处理实际的加密和解密 - 在这个汽车比喻中,协议就像引擎 - 我们将在稍后讨论它是如何工作的。

SSL证书由证书颁发机构颁发。证书颁发机构是可信第三方,可对网站进行身份验证并颁发SSL证书。当我们说可信时,我们的意思是它们被Web浏览器和操作系统视为可信任,并且基本上要保证他们发布SSL证书的网站的真实性。

就Web浏览器而言,有两层担保。有域验证和组织验证,它授予一级身份验证。然后第二层是扩展验证,它授予最高级别的身份验证。

当公司或个人想要SSL证书时,他们首先填写证书签名请求或CSR。然后将其提交给CA,CA将执行必要的步骤来审核请求者。然后创建,签署并交付证书以进行安装。

数字签名

为了授予证书,CA必须对它们进行数字签名。数字签名很像传统签名,但更安全,并提供额外的好处。

对文档进行数字签名时:

  • 确认CA签署了该文档
  • 确保文档内容的完整性
  • 将自己绑定到签名活动,这意味着只有CA可以签署证书。

image

为了签署证书,必须生成要签名的数据的哈希值。 然后使用发件人的公钥对结果进行加密并将其附加到数据中。 这是保护哈希结果完整性的原因。

然后,数据的接收者使用相应的私钥(不用担心,我们将稍微解释公钥和私钥),以解密散列。

然后创建新的哈希结果,它与原始签名的哈希结果匹配,如果两个代码相同,则表示数据未被更改。 这意味着收件人可以验证发件人,因为只有拥有私钥的实体才能签名。

PKI (public key infrastructure)

当我们提到公钥和私钥时,您可能想知道我们的意思。 这一切都与PKI或公钥基础设施有关。 PKI是SSL和许多其他类型加密的底层框架。 公钥基础结构使用称为非对称加密的过程实现加密。
image

非对称加密涉及两个密钥,一个执行加密,另一个执行解密。 密钥是成对创建和使用的,有私钥和公钥。 公钥可供任何想要它的人使用,但私钥由其所有者保存,不应分发。

当有人想要发送信息时,他们使用收件人的公钥来加密他们发送的信息。 SSL协议在后台无形地处理所有这些步骤。 然后,收件人是唯一拥有可以对其进行解密的私钥的人(或网站)。

SSL工作原理

那么SSL如何运作?您现在了解证书的颁发方式,签名方式以及PKI是什么,但它们如何组合在一起?

当您访问某个站点时,您的计算机所做的第一件事就是查找该站点的SSL证书(好吧,也许不是第一件事 - 但其中一个)。这使您的计算机可以知道该站点是否已经过验证,以及是否在通信期间使用加密。

如果存在SSL证书,则计算机和网站执行称为SSL握手的操作,其中它们交换信息和功能,以便他们可以确切地决定如何加密信息。

如果握手成功,则开始加密通信。 “客户端” - 连接到网站的计算机 - 使用网站的公钥来加密它发送的任何信息 - 这可以是他们想要访问哪个页面的计算机请求的任何内容 - 而网站使用一旦到达其服务器就解密信息的私钥。

这可以保护信息免受可能想要窃取它的恶意第三方的侵害。

How SSL/TLS Works

虽然在SSL / TLS方面有很多更深入的主题,但这是SSL / TLS如何工作的基本概述。

总结:

  • 证书请求通过CSR向CA发出,然后CA审核请求者并颁发证书。
  • 在颁发期间,CA使用复杂的散列算法对证书进行签名,以确保其内容不会被更改
  • 证书保证请求者的身份,并允许他们使用PKI。
  • 一旦证书安装在请求者的网站上,它就会开始通过SSL握手创建安全和加密的连接来加密站点访问者的数据。

image

我们可以详细了解根证书,交叉签名,SHA1和SHA2,ECC算法等。我们将在以后进行。 但就目前而言,这应该是SSL / TLS如何工作,其架构,流程和交互的一个很好的切入点。