行业新闻与博客

HTTPS 如何工作?

HTTPS 如何工作?

我们都知道 HTTPS =安全。但是您知道 HTTPS 如何在后台运行吗?让我们看一下 HTTPS 如何使我们所有人的互联网更加安全…

在美国浏览的网页中有 95%是使用 HTTPS 查看的。(这是通过 Google 透明度报告中的 Google Chrome 用户数据得出的。)其他国家 / 地区也绝大多数使用 HTTPS URL-德国为 93%,日本为 85%,印度为 85%。HTTPS 已在全球范围内被采用为大多数网站的首选协议。但是 HTTPS 的工作原理是什么?

如果您正在阅读本文,您可能已经知道 HTTPS 中的“ S”表示安全。在在线输入信用卡详细信息之前,您可能已经在 URL 的开头查找了 https://(或挂锁图标)以确认其安全性。

但是 HTTPS 对普通的互联网用户有什么作用?HTTPS 如何在技术上发挥作用?

让我们将其散列出来。

HTTPS 的工作原理实际上是一个很大的话题,因此我们将其分为几个部分-从基础知识开始。如果您已经对 HTTPS 有所了解并且想跳过,则可以使用此目录跳到您感兴趣的部分。

我们正在讨论的是……


  1. 我们都知道 HTTPS =安全。但是您知道 HTTPS 如何在后台运行吗?让我们看一下 HTTPS 如何使我们所有人的互联网更加安全…
  2. HTTPS 的工作原理 101:HTTPS 的两件事使互联网更加安全
    1. HTTPS 身份验证可确保您已连接到正确的网站(这比听起来要重要的多)
      1. 为什么 HTTPS 身份验证很重要
        1. DNS 攻击如何起作用?
      2. HTTPS 身份验证如何工作
        1. 步骤 1:获得证书
        2. 步骤 2:“请护照!”
        3. 步骤 3:验证证书
    2. HTTPS 加密确保其他人无法监视您的通信
      1. HTTPS 加密如何工作
      2. HTTPS 加密不起作用
      3. 但是等等……怎么 / 为什么有人监视我的通讯?
  3. HTTPS 的工作原理 201:技术细节
    1. HTTP 与 HTTPS
    2. HTTPS 的工作原理:HTTPS 在 PKI 上运行
      1. 数字证书
      2. 公钥和私钥
      3. 证书颁发机构
      4. 数字签名
      5. 根存储
    3. HTTPS 对网站所有者的工作方式:如何在您的网站上启用 HTTPS
      1. 步骤 1:获取 SSL / TLS 证书
      2. 步骤 2:在您的网站上安装 SSL 证书
      3. 步骤 3:更改您的站点设置以使用 HTTPS
    4. HTTPS 如何为网站用户工作:TLS 握手
      1. 使用 SSL / TLS 握手创建安全连接
        1. 步骤 1-2:您好,密码套件!
        2. 步骤 3-5:证书和密钥交换
        3. 步骤 6-10:设置对称加密
    5. 用户方便的 HTTPS 使用技巧
      1. 谷歌浏览器隐藏了 HTTPS
      2. 您可以使用其 SSL 证书验证公司详细信息
      3. 小心处理 HTTPS 警告
    6. 所以……这就是 HTTPS 的工作方式

HTTPS 的工作原理 101:HTTPS 的两件事使互联网更加安全

当您访问以 https:// 开头的网站时,会告诉您两个非常具体的信息:

  1. 第三方已经对该网站进行了身份验证。该网站已通过身份验证,以验证它是否是声称的网站。如果您的浏览器栏上显示 https://www.amazon.com,则可以确信您实际上在 amazon.com 上。
  2. 该站点使用加密。您发送到网站或从网站发送的数据经过加密,因此其他方无法看到 / 窃取它-您可以提交信用卡号或其他敏感数据,并且知道在访问 amazon.com 时没人会拦截您的信息。
HTTPS 的工作原理-HTTPS 的两件事
HTTPS 的工作原理– HTTPS 的两件事

