让我们加密
2015 年之前,每个 TLS 证书都需要花钱——通常每年数百美元——而且颁发过程是一个多步骤的手动考验。 Let's Encrypt 于 2015 年底推出测试版,其主张只有一个:免费、自动化、90 天的证书,无需人工参与。十年后,它已颁发了超过 40 亿个证书,并有效地使通用 HTTPS 成为可能。
完整的文章正文以英文提供如下。
Let 的 Encrypt 是由互联网安全研究小组 (ISRG) 运营的证书颁发机构,ISRG 是一家美国 501(c)(3) 非营利组织,由 Mozilla、EFF、Cisco、Akamai 等赞助商资助。它的使命是使加密互联网流量普遍可用 - 无论以任何合理的衡量标准,它都成功了。
数字
Let's Encrypt 的规模令人震惊:
- 活跃证书:截至 2025 年末约 4.3 亿个
- 受保护的域名:约 325 个百万
- 颁发的证书生命周期:自发布以来约 60 亿张
- 运营成本:每年低于 500 万美元
- 员工人数:大约 25 名员工
就上下文而言,Let's Encrypt 颁发的证书比其他所有 CA 颁发的证书总和还要多,并且一直是颁发量最大的 CA
ACME协议
使Let's Encrypt成为可能的技术创新是ACME(自动证书管理环境),这是一种用于全自动证书颁发的协议。 ACME 于 2019 年标准化为 RFC 8555,定义了客户端如何请求证书、证明对域的控制以及下载已颁发的证书 - 所有这些都无需人工参与。
流程:
- Client 使用 CA 创建帐户(一次性,注册到密钥对)。
- Client 请求一个或多个证书域。
- CA 以 challenges 进行响应 — 客户端必须完成证明才能证明对每个域的控制。
- Client 完成挑战并通知 CA。
- CA 验证并颁发证书。
- Client 下载并部署证书
整个过程需要10-60秒。
三种挑战类型
- HTTP-01:客户端将特定文件放在
http://example.com/.well-known/acme-challenge/。 CA 获取它并验证内容。需要控制端口 80 上的 Web 服务器。 - DNS-01: 客户端在
_acme-challenge.example.com处添加具有特定值的 TXT 记录。 CA 查询 DNS 并进行验证。通配符证书必需,在无法访问端口 80 时有用。 - TLS-ALPN-01: 客户端在端口 443 上使用
acme-tls/1ALPN 协议进行 TLS 握手期间提供特定证书。 CA 发起 TLS 连接并进行验证。当端口 80 和 DNS 受到限制时很有用。
通用客户端工具
- certbot — EFF 的参考客户端、广泛的插件生态系统、基于 Python、大多数服务器管理员的默认设置。
- acme.sh — 纯 shell 脚本,依赖性最小,适用于路由器和嵌入式系统。
- Caddy — 内置 ACME 的 Web 服务器;无需证书管理,只需配置域。
- Traefik、nginx-ingress、AWS ACM、Cloudflare — 许多平台原生集成了 ACME,因此用户根本看不到证书。
为什么 90 天证书
Let's Encrypt 会向客户端颁发 90 天证书在 60 天标记处续订。生命周期短:
- 限制受损私钥造成的损害
- 强制续订自动化,这意味着续订实际上按计划进行
- 使吊销变得不那么重要(受损的证书无论如何很快就会过期)
业界普遍倾向于缩短生命周期 - 主要浏览器现在将商业证书限制在397天,90天或47天商业证书的提案正在讨论中。
Let's Encrypt 不执行的操作
- 扩展验证。 Let's Encrypt 仅执行域验证。如果您想要具有组织法定名称的 EV 证书,则需要商业 CA.
- 代码签名证书。 不同的信任存储,不同的程序。
- S/MIME 电子邮件证书。 也不同 — Let's Encrypt 仅支持 TLS.
- Phone。仅限自助服务;社区论坛寻求帮助。否则,免费经济就行不通。
影响
在 Let's Encrypt 之前,HTTPS 采用率徘徊在页面加载的 30% 左右。到2020年已经超过80%。今天,这一比例远高于 95%。浏览器现在将 HTTP 站点标记为不安全,正是因为迁移到 HTTPS 的成本降至零。如今,绝大多数新网站、博客、副项目和内部工具都附带 HTTPS,因为 Let's Encrypt 使其成为阻力最小的路径。
使命尚未完全完成 - 一些遗留服务仍然使用 HTTP,一些地区和 ISP 滞后 - 但互联网是一个明显更安全的地方,因为一个非营利组织决定证书应该免费。
常见问题
- Let's Encrypt 真的完全免费吗?
- 是的,为了证书。 ISRG 接受捐款和企业赞助来资助运营。任何功能均无等级、无追加销售且不收取任何费用。成本由赞助商和捐助者承担,因此更广泛的互联网无需边际成本即可获得 HTTPS。
- Let's Encrypt 证书与付费证书一样安全吗?
- 加密技术是相同的——公共根程序中的每个 CA 都使用相同的 TLS 标准。 Let's Encrypt 的证书被所有现代浏览器所接受。差异在于验证级别(仅限 DV)和操作支持,而不在于安全强度。
- 我需要多久更新一次?
- 实际上每 60 天一次 — 当证书的有效期还剩 30 天时,客户会进行续订。 ACME 的重点在于这是自动化的,因此更新会在您不注意的情况下发生。如果您的客户端出现故障,您将收到 Let's Encrypt 发送的过期电子邮件,并在 20 天内修复该问题。
- 网站可以谎称 Let's Encrypt 的安全性吗?
- 网络钓鱼站点绝对可以为其自己的域获取 Let's Encrypt 证书 - 每个 CA 都会向任何能够证明域控制的人颁发证书。该证书证明该网站与其 URL 所示相符,但并不证明该网站值得信赖。域验证一直意味着这一点,Let's Encrypt 的经济性并没有改变它。
- 如果 Let's Encrypt 的 CA 密钥被泄露会发生什么?
- 计划的应对措施包括离线生成新根(ISRG 有多个根和中间体)、在新链下重新颁发证书以及与浏览器协调添加新根并不信任旧根。 ISRG 已经对此场景进行了演练。真正的事件仍然会造成巨大的破坏,但可以在几周内而不是几年内恢复。