アットウィキロゴ

Certificate Transparency(CT)詳細解説


Certificate Transparency(CT)とは?

Certificate Transparency(CT)は、認証局(CA)が発行したSSL/TLS証明書を公開ログサーバに記録することで、証明書の透明性を確保し、誤発行や不正発行を検出可能にするフレームワークです。

  • Google主導で標準化(RFC 6962)
  • 「信頼の連鎖」では防げない、悪意あるCAやヒューマンエラーを検知するための対策
  • 現在の主要ブラウザ(Chrome、Firefoxなど)ではCT対応が推奨または必須

なぜCTが必要か?


攻撃シナリオ(実例あり)

以下のような状況に対して、CTは強力な防御策になります。

  • 不正にルートCAや中間CAが乗っ取られる
  • CAが誤って他人のドメイン名の証明書を発行する(例:DigiNotar事件)
  • 管理者が知らぬ間に「自社の証明書」が発行される

CTの仕組み


1. 公開ログサーバ(CT Log Server)

  • CAが証明書またはプレ証明書(pre-certificate)を提出
  • ログは公開されており、誰でも照会・検証が可能

2. Signed Certificate Timestamp(SCT)

  • 証明書提出の証拠として、ログサーバがSCTを発行
  • SCTは証明書に埋め込まれるか、TLS拡張またはOCSPで送信される

3. モニタリングと監視

  • 管理者や第三者はログを監視して、自分のドメイン名が不正に使われていないかを確認できる

実際の流れ(テキスト図解)


CA ──証明書 or pre-cert──> CTログサーバ
 │                                 │
 └───<─── SCT(署名タイムスタンプ)
             ↓
     証明書 + SCT 発行
             ↓
     ブラウザがSCTを検証

SCTの格納方式(重要)


方式 説明
---- ----
Embedded 証明書内に直接SCTを埋め込む(推奨)
TLS Extension TLS接続時にSCTを送信
OCSP Stapling OCSPレスポンス内にSCTを含める

代表的なCTログサーバ


運営元 サーバ名例 備考
------ ---------- ----
Google Argon2024, Xenon2023 Chromeでの検証に使用
Cloudflare Nimbus2024 信頼性高
Sectigo Mammoth 商用CAによる

ブラウザとの関係


  • Chromeでは複数のSCTが要求される
  • SCTがない証明書は警告や接続拒否の対象となる可能性あり

検出ツール・モニタリングサービス


ツール 機能 備考
----- ---- ----
crt.sh CTログ検索 ドメイン指定で検索可
Facebook CT Monitoring メール通知 無料で利用可
Google Transparency Report 全体の可視化 https://transparencyreport.google.com

補足トピック


Precertificate(プレ証明書)

  • 発行前に提出される証明書に似た構造のデータ
  • ハッシュ整合性のために使用される

Merkle Tree

  • CTログの整合性保証に使われるハッシュ木
  • 誰でもツリー構造の一貫性を検証可能

まとめ


CTの利点 内容
------- ----
可視性 誰でも発行履歴を確認可能
検知性 不正発行を即時検出できる
検証性 SCTとMerkle Treeでログの信頼性を保証
最終更新:2025年04月24日 07:29