有关术语的重要说明:您将听到与 HTTPS 结合使用的术语“ SSL”和“ TLS”。一些快速事实将使这些术语更容易理解:

  • 安全套接字层(SSL)和传输层安全性(TLS)是指 HTTPS 用于 Web 浏览器和 Web 服务器之间的通信的安全连接的类型。
  • 从技术上讲,SSL 是一种较旧的技术,已过时,已被 TLS 取代。
  • 实际上,大多数人可以互换使用这些术语。这就是为什么您有时会看到我们使用“ SSL / TLS”或“ SSL / TLS 证书”的原因。
  • SSL / TLS 和 HTTPS 像泥土一样走到一起。没有泥土就不能种草,没有 SSL / TLS 的 HTTPS 就不可能。

让我们更深入地研究 HTTPS 如何提供这两个安全优势。

HTTPS 身份验证可确保您已连接到正确的网站(这比听起来要重要的多)

如前所述,HTTPS 要做的第一件事是对网站进行身份验证,以验证您的浏览器已连接到正确的网站。如果您键入 amazon.com,则您的浏览器将使用 HTTPS 来确保您连接到的网站是真实的 amazon.com(不是由旧金山后巷中的黑客经营的假网站)。

为什么 HTTPS 身份验证很重要

现在,您可能想知道为什么这样做是必要的-“我是否只能查看浏览器地址栏中的 URL?”

如果显示的是 amazon.com,看起来像 amazon.com,则一定是 amazon.com,对吗?不必要。

Amazon.com 并不总是 amazon.com

浏览器的地址栏始终是检查的好地方,但这并不是万无一失的-您可能会在浏览器的地址栏中输入 http://www.amazon.com 并获得一个类似于 Amazon.com 的网站……但是实际上是由黑客运营的假冒网站。

黑客可以使用 DNS 中毒,恶意软件或其他攻击方法,从而使您的浏览器无形地连接到错误的网站服务器。因此,尽管看起来您正在连接到浏览器栏中的合法 URL,但实际上您是在由黑客运营的假网站上。

让我们考虑一个真实的例子。黑客利用 DNS 中毒获取了一个合法域名,并将访问者指向一个虚假网站,并在其中从 MyEtherWallet 用户那里窃取了 15 万美元。

MyEtherWallet DNS 攻击

DNS 攻击如何起作用?

首先,我们需要简要讨论您的计算机实际上是如何连接到网站的。当您键入 amazon.com 时,您的计算机实际上并不理解“ amazon.com”作为它可以连接的地址。Amazon.com 是人类可读的地址,您的计算机连接到的实际地址是 IP 地址(如下所示:176.32.103.205)。您的计算机需要使用 DNS 系统查找 amazon.com 的 IP 地址,然后才能连接到 amazon.com Web 服务器。

这是该过程的简化表示:

DNS 如何运作
DNS 如何工作。(在解决这个问题之前,一个重要的先决条件:HTTPS 如何工作?)

当您访问网站时,您的计算机使用 DNS 系统获取您要访问的网站的 IP 地址。您的计算机实际上是在连接 IP 地址,而不是 amazon.com 之类的地址。在 DNS 中毒攻击中,为您的计算机提供了错误的 IP 地址,这意味着您的计算机将您连接到错误的服务器。您的计算机认为它是 amazon.com,而您认为它是 amazon.com,但事实并非如此。

是否想进一步阅读?如果您想详细了解 DNS 中毒攻击的工作原理,请阅读我们的 DNS 中毒攻击指南。

好消息是,HTTPS 可以有效防御 DNS 中毒之类的黑客技巧。怎么样?让我们深入研究 HTTPS 的工作原理,以确保您位于正确的网站上。

HTTPS 身份验证如何工作

那么,HTTPS 如何确保您连接到正确的网站?

您的浏览器使用 SSL / TLS 证书和颁发该证书的证书颁发机构对您访问的每个 HTTPS 网站进行身份验证。运作方式如下...

步骤 1:获得证书

首先,网站需要具有由公共信任的证书颁发机构颁发的 SSL 证书。SSL 证书很像护照,但是它是针对网站的,而不是针对人的。SSL 证书包含以下详细信息:

  • 网站的 URL,
  • 公钥(链接到仅由网站拥有的私钥),
  • 颁发证书的证书颁发机构,
  • 证书的到期日期,以及
  • 运行网站的法律组织(可选)。

要获得有效的 SSL 证书,网站所有者将必须执行以下几个步骤:

  1. 生成一个公共密钥和一个私有密钥(更多有关以后如何使用它们的信息)。
  2. 通过特定的过程向证书颁发机构证明他们是该网站的实际所有者。
  3. 对于 OV 和 EV SSL 证书,网站所有者还必须证明它们是实际的合法注册组织。

