跳轉到

Certificate Transparency

因為 CA (Certificate Authorities)簽出來的簽證(Certificate)可能不被信任(錯誤設定、被攻擊、公司倒閉等等),所以需要讓每個 CA 去把簽發出來的憑證記錄在一個公開的地方(或者稱其為日誌,log)讓大家審核。

這個公開的日誌稱作簽證透明化(Certificate Transparency,CT),其要能:

  • 輕易確認這是正確的日誌。透過比對 STH (signed tree head)
  • 輕易查找特定憑證是否存在。透過 Markle tree 的特性
  • 若該日誌因任何原因出錯(程式碼有 bug、錯誤設定、任何邊際情況等等)要能輕易發現該錯。檢查 STH
  • 不影響現有簽發簽證的潛時,在簽證上添加擴充(X.509v3 extension)
    • SCT (Signed Certificate Timestamp)用做確保已進單一(instantly)日誌中
    • MMD (Maximum Merge Delay)標明在時限內該簽證可能不會在各個日誌中達成一致性
  • 每個簽證需要兩個以上的 SCT,簽證效期越長需要越多,但不能太多否則會增加簽發時的潛時和 TLS 交握的大小
  • MMD 為 24 小時。越低越安全,反之則能達到較強的容錯效果
  • 只承認 CA 簽發的簽證避免紀錄日誌太多

當審核發現有問題時,就可以透過既有機制撤銷該憑證(OCSP1、CRL、CRLSet 等等)。就不會再像之前那樣,發現問題時,已經是好幾天之後了。

Referrer


  1. 建議不要使用 OCSP,可以看 Referrer 中的連結。