つくば市の電子申請・届出システムがリニューアルした。行ってみると、いきなりこんなことが書かれていた。
ご利用のブラウザ等の設定により,下の図のようなセキュリティ情報が表示される場合がありますが,問題ありません。「はい」をクリックしてください。
市役所に電話して尋ねたところ、こういう感じの応答になった。
私: 問題ないのでしょうか?市: 問題ないですね。
私: 問題ないのにどうして出るのでしょうか?
市: そうですね……。ブラウザの設定に起因する。
私: ブラウザの設定が悪いということですか?
市: そうではない。マイクロソフトがこういうふうにしているので。
これは、https://... のページのサブフレームの中に http://... のページを埋め込んでいるために発生している。フレームの中に入れなければよいのだし、他にも解決方法は何通りもある。
それはまあ些細なこととして、もっと凄いものを目の当たりにした。申請届出システムにログインすると、こういう確認ダイアログが現れる。
これは、署名されたJavaアプレット(Sun MicrosystemsのJava VMでの起動)が使用されているために現れる、署名確認のダイアログウィンドウだが、「信頼できない団体によって発行されています」と警告印が出ている。
しかも、アプレットへの署名者の名前が「TSUAPP0002」と意味不明な記号になっている。(ここは「つくば市役所」(の英語表記)と書かれるべき部分。)
この点についても電話で市役所の担当者に尋ねたところ、こんな感じの返事だった。
NTT BizLinkという第三者機関に認証してもらった。料金を払って証明してもらっている。
信頼できる団体と考えている。
矛盾した表示になっているが、これはマイクロソフトが……。
「TSUAPP0002」はこちらで決めた名前で、この名前でNTT BizLinkに認証してもらった。
開発ベンダーはNTT東日本。
これは、証明書の発行機関が、Java VMのルート認証局として登録されていない未信頼のところだからこういうことになる。いくら市役所の人たちが「信頼できる団体と考えている」と主張しようとも、PKIとしては全く機能していない。
PKIの基礎をまるで理解していない人達によって、電子政府は作られている。
こういうとき、ルート認証局の証明書をユーザに入れさせる自治体や中央省庁が多いが(それもデタラメなのだが)、この件もそうやって解決すればよいというものではない。その場合、最低でも、そのルート認証局の(「NTT BizLink, Inc.」の)認証局運用規定等を利用者に開示しなくてはならない。
しかし、「NTT BizLink」という会社は初耳だ。コード署名用の証明書発行認証局業務をやっているとは聞いたことがない。
「NTT Bizlink 認証」で検索してみたところ、こういうページが見つかった。
どうやら、電子入札システム用の自治体向け認証公証局サービスをやっているらしい。だが、コード署名用の証明書発行や、SSLサーバ証明書の発行などの業務については書かれていない。
可能性として次などが考えられる。
電子入札システム用の証明書が勝手に流用されたにしては、その証明書発行者の認証局(電子入札公証局)証明書の名前が、「BizLink CA」というずいぶん素っ気無い名前になっていて、それは不自然だ。
コード署名用の証明書の名前欄が「TSUAPP0002」というのは、どう考えても異常な事態である。これは、スキルとか知識の問題ではない。
"TSUAPP0002"から渡された書名つきアプレットを信頼しますか?とか、
"TSUAPP0002”はこの内容が安全であることを表明します。とか、
"TSUAPP0002"を信頼する場合にのみという文章を読んで、おかしいと思わないのだろうか? 国語力が欠如しているのか? そんなことはないだろうから、ようするに単に読みもせず適当にやっているのだろう。
つくば市が「TSUAPP0002」という名前に決めたという、そのPKIに対する無理解ぶりも酷いものだが、そんなデタラメな名前の証明書を発行してしまう認証局があるということは信じ難い。
もう、日本のPKIはめちゃくちゃだ。
おそらくもう取り返しがつかないだろう。あと5年はこのままデタラメぶりが続くと予想する。
総務省総合通信基盤局が「総務省 電波利用 電子申請・届出システム」の稼働を開始していた。その「電子申請のための準備のページを見ると、「信頼済みサイトの設定方法について」として、次のように設定するようユーザに指示している。
[セキュリティ]タブの[信頼済みサイト]を選択し、[サイト]ボタンをクリックします。 ブラウザの初期状態ではこのゾーンのセキュリティのレベルは「低」に設定されています。セキュリティのレベルは「低」「中低」または「中」に設定してください。
ここは、「中」に設定しなければならないところだ。なぜなら、
[このゾーンのサイトにはすべてサーバーの確認(https:)を必要とする]のチェックをはずします。
という設定をさせるからだ。
この「このゾーンのサイトにはすべてサーバーの確認(https:)を必要とする」の設定が、その意味が理解されないまま、オフにするように指示されている。
この項目がデフォルトでオンになっている理由は、[memo:4952]に書かれているように、ドメイン名だけでセキュリティゾーンを切り替えるのは、DNSスプーフィング攻撃などに弱く(SSLでサーバ証明書検証が必要とされている理由の一つ)、たとえその可能性がそれなりに小さいのだとしても、それによってセキュリティレベルが「低」となってしまうのは、リスクが可能性に比べて大きすぎるということだろう*1。
実際、マイクロソフトの「ブラウジングと電子メールの安全性を強化する(ハッカーや攻撃者から身を守ることができる3 つのステップ)」という解説の中でも、「ステップ 2: 安全であると考えられる Web サイトを [信頼済みサイト] に追加する」という指示があるが、きちんとその後に、
[このゾーンのセキュリティのレベル] にあるスライダのつまみを [中] に移動します。 これにより、信頼するすべての Web サイトのセキュリティのレベルが [中] に設定されます。と、正しい手順が書かれている。
総務省総合通信基盤局と同じ過ちは、他にも随所に見られる。
たとえば、7月24日の日記「パソコンユーザを国際電話ダイヤルアップ被害に陥れるNEC」で、「「署名済みActiveXコントロールのダウンロード」の「有効」チェックボックスをチェックします」というとんでもない危険な設定を指示していたことを書いたが、その後このページは改定されて、代わりに、信頼済サイトゾーンを使う設定方法が追記されたが、
「次の Web サイトをゾーンに追加する」に次のURLを入力し、「このゾーンのサイトにはすべてサーバーの確認(https:)を必要とする」のチェックを外して「追加」ボタンをクリックします。
と指示しているにもかかわらず、信頼済みサイトゾーンのセキュリティレベルを「中」にするようには指示していない(デフォルトでは「低」)。
素人にセキュリティ設定の説明を書かせるのは、いいかげんやめて頂きたいものだ。
これはスキルとか知識の問題ではない。セキュリティ設定というシビアなものについて、デフォルト設定でチェックされているもののチェックを外させるということは、それが何を意味するかを当然考えてみてしかるべきだ。考えても意味がわからないのなら、セキュリティを業務にしている人に相談してからにするべきだろう。
総務省 電波利用 電子申請・届出システムの解説には、こんなものもある。
本システムでは、通信を行うためにクッキー(Cookie)を利用します。下記の手順でブラウザのクッキーの設定を確認してください。ブラウザの初期状態ではプライバシーの設定は「中」に設定されています。 (略) 3.[自動Cookie処理を上書きする]をチェックし、[受け入れる]又は[ダイアログを表示する]を選択してください。
総務省 電波利用 電子申請・届出システム, 電子申請のための準備 3.ブラウザの確認 - クッキー(Cookie)の設定を確認
図のように、サードパーティのCookieも「受け入れる」にしろと指示している。
本当にサードパーティのCookieを使っているのか? 普通は使う必要がないはずだ。初期設定の「中」で、正常に動作するのではないのか?
仮に初期設定の「中」では動かないシステム構成になっているのなら、P3Pのコンパクトポリシーを提示するよう、Webサーバを設定して解決するべきだ。
ようするに、意味もわからずプライバシー設定を変えさせ、人々のプライバシーを犠牲にしている。
同じことをやっているところは非常に多い。たとえば、山梨県の電子申請システムの解説も同じようになっている。
こういうのは、見よう見まねでどんどん感染拡大していくのだろう。もう、止めようがない。
Internet Week 2004の参加申し込みサイトの「よくあるお問い合わせ(FAQ)」にも、次のような指示がある。
【JavaScriptの設定】Internet Week 2004, よくあ るお問い合わせ, Q2.登録・ログオンができません
- メニューバーの[ツール]-[インターネットオプション]を選択します。
- [セキュリティタブ]を選択します。
- [レベルのカスタマイズ]を選択し、[Java]の項目で[安全性‐高]にチェック。また、[スクリプト]の項目で[Javaアプレットのスクリプト][アクティブスクリプト][スクリプトによる貼り付け処理の許可]のそれぞれ[有効にする]にチェックし、[OK]を押してください。
本当におまえはJavaを使っているのか? と問い詰めたい。JavaScriptとJavaの区別も付かないだけではないのか? 本当に「スクリプトによる貼り付け処理」をこのサイトで使っているのか? 「スクリプト」と書かれているから意味もわからず、とりあえず「有効にさせときゃいい」と安易に考えているんじゃないのか?
「スクリプトによる貼り付け処理の許可」は「無効にする」にしておかなくてはならない。その理由は以下に説明されている。
*1 Windows XP SP2 で導入されたポップアップウィンドウのブロック機能で、ブロックしないサイトの登録機能に https 云々の機能がないのは、DNSスプーフィングの攻撃の可能性に比べて、それによる結果のリスク(ポップアップウィンドウが出る)が十分に小さいためだろう。
某市の電子申請・届出システムも心配です
フィッシング関係のセキュリティホール(1) の続き ■ IE 6 に欠陥 URLにワイルドカード 2004.06.11 国内記事は IE6のセキュ
Outlook Expressのプレビューについて を書いていて 「ActiveX をオフ→ http://www.ipa.go.jp/security/c