这些步骤完成后,证书颁发机构将 SSL 证书颁发给网站所有者。该证书安装在 Web 服务器上,并且每次有人通过 https:// URL 访问该网站时都会自动提供。

步骤 2:“请护照!”

当您访问 HTTPS 网站时,该网站会将其 SSL / TLS 证书发送到您的 Web 浏览器。让我们以我们的网站为例。如果单击浏览器中的挂锁,然后单击以查看证书详细信息,则可以查看我们网站的证书及其所包含的信息。

SSL 证书
www.thesslstore.com 的 SSL 证书

如果打开“详细信息”选项卡,您将看到有关该网站以及运行该网站的组织的更多信息,如下所示:

SSL 证书详细信息
www.thesslstore.com 的 SSL 证书详细信息

一些网站(例如我们的网站)具有证书,该证书还显示其公司详细信息(例如公司名称,位置等)。这些称为组织验证(OV)或扩展验证(EV)证书。公司的详细信息也会得到验证,因此您可以 100%确信自己确切知道谁在运行您所运行的网站。

步骤 3:验证证书

现在,我们进入关键步骤-验证网站的 SSL 证书。仅仅因为网站提供 SSL 证书并不意味着您的浏览器应该信任它。毕竟,正如爱因斯坦(Albert Einstein)所说:

不要只因为它在互联网上就相信您所读的所有内容”-Albert Einstein-认真的 Albert Einstein |做个模因
阿尔伯特·爱因斯坦(Albert Einstein)的建议是 HTTPS 运作方式的关键部分! 😉

幸运的是,您的浏览器提供了一种可以验证网站的 SSL 证书的方法,以确保其准确无误。具体来说,您的浏览器将验证是否:

  1. 网站的 SSL 证书是由浏览器受信任列表上的证书颁发机构颁发的。(浏览器使用证书颁发机构的数字签名来立即确认证书颁发机构颁发了网站的证书。)
  2. SSL 证书对您正在访问的网站域 / URL 有效。
  3. SSL 证书当前有效,尚未过期或未被吊销。

如果证书通过了这些检查,您的浏览器将显示该网站以及 URL 旁边的 https:// 和一个挂锁。

如果您查看我们网站的证书,就会发现它是由 DigiCert 颁发的。我们网站的证书包括 DigiCert 的数字签名,您的浏览器可以使用该数字签名来验证证书是否有效并由 DigiCert 颁发。

SSL 证书上的数字签名。
SSL 证书上的数字签名。

稍后我们将深入探讨更多技术细节,但目前的重点是:浏览器会检查每个网站的 HTTPS 凭据,就像机场当局会在您登机之前检查您的护照一样。

HTTPS 加密确保其他人无法监视您的通信

HTTPS 要做的第二件事是对您与您正在访问的网站之间发送的所有信息进行加密。这样可确保任何人(您和您所连接的网站除外)都无法读取通过互联网发送的数据。

让我们再次以 amazon.com 为例。假设您要购买可爱的 Nicholas Cage 亮片枕头:

亚马逊网站上的 Nicolas 笼子示例

您想在线下订单,但是安全性和隐私对您来说非常重要。您不想让任何人窃取您的信用卡详细信息,也许更重要的是,您不想让任何人知道您睡在床上的 Nicholas Cage 枕头上。(我不会审判你!)

由于 amazon.com 使用 HTTPS,因此,发送到 amazon.com 或从 amazon.com 发送的所有数据在发送之前都已加密。让我们简要了解一下 HTTPS 在加密方面的工作原理…

HTTPS 加密如何工作

要购买 Nicholas Cage 枕头,您需要输入信用卡信息:

HTTPS 如何在 amazon.com 上进行加密

当您在上面的字段中输入信用卡号并单击“添加卡”时,您的信用卡详细信息将提交给 Amazon.com。但是首先,您的浏览器将加密数据。

这意味着:

  • 使用加密密钥对数据进行加密,因此只有 Amazon 可以解锁(解密)数据,并且
  • 对于没有解密密钥的人,您的信用卡(和其他数据)看起来像是胡言乱语。

