Mozilla Hacksの2025年8月19日付記事「CRLite: Fast, private, and comprehensive certificate revocation checking in Firefox」を紹介します。
テーマは、TLS証明書の「失効」をブラウザがどう確認するかです。証明書は有効期限内でも、不正利用や鍵漏えいなどの理由で取り消されることがあります。問題は、その取り消し情報をブラウザが安全かつ現実的なコストで参照できるかどうかでした。
CRLiteが変えること
記事では、FirefoxがCRLiteを使って、Certificate Transparencyログに現れる失効済み証明書の集合をコンパクトに取得し、ローカルで確認する仕組みが説明されています。Firefoxはこのデータを定期的に更新し、新しいTLS接続のたびに手元で照合します。
従来使われてきたOCSPでは、ブラウザが証明書の状態を外部のOCSPサーバーに問い合わせます。この方式は、ユーザーがどのドメインへアクセスしようとしているかを問い合わせ先や経路上の観測者に漏らしうる点が課題です。記事では、Firefox 137からデスクトップ版でCRLiteが有効化され、Firefox 142ではドメイン検証証明書向けOCSPを無効化する流れが説明されています。
参照リンクから見える背景
記事中のMDNのCertificate Transparency解説を見ると、CTログは発行済みTLS証明書を公開ログとして監視できるようにする仕組みです。CRLiteはこの広い観測基盤を使い、失効情報をブラウザ側で扱えるサイズへ圧縮して届ける点が特徴です。
また、CA/Browser ForumのOCSP任意化に関する投票や、Let’s EncryptのOCSP終了方針を見ると、OCSPを前提にした失効確認はエコシステム全体としても転換点にあります。CRLiteは、単にFirefox独自の最適化というより、この変化に対する実装上の答えとして読めます。
さらに、FirefoxのHTTPS-First、DNS over HTTPS、Encrypted Client Helloと並べると、CRLiteは「暗号化された接続を増やす」だけではなく、「接続時に漏れる周辺情報も減らす」取り組みの一部だとわかります。
技術的に面白い点
CRLiteの実用化を支えているのが、Clubcardと呼ばれる集合照合用のデータ構造です。記事内で参照されている論文では、WebPKIの証明書失効集合を小さく表現し、差分更新もかなり小さいサイズに抑える設計が説明されています。関連実装として、Clubcardライブラリ、CRLite向けClubcard実装、CRLiteバックエンドも公開されています。
気づき
この話で特に印象的なのは、セキュリティ強化が「追加の問い合わせ」ではなく「問い合わせを減らす」方向で実現されている点です。失効確認を厳密にしようとすると通信が増え、通信が増えるとプライバシーや性能に影響する、という直感があります。CRLiteは、そのトレードオフをデータ構造と配布設計でひっくり返しているのが面白いところです。
Web開発者にとっても、TLSや証明書は普段はインフラ側の話に見えがちですが、ブラウザがどのように「信頼を取り消す」のかを知ると、HTTPSの安全性が単なる暗号化だけでは成り立っていないことが見えてきます。
参照元: CRLite: Fast, private, and comprehensive certificate revocation checking in Firefox

コメントを残す