擴展 Android 裝置對 Let's Encrypt 憑證的相容性
更新,2021 年 5 月 13 日
請訪問我們社群論壇上的[這篇文章](https://community.letsencrypt.org/t/production-chain-changes/150739),以取得關於鏈變更的最新資訊,因為本部落格文章中關於變更和日期的一些資訊已過時。
我們很高興地宣布,我們開發了一種方法,讓較舊的 Android 裝置在我們的交叉簽名中繼憑證過期後,仍能繼續瀏覽使用 Let's Encrypt 憑證的網站。我們不再計畫在 1 月進行任何可能導致 Let's Encrypt 訂閱者相容性問題的變更。
在我們關於即將到來的鏈切換的文章中,一個反覆出現的主題是我們對於 7.1.1 之前的 Android 作業系統使用者所受影響的擔憂,這些裝置不信任我們的 ISRG Root X1。感謝社群的創新思維,以及我們在 IdenTrust 的優秀合作夥伴,我們現在有一個解決方案,讓我們能夠維持廣泛的相容性。作為一個非營利組織,我們的使命至關重要,即幫助為盡可能多的人建立一個更安全且尊重隱私的網路。這項工作使我們更接近這個目標。
IdenTrust 同意從他們的 DST Root CA X3 為我們的 ISRG Root X1 發出一個為期 3 年的交叉簽名。新的交叉簽名將有些新穎,因為它會超出 DST Root CA X3 的到期日。這個解決方案之所以可行,是因為 Android 有意不強制執行用作信任錨點的憑證的到期日期。ISRG 和 IdenTrust 與我們的稽核員和根憑證計畫聯絡,以審查此計畫並確保沒有任何合規性問題。
因此,我們將能夠為訂閱者提供一個包含 ISRG Root X1 和 DST Root CA X3 的鏈,確保所有使用者都能不間斷地使用服務,並避免我們一直擔心的潛在損壞。
我們將不會在 2021 年 1 月 11 日執行我們先前計畫的鏈切換。相反地,我們將在 1 月底或 2 月初切換為預設提供這個新鏈。轉換不應該對 Let's Encrypt 訂閱者產生任何影響,就像我們本月稍早切換到 R3 中繼憑證一樣。
以下是一些額外的技術細節。
我是一個 ACME 用戶端開發人員,我需要做什麼? 如果您的用戶端順利處理了 X3 到 R3 的轉換,那麼您應該不需要採取任何行動。確保您的用戶端正確使用 ACME API 在發行結束時提供的中繼憑證,而不是透過其他方式(例如,硬編碼、重複使用已經在磁碟上的憑證或從 AIA URL 提取憑證)來檢索中繼憑證。
我是一個 Let's Encrypt 訂閱者,我需要做什麼? 在絕大多數情況下,什麼都不用做。如果您想再次檢查,請確保您的 ACME 用戶端是最新的。
我使用舊的 Android 裝置,我需要做什麼? 什麼都不用做!我們正在努力確保此變更對終端使用者完全不可見。
確切來說,正在改變什麼? 今天,當訂閱者從我們的 API 提取憑證時,我們預設會提供以下鏈:訂閱者憑證 < – R3 < – DST Root CA X3 在此變更之後,我們將改為預設提供此鏈:訂閱者憑證 < – R3 < – ISRG Root X1 < – DST Root CA X3 這確實表示我們提供給訂閱者的預設鏈會比以前更大,因為它包含兩個中繼憑證而不是只有一個。這會使 TLS 交握變大且效率略低,但為了獲得額外的相容性,這種權衡是值得的。
但是 DST Root CA X3 不是要過期了嗎? 代表 DST Root CA X3 金鑰對的自簽憑證即將過期。但是瀏覽器和作業系統的根憑證儲存區不包含憑證本身,而是包含「信任錨點」,而且驗證憑證的標準允許實作選擇是否使用信任錨點上的欄位。Android 有意選擇不使用信任錨點的 notAfter 欄位。正如我們的 ISRG Root X1 沒有被加入較舊的 Android 信任儲存區一樣,DST Root CA X3 也沒有被移除。因此,它可以發出一個交叉簽名,其有效性超出其自身自簽憑證的到期日,而不會有任何問題。
當新的交叉簽名過期時會發生什麼事? 這個新的交叉簽名將在 2024 年初過期。在此之前,或許早在 2021 年 6 月,我們將會進行與我們原先打算在今年 1 月進行的類似變更。當我們進行該變更時,訂閱者可以透過設定他們的 ACME 用戶端來明確要求繼續使用 DST Root CA X3。如果您是已經在努力減輕鏈切換影響的 Let's Encrypt 訂閱者(例如,透過設定替代鏈或鼓勵您舊 Android 裝置上的使用者安裝 Firefox),請繼續這項工作,以便您在未來做好充分準備。
那替代鏈呢? 今天,某些 ACME 用戶端能夠在使用者設定的情況下,改為請求替代鏈。我們目前提供取得以下鏈的選項:訂閱者憑證 < – R3 < – ISRG Root X1 我們將繼續提供相同的鏈作為替代鏈。但是,請注意,大多數 ACME 用戶端還沒有選擇此替代鏈的方法(例如,Certbot 透過查看是否包含給定的發行者名稱來選擇鏈,但此鏈不包含任何上述高相容性鏈中沒有的發行者名稱)。我們將與 ACME 用戶端開發人員合作,以建立更靈活的鏈選擇機制。
這與即將到來的 ECDSA 鏈有何關係? 此變更與我們即將從基於 ECDSA 的 ISRG Root X2 和 E1 中繼憑證發行憑證無關。我們期待使用這些憑證來提供更小、更有效率的憑證和鏈,但未來的產品與此變更無關。
我還有更多問題,我該如何獲得解答? 請將您的問題提交到我們的社群論壇。
未來,我們希望分享更多關於此計畫如何運作以及為何運作的技術細節,證明 DST Root CA X3 的過期為何不會影響網路的安全性,以及此計畫對我們的訂閱者和網路上的終端使用者而言長期意味著什麼。
我們依靠支持者的貢獻來提供我們的服務。如果您的公司或組織想贊助Let's Encrypt,請發送電子郵件至sponsor@letsencrypt.org。如果您的能力允許,我們要求您個人捐款。