数据将以其加密(无法读取)状态在 Internet 上传输。到达 Amazon.com 后,亚马逊会解密数据,以便它可以读取您的信用卡号以处理您的付款:

加密和解密演示

您可能想知道-加密文本(又称密文)到底是什么?这是一个示例,显示了实际的加密数据(如您所见,除非您有解密密钥可以读取,否则这是乱码):

您输入的数据:通过互联网发送的加密数据(密文):Amazon 解密数据后:
1234123412341243MHecmaRMbHdU8KRzY0h + n7n9
A3yR1ZJOBbY6PuEYRH0 =
1234123412341243

加密使通过互联网安全地发送加密数据成为可能。

HTTPS 加密不起作用

这是一个重要的区别-HTTPS 加密仅在数据访问网站时保护您的数据(在本例中为 amazon.com)。数据到达网站后,将对其解密,然后由网站所有者决定从那时起数据将如何处理。这就是为什么仅在您信任的网站上购物以保护您的数据后如此重要的原因。

这是 OV / EV SSL 证书的优点。由于这些证书包含有关运行网站的组织的信息,因此您更容易准确地知道将信息发送给谁。

但是等等……怎么 / 为什么有人监视我的通讯?

您可能想知道有人会如何监视您通过 Internet 发送的数据。如果我要向 amazon.com 提交内容,其他人怎么会有机会看到它?我直接将其发送到 amazon.com,对吗?

实际上,不……你不是。

大多数人认为在线发送信息的方式如下:

图片预览
啊,一个田园诗般的午后放松和私人交谈。(如果您不使用 HTTPS,则不会!)

“我直接与对方交谈,周围没有其他人听到……对吗?” 不完全的。

实际上,通过 Internet 发送数据更像是电话游戏,在这种情况下,每一方都将消息悄悄传给下一个消息,直到到达您的预期收件人为止。您不知道在此过程中有多少人听到了您的消息,或者他们在做什么。

没有 HTTPS,任何人都可能在听您的在线交流。
没有 HTTPS,任何人都可能在听您的在线交流。

当您通过 Internet 发送数据时,数据将通过数十个 DNS 服务器,路由器和路标进行路由,每个服务器都由不同的政府,ISP 和其他公司控制。

此图显示了加纳和蒙古的哈佛研究人员之间发送的实际路线数据:

哈佛互联网路径图形

正如一位研究人员指出的那样,“至少在 20 个不同的法律管辖区内,数十个组织(从 Internet 架构师到 ISP)拥有的 70 多种不同的计算机。” 这条路线很可能会有一个或多个“泄漏”。例如:

  • 这些组织中的一个或多个组织拥有一台被黑客入侵的计算机。
  • 一个或多个 ISP 正在收集数据以用于广告定位和 / 或出售给数据聚合公司。
  • 其中一个国家 / 地区设有间谍 / 情报程序,该程序收集通过互联网发送的数据。
  • 一个或多个组织具有内部威胁(正在收集 / 出售数据的雇员)。

幸运的是,HTTPS 加密可以确保您的数据安全,无论是谁拥有这 70 台以上的计算机,也不管他们尝试如何处理传递的数据。如果您的数据已加密,则这些计算机将看不到或读取您正在发送的实际数据。

HTTPS 的工作原理 201:技术细节

因此,我们已经简要介绍了 HTTPS 的功能以及 HTTPS 的工作方式-现在是时候深入探讨 HTTPS 的工作原理的细节了。

HTTP 与 HTTPS

正如我们之前提到的,HTTPS 只是 HTTP 的安全版本。您可以将其视为通过安全通道进行的 HTTP 通信。如果您熟悉 HTTP 的工作原理,那么 HTTPS 的基本原理是相同的:

  • 请求方法,例如 GET,POST 等。
  • HTTP 状态代码,例如 200(确定),404(找不到文件)等。
  • 请求标头,例如 User-Agent,Accept 等。

要意识到的一个关键区别是 HTTP / 2(HTTP 的更新,更快版本)只能在 HTTPS 上运行。

HTTPS 的工作原理:HTTPS 在 PKI 上运行

在深入探讨 HTTPS 的工作方式之前,我们需要仔细研究一下 HTTPS,SSL 和 TLS 都是基于公共密钥基础结构或 PKI 构建的系统的一些技术细节。就像您的汽车在内燃机上运行一样,HTTPS 和 TLS / SSL 使用 PKI 运行。

