Let’s Encrypt 的前世今生

当你畅游网络时,你是否注意到访问大多数网站时浏览器地址栏中提示的 https:// 前缀以及“安全锁”图标呢?它们的出现表示你正在访问的网站采用了一种被称为“传输层安全”的技术,以增强你与这些网站连接时的保密性。

根据 2020 年初由 Google 发布的统计,用户使用 Chrome 浏览器在所有渠道访问的网站中有超过 80% 采用了传输层安全技术。然而仅仅在五年前,这个数字还不到一半。Let’s Encrypt 等新型证书颁发机构的出现为互联网安全方面的提升做出了卓越贡献。

Firefox 浏览器中的地址栏,可以看到盾牌、安全锁以及 https 字样的提示
当使用 Firefox 浏览器访问本站时,地址栏中的“安全锁”图标提示

证书申请的困局

为了使站点支持 HTTPS(超文本传输安全协议),网站的管理员必须从可信的证书颁发机构处申请并获得一张用于网站加密的安全证书。这些机构会通过一系列的验证措施,以确认申请者是否对该网站地址拥有所有权,从而保护访问者免受中间人攻击

申请并配置用于支持传输层安全技术的 SSL/TLS 证书曾经是一项需要大额支出且过程繁琐的操作。虽然大多数网站的管理员知道用户通过不加密的方式访问他们的网站有多不安全:服务器与用户之间的数据甚至可能被中间人篡改,但市场上动辄 4,999 元/年的证书申请价格还是让大多数中小型网站的站长望而却步。造成了多年来采用 HTTPS 加密的网站覆盖率并不高的现象。

从存档的新闻我们可以看到,在当时那个 HTTPS 普及率并不高的年代,发生过许多由未加密的网络流量传输引发的问题:基础运营商通过对 HTTP(明文)流量进行劫持,向网站中插入大量商业广告,严重影响用户体验;一些较小的宽带公司为了节省流量,伪造对端服务器的响应数据包,向用户返回完全不相关的内容。大量的安全与隐私问题在明文传输数据的过程中被暴露出来。

破局者

这样的个人站长为支持 HTTPS 力不从心的情况一直持续到 2015 年。在这一年年底,所有主流科技媒体的消息流中都出现了这样一篇爆炸性新闻:一家名为 Let’s Encrypt 的证书颁发机构要提供免费的 HTTPS 证书颁发服务。

在当时人们的认知里,要从证书颁发机构申请一张用于进行流量加密的 SSL/TLS 证书要付出高昂的成本。这家名不见经传的新型证书颁发机构是如何将颁发证书的步骤做到免费的呢?答案很简单——通过自动化。用于实现 HTTPS 加密的证书分为 DV(Domain Validation,域名验证)、OV(Organization Validated,组织验证)或 EV(Extended Validation,拓展验证)三大类。其中后两类证书需要由证书颁发机构额外确认准备颁发的域名与实体组织之间真正存在关联,这个过程很难被自动化。而 DV(域名验证)型证书仅确保服务器与域名本身的关联性,所以其颁发工作完全可以被自动化。而传统上,即便只是申请这种类型(域名验证)的证书,证书颁发机构也会收取一笔不菲的费用。

Let’s Encrypt 是一项由非盈利机构互联网安全研究小组(ISRG)提供的服务。该机构致力于以尽可能对用户友好的方式免费提供为网站启用 HTTPS(SSL/TLS)所需的数字证书。而为了降低成本,Let’s Encrypt 至今只提供自动化申请 DV 证书的功能,而没有计划颁发 OV 或 EV 证书。而这套自动化的证书管理流程(ACME)已经作为 IETF RFC 8555 发布,成为业界标准。社区中的许多贡献者也基于 ACME 协议构建了许多客户端,简化网站管理员申请证书的流程:耗时的、往常需要两三周才能完成的证书申请过程如今五分钟内就可以完成。其中 Certbot 是最流行的 ACME 客户端。

打造现代化的安全网络

自从 Let’s Encrypt 的服务于 2015 年 12 月发布以来,它已经将互联网上的加密网站数量提升至 80% 以上。而传统的安全证书颁发机构(如 VeriSign 等)大多已经转型为网站域名注册等类似机构。新型的免费、开放、自动化的证书颁发机构的出现让我们距离 100% 网站实现加密的使命更进一步,而 HTTPS 的进一步普及能增强用户浏览网站时的私密性与安全性。隐私权是公民在互联网时代的基本权利。

技术人员仍未在寻求更高安全性的路上停止努力。用于在特定情况下增强 HTTPS 安全性的 HTTP 严格传输安全协议(HSTS)也已经被许多网站所采用。然而,近年来通过网络进行的攻击方式也变得更加复杂且具有隐蔽性。安全从业人员在面对新型复杂威胁的局面下仍需要完成许多努力。