証明書の透明性
公的に信頼されている認証局によって発行された全ての証明書を公開ログとして記録して、これを素に不正発行がされていないかを監視・監査する為の仕組み(フレームワーク)。インター ウィキペディアから
証明書の透明性(英: Certificate Transparency、CT)は、デジタル証明書の発行の監視・精査を目的に策定されたインターネット標準である[1]。この標準は、信頼される認証局が署名した証明書を逐次記録し、それを検索する公開のログのシステムを作るというものである。これにより、誤操作や悪意ある証明書の発行を効率よく検知できる[2]。
CTの初版は実験的のステータスであるRFC 6962で規定されている。バージョン2.0はRFC 9162で規定されている。
経緯
2011年、Comodo Cybersecurityの認証局の再販業者が不正侵入され、別の認証局DigiNotarでも不正な証明書発行が行われた(2011年デジノター事件)[5]。これらの事件は、認証局を取り巻くエコシステムの欠陥への関心を呼び起こし、不正な証明書の発行を禁止または監視する様々な取り組みが促進されていくこととなった。同年、これら証明書発行の問題に対抗するオープンソースのフレームワークをBen Laurie、Adam Langley、Emilia Kasperが作り始めた。それがCTである。2012年、コードネームSunlightとして、IETFに最初のインターネットドラフトが送信された。
利点
デジタル証明書管理の問題の1つは、不正な証明書がウェブブラウザのベンダーに発見・報告・取り消しされるまで長期間を要することである。CTは、ドメイン名の所有者の知らぬ間に当該ドメインに対する証明書が発行できないようにすることを支援しようというものである。
Online Certificate Status Protocol(OCSP)やConvergenceと同様に、CTはサイドチャネル通信を必要としない[要説明]。また、CTは信頼できる第三者を必要とせず運用できる。
欠点
記録されたログを調べることで、関係者のみで利用するFQDN(簡単に言うとサーバ名)が外部にさらされてしまう。
構成について
CTログ
CTログは証明書・プレ証明書を記録していく台帳である。データ構造としてマークル木が用いられる。証明書・プレ証明書の登録をCTログに要求すると、CTログはその証に署名付き証明書タイムスタンプ(SCT、Signed Certificate Timestamp)を発行する。
CTの目的を達成するため、CTログには以下が求められる。
- ログに送信された証明書・プレ証明書それぞれについて、信頼されるルート認証局の証明書にチェーンしていることの検証
- 有効な署名のチェーンの無い証明書の公開を拒否すること
- 新規に受け入れる証明書からルート証明書までのチェーン全体を保存すること
- 要求に応じて、監査のためにこのチェーンを提示すること
ログとして、完全には有効でなかったり有効期限が切れていたりする証明書を受け入れることもあり得る。
CT monitors(モニター、監視)
モニターは、記録されていくログを監視する役割のシステムである。また、関心のある証明書の登録の監視を行う場合もある。たとえば、自らの所有するドメインが無断で発行されていないか監視するという利用方法があり、複数社がそのためのサービスを提供している。
CT auditors(監査)
モニターがログ内の個々の証明書に関心を有する存在である一方、ログ全体の整合性を検証する役割が監査者(auditor)である[6]。
ブラウザベンダーの対応
Google Chrome、SafariおよびMozilla Firefoxでは、HTTPS通信の際にサーバー証明書に対してCTに対応していることを要求する。非対応であれば証明書を信頼せず通信を中断する[7][出典無効]。対応していることの判定として、ウェブサーバーからSCTが得られることを要求している[8]。
Google Chromeの場合、この処理は以下の条件で適用される[9]。
- EV証明書に対しては2015年1月以降に発行されるもの
- その他すべての証明書については2018年5月以降に発行されるもの
- 発行日によらず、HTTPレスポンスにExpect-CTヘッダーフィールドが指定されている場合、その指定に従う
Safariでは、2018年10月15日以降に発行のサーバー証明書に対してCTへの対応を要求している[10]。
Mozilla Firefoxではデスクトップ版バージョン135以降、Mozilla's Root CA Programに収録されている認証局によって発行されたすべてのサーバー証明書に対してCTへの対応を要求している[11][12]。
歴史

2013年3月、Googleは最初のCTログサービスを開始した[13]。同年9月、DigiCertがCTを実装する最初の認証局となった[14]。
2015年、Google Chromeは新規のEV証明書に対しCTを必須にした[15][16]。さらに、ドメイン所有者が認知していない証明書発行が計187件確認されたため、Google Chromeは2016年6月1日以降にSymantecが新規発行する証明書すべてにCTを要求し始めた[17][18]。その後、CTを必須とする要件は2018年4月より後(すなわち5月以降)のすべてのTLS証明書に拡大された[4]。
2018年3月23日、CloudflareはNimbusという名称で自身のCTログの開始をアナウンスした[19]。
2018年3月、インターネットドラフト“Certificate Transparency Version 2.0”が公開された[20]。
2019年5月、認証局の1つであるLet's EncryptがOakという名称でCTログを開始した。2020年2月からは承認されたログリストに追加され、すべての公開認証局で使用可能となっている[21]。
CTログを調査するツール
- crt.sh by Sectigo
- certstream.calidog.io
- ct.cloudflare.com – Merkle Town by Cloudflare
脚注
外部リンク
Wikiwand - on
Seamless Wikipedia browsing. On steroids.