PKI 是由五个主要组件组成的系统,包括:

  1. 数字证书(即 SSL 证书)。
  2. 公钥和私钥对。
  3. 证书颁发机构。
  4. 数字签名。
  5. 根存储。

让我们简要地介绍一下这些方法的工作原理,以便您更好地了解 HTTPS 的工作原理。

数字证书

我们已经介绍了这些–它们就像组织 / 网站的护照。

公钥和私钥

首先,快速回顾:在加密数据时,我们使用加密密钥将可读文本转换为不可读文本(称为密文),如下所示:

你好!>>>用密钥“ mykey”加密>>> HgPpAhtl

我们可以反过来做同样的事情来解密密文:

HgPpAhtl >>>用密钥“ mykey”解密>>>您好!

注意,我们使用相同的密钥来加密和解密文本吗?这就是所谓的对称加密。非对称加密略有不同-它使用两个不同的密钥,一个用于加密,另一个用于解密:

  • 公共密钥(用于加密)是免费提供的,任何人都可以用来向您发送加密消息。
  • 您保留私钥(用于解密),因此您是唯一可以读取加密消息的人。

对称加密使用相同的私钥进行加密和解密,而非对称加密使用公钥 / 私钥对:

非对称与对称:两种不同类型的加密

这对于 SSL / TLS 正常运行至关重要。如果您具有 amazon.com 的证书和公钥,则可以发送仅 amazon.com 可以读取的消息。(通过扩展,这还意味着您可以轻松确认正在与之通信的服务器实际上是 amazon.com。如果他们可以理解使用 amazon.com 的公钥加密的消息,则意味着他们拥有 amazon.com 的私钥。 …这一定意味着它们是 amazon.com!)

要了解更多信息,请查看我们关于非对称和对称加密的博客文章。

证书颁发机构

我们已经在上面介绍了这些内容-请记住,证书颁发机构是受信任颁发 SSL 证书的公司。

数字签名

数字签名是一种证明软件或文档来自何人 / 何处的方法。如果您拥有作者的公钥,则可以验证他们使用私钥签名的任何内容。

这很关键,因为这是您的浏览器可以分辨哪个证书颁发机构真正颁发了 SSL 证书的方法。

让我们回到我们的网站 thesslstore.com 的 SSL 证书。该证书是由 DigiCert 颁发的,因此它在 SSL 证书上具有 DigiCert 的数字签名:

SSL 证书上的数字签名

如果您的浏览器具有 DigiCert 的公钥,则可以验证我们的证书确实是 DigiCert 颁发的。

当然,这提出了一个重要问题……您的浏览器是否具有 DigiCert 的公钥?

根存储

为了验证网站的 SSL 证书,您的浏览器将需要证书颁发机构的公钥。幸运的是,有一个针对此的系统设置-根存储。

每个设备都有所谓的根存储或信任存储。根存储包含其信任的每个证书颁发机构的数字证书和关联的公钥。每个设备都附带一个它信任的证书颁发机构的默认列表-您可以根据需要修改此列表,但很少有人这样做。

让我们看看我们的 SSL 证书的证书路径。请注意,有三个证书:

www.thesslstore.com SSL 证书的认证路径
www.thesslstore.com 的 SSL 证书的认证路径
  1. 顶级证书“ DigiCert”是根证书。该证书应预装在设备的根存储中的计算机上。
  2. 中间证书称为中间证书-由“ DigiCert”根证书进行数字签名,因此您的浏览器也将信任它。您的浏览器可以使用 DigiCert 的公钥来验证签名,该公钥已作为根证书的一部分预装在您的计算机上。
  3. 底部证书“ www.thesslstore.com ”是我们网站的 SSL 证书-当您连接时,我们的网络服务器会将其发送到您的浏览器。您的浏览器可以使用中间证书的数字签名进行验证。

这三个证书一起被称为“信任链”,您的浏览器可以通过这些证书来验证任何网站的 SSL 证书以确保其有效和可信。

HTTPS 对网站所有者的工作方式:如何在您的网站上启用 HTTPS

是的,所以知道您了解 PKI 的基本组件,并且想在您的网站上启用 HTTPS。让我们介绍一下如何做到这一点。

