跳到正文HisnLabs
← 互联网如何运作

第 3 课,共 4 课 · 8 分钟

HTTPS 与证书:小锁图标证明了什么,又没有证明什么

TLS 究竟做了什么、一张证书真正证明的是什么,以及为什么小锁图标并不能判定一个网站是否值得信任。

第一课提到过,以 https:// 开头的地址使用了加密。这一课会更仔细地探讨这种加密是如何建立的、浏览器中的小锁图标究竟在担保什么,以及它的保证止步于何处。

TLS:小锁图标背后的协议

HTTPS 就是普通的网页协议 HTTP,运行在传输层安全协议(TLS)之内 —— TLS 最初于 1999 年发布,如今已经是 1.3 版本。Cloudflare 学习中心把 TLS 的作用总结为三部分:加密,让网络上的其他任何人都无法看到数据;身份验证,确认你正在与你以为的那台服务器通信;以及完整性校验,检测数据在传输途中是否被篡改。在交换任何内容之前,你的 Mac 和服务器会先完成一次“TLS 握手”:双方商定使用哪个版本的 TLS、商定使用哪些加密方式,并生成用于加密后续会话的密钥。

一张证书究竟证明了什么

要让这次握手真正有意义,你的浏览器需要证明服务器的公钥确实属于你输入的那个网站。这份证明就是 TLS 证书。根据 Cloudflare 的说法,一张证书会包含域名、公钥、到期日期,以及签发者的数字签名 —— 签发者就是证书颁发机构(CA),一个你的浏览器和操作系统已经信任的组织。广泛使用的免费证书颁发机构 Let’s Encrypt 直白地描述了这个流程:在签发证书之前,它的软件会先检查申请者是否真的掌控着该域名,例如要求对方在网站上发布一个特定文件,或设置一条特定的 DNS 记录。只有通过这项检查之后,它才会签署证书。

这一点很重要,因为它划定了一张标准证书所能证明内容的边界。它只能证明申请者在那一刻掌控着这个域名,而不会审查网站背后的企业、核实运营者是否诚实,也不会保证内容是安全的。任何人,包括骗子,都可以注册一个域名,并在几分钟内为它获得一张有效的证书。

正确解读小锁图标

小锁图标确实能证明小锁图标并不能证明
你的浏览器与这台服务器之间的连接是加密的运营该网站的机构是合法或值得信赖的
设置该证书的人确实掌控着这个精确的域名这个域名本身不具有欺骗性(例如仿冒拼写)
内容在传输过程中未被第三方篡改该网站不会滥用你输入给它的内容

电子前哨基金会(EFF)的“监控自我防卫”指南直接点出了这个根本问题:“一项服务使用了 HTTPS,并不代表它就充分保护了用户的隐私。”HTTPS 保护的是传输通道本身,对目的地拿到内容后会如何处理,它什么都没说。同一份指南指出,HTTPS 能对网络窃听者隐藏你访问了网站上的哪个页面,但网站本身依然会以明文形式收到你输入的一切——搜索内容、消息、登录信息——因为它是这条加密连接的另一端,而不是旁观者。

自签名证书与过期证书

Cloudflare 还解释了没有受信任证书颁发机构时会发生什么:任何人都可以生成自己的“自签名”证书,但浏览器没有外部权威机构可以用来核实它,因此会把这类网站标记为“不安全”,或者直接拒绝加载。过期的证书也会产生类似的警告。这两种警告都不一定意味着正在发生攻击,但确实意味着浏览器目前无法验证它正在与谁通信 —— 而这恰恰是 TLS 本应提供的核查。

要点

  • HTTPS 把普通网页流量运行在 TLS 之内,TLS 提供加密、服务器身份验证和完整性校验。
  • TLS 证书是证书颁发机构在核实申请者确实掌控该域名后签发的 —— 仅此而已。
  • 小锁图标确认连接已加密,且抵达了所声称的域名;但它并不为网站运营者的诚信做担保。
  • 攻击者确实能够、也确实会为具有欺骗性的域名获取有效证书,因此仅凭小锁图标无法排除诈骗的可能。
  • HTTPS 保护的是传输中的数据,而不是数据抵达目标服务器之后会被如何处理。

自我检测

  1. 1. 一张标准的 TLS 证书实际上证明了什么?

    • 该网站由一家值得信赖的企业运营
    • 证书持有者掌控着证书所签发的那个域名 — 正确。
    • 该网站不含任何诈骗内容
    • 该网站已经过政府机构审核

    像 Let’s Encrypt 这样的证书颁发机构在签发证书前会核实域名的控制权,但不会审查运营者是否诚实。

  2. 2. 根据 EFF 的说法,HTTPS 的一个关键局限是什么?

    • 它会拖慢每一次连接
    • 使用 HTTPS 并不代表该服务就充分保护了用户的隐私 — 正确。
    • 它只在 Wi-Fi 下才有效
    • 它能取代密码的需求

    HTTPS 保护的是连接本身,但对面的网站依然能看到你发送的一切,并且自行决定如何处理这些数据。

  3. 3. Cloudflare 表示 TLS 提供了哪三样东西?

    • 速度、存储和备份
    • 加密、身份验证和完整性 — 正确。
    • 压缩、缓存和负载均衡
    • 防火墙、日志记录和杀毒

    TLS 对窃听者隐藏数据(加密)、确认服务器身份(身份验证),并检测篡改(完整性)。

  4. 4. 为什么即使一个网站的地址以 https:// 开头,浏览器仍可能将其标记为“不安全”?

    • 因为该网站占用了太多带宽
    • 因为它的证书是自签名的或已过期,因此无法通过受信任机构进行验证 — 正确。
    • 因为该网站图片太多
    • 因为域名太长

    没有有效且当前受信任的证书,浏览器就无法确认服务器的身份,因此会提醒用户,而不是径自假定它是安全的。

用 FireAI 动手做

在你自己的 Mac 上练习这节课的内容。

来源

在你的 Mac 上实践

免费试用全部功能 17 天,无需绑定银行卡。

下载 Mac 版 文档