Hatena
eMudhra のインシデントは Web にとって何を意味するのか | blog.jxck.io
セキュリティ初登場 421ポイント
インドの認証局 eMudhra(エムドラ)で、CA の秘密鍵が実質的に弱くなり、攻撃者が復元できる状態だったという事件です。Web の信頼の土台が揺らぐほど重大だと筆者は述べています。
何が起きたのか
eMudhra は、Web のサイトが正しいことを証明する「認証局(CA)」です。鍵を作る際にスクリプトのバグが入り、本来より非常に弱い鍵が作られました。その鍵が取り違えで中間 CA の鍵として使われてしまいました。
数字で見る事件
- 使われた鍵は楕円曲線暗号 P-384 です。本来は 48 byte のランダムな鍵のはずでした。
- 実際は上位 47 byte が全部 0 で、実質 1 byte の鍵でした。
- 候補は 256 通り程度しかなく、総当たりで短時間に逆算できます。
- 復元された鍵は 8 つ(4, 56, 66, 115, 155, 156, 230, 237)と報告されています。
認証局とは何か
Web サイトは、秘密鍵と公開鍵のペアを使い、証明書で「なりすましではない」ことを示します。その証明書が正しいかは、ブラウザやデバイスに入っている CA のリストで確かめます。CA はこの仕組みの土台で、「トラストアンカー」と呼ばれます。そのため CA の秘密鍵は、特殊なハードウェア(HSM)の中で厳重に守られています。
なぜ重要なのか
攻撃者がこの鍵を手に入れると、世界中のどのドメインについても、正規に見える証明書を作れてしまいます。ブラウザは警告を出しません。鍵が盗まれていなくても、盗まれたのと同じ状態です。筆者は、Web の信頼の根本が破られた出来事だと見ています。
今後の注目点
- eMudhra が発表した対応と、原因の詳しい報告がどう出るか。
- ブラウザやデバイスが、この CA をどう扱うか(Distrust などの措置)。
- CA/Browser Forum で、鍵生成の手順や監査をどう強化するか。
用語解説
- HSM
- 秘密鍵を中に閉じ込めて守る、専用の安全な機械です。
- Distrust
- ブラウザやデバイスが、ある CA を信頼しないと決めることです。
- トラストアンカー
- 信頼の出発点になる、信用された CA のことです。