所有流行的 Web 服务器(例如 Apache,NGINX 和 IIS)和网站控制面板(例如 cPanel 或 Plesk)都支持 HTTPS,因此您无需构建或安装自定义软件即可处理 HTTPS 通信。您只需要为网站安装 SSL 证书,然后更新网站设置即可使用 HTTPS。

步骤 1:获取 SSL / TLS 证书

您的 SSL 证书证明您的网站(例如 yoursite.com)是真实的 yoursite.com。您需要获取由受信任的证书颁发机构颁发的 SSL 证书。如果您从证书颁发机构获得了您的网站访问者的浏览器不自动信任的证书,他们将看到这样的警告消息。

不可信证书的 HTTPS 警告。
如果您的证书不受信任,则 HTTPS 无效。

提示:thesslstore.com 上出售的所有 SSL 证书均受所有现代浏览器,操作系统和设备信任。

您需要完成几个步骤才能获取 SSL 证书。幸运的是,这些操作只需几分钟即可完成:

生成证书签名请求(CSR)。通常,您可以在网络托管控制面板中执行此操作。这还会生成 HTTPS 起作用所需的公钥和私钥。提示:我们的知识库为 20 多种不同的托管平台和服务器类型提供了 CSR 生成指南。此屏幕快照显示了 cPanel 中 CSR 生成表单的外观:

在 cPanel 中生成新的 CSR

将证书签名请求提交给您的 SSL 提供者 / 证书颁发机构。提交 CSR 后,证书颁发机构将开始签发 SSL 证书所需的过程。

完成证书颁发机构的验证过程。具体取决于您购买的证书的类型,但是至少您需要证明自己拥有 / 管理您的域。有关更多详细信息,请参见我们的SSL 验证指南

完成这些步骤后,证书颁发机构将向您发送 SSL 证书。

步骤 2:在您的网站上安装 SSL 证书

有了 SSL 证书后,您需要在网站上安装它。同样,您通常可以使用网络托管控制面板执行此操作。这是 cPanel 的安装形式:

在 cPanel 中安装 SSL 证书

提示:有关 20 多个服务器和 Web 托管平台的安装指南,请参见我们的知识库。

步骤 3:更改您的站点设置以使用 HTTPS

您已经在网站上安装了 SSL 证书,因此您的网站现在可以使用 HTTPS。现在,您只需要告诉您的网站您希望它每次都使用 HTTPS(而不是 HTTP)。

如何执行此操作将取决于您网站的设置方式,但是您需要做三件事:

  1. 将您的网站 CMS 更改为对所有页面使用 https://。
  2. 安装程序 301 将指向 http:// 的 URL 重定向到 https:// 上的相同 URL。
  3. 确保所有图像,CSS 文件,JavaScript 文件等均已加载 https:// URL。

现在,您已经在网站上设置了 HTTPS,网站的访问者将可以享受 HTTPS 的好处:身份验证和加密。但是 HTTPS 如何在技术层面上做到这一点?让我们更深入地学习,但首先……

HTTPS 如何为网站用户工作:TLS 握手

正如我们在本文的第一部分所述,当您访问 HTTPS 网站时,您的浏览器正在对网站进行身份验证并加密发送到客户端和从客户端发送的数据:

HTTPS 的工作原理-两件事

为此,您的浏览器和网站服务器需要创建安全连接以进行通信。设置安全连接是一个称为 SSL / TLS 握手的过程。

使用 SSL / TLS 握手创建安全连接

因此,您已在浏览器栏中键入 https://www.amazon.com -浏览器如何设置与 amazon.com 的安全 HTTPS 连接?从技术上讲,HTTPS 与 HTTP 相同,只是通信通过安全的 SSL / TLS 连接进行。要建立安全的 SSL / TLS 连接,您的浏览器和服务器需要经历称为 SSL / TLS 握手过程的过程。

注意:在本文中,我们将介绍 TLS 1.2 握手过程的基础知识(这是最常用的)。如果您想获得更详细的介绍,包括更新(更快)的 TLS 1.3 握手的工作方式,请查看我们的文章“仔细研究 SSL / TLS 握手”。

下图显示了 TLS 握手的所有步骤(您的浏览器和服务器如何建立安全连接)。客户端(您的浏览器)在左侧,Web 服务器在右侧:

HTTPS 的 TLS SSL 握手

让我们回顾一下这些步骤中发生的情况:

步骤 1-2:您好,密码套件!

