EXPLORINEER
ja

Hatena

eMudhra事件でWebアプリ開発者が点検すべきこと - Qiita

セキュリティ初登場 83ポイント


2026年10月、インドの認証局eMudhraの中間CA秘密鍵が極端に弱く、公開情報から復元できる問題が見つかりました。この鍵を使うと、他人のドメインの証明書を偽造できる恐れがあります。

何が起きたのか

インドの認証局eMudhraが発行する中間CA証明書の秘密鍵が、第三者に簡単に復元されてしまう問題が見つかりました。問題の通報は2026年10月17日UTC(日本時間では18日)に行われました。攻撃者はこの鍵を使い、自分の公開鍵に他人のドメイン名を結びつけた証明書を作れます。

数字で見る事件

  • 対象は8組の中間CA鍵です。内訳はTLS用が6組、コード署名用が2組です。
  • 鍵の方式はP-384という楕円曲線です。本来は384ビットの大きな範囲から予測できない値を選びます。
  • しかし秘密鍵に当たる整数は、すべて256未満でした。強さは8ビット程度しかありません。

証明書は何を確かめているのか

HTTPSは通信を暗号化するだけでは足りません。中間者攻撃を防ぐため、接続先が本物かを確かめる必要があります。そこで使うのが、ドメイン名と公開鍵を結びつけるサーバ証明書です。ブラウザは、サーバ証明書から中間CA、信頼済みのルートCAへと署名をたどって確認します。暗号方式そのものが破られたわけではなく、鍵の作り方が杜撰だったことが原因です。

なぜ重要なのか

今回の本当の危険は、偽サイトにHTTPSを付けられることではありません。管理者の許可なく、本物のドメイン名の証明書を作れてしまうことが問題です。利用者は正しいURLを開いても、攻撃者との通信につながる可能性があります。ただし、攻撃には通信経路を攻撃者側へ誘導する条件も必要です。また、この中間CAを信頼しているクライアントが対象になります。

開発者が次に確認すること

  • 本番サーバやバックエンドが、外部APIへの接続に使うCAストアを確認する。
  • コンテナやCI/CDのベースイメージ、ランタイム、ビルドツールを確認する。
  • Javaのcacerts、Pythonのcertifi、Node.jsの同梱CAなど、OSとは別のCA情報を確認する。
  • curlやGit、AWS CLIなどのツールが使う証明書の設定を確認し、修正版があれば更新する。
  • 自社サービスの証明書チェーンと、ルートCAの信頼解除による接続障害の有無を確認する。

用語解説

eMudhra
インドの認証局で、電子証明書を発行する会社です。
中間CA証明書
上位のCAから証明書を発行する権限を任された証明書です。
TLS
通信を暗号化し、接続先が本物かを確かめる仕組みです。HTTPSで使われます。

出典: Hatenaで原文を読む ↗

この記事は原文をもとにAIがやさしい言葉で書き直した解説です。事実関係は原文をご確認ください。