OCSP裝訂(英語:OCSP Stapling),正式名稱為TLS證書狀態查詢擴展,可代替在線證書狀態協議(OCSP)來查詢X.509證書的狀態。[1]服務器在TLS握手時發送事先緩存的OCSP響應,用戶只需驗證該響應的有效性而不用再向數字證書認證機構(CA)發送請求。[2][3]

動機

OCSP裝訂解決了在線證書協議中的大多數問題。[3]CA給網站頒發證書之後,網站的每個訪問者都會進行OCSP查詢。因此使用在線證書協議時,高並發的請求會給CA的服務器帶來很大的壓力。[4]同時由於必須和CA建立連接,OCSP查詢還會影響瀏覽器打開頁面的速度並泄漏用戶隱私。[4]此外,當OCSP查詢無法得到響應時,瀏覽器必須選擇是否在無法確認證書狀態的情況下繼續連接,造成安全性和可用性二選一的困局。[5]

標準

RFC 6066 第8章中規定了TLS證書狀態查詢擴展的標準。

RFC 6961 定義了多證書狀態查詢擴展,允許TLS握手中發送多個證書的OCSP響應。

發展

對OCSP裝訂的支持正在逐步落實。OpenSSLMozilla基金會的協助下發布了支持OCSP裝訂的0.9.8g版本。

服務器端的支持情況:

軟件名 版本
Httpd 2.3.3[6]
Nginx 1.3.7[7]
IIS Windows Server 2008[8]
HAProxy 1.5.0[9]
LiteSpeed Web Server 4.2.4[10]
F5 Networks BIG-IP 11.6.0[11]

瀏覽器的支持情況:

軟件名 版本
Firefox 26[12]
IE Vista及以上的Windows。[13]
Chrome Linux、Chrome OS、Vista及以上的Windows[14]

SMTP方面,Exim在客戶端[15]和服務器端[16]都支持OCSP裝訂。

局限性

OCSP裝訂可以降低OCSP驗證的成本,特別針對有很多用戶的大型網站。但是OCSP裝訂在同一時間只能發送一個OCSP響應,對有中級證書的證書鏈來說並不足夠。[17][18]RFC 6961中提出的多證書狀態查詢擴展解決了這個問題,允許同時發送多個OCSP響應。[19]

參考資料

  1. ^ Eastlake, D. Transport Layer Security (TLS) Extensions: Extension Definitions: Certificate Status Request. Internet Engineering Task Force (IETF). January 2011 [March 2, 2015]. (原始內容存檔於2016-10-18). 
  2. ^ Prince, Matthew. OCSP Stapling: How CloudFlare Just Made SSL 30% Faster. CloudFlare, Inc. October 29, 2012 [March 2, 2015]. (原始內容存檔於2016-07-12). 
  3. ^ 3.0 3.1 Gibson, Steve. Security Certificate Revocation Awareness: The case for “OCSP Must-Staple”. Gibson Research Corporation. [March 2, 2015]. (原始內容存檔於2016-04-15).  引用錯誤:帶有name屬性「Gibson-OCSP-Must-Staple」的<ref>標籤用不同內容定義了多次
  4. ^ 4.0 4.1 A., Jesin. How To Configure OCSP Stapling on Apache and Nginx. Community Tutorials. Digital Ocean, Inc. June 12, 2014 [March 2, 2015]. (原始內容存檔於2016-08-10).  引用錯誤:帶有name屬性「Digital-Ocean-Tutorial-OCSP-Stapling」的<ref>標籤用不同內容定義了多次
  5. ^ Keeler, David. OCSP Stapling in Firefox. Mozilla Security Blog. Mozilla Foundation. July 29, 2013 [March 2, 2015]. (原始內容存檔於2016-09-11). 
  6. ^ Apache HTTP Server mod_ssl documentation - SSLUseStapling directive. [2016-08-27]. (原始內容存檔於2016-08-27). 
  7. ^ nginx-announce mailing list - nginx-1.3.7. [2016-08-27]. (原始內容存檔於2015-05-31). 
  8. ^ Duncan, Robert. Microsoft Achieves World Domination (in OCSP Stapling). Netcraft Ltd. [28 April 2014]. (原始內容存檔於2016-06-09). 
  9. ^ HAProxy website. [2016-08-27]. (原始內容存檔於2016-08-26). 
  10. ^ Release Log - Litespeed Tech頁面存檔備份,存於網際網路檔案館).
  11. ^ Release Note: BIG-IP LTM and TMOS 11.6.0. [2016-08-27]. (原始內容存檔於2016-09-23). 
  12. ^ Improving Revocation - MozillaWiki, retrieved 2014-04-28
  13. ^ How Certificate Revocation Works. TechNet. Microsoft. 16 March 2012 [28 April 2014]. (原始內容存檔於2016-03-07). 
  14. ^ Issue 361820: Check For Server Certificate Revocation checkbox is confusing. Google Code. Google. 10 April 2014 [2016-08-27]. (原始內容存檔於2015-09-09). 
  15. ^ The smtp transport頁面存檔備份,存於網際網路檔案館), retrieved 2015-01-24
  16. ^ Main configuration頁面存檔備份,存於網際網路檔案館), retrieved 2015-01-24
  17. ^ Mozilla NSS Bug 360420頁面存檔備份,存於網際網路檔案館), Comment by Adam Langley
  18. ^ Mozilla NSS Bug 611836 - Implement multiple OCSP stapling extension. [2016-08-27]. (原始內容存檔於2016-09-23). 
  19. ^ Pettersen, Yngve N. The Transport Layer Security (TLS) Multiple Certificate Status Request Extension. Internet Engineering Task Force. June 2013 [31 October 2014]. (原始內容存檔於2016-12-23).