浏览器和服务器打个招呼,并同意使用哪种密码套件(加密算法)。(HTTPS / SSL / TLS 支持多个密码套件。)

有趣的事实:使用某些浏览器(例如 Firefox),您可以轻松查看与特定网站的连接使用的密码套件。在 Firefox 中,单击挂锁,然后单击“>”,然后单击“更多信息”以查看如下信息:

HTTPS 的工作方式:Firefox 中的 HTTPS 密码

如果您想了解如何解释该信息的含义,请查看有关密码套件的文章:密码,算法和协商安全性设置。

步骤 3-5:证书和密钥交换

服务器将其 SSL 证书和中间证书以及关联的公钥发送到浏览器。如上文“ PKI”部分所述,浏览器将基于其数字签名和浏览器信任的根证书来验证 SSL 证书。如果任何一项检查失败,则连接将中止,并显示一条错误消息。

如果所有检查都没有失败,那么从技术上讲,我们在技术上拥有安全的通信渠道:

  • 浏览器已验证 Web 服务器的 SSL 证书,因此 Web 服务器已通过身份验证。
  • 现在,浏览器具有服务器的公共密钥,因此浏览器可以加密只能由服务器读取的消息。

但是连接只能以一种方式安全地使用(浏览器–>服务器),因此我们还没有完成…

步骤 6-10:设置对称加密

事实证明,对称加密(使用相同的密钥进行加密和解密)实际上更加有效,因此浏览器和服务器现在将创建一个新的共享加密密钥,可将它们用于加密和解密。(浏览器和服务器创建共享会话密钥的确切方式取决于所使用的密码套件 [加密方法]。)

生成会话密钥后,TLS 握手过程完成。您的浏览器和服务器将使用会话密钥来加密和解密它们交换的所有数据。

恭喜,您的浏览器现在具有双向安全通信通道,可用于与 Web 服务器进行安全的 HTTPS 通信。您可以安全地发送接收数据,而不必担心有人在路上监视您的信息。

用户方便的 HTTPS 使用技巧

现在,您知道 HTTPS 的功能,甚至知道 HTTPS 如何工作的技术细节。以下是一些实用技巧和访问 HTTPS 网站时要记住的事项。

谷歌浏览器隐藏了 HTTPS

如果您使用的是 Chrome 浏览器,请记住,Google 实际上隐藏了网址的 https:// 部分。您可以通过以下三种快速方法来验证网页是否为 HTTPS:

寻找挂锁:

HTTPS 的工作方式:显示挂锁

双击 URL 以查看 https://:

HTTPS 的工作方式-检查 https://

确保没有“不安全”标签:

Chrome 中的不安全警告(不是 HTTPS)

您可以使用其 SSL 证书验证公司详细信息

正如我们之前提到的,某些网站的 SSL 证书包含经过验证的公司详细信息,因此您可以识别运行该网站的确切公司。这对于避免欺诈网站或使您在网上与谁打交道具有更高的透明度很有用。(由于有这么多的公司拥有数十个网站,有时很难弄清哪些是官方网站,哪些不是。)

如果该网站具有 EV SSL 证书,则可以通过单击挂锁来查看公司的详细信息:

HTTPS 的工作方式:显示有关 EV SSL 证书的公司详细信息

如果网站具有 OV SSL 证书,则需要打开 SSL 证书详细信息并查看主题字段:

使用 OV SSL 证书查看公司详细信息

此信息已由证书颁发机构验证,因此不能被伪造。这就是为什么对于处理敏感数据的企业使用 SSL / TLS 证书(至少需要组织验证)至关重要的原因。

小心处理 HTTPS 警告

如果您访问一个网站并看到类似这样的警告,可能只想单击警告旁边的链接即可访问您尝试访问的网站。但是要非常小心-黑客在您的连接上进行中间人(MitM)攻击时,它可能会触发这样的警告。(例如,向您显示一个假冒网站,看起来像您要访问的真实网站。)

这是一个 HTTPS 错误,可能表明存在中间人攻击或 DNS 攻击。

在许多情况下,这些错误是由于网站让其证书过期或未正确配置其服务器而触发的。但是,有时它们是出于更险恶的原因-黑客正试图监视您的连接或欺骗您!

所以……这就是 HTTPS 的工作方式

需要帮助吗?联系我们的支持团队 在线客服