Let's Encrypt 是由網際網路安全研究小組 (ISRG)运营的非营利性 证书颁发机构 ,免费提供傳輸層安全性協定 (TLS)加密的X.509 证书 。它是世界上最大的证书颁发机构,[ 3] 超过3亿个網站 使用其服务,[ 4] 其目标是确保所有网站的安全并使用HTTPS 。提供该服务的網際網路安全研究小組 (ISRG)是一个公益组织,[ 5] 主要赞助商包括电子前哨基金会 (EFF)、Mozilla基金會 、OVH 、思科系统 、Facebook 、Google Chrome , 互联网协会 、AWS 、Nginx 和比尔及梅琳达·盖茨基金会 。其他合作伙伴包括证书颁发机构IdenTrust 、[ 7] 密西根大学 [ 8] 以及Linux基金會 。
[ 9]
概述
使用Let's Encrypt证书的网站示例
Let's Encrypt证书示例
Let's Encrypt的使命是通过推动HTTPS的广泛应用,创建一个更加安全和尊重隐私的万维网 。[ 10] Let's Encrypt的证书有效期为90天,在此期间可以随时更新。[ 11] 该项目采用自动化流程,旨在克服手动创建、验证、數位簽章 、安装和续期等繁琐步骤。[ 12] [ 13] 该项目的目标是让万维网 的加密连接普及化。[ 14] 通过省去支付费用、服务器配置、验证电子邮件管理和证书更新等任务,大大降低了设置和维护TLS加密的复杂性。[ 15]
在Linux 网络服务器上,只需执行两个命令即可设置HTTPS 加密并获取和安装证书。[ 16] [ 17] 相关软件包已纳入Debian 以及Ubuntu 的官方软件存储库 。[ 18] [ 19] 目前,Mozilla和Google 等主要浏览器开发商正在努力淘汰 未加密的HTTP,这得益于Let's Encrypt的广泛使用。[ 20] [ 21] 该项目有望使加密连接成为整个互联网的默认状态。[ 22]
该服务仅颁发域名验证型证书 (DV),因为这些证书可以完全自动化签发。组织验证(OV) 以及和扩展验证证书 (EV)都需要对注册人的人工验证,因此Let's Encrypt不提供这两种证书。[ 23] 2018年3月,Let's Encrypt增加了对ACME v2 和通配符证书 的支持。[ 24] Let's Encrypt使用的域名验证型证书 (DV),虽然GeoTrust 于2002年首次引入时曾引起争议,但如今已成为广泛接受的SSL 证书颁发方法。[ 25]
Let's Encrypt希望通过尽可能透明的方式,既保护自身的可信度,又防范攻击和操纵企图。为此,定期发布透明度报告,[ 26] ,公开记录所有ACME 记录(如使用证书透明度 ),并尽可能使用开源 和自由软件 。[ 16]
歷史
Let's Encrypt项目于2012年由两位Mozilla 的员工Josh Aas和Eric Rescorla,以及电子前哨基金会 的彼得·埃克斯利 和密西根大学 的J. Alex Halderman 共同发起。负责Let's Encrypt的網際網路安全研究小組 (ISRG),于2013年5月注册成立。[ 8]
Let's Encrypt项目于2014年11月18日正式对外宣布。[ 27]
2015年1月28日,ACME协议正式提交给IETF进行标准化。[ 28] 2015年4月9日,ISRG和Linux基金會 宣布合作。[ 9] 根证书和中级证书在2015年6月初生成。[ 29]
2015年6月16日,服务的最终启动时间表公布,预计将于2015年7月27日那一周颁发第一个证书,随后进行有限的发证期以测试安全性和可扩展性。原计划服务的全面可用性将于2015年9月14日那一周开始。[ 30] 2015年8月7日,启动时间表被修订,以提供更多时间确保系统安全和稳定,计划于2015年9月7日那一周颁发第一个证书,并在2015年11月16日那一周全面开放服务。[ 31]
2015年9月14日,Let's Encrypt颁发了其首个证书,域名为helloworld .letsencrypt .org 。同日,ISRG向Mozilla 、微软 、Google 以及蘋果公司 提交了根证书计划申请。[ 32]
2015年10月19日,中级证书由IdenTrust 交叉签署,使得Let's Encrypt颁发的所有证书都被所有主流浏览器信任。[ 7]
2015年11月12日,Let's Encrypt宣布将全面开放服务的时间推迟,首次公开测试版将于2015年12月3日开始。[ 33] 公开测试版从2015年12月3日持续到[ 34] 2016年4月12日[ 35] ,并于2016年4月12日正式上线。[ 36] [ 37] [ 5]
2020年3月3日,Let's Encrypt宣布由于其证书授权软件中的一个漏洞,必须在3月4日撤销超过300万个证书。[ 38] 通过与软件供应商合作并联系网站运营商,Let's Encrypt在截止日期前成功更新了170万个受影响的证书。由于剩余证书的安全风险较低且将在接下来的90天内过期,他们决定不撤销这些证书。[ 39] 这次大规模撤销事件显著提高了全球撤销率。[ 40]
2020年3月,Let's Encrypt获得了自由软件基金会 年度社会公益项目奖。[ 41]
2020年2月27日,Let's Encrypt宣布已颁发了十亿个证书。[ 42]
2022年4月,Let's Encrypt因“对证书生态系统的根本性改进,为所有人提供免费的证书”而获得Levchin Prize 。[ 43]
截至2022年9月,Let's Encrypt报告称已颁发了2.34亿个有效(未过期)证书。[ 4]
技术
信任链
ISRG Root X1 (RSA)
2015年6月,Let's Encrypt宣布生成首张RSA加密算法 根证书「ISRG Root X1」。[ 44] 该根证书用于签署两个中间证书,[ 44] 同时这些中间证书也由证书颁发机构IdenTrust 交叉签名。[ 7] [ 45] 其中一个中间证书用于签发证书,而另一个作为备用,以防第一个中间证书出现问题。[ 44] 由于IdenTrust 证书已经得到主要网络浏览器的广泛信任,因此即使在浏览器供应商将網際網路安全研究小組 (ISRG)根证书作为信任锚 之前,Let's Encrypt的证书通常也能得到验证和接受。[ 29]
ISRG Root X2 (ECDSA)
Let's Encrypt的开发者早在2015年就计划生成一个ECDSA 根密钥[ 44] ,但计划推迟到2016年初,随后推迟到2019年,最终推迟到2020年。2020年9月3日,Let's Encrypt发布了六个新证书:一个新的ECDSA 根证书「ISRG Root X2」,四个中间证书和一个交叉签名。新的根证书「ISRG Root X2」由Let's Encrypt自己的根证书ISRG Root X1交叉签名。Let's Encrypt没有为新的中间证书部署OCSP ,而是计划完全依赖证书吊销列表 (CRLs) 来撤销受损证书,并通过缩短证书有效期来减少证书受损的风险。[ 46]
ACME协议
用于自动注册证书颁发机构的挑战应答认证机制 称为「自動憑證更新環境 (ACME)」。它可以查询由证书涵盖的域控制的Web服务器或DNS服务器,并根据得到的响应是否符合预期,以确保注册者对域的控制(域验证)。ACME客户端软件可以设置一个专用的TLS服务器,由ACME证书颁发机构服务器通过服务器名称指示 (SNI)的方式进行域验证(DVSNI),或者可以使用钩子向现有的Web和DNS服务器发布响应。
验证过程通过不同的网络路径进行多次运行,并在多个不同的地理位置上进行检查DNS条目,从而使DNS欺骗攻击更难实施。
ACME交互基于通过HTTPS连接交换JSON 文档。[ 47] 在GitHub 上有一份规范草案,[ 48] 并已提交给互联网工程任务组 (IETF)作为互联网标准的草案 。[ 49]
Let's Encrypt实现了自己的ACME协议草案。与此同时,他们还推动标准化。这一努力促成了2019年5月发布的「提案标准(proposed standard)」(RFC8555),该标准引入了重大变革,因此被称为“ACMEv2”。Let's Encrypt 实现了这一新版本,并开始推动现有客户端进行升级。通过ACMEv1 API的的间歇性停机,Let's Encrypt 推动用户进行升级,并在「ACMEv1 生命周期结束计划」中公布了生命周期结束的日期和各个阶段。[ 50] 自2019年11月8日起,ACMEv1不再接受新账户注册。自2020年6月起,ACMEv1停止接受新域名验证。从2021年1月起,ACMEv1经历了24小时的停机。最终,ACMEv1 API于2021年6月1日完全关闭。[ 51]
软件部署
域名选择对话框
证书颁发机构由一个名为Boulder的软件组成,该软件用Go 编写,实现了ACME协议 的服务器端。该软件根据Mozilla公共许可证 (MPL)第2版的条款,以自由软件 的形式发布源代码 [ 52] 。它提供了一个可以通过TLS 加密通道访问RESTful 的API 。
客户端会安装一个名为「certbot」(前身为「letsencrypt」)的证书管理程序,该程序根据Apache许可证 授权[ 53] ,并由Python 编写。这个程序用于申请证书,进行域名验证过程,安装证书,配置HTTP服务器中的HTTPS加密,并定期更新证书。[ 16] [ 54] 安装并同意用户许可证后,只需执行一条命令即可安装有效证书。除此之外,还可以启用其他选项,如OCSP装订 或HTTP严格传输安全 (HSTS)。[ 47] 自动设置最初只适用于Apache 以及Nginx 。
Let's Encrypt签发的证书有效期为90天,理由是这样做会「限制密钥泄露和错误签发造成的损失」,并鼓励自动化。[ 55]
最初,Let's Encrypt开发了自己官方的ACME客户端「Certbot」。现在已移交给电子前哨基金会 ,其名称从「letsencrypt」更改为「certbot」。社区开发了大量适用于多种环境的ACME客户端和项目。[ 56]
中国大陆屏蔽
2020年4月2日,防火长城 对Let's Encrypt的OCSP 服务器(ocsp.int-x3.letsencrypt.org)所使用的Akamai CDN域名a771.dscq.akamai.net进行了DNS污染,导致部分浏览器首次访问使用Let's Encrypt证书的网站时无法完成OCSP检查,加载缓慢。[ 57]
2020年11月20日,Let's Encrypt 推出了 R3 中间证书,使用了新的 OCSP 服务器地址(r3.o.lencr.org),问题得到解决[ 58] 。
更多
延伸阅读
Barnes, R.; Hoffman-Andrews, J.; McCarney, D.; Kasten, J.. Automatic Certificate Management Environment (ACME) RFC 8555 . IETF . March 2019.
参考资料
^ Aas, Josh. Looking Forward to 2019 . Let's Encrypt. December 31, 2019 [January 26, 2019] . (原始内容存档 于2020-11-07) (英语) .
^ Building A Better Internet - ISRG 2023 Annual Report (PDF) . 網際網路安全研究小組 (ISRG). 2023-12-27 [2024-05-27 ] . (原始内容存档 (PDF) 于2024-05-27).
^ For A Better Internet - ISRG 2020 Annual Report (PDF) . 網際網路安全研究小組 (ISRG). 2020-11-17 [2021-05-11 ] . (原始内容存档 (PDF) 于2024-01-20).
^ 4.0 4.1 Let's Encrypt Stats - Let's Encrypt - Free SSL/TLS Certificates . letsencrypt.org. [2022-10-01 ] . (原始内容存档 于2018-10-19).
^ 5.0 5.1 About Let's Encrypt . Let's Encrypt. [2024-05-29 ] . (原始内容存档 于2015-06-10).
^ 7.0 7.1 7.2 Aas, Josh. Let's Encrypt is Trusted . October 19, 2015 [2024-05-29 ] . (原始内容存档 于2018-05-31).
^ 8.0 8.1 Aas, Josh. Let's Encrypt | Boom Swagger Boom . Boomswaggerboom.wordpress.com. November 18, 2014 [January 6, 2016] . (原始内容 存档于December 8, 2015).
^ 9.0 9.1 Kerner, Sean Michael. Let's Encrypt Becomes Linux Foundation Collaborative Project . eWeek. QuinStreet Enterprise. April 9, 2015. [永久失效連結 ]
^ Let's Encrypt - FAQ . Let's Encrypt. [2021-05-11 ] . (原始内容存档 于2024-05-23).
^ Why ninety-day lifetimes for certificates? - Let's Encrypt . letsencrypt.org. [2021-09-05 ] . (原始内容存档 于2024-04-21).
^ Kerner, Sean Michael. Let's Encrypt Effort Aims to Improve Internet Security . eWeek.com. Quinstreet Enterprise. November 18, 2014 [February 27, 2015] . (原始内容 存档于2016-12-13).
^ Eckersley, Peter. Launching in 2015: A Certificate Authority to Encrypt the Entire Web . 电子前线基金会 . November 18, 2014 [February 27, 2015] . (原始内容存档 于2018-11-18).
^ How It Works . Let's Encrypt. [July 9, 2016] . (原始内容存档 于2018-05-27).
^ Tung, Liam. EFF, Mozilla to launch free one-click website encryption . ZDNet. CBS Interactive. November 19, 2014 [2024-05-29 ] . (原始内容存档 于2023-10-01).
^ 16.0 16.1 16.2
Fabian Scherschel. Let's Encrypt: Mozilla und die EFF mischen den CA-Markt auf . heise.de. November 19, 2014 (德语) .
^ Marvin, Rob. EFF wants to make HTTPS the default protocol . Software Development Times . BZ Media. November 19, 2014 [May 27, 2019] . (原始内容存档 于June 17, 2016).
^ Marier, Francois. ITP: letsencrypt – Let's Encrypt client that can update Apache configurations . Debian Bug report logs. January 1, 2015 [2024-05-29 ] . (原始内容存档 于2023-04-27).
^ python-letsencrypt . Debian Package Tracker. May 27, 2015 [2024-05-29 ] . (原始内容存档 于2023-04-22).
^ Barnes, Richard. Deprecating Non-Secure HTTP . Mozilla Security Blog. Mozilla. April 30, 2015 [2024-05-29 ] . (原始内容存档 于2024-05-20).
^ Marking HTTP As Non-Secure . The Chromium Projects. [2024-05-29 ] . (原始内容存档 于2024-05-20).
^ Moody, Glyn. The Coming War on Encryption, Tor, and VPNs . Computerworld UK. IDG UK. November 25, 2014 [2024-05-29 ] . (原始内容存档 于2016-04-06).
^ Vaughan-Nichols, Steven J. Securing the web once and for all: The Let's Encrypt Project . ZDNet. CBS Interactive. April 9, 2015 [2024-05-29 ] . (原始内容存档 于2022-03-22).
^ Aas, Josh. ACME v2 and Wildcard Certificate Support is Live . Let's Encrypt. March 13, 2018 [May 24, 2018] . (原始内容存档 于2018-06-01).
^ There's certs and certs – VeriSign badmouths rivals . www.theregister.com. [August 20, 2020] . (原始内容存档 于2023-03-24).
^ Zorz, Zeljka. Let's Encrypt CA releases transparency report before its first certificate . Help Net Security. July 6, 2015 [2024-05-29 ] . (原始内容存档 于2024-02-23).
^ Joseph Tsidulko. Let's Encrypt, A Free And Automated Certificate Authority, Comes Out Of Stealth Mode . crn.com. November 18, 2014 [August 26, 2015] . (原始内容存档 于2018-06-12) (英语) .
^ History for draft-barnes-acme
^ 29.0 29.1
Reiko Kaps. Let's Encrypt: Meilenstein zu kostenlosen SSL-Zertifikaten für alle . heise.de. June 5, 2015 (德语) .
^ Josh Aas. Let's Encrypt Launch Schedule . letsencrypt.org. Let's Encrypt. June 16, 2015 [June 19, 2015] . (原始内容存档 于2018-05-26).
^ Updated Let's Encrypt Launch Schedule . August 7, 2015 [2015-08-09 ] . (原始内容存档 于2015-09-27).
^ Michael Mimoso. First Let's Encrypt Free Certificate Goes Live . Threatpost.com, Kaspersky Labs. [September 16, 2015] . (原始内容存档 于2018-06-12).
^ Public Beta: December 3, 2015 . November 12, 2015 [2024-05-29 ] . (原始内容存档 于2018-04-07).
^ Entering Public Beta - Let's Encrypt - Free SSL/TLS Certificates . Let's Encrypt. December 3, 2015 [January 6, 2016] . (原始内容存档 于2015-12-08).
^ Let's Encrypt Leaves Beta . LinuxFoundation.org. [17 April 2016] . (原始内容 存档于April 15, 2016).
^ Josh Aas; ISRG Executive Director. Leaving Beta, New Sponsors . EFF. [April 12, 2016] . (原始内容存档 于2018-05-17).
^ Catalin Cimpanu. Let's Encrypt Launched Today, Currently Protects 3.8 Million Domains . Softpedia News. [April 12, 2016] . (原始内容存档 于2017-08-29).
^ Revoking certain certificates on March 4 . March 3, 2020 [4 March 2020] . (原始内容存档 于2023-07-28).
^ Barrett, Brian. The Internet Avoided a Minor Disaster Last Week . Wired (Conde Nast). 9 March 2020 [12 May 2020] . (原始内容存档 于2023-08-03).
^ Korzhitskii, Nikita; Carlsson, Niklas. Revocation Statuses on the Internet. In proceedings of 2021 Passive and Active Measurement Conference (PAM 2021). 2021. arXiv:2102.04288 .
^ Let's Encrypt, Jim Meyering, and Clarissa Lima Borges receive FSF's 2019 Free Software Awards (页面存档备份 ,存于互联网档案馆 ) Free Software Foundation, 2020
^ Let's Encrypt Has Issued a Billion Certificates - Let's Encrypt - Free SSL/TLS Certificates . letsencrypt.org. [2021-04-03 ] . (原始内容存档 于2023-06-20).
^ The Levchin Prize for Real-World Cryptography . Real World Crypto Symposium. International Association for Cryptologic Research. [9 April 2024] . (原始内容存档 于2024-03-25).
^ 44.0 44.1 44.2 44.3 Aas, Josh. Let's Encrypt Root and Intermediate Certificates . Let's Encrypt. June 4, 2015 [2024-05-29 ] . (原始内容存档 于2015-12-03).
^
Reiko Kaps. SSL-Zertifizierungsstelle Lets Encrypt will Mitte September 2015 öffnen . heise.de. June 17, 2015 (德语) .
^ Gable, Aaron. Let's Encrypt's New Root and Intermediate Certificates . Let's Encrypt. September 17, 2020 [September 22, 2020] . (原始内容存档 于2024-05-29).
^ 47.0 47.1 Brook, Chris. EFF, Others Plan to Make Encrypting the Web Easier in 2015 . Threatpost: The Kaspersky Lab Security News Service. November 18, 2014 [2024-05-29 ] . (原始内容存档 于2024-04-05).
^ Draft ACME specification . GitHub. May 6, 2020 [2024-05-29 ] . (原始内容存档 于2022-05-28).
^ Barnes, Richard; Eckersley, Peter; Schoen, Seth; Halderman, Alex; Kasten, James. Automatic Certificate Management Environment (ACME) draft-barnes-acme-01 . Network Working Group. January 28, 2015 [2015-08-09 ] . (原始内容存档 于2020-06-28).
^ End of Life Plan for ACMEv1 . Let's Encrypt Community Support. March 11, 2019 [August 20, 2020] . (原始内容存档 于2024-05-21).
^ End of Life Plan for ACMEv1 - API Announcements . Let's Encrypt Community Support. 2021-05-05 [2021-05-12 ] . (原始内容存档 于2022-12-27).
^ letsencrypt. boulder/LICENSE.txt at master · letsencrypt/boulder · GitHub . Github.com. [January 6, 2016] . (原始内容存档 于2019-03-19).
^ letsencrypt. letsencrypt/LICENSE.txt at master · letsencrypt/letsencrypt · GitHub . Github.com. November 23, 2015 [January 6, 2016] .
^ Sanders, James. Let's Encrypt initiative to provide free encryption certificates . TechRepublic. CBS Interactive. November 25, 2014 [2024-05-29 ] . (原始内容存档 于2023-02-28).
^ Aas, Josh. Why ninety-day lifetimes for certificates? . Let's Encrypt. November 9, 2015 [2016-06-26 ] . (原始内容存档 于2024-04-21).
^ ACME Client Implementations - Let's Encrypt - Free SSL/TLS Certificates . letsencrypt.org. [August 20, 2020] . (原始内容存档 于2019-03-16).
^ Ocsp.int-x3.letsencrypt.org is not working in China . jsha. 2020-05-20 [2021-04-25 ] . (原始内容 存档于2021-04-28) (英语) .
^ Beginning Issuance from R3 . aarongable. 2020-11-20 [2021-04-25 ] . (原始内容 存档于2021-04-28) (英语) .
外部链接