行業新聞與博客
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年11月12日
2024年11月12日
2024年11月12日
2024年11月12日
2024年10月28日
2024年10月28日
2024年10月28日
2024年10月28日
需要幫助嗎?聯繫我們的支持團隊 在線客服