Let's Encrypt

2015年推出的憑證頒發機構 来自维基百科,自由的百科全书

Let's Encrypt是由網際網路安全研究小組英語Internet Security Research Group(ISRG)運營的非營利性憑證頒發機構,免費提供傳輸層安全性協定(TLS)加密的X.509憑證。它是世界上最大的憑證頒發機構,[3]超過3億個網站使用其服務,[4]其目標是確保所有網站的安全並使用HTTPS。提供該服務的網際網路安全研究小組英語Internet Security Research Group(ISRG)是一個公益組織,[5]主要贊助商包括電子前哨基金會(EFF)、Mozilla基金會OVH思科系統FacebookGoogle Chrome, 網際網路協會AWSNginx比爾及梅琳達·蓋茲基金會[6]其他合作夥伴包括憑證頒發機構IdenTrust英語IdenTrust[7]密西根大學[8]以及Linux基金會[9]

快速預覽 成立時間, 創始人 ...
Let's Encrypt
Thumb
成立時間2016年4月12日,​8年前​(2016-04-12
創始人
總部 美國加利福尼亞州舊金山
坐標37.800322°N 122.449951°W / 37.800322; -122.449951
服務X.509數位憑證認證機構
上級組織
網際網路安全研究小組英語Internet Security Research Group(ISRG)
預算(2019)
360萬美元[1]
員工數
(2023)
27[2]
網站letsencrypt.org 編輯維基數據鏈結
關閉

概述

Thumb
使用Let's Encrypt憑證的網站範例
Thumb
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英語GeoTrust於2002年首次引入時曾引起爭議,但如今已成為廣泛接受的SSL憑證頒發方法。[25]

Let's Encrypt希望通過儘可能透明的方式,既保護自身的可信度,又防範攻擊和操縱企圖。為此,定期發布透明度報告,[26],公開記錄所有ACME記錄(如使用憑證透明度),並儘可能使用開源自由軟體[16]

歷史

Let's Encrypt專案於2012年由兩位Mozilla的員工Josh Aas和Eric Rescorla,以及電子前哨基金會彼得·埃克斯利密西根大學J. Alex Halderman英語J. Alex Halderman共同發起。負責Let's Encrypt的網際網路安全研究小組英語Internet Security Research Group(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英語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英語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英語IdenTrust交叉簽章。[7][45]其中一個中間憑證用於簽發憑證,而另一個作為備用,以防第一個中間憑證出現問題。[44]由於IdenTrust英語IdenTrust憑證已經得到主要網路瀏覽器的廣泛信任,因此即使在瀏覽器供應商將網際網路安全研究小組英語Internet Security Research Group(ISRG)根憑證作為信任錨英語trust anchor之前,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協定

用於自動註冊憑證頒發機構的挑戰應答認證機制英語challenge–response authentication稱為「自動憑證更新環境(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]

軟體部署

Thumb
域名選擇對話方塊

憑證頒發機構由一個名為Boulder的軟體組成,該軟體用Go編寫,實現了ACME協定的伺服器端。該軟體根據Mozilla公共許可證 (MPL)第2版的條款,以自由軟體的形式發布原始碼[52]。它提供了一個可以通過TLS加密通道訪問RESTfulAPI

客戶端會安裝一個名為「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.

參考資料

外部連結

Wikiwand - on

Seamless Wikipedia browsing. On steroids.