Mozilla は、新しい証明書検証システムを導入し、Firefox の将来のバージョンで SSL 証明書に関する業界のベストプラクティスをより厳格に適用する予定です。
新しいシステムは「mozilla::pkix」と呼ばれるライブラリとして実装され、7月にリリースが予定されているFirefox 31で利用が開始される予定だ。
新しいライブラリにおける証明書検証の変更の多くは微細なものであり、証明機関/ブラウザ(CAB)フォーラムが発行した「公的に信頼された証明書の発行および管理に関する基本要件」に規定された技術要件に関連しています。ただし、一部の動作変更は、MozillaがCA証明書の信頼に関する独自のポリシーに加えた変更にも起因しています。
たとえば、mozilla::pkix の要件を説明するドキュメントには、「サーバーが使用するエンド証明書には、isCA=TRUE をアサートする基本制約を含めることはできません」と記載されており、「信頼アンカーまたは中間証明書として使用される証明書には、基本制約拡張を含め、isCA ビットをアサートすることが必要になりました」と記載されています。
不正な証明書との戦い
これら 2 つの要件は、インターネット上の任意のドメインの SSL 証明書を発行するために使用できる下位 CA (サブ CA) または中間証明書の悪用を防ぐことを目的としています。
2012年2月、ブラウザが信頼する認証局(CA)の一つであるTrustwaveは、サードパーティ企業が自社の企業ネットワークを通過するSSLトラフィックを検査するために使用するサブCA証明書を発行していたことを公表しました。Mozillaは当時、たとえ閉鎖された企業ネットワーク内であっても、中間者攻撃によるSSLトラフィック監視にサブCA証明書を使用することは容認できないと表明していました。

2013年1月には、ブラウザから信頼されているトルコの認証局Turktrustが発行したサブCAステータスの証明書が、アンカラ市のSSLトラフィック監視機能付きファイアウォールアプライアンスにインストールされたという事件が発生しました。Turktrustによると、問題の証明書は2011年8月に誤ってサブCAステータスで発行された2つの証明書のうちの1つであり、実際には通常のエンドユーザー証明書であるはずでした。
1か月後、MozillaはCAポリシーを変更し、すべてのサブCA証明書は証明書拡張機能を用いて特定のドメイン名に技術的に制限するか、通常のルートCA証明書と同様に公開・監査されることを義務付けました。mozilla::pkix証明書検証ライブラリは、ブラウザ内でこのポリシー変更を適用し始めます。
Firefox ユーザーの大半は、新しい証明書検証システムによって何か異常なことに気付く可能性は低いですが、一部の HTTPS ウェブサイトでは問題が発生する可能性があります。
「広範囲にわたる互換性テストを実施しましたが、お客様のウェブサイト証明書がFirefox 31で検証されなくなる可能性があります」と、Mozillaセキュリティエンジニアリングチームは木曜日のブログ投稿で発表しました。「MozillaのCAプログラムに参加しているCAが発行した証明書をご利用の場合は、MozillaのCA証明書ポリシーとBR(CABベースライン要件)に従って証明書を発行しているはずなので、問題にはならないはずです。」
Mozilla はまた、6 月末までに新しいライブラリのコード内で発見され報告された重大なセキュリティ上の欠陥に対して 10,000 ドルを支払う特別なバグ報奨金プログラムも作成した。
「最近、私たち全員が痛いほど思い知らされたように(Heartbleed、#gotofail)、TLSライブラリの正しいコードは今日のインターネットにおいて非常に重要であり、このコードが何百万人ものFirefoxユーザーに出荷される前に堅牢であることを確認したい」と、Mozillaのセキュリティ責任者であるダニエル・ベディッツ氏は木曜日のブログ投稿で述べた。
「私たちが主に関心を持っているのは、本来拒否されるべき証明書チェーンを有効として受け入れてしまうバグと、悪用可能なメモリ破損につながる新しいコードのバグです」とベディッツ氏は述べた。「Firefoxが本来有効な証明書を検証できなくなるような互換性の問題は、一般的にセキュリティバグとはみなされませんが、偽造された署名付きOCSP(オンライン証明書ステータスプロトコル)レスポンスをFirefoxが受け入れてしまうバグは、セキュリティバグとみなされるでしょう。」