證書透明度(英語:Certificate Transparency,簡稱CT)也稱證書透明證書透明化,是一個實驗性的IETF開源標準[1]開源框架,目的是監測和審計數碼證書。透過證書紀錄檔、監控和審計系統,證書透明度使網站用戶和域名持有者可以辨識不當或惡意簽發的證書,以及辨識數碼證書認證機構(CA)的行為。

證書透明度的工作始於 2011 年,當時數碼證書授權單位DigiNotar受到攻擊並開始頒發惡意證書。至2021年,公開信任的TLS證書必須強制實現證書透明度,但其他類型的證書則未有相應要求。[2]

背景

當前的數碼證書管理系統中的缺陷正使欺詐證書導致的安全問題和私隱泄露風險變得日益明顯。

2011年,荷蘭的數碼證書機構DigiNotar英語DigiNotar入侵者利用其基礎設施成功建立了超過500個欺詐性數碼證書後申請破產[3]

Ben Laurie英語Ben Laurie和Adam Langley構思了證書透明度,並將其框架實現為開源專案。

優點

數碼證書管理的問題之一是,欺詐性證書需要很長時間才能被瀏覽器提供商發現、報告和復原。證書透明度有助於避免黑客在未經網域持有者知情下為網域頒發證書。

證書透明度不需要側信道通訊來驗證證書,這些由線上證書狀態協定(OCSP)或Convergence英語Convergence (SSL)等技術完成。證書透明度也不需要信任第三方。

證書透明度紀錄檔

證書透明度依賴於可驗證的證書透明度紀錄檔。紀錄檔會將新的證書添加到不斷增長的雜湊樹中。[1]:Section 3 為正確完成該行為,紀錄檔必須:

  • 驗證每個提交的證書或預證書是否有有效的簽章鏈,鏈條鏈向受信任的根證書頒發機構證書。
  • 拒絕發佈無有效簽章鏈的證書。
  • 儲存新接受的可鏈向根證書的證書。
  • 根據請求提供此鏈的審計。

紀錄檔可以接受尚未完全生效或者已過期的證書。

證書透明度監視器

監視器是作為紀錄檔伺服器的客戶端,檢查紀錄檔以確保其行為正確。如發生不一致則表示紀錄檔沒有正確執行。紀錄檔的數據結構雜湊樹(Merkle tree)上的簽章防止紀錄檔否認不良行為。

證書透明度審計器

審計器也作為紀錄檔伺服器的客戶端執行。證書透明度審計器使用有關紀錄檔的部分資訊驗證紀錄檔及其他部分的資訊。[1]:Section 5.4

證書頒發機構實現

2013年3月,Google推出其首個證書透明度紀錄檔。[4] 2013年9月,DigiCert成為首個實現證書透明度的數碼證書認證機構[5]

Google Chrome在2015年開始要求新頒發的擴充驗證證書(EV)提供「證書透明度」。[6][7]因為被發現有187個證書在未經域名所有者知曉的情況下被頒發,賽門鐵克(Symantec)被要求自2016年6月1日起新頒發的所有證書必須配備證書透明度。[8][9]

2017年4月,Google將原定於2017年10月要求Chrome將要求所有SSL證書支援證書透明度(CT)的日期推遲至2018年4月,以給行業更多準備時間[10]

參考資料

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.