Voceraの無線LAN VoIP電話機にPEAPのセキュリティをバイパスする脆弱性があるというニュースから2日後、私はCiscoから、同社の無線LAN VoIP電話機の7921モデルに電子証明書が暗号処理的に検証されないという同じ脆弱性を持っていることを認める返答を得た。CiscoとVoceraの両社は私に対し、将来のPEAPの実装ではこの問題を修正し、証明書の真正性を確認するために必要な手順を実行するようにするつもりであると述べた。
「CiscoはCiscoの無線IP電話の7921モデルが、現状ではPEAP(MS-CHAPv2)を使うよう設定された場合、サーバーの証明書を検証していないことを認める。Cisco 7920モデルではPEAPをサポートしていない。CiscoはPEAP利用時にクライアント側でサーバの証明書を検証するオプションを可能にする長期的な解決策を予定している。ただし、現在はソフトウェアのアップグレードがいつ提供可能になるかは決まっていない。この問題を回避する方法として、管理者はPEAPの代わりにEAP-TLSを利用するよう設定すれば、クライアントとサーバの双方向認証を行うことができる。」
EAP-TLSを使えばこの問題の回避できるが、管理オーバーヘッドのため誰にでも適するものではないかも知れない。EAP-TLS認証は認証サーバーだけでなくクライアントにも証明書を必要とする。これは、無線VoIP電話機1台1台にに電子証明書を発行しなくてはならないということだ。
Voceraの同じ脆弱性についての記事で私が触れた別の回避方法は、PEAP認証モードを使い続けながら、それぞれの電話機で無作為の32文字の英数字パスワードを使うというものだ。32文字のパスワードは2から128ビット以上相当のエントロピーになるため、辞書攻撃は非現実的になる。通常PEAP認証では比較的短いパスワードを使ってよいが、PEAPが提供するプライバシの外側のレイヤが破壊されてしまっているため、ここでは使えない。CiscoとVoceraのPEAPの実装では電子証明書を検証していないため、これらの安全性はCiscoのLEAPと同じ水準まで落ちてしまっている。残念ながら32文字の無作為パスワードは実用的なものではなく、ユーザーは短いパスワードを使ってしまうことが多いため、破られやすくなってしまうだろう。
正しいPEAPの実装では、外側のレイヤが信頼できるSSLの場合の保護水準と同様の保護を提供できるため、ユーザーの認証情報は平文で送信しても構わない。PEAPは外側ではRSAの非対称鍵を使ったTLSの強い保護を使い、内部ではハッシュ化されたチャレンジ/レスポンスを用いるCHAPに基づく認証による弱い保護を使う。残念ながら、保護レイヤが2つあることが、CiscoやVoceraのようなベンダーが、内側のレイヤだけで十分であると信じ重要な保護の外側のレイヤで近道をするという判断をさせてしまったのかも知れない。
このような近道をしたベンダーの機器は無線ローミングの性能は向上するが、よりよい性能を得るための本来の方法はPMKキャッシュをアクセスポイントインフラに実装することであり、暗号処理の面で近道をすることではない。少なくともLEAPプロトコルでは、外側のレイヤによる保護がないことが初めからわかっているため、ユーザーはパスワードのポリシーを決める際にそれを考慮に入れることができた。脆弱性のあるPEAP認証メカニズムでは、ユーザーに間違ったセキュリティの感覚を与えるため、LEAPを使っている場合よりも事態は悪くなる。
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