行業新聞與部落格
OCSP 與 CRL:各自是什麼以及為什麼瀏覽器更喜歡其中一種
儘管 OCSP 伺服器和 CRL 的功能大致相同,但它們的工作方式不同。以下是關於兩種安全憑證驗證檢查方法之間的異同以及瀏覽器主要轉向使用 CRL 的原因。
7 月,行業標準機構投票決定從 2024 年 3 月 15 日起,憑證頒發機構 (CA) 必須使用 CRL,而 OCSP 則為可選。瀏覽器透過這些工具自動檢查網站的 SSL/TLS 憑證是否已被撤銷,因此它知道是否信任它來建立加密連線。(如果被撤銷,則無法信任,瀏覽器應立即終止連線。)
但考慮到這一點,我們將概述每種方法,並透過探索 CA/ 瀏覽器論壇 (CA/B 論壇) 的形成原因,概述使用一種吊銷檢查系統相對於另一種(OCSp 與 CRL)的優勢決定在使用 OCSP 時要求 CRL。
讓我們來討論一下。
OCSP 與 CRL:憑證吊銷檢查機制概述
線上憑證狀態協議 (OCSP) 和憑證吊銷列表 (CRL) 是憑證頒發機構 (CA) 可用來指示憑證何時被吊銷的兩個工具。
已吊銷 = 憑證由於過期以外的原因而不值得信賴(例如,您的金鑰已被洩露、CA 錯誤頒發了憑證等)
就像雜貨一樣,每個數位憑證都有一個有效期。然而,在某些情況下,憑證會變“壞”並在指定的到期日期之前被吊銷。可以將其想象為從雜貨店購買牛奶:假設您從商店購買了一加侖牛奶:
- 如果你把它帶回家並妥善冷藏,那麼它應該在保質期之前保持良好狀態。
- 如果你把它帶回家,不小心把它放在櫃檯上過夜,那麼你就會有一加侖變質的牛奶需要扔掉。
第一個示例類似於憑證過期:牛奶應該在指定的過期日期之前保持良好狀態。第二個例子類似於被撤銷的憑證:在牛奶過期之前,某些東西被破壞或以其他方式影響了牛奶(使其無法飲用)。
TL;DR:CRL 與 OCSP 的比較表
沒有時間閱讀有關 OCSP 與 CRL 之間差異的整篇文章?請查看下錶,瞭解兩種吊銷狀態檢查方法的概述:
線上憑證狀態協議 | 憑證吊銷列表 | |
這是什麼 | 伺服器響應,提供有關憑證是否在到期日期之前已被吊銷的資訊。 | 過期前已吊銷的帶時間戳的數位憑證列表。 |
它能做什麼 | 通知客戶端有關憑證的吊銷狀態,以便客戶端知道是允許還是拒絕連線。 | 通知客戶端有關憑證的吊銷狀態,以便他們知道是自動允許還是拒絕連線。 |
它包含什麼 | 回覆“良好”、“已撤銷”或“未知” | 每個已撤銷憑證的序列號和撤銷日期。 |
什麼時候檢查? | 每次連線期間都會檢查 OCSP 伺服器 | 客戶端通常會在每個連線上檢查本地儲存的 CRL;如果憑證或 CRL 列表已過期,瀏覽器將下載新列表。 |
是必需的嗎? | 不。OCSP 的使用是可選的,但在實施時,“CA 操作的 OCSP 響應程式應支援 RFC 6960 和 / 或 RFC 5019 中描述的 HTTP GET 方法。” | 是的。必須使用公開的 CRL 。CA 必須在可公開訪問的 HTTP URL 上提供以下任一內容: – 完整且完整的 CRL – 共同構成完整 CRL 的部分列表 |
撤銷更新要求 | 訂戶憑證的 OCSP 狀態響應: – 等於或大於 8 小時 – 小於或等於 10 天 CA 憑證的 OCSP 狀態響應: – 每 12 個月一次(至少) – 吊銷從屬 CA 憑證後 24 小時內 | 新訂戶憑證 CRL 必須更新和釋出: – 記錄憑證吊銷後 24 小時內, – 對於包含 AIA 擴充的憑證,至少每 7 天更新一次,或者 – 至少每 4 天更新一次,否則 CA 憑證 CRL 必須更新: – 每年12 個月,或 – 記錄憑證吊銷後每 24 小時一次 |
CRL 和 OCSP 相關的基線要求變更將如何影響您?
在大多數情況下,他們不會(至少不會直接)。頒發 SSL/TLS 憑證的憑證頒發機構將感受到這些 CRL 和 OCSP 更改的影響。這是因為新要求會影響釋出已撤銷數位憑證的方法和更新頻率。這些事情都不會影響您從 CA 獲得的服務。
有更多時間還是隻想深入瞭解每種方法?偉大的。我們還有很多東西可以分享。
什麼是線上憑證狀態協議 (OCSP)?
線上憑證狀態協議,通常稱為 OCSP,是一種實時確定網站憑證有效性狀態的方法。這是使用 OCSP 伺服器或通常稱為 OCSP 響應器的伺服器來完成的。頒發相關憑證的 CA 負責維護和更新伺服器的資料庫。
當客戶端詢問特定憑證時,它會觸發一系列事件,從而引發頒發該憑證的 CA 的 OCSP 伺服器的響應。以下是瀏覽器如何使用 OCSP 檢查憑證吊銷狀態的快速概述:
什麼是憑證吊銷列表 (CRL)?
憑證吊銷列表類似於 CA 出於某種原因(通常是由於錯誤頒發或洩露相關問題)吊銷的 X.509 數位憑證黑名單。列表中包含的憑證旨在用於透過網際網路對伺服器進行身份驗證(即 SSL/TLS 憑證或所謂的網站安全憑證)。
該過程的前幾個步驟與 OCSP 的工作方式類似 — 即,客戶端嘗試連線到站點,並且站點的伺服器傳送其 SSL/TLS 憑證。但之後的過程有所不同:
釋出和維護當前的 CRL 列表使 CA 能夠在撤銷憑證時通知客戶端。這使客戶端知道該憑證不受信任,因此不應用於偽造安全連線。通常,您可以在 SSL/TLS 憑證的 CRL 分發點部分中找到包含的 CRL 資訊:
瀏覽器客戶端多久更新一次本地 CRL?
是否沒有要求瀏覽器製造商必須讓其瀏覽器客戶端更新其本地 CRL 的頻率?沒有。這是因為 CA/B 論壇只定義了對 CA 的要求;它沒有為瀏覽器或其他軟體製造商定義它們。因此,我想您可能會說,就客戶端下載 CRL 的頻率而言,這有點“狂野西部”。
簡單來說,瀏覽器客戶端的更新頻率沒有具體的要求,根據各個瀏覽器廠商的決定可能會有變化。例如,Mozilla Firefox 有一個專有列表 (CRLite),根據他們在 CRLite 上的一篇部落格文章,他們“每天推出多達 4 次” 。
Google Chrome 擁有一組專有的 CRL,其名稱非常有創意,稱為“CRLSets”。根據 Chromium 專案:
“我們維護一份已爬取的 CRL 的內部列表,旨在涵蓋立即撤銷。該集合中的 CRL 將構成已釋出的 CRLSet。列表中的 CRL 很少被獲取(最多每隔幾個小時一次),並根據該 CRL 的正確簽名憑證進行驗證。”
OCSP 與 CRL:為什麼需要這兩種工具
一般來說,憑證吊銷可以緩解因數位憑證和金鑰受損、錯誤頒發或其他不安全而引起的問題。儘管大規模撤銷並不常見,但這種情況時有發生。例如,2019 年,多個 CA 由於序列號大小不足而撤銷了數百萬個憑證,而 Let's Encrypt 由於編碼相關漏洞也不得不這樣做。
但僅僅撤銷它們是不夠的。瀏覽器需要一種方法來確保一旦憑證被吊銷,數位憑證就不再受信任。透過使用這些公認的方法之一檢查網站 SSL/TLS 憑證的有效性,Web 客戶端可以在嘗試使用它進行身份驗證並連線到網站之前驗證其當前的有效性狀態。
CA/B 論壇所需的更改意味著什麼
短期憑證現在可以選擇撤銷機制
儘管這不是本文的重點,但我們認為值得一提的是,Ballot SC-63 還批准了有關多年前在 Ballot 153 中引入的主題(即“短期憑證”)的一些更改。SSL/TLS BR 版本 2.0.1 中新批准的更改表明 CA“可以支援撤銷短期訂戶憑證”,但這不是必需的。
此外,憑證也不需要包含在任何 CRL 或 OCSP 響應中(可能是因為它們的有效期縮短了)。
不確定什麼才算是“短期”憑證?
- 自 2024年3月15日起,有效期“小於或等於 10 天(864,000 秒)”的訂戶憑證
- 對於 2026年3月15日之後發行的,最長有效期為 7 天(604,800 秒)或更短。
其他最長有效期超過這些期限的憑證的標準有效期為 398 天。
CRL 必須“完整且完整”
除了使用憑證吊銷列表的一般要求外,行業標準組織還特別要求 CRL 為:
- “完整且完整”的列表,或
- 一組“分片”(分割槽)的 CRL,它們一起等同於相同的 CRL。
訂戶憑證 CRL 必須滿足特定的時間限制
一般來說,CRL 必須在憑證收到吊銷狀態後 24 小時內更新和釋出。但這並不是一條硬性規定;而是一條硬性規定。根據 Ballot SC-63,根據幾個關鍵因素,有一些豁免和替代流程可供遵循。
- 憑證包含 AIA 擴充:如果 CA 的憑證全部包含“具有 id-ad-ocsp accessMethod(‘AIA OCSP 指標’)”的權威資訊訪問 (AIA) 擴充,則此更新和重新發布時間表不一定適用。AIA 憑證擴充是一種指定要使用哪個響應程式的方法。因此,使用 AIA 擴充意味著,如果所有憑證都滿足所描述的要求(即,它們具有 OCSP 吊銷支援),CA 最多有 7 天的時間來發布更新的 CRL。
- 定期更新:如果 CRL 包含不支援 OCSP 的憑證,則仍需要更新併發布更新的列表,無論如何,“在所有其他情況下至少每四 (4) 天一次”。(注意:它仍然應該在 24 小時內撤銷適用的憑證。)這樣,當瀏覽器請求 CRL 時,它就會知道它擁有最新的資訊(即使最近沒有新憑證被記錄為已撤銷) )。
現在是棘手的部分:Microsoft 的根策略要求使用 OCSP 指標。因此,即使它們在技術上不是必需的,但情況也不是那麼一成不變,因為這會讓 CA 陷入困境。
我們聯絡了 DigiCert 行業技術策略師 Corey Bonnell,以澄清這一點。Bonnell 作為 CA/B 論壇的代表,一直積極代表 CA。他還幫助 Google Chrome 團隊撰寫了選票的重要部分。
“每個 TLS 憑證都會有一個 OCSP 指標,”Bonnell 說。“因此,儘管 BR 允許 TLS 憑證省略 OCSP 指標,但參與 [Microsoft Root Program](基本上是所有公眾信任的 CA)的 CA 必須包含 OCSP 指標以遵守其策略。”
將您的憑證包含在 Microsoft 的根憑證計劃中至關重要,因為這使得 Windows 作業系統和瀏覽器能夠識別由這些根憑證簽名的任何內容。
CA 憑證的 CRL 還必須滿足特定的時間限制
與新訂戶憑證 CRL 要求一樣,CA 憑證的 CRL 也必須在輸入憑證吊銷記錄後 24 小時內更新和釋出。否則,只需每 12 個月更新併發佈一個新列表。
為什麼憑證可能首先被撤銷
那麼,憑證可能被撤銷的原因有哪些?以下概述了 CA/B 論壇的 SSL/TLS 基線要求(版本 2.0.1)中指定的原因:
為什麼憑證會在 24 小時內被吊銷 | 為什麼憑證應該在 24 小時內撤銷(並且必須在 5 天內撤銷) |
1. 原因不明 | 1. 憑證不符合 BR 第 6.1.5 和 6.1.6 條要求 |
2. 未經授權的原始憑證請求 | 2. 憑證被濫用,許可權被撤銷 |
3. 訂閱者的憑證金鑰被洩露 | 3. 訂戶違反義務,憑證特權已被撤銷 |
4. 訂閱者的憑證金鑰較弱 | 4. 憑證中指定的域不再有效或訂戶不再控制它 |
5. 訂閱者的狀態或授權不可靠 | 5. 萬用字元憑證被濫用來歪曲 FQDN |
6. 相關憑證資訊發生變更 | |
7. 憑證頒發不當 | |
8.憑證資訊不準確 | |
9. 發行 CA 的發行權已到期、被撤銷或以其他方式終止 | |
10. 憑證因與 CA CP/CPS 相關的未指定原因而被撤銷 | |
11. 由於金鑰生成有缺陷,訂閱者的金鑰被洩露 |
OCSP 與 CRL:行業為何正在放棄 OCSP
行業領導者選擇 OCSP 的主要原因有兩個:
1. 資料隱私問題和注意事項
人們擁有隱私權和期望,而 OCSP 請求並不符合這一要求。為什麼?因為傳送的 OCSP 請求包含所請求的憑證狀態的序列號。如果該資訊被傳輸,則意味著有人可以使用該資訊來識別使用者正在訪問哪個網站和 / 或他們正在檢視哪個特定頁面。
根據 CA/B 論壇的理由檔案:“OCSP 請求向 OCSP 響應器的操作員透露個人瀏覽歷史記錄的詳細資訊。這些可能會意外暴露(例如,透過日誌資料洩露)或故意暴露(例如,透過傳票)。”
因此,論壇表示傾向於強制使用有利於隱私的憑證吊銷狀態檢查方法(即 CRL 列表)。
2. OCSP 問題和財務考慮因素
有關 OCSP 的問題超出了隱私問題的範疇;效能問題和成本也是關鍵考慮因素。但效能並不是一個新問題。2017 年,由於效能相關問題,我們看到 Firefox 禁用了對域 (DV) 和組織驗證 (OV) SSL/TLS 憑證的 OCSP 檢查。
就成本而言,CA/B 論壇領導人透過指出 OCSP 持續的財務可行性,進一步證明了他們的決定的合理性:“考慮到在全球網路範圍內可靠地提供這些服務的成本過高,對 OCSP 的擔憂進一步加劇。公鑰基礎設施”。
簡而言之,CRL 成本較低,並且被認為是一致且可靠的憑證吊銷狀態檢查方法。此外,它們還保護隱私,因為查詢 Web 客戶端不需要傳送與特定網站相關的資訊。
OCSP 裝訂怎麼樣?
OSCP 裝訂是一種將憑證有效性證明直接合併到 TLS 握手中的機制,以避免客戶端必須聯絡 CA 來仔細檢查其準確性。這有助於最佳化效能並增加資料隱私。
所有這一切聽起來都很棒,對吧?那麼,為什麼 OCSP 裝訂沒有發生更大的變化呢?坦率地說,這可以歸結為採用率和使用率較低。但除此之外,還有其他緊迫的原因。
根據圍繞選票 SC-63 的討論:
“獨立於使用統計資料,依賴方不能始終依賴 OCSP 裝訂來確保安全,除非在所有連線上都裝訂了響應。此外,即使 Web 伺服器生態系統改進了對 OCSP 裝訂的支援,並且我們可能需要使用“必須裝訂”擴充,我們仍然依賴於強大且高度可靠的 OCSP 服務,這是一個持續的生態系統挑戰。”
OCSP 與 CRL:讓我們總結一下
我們希望您發現本文在區分 OCSP 與 CRL 吊銷檢查方法方面提供了豐富的資訊。這兩種工具都有其用途,並將在未來幾年繼續受到企業的依賴。不過,我們希望有關短期憑證的變化將有助於縮小網路犯罪分子的潛在攻擊視窗。此外,由於不要求將這些憑證包含在 CRL 中,因此可能會減少全球組織越來越依賴的 CRL 的大小。
最近新聞
2024年12月18日
2024年12月18日
2024年12月18日
2024年12月18日
2024年12月18日
2024年12月18日
2024年12月18日
2024年12月18日
需要幫助嗎?聯絡我們的支援團隊 線上客服