GPKI のセキュリティ
先日 Firefox にサイト証明書をインポート(ダウンロード)する警告ダイアログをチェックするために、テスト用サンプルの自己証明書(俗に言う「オレオレ証明書」)を検索したら外務省のものが見つかりました。それで気づいたんですが、外務省による自己証明書の配付方法は、論外ではないものの、思いっきり問題ありじゃないですか?
外務省の自己証明書ダウンロードサイトでは証明書を受け入れるときに行うべき証明書の確認手順 (3) で次のように書いてあります:
正しいフィンガープリントは、官報(平成15年4月1日付)に加え、外務省ホームページ(日本語)及び電子政府総合窓口のホームページに掲載されていますので、40桁の文字列が全て一致することを確認してください。
うんうん。自己証明書はそれが本物であることを確認するためには、別途安全な経路で入手したフィンガープリントと証明書に付記されているフィンガープリントとを比較することが必要ですからね。説明画面のスクリーンショットからはちゃんとフィンガープリントが削除されているし、官報でフィンガープリントを確認すれば安全ですね。うんうん。
と思って最初はさらっと流してしまったのですが、続けて外務省ホームページや電子政府総合窓口のホームページに掲載していると書いてますね。ふと気になって確認してみたら、次の非セキュアなページにフィンガープリントが掲載されていました。
オイオイオイオイオイオイオイ。それはちょっとまずいでしょ。これらのページが本物であるって事は誰がどうやって確認するんですか?証明書配布サーバとフィンガープリント掲載サーバとをクラック(あるいは DNS Spoofing とか)して、自己証明書とフィンガープリントページだけを置き換えてあげれば、ユーザは完全にだまされてしまうではないですか。
これでは何のためにフィンガープリントを確認させているのか分かりませんね。フィンガープリントは自己証明書の入手経路とは異なる、別途安全な経路から入手するからこそ意味があるものであり、非セキュアなサーバにフィンガープリントを掲載しては意味がありません。
しかもこれ、どうやら外務省だけではなく GPKI (政府認証基盤)の一部として行われているもので、他の省庁についても同じっぽいです。更に GPKI は LGPKI (地方公共団体組織認証基盤)と連携している様子。文字通り認証システムの基盤でありセキュリティの要である、GPKI/LGPKI 認証局証明書の話なんです。
つまり、GPKI 関連のサーバにあるファイルを 2 つ書き換えれば、官公庁組織のコンピュータに偽のサイト証明書を導入させることができるということです。後は適当に証明書によって得られる特権を行使すれば、データを盗むなりなんなり好きにできるわけです。
じゃぁ、どうすれば良かったのかというと、簡単です。政府機関の認証局証明書をブラウザにデフォルトで含めてもらえばいいだけです(個人的にはこんな運用する組織の証明書含めて欲しくないですが)。諸般の事情でそれができないなら、せめて Web 上の非セキュアなサーバ上で公開するのは止めてください。官報などオフラインのみでフィンガープリントを知らせるか、別途セキュアな通信を用いて知らせてください。あるいは単に(そもそも GPKI の認証局をルートになどせずに) VeriSing とかに署名してもらってください。何でそれくらいのことができないんですか?
あまりこういった話題を取り上げるのはどうかと思ったのだけど、無関係な個人や企業が対象の話ではなく、一国民として心配するのは当然じゃないかと思うので。もし単に私の誤解だったなら指摘してください。喜んで謝罪訂正し、安心させていただきます。(^^;
Comment by Kazabana
2006/7/15
GPKIの似たような話は以前産総研の高木氏が指摘していたような気がします(何時の記事なのかは失念)。
高木浩光@自宅の日記
http://takagi-hiromitsu.jp/diary/
外務省に直接言うのだと放置されそうな雰囲気ですから、国会議員などに働きかけてもらうのも一つの手かもしれません。
自民党の河野太郎議員あたりは外務省関係のお仕事もされているようですので、それなりに聞いてもらえるかもしれません。
衆議院議員 河野太郎発行メルマガ「ごまめの歯ぎしり」ブログ版
http://www.taro.org/blog/