インドの認証局(CA)eMudhraが発行した8件の中間証明書に関連する秘密鍵が侵害されたことが分かり、ルートプログラムやトラストストアが相次いでこれらの証明書のブロックを始めました。
問題の証明書は2025年4月に発行されたものです。侵害された鍵の一部を悪用すると、攻撃者が不正な証明書を生成し、あらゆるウェブサイトになりすませる可能性があります。
10月17日、MozillaとGoogleがそれぞれFirefoxとChromeで当該証明書をブロックしました。AppleとMicrosoftも、それぞれ10月19日と10月20日にブロックしています。Sectigoも失効の手続きを進めたほか、Cloudflareは自社サービスにパッチを適用しました。
eMudhraは侵害された証明書を失効させ、下流のトラストストアにも問題を通知しました。
Googleは次のように説明しています。「これらの証明書の秘密鍵は、十分なランダム性がない状態(暗号学的エントロピーが弱い状態)で生成されていました。そのため、これらのCAへの信頼をまだ削除していないクライアントに対しては、誰でも信頼されるHTTPS証明書を偽造し、任意のウェブサイトになりすますことができます」
証明書はブロックされ失効もしていますが、侵害された中間証明書が確実に信頼されなくなるようにするには、クライアントによってはソフトウェアの更新が必要になる場合があります。
Mozillaのデニス・ジャクソン(Dennis Jackson)氏は、侵害された証明書を現在もクライアントが信頼しているかどうかを確認できるツールを公開しました。同氏は、秘密鍵が誤った方法で生成されており、証明書から取り出せる状態だったとも説明しています。
実際、ジャクソン氏は、手順が比較的容易で短時間で済むため、複数の人物が独自に鍵を取り出していると警告しました。
ジャクソン氏は次のように述べています。「秘密鍵は、最後の1バイトを除いて事実上すべてゼロです。baby-step giant-step法による離散対数アルゴリズムを使えば、ほぼ瞬時に復元できます」
証明書透明性(CT)ログを見る限り、失効前に鍵が悪用された形跡はないようです。ただし、すべてのクライアントがCTを強制しているわけではありません。攻撃者がそうしたクライアントに対するなりすましに鍵を使った可能性もあります。
eMudhraによると、鍵生成セレモニーで使ったスクリプトに不具合があり、より脆弱な2組目の鍵ペアが作られました。この鍵ペアは、元の鍵とラベルが似ていたため、証明書署名要求(CSR)の作成に誤って使われたといいます。
CAは次のように述べています。「補足ですが、これらの発行CAは、一部のお客様のデータ主権の問題に対応するため、米国と欧州のデータセンターへ持ち出す目的で作成したものでした。実際に本番運用に入ったのは1つだけです」
eMudhraは続けて、こう説明しています。「このKGC(鍵生成センター)では、複数の工程で人為的なミスが重なり、鍵のライフサイクル全体の完全性を担保する仕組みに重大な欠陥が生じました。現在、今回の問題に関わるコードの不備、プロセスの抜け穴、作成者と確認者による相互チェックの管理を詳しく調べています。今後1週間かけて、これまで実施したすべての鍵生成セレモニーを再検証します」
翻訳元: https://www.securityweek.com/browsers-block-emudhra-intermediate-cas-over-recoverable-private-keys/