証明書の透明性(Certificate Transparency、CT)とは
証明書の透明性(CT)とは、デジタル証明書の発行プロセスを監視・監査するための
インターネット標準です。この標準は、信頼された
認証局(CA)が発行した証明書を、公開されたログシステムに記録し、誰でも検索できるようにすることを目的としています。これにより、不正な証明書の発行を検出し、セキュリティリスクを軽減することができます。
背景
2011年、複数の
認証局で不正な証明書発行事件が発生しました。これらの事件は、
認証局のエコシステムにおける脆弱性を露呈させ、不正な証明書発行を防止・監視するための対策が求められるようになりました。この問題に対処するため、Ben Laurie、Adam Langley、Emilia Kasperらが中心となり、オープンソースのフレームワークとしてCTが開発されました。
CTの仕組み
CTは、証明書の発行時に、
認証局が発行した証明書(またはプレ証明書)を、公開されたCTログに記録します。このログはマークル木というデータ構造を使用しており、改ざんを検知することが可能です。証明書がログに登録されると、署名付き証明書タイムスタンプ(SCT)が発行され、その証明書がCTログに正しく記録されたことを証明します。ウェブブラウザは、このSCTを確認することで、証明書がCTに対応しているかを検証できます。
CTの利点
- - 不正な証明書の発行の防止: CTは、ドメイン所有者が知らないうちに証明書が発行されることを防ぐのに役立ちます。
- - 早期発見: 不正な証明書が発行された場合、CTログを監視することで早期に発見できます。
- - 透明性の向上: 証明書の発行プロセスが公開されるため、セキュリティに対する信頼性が向上します。
CTの欠点
- - FQDNの露出: ログを監視することで、内部利用のサーバ名が外部に公開される可能性があります。
CTの構成要素
- - CTログ: 証明書とプレ証明書を記録する台帳です。マークル木構造が使用されます。
- - CTモニター: CTログを監視し、不正な証明書や発行状況をチェックします。ドメイン所有者などが、自身のドメインの証明書発行を監視するために利用します。
- - CT監査: CTログ全体の整合性を検証します。
ブラウザベンダーの対応
Google Chromeや
Safariなどの主要なブラウザは、
HTTPS通信時にサーバー証明書がCTに対応していることを要求します。CTに対応していない証明書は信頼されず、通信が中断される場合があります。
歴史
CTログを調査するツール
- - crt.sh by Sectigo
- - certstream.calidog.io
- - ct.cloudflare.com – Merkle Town by Cloudflare
まとめ
証明書の透明性(CT)は、デジタル証明書のセキュリティを向上させるための重要な技術です。不正な証明書の発行を検出し、ネットワークの安全性を高めるために、CTの導入は不可欠となっています。