【サーティフィケートトランスペアレンシー】

Certificate Transparency(証明書透明性) とは?

💡 証明書の発行記録を全員が見られる公開台帳に刻む
📌 このページのポイント
Certificate Transparency:証明書公開ログの仕組み 認証局(CA) 証明書を発行 登録 CTログサーバー 改ざん不可の 公開台帳 SCT(署名付きタイムスタンプ)を返す 公開 ドメイン所有者が監視 ブラウザがSCT検証 証明書 +SCT埋め込み Webサーバー TLSハンドシェイク ブラウザ SCTを確認して接続 不正発行の証拠が公開ログに残るため、悪意あるCAへの抑止力になる crt.sh でドメインに発行された全証明書を検索・監視できる
Certificate Transparencyのイメージ:証明書の公開ログと監視の流れ
ひよこ ひよこ

Certificate Transparencyって、普通の証明書の仕組みと何が違うの?

ペンギン先生 ペンギン先生

普通は認証局が証明書を発行したら、それはブラウザが信頼するだけだよ。でも2011年にDigiNotarというCAがハッキングされ、Googleドメインの偽証明書が発行されてしまった事件があったんだ。それを教訓に生まれたのがCTだよ。

ひよこ ひよこ

偽証明書が発行されたら、どうやってわかるようになるの?

ペンギン先生 ペンギン先生

CAは証明書を発行するとき、必ずCTログサーバーに記録を送ることが義務付けられているんだ。その記録が改ざんできないログとして全世界に公開されるから、誰でも「このドメインにどんな証明書が発行されたか」を確認できるよ。

ひよこ ひよこ

ブラウザはそのログをどうやって確認するの?毎回ログを読みに行くの?

ペンギン先生 ペンギン先生

毎回確認するわけではなくて、証明書の中に「このログに登録されました」という証明(SCT:署名付き証明書タイムスタンプ)が含まれているんだ。ブラウザはそのSCTを見てCTに準拠しているかを確認するよ。

ひよこ ひよこ

自分のドメインに知らない証明書が発行されていないか調べる方法はあるの?

ペンギン先生 ペンギン先生

crt.shというサイトでドメイン名を検索すれば、発行済みの全証明書をリスト表示できるよ。企業のセキュリティチームは定期的にモニタリングして、フィッシング用の偽ドメイン証明書を早期発見するために活用しているんだ。

ひよこ ひよこ

CTに対応していない証明書はどうなるの?

ペンギン先生 ペンギン先生

ChromeやSafariはCT非対応の証明書を信頼しないよ。GoogleはChrome 68(2018年)からすべての証明書にCT対応を必須にしたんだ。今では商用CAが発行する証明書は自動的にCTログに登録されているから、ユーザーが意識することはほぼないけどね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Certificate Transparency」って出てきたら「証明書の不正発行を全公開ログで監視する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Certificate Transparency」 = 証明書透明性
💬 GoogleがCA不正発行問題を受けて2013年に提案したRFC 6962として標準化された仕組みで、証明書発行を「透明」にすることで不正を防ぐ狙いがあるだよ
← 用語集にもどる