Let's Encrypt是由(ISRG)运营的非营利性证书颁发机构,免费提供傳輸層安全性協定(TLS)加密的X.509证书。它是世界上最大的证书颁发机构,超过3亿个網站使用其服务,Let's Encrypt的证书有效期为90天,在此期间可以随时更新。该项目采用自动化流程,旨在克服手动创建、验证、數位簽章、安装和续期等繁琐步骤。通过省去支付费用、服务器配置、验证电子邮件管理和证书更新等任务,大大降低了设置和维护TLS加密的复杂性。Let's Encrypt使用的域名验证型证书(DV),虽然于2002年首次引入时曾引起争议,但如今已成为广泛接受的SSL证书颁发方法。
Let's Encrypt希望通过尽可能透明的方式,既保护自身的可信度,又防范攻击和操纵企图。为此,定期发布透明度报告,2016年4月12日,并于2016年4月12日正式上线。通过与软件供应商合作并联系网站运营商,Let's Encrypt在截止日期前成功更新了170万个受影响的证书。由于剩余证书的安全风险较低且将在接下来的90天内过期,他们决定不撤销这些证书。这次大规模撤销事件显著提高了全球撤销率。
2020年3月,Let's Encrypt获得了自由软件基金会年度社会公益项目奖。
2020年2月27日,Let's Encrypt宣布已颁发了十亿个证书。
2022年4月,Let's Encrypt因“对证书生态系统的根本性改进,为所有人提供免费的证书”而获得。
截至2022年9月,Let's Encrypt报告称已颁发了2.34亿个有效(未过期)证书。
2025年7月1日,Let's Encrypt开始支持颁发IPv4和IPv6证书。
技术
信任链
ISRG Root X1 (RSA)
2015年6月,Let's Encrypt宣布生成首张RSA加密算法根证书「ISRG Root X1」。该根证书用于签署两个中间证书,
ACME协议
用于自动注册证书颁发机构的称为「自動憑證更新環境(ACME)」。它可以查询由证书涵盖的域控制的Web服务器或DNS服务器,并根据得到的响应是否符合预期,以确保注册者对域的控制(域验证)。ACME客户端软件可以设置一个专用的TLS服务器,由ACME证书颁发机构服务器通过服务器名称指示(SNI)的方式进行域验证(DVSNI),或者可以使用钩子向现有的Web和DNS服务器发布响应。
验证过程通过不同的网络路径进行多次运行,并在多个不同的地理位置上进行检查DNS条目,从而使DNS欺骗攻击更难实施。
ACME交互基于通过HTTPS连接交换JSON文档。自2019年11月8日起,ACMEv1不再接受新账户注册。自2020年6月起,ACMEv1停止接受新域名验证。从2021年1月起,ACMEv1经历了24小时的停机。最终,ACMEv1 API于2021年6月1日完全关闭。
软件部署
证书颁发机构由一个名为Boulder的软件组成,该软件用Go编写,实现了ACME协议的服务器端。该软件根据Mozilla公共许可证 (MPL)第2版的条款,以自由软件的形式发布源代码
最初,Let's Encrypt开发了自己官方的ACME客户端「Certbot」。现在已移交给电子前哨基金会,其名称从「letsencrypt」更改为「certbot」。社区开发了大量适用于多种环境的ACME客户端和项目。
中国大陆屏蔽
2020年4月2日,防火长城对Let's Encrypt的OCSP服务器(ocsp.int-x3.letsencrypt.org)所使用的Akamai CDN域名a771.dscq.akamai.net进行了DNS污染,导致部分浏览器首次访问使用Let's Encrypt证书的网站时无法完成OCSP检查,加载缓慢。
2020年11月20日,Let's Encrypt 推出了 R3 中间证书,使用了新的 OCSP 服务器地址(r3.o.lencr.org),问题得到解决。
更多
- HTTPS Everywhere
*[https://letsencrypt.org/stats/ Let's Encrypt Stats] -- Let's Encrypt 逐日签发证书的交互式图表
延伸阅读
*
参考资料
外部链接
*
- GitHub上的[https://github.com/letsencrypt 代码库]
- [https://media.libreplanet.org/u/libreplanet/m/seth-schoen-lets-encrypt/ 塞斯·舒恩 Libre Planet 2015 演讲: Let's Encrypt]
- [https://media.ccc.de/browse/conferences/camp2015/camp2015-6907-let_s_encrypt.html#video pde's talk on Let's Encrypt] 于 CCCamp 2015
- [https://crt.sh/?Identity=%25&iCAID=7395 Let's Encrypt 颁发的证书列表]
评论 (0)