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がない証明書は警告や接続拒否の対象となる可能性あり
検出ツール・モニタリングサービス
補足トピック
Precertificate(プレ証明書)
- 発行前に提出される証明書に似た構造のデータ
- ハッシュ整合性のために使用される
Merkle Tree
- CTログの整合性保証に使われるハッシュ木
- 誰でもツリー構造の一貫性を検証可能
まとめ
| CTの利点 |
内容 |
| ------- |
---- |
| 可視性 |
誰でも発行履歴を確認可能 |
| 検知性 |
不正発行を即時検出できる |
| 検証性 |
SCTとMerkle Treeでログの信頼性を保証 |
最終更新:2025年04月24日 07:29