2008年04月03日 07時30分 UPDATE
特集/連載

いまだに使ってますか?無線セキュリティ──WEP暗号化の仕組み

WEP暗号の脆弱性は何年も前から知られていたにもかかわらず、これを使い続けていた小売業者のTJXは4500万件を超える個人情報を流出させた。あらためてWEPの仕組みと欠点を確認しておこう。

[David B. Jacobs,TechTarget]

 不十分なセキュリティ対策が原因で大手小売企業において発生した有名なデータ流出事件がある。広く報じられたこの事件をきっかけに、セキュリティプロトコルの選択肢が注目されるようになってきている。今回は2回シリーズの第1回としてWEP(Wired Equivalent Privacy)について説明し、次回ではWPA(Wireless Protected Access)とWPA2について説明する。

 この事件に関するメディアの報道によると、ハッカーは店舗内のIEEE 802.11信号を傍受できた。彼らは公開されているソフトウェアと一般的なノートPCを使い、このネットワークで利用されていた暗号を破ってパスワードとクレジットカード情報を記録することに成功した。

 ハッカーは、WEP暗号が簡単に解読されてしまうことが何年も前から知られていたにもかかわらず、この小売業者がWEPを使い続けていたことにつけ込んだ。WEPの脆弱性は、その仕組みのシンプルさに起因している。

基本的な特徴

 WEPは、1989年に採択された最初のIEEE 802.11仕様に盛り込まれた。WEPでは認証と暗号化のためにRC4ストリーム暗号方式を採用している。WEPの最初の規格では、40ビットのキーを使わなければならなかった。この規格が発表された当時、米国政府は堅固な暗号手法の輸出を制限していたためだ。この輸出制限の撤廃に伴い、最大キー長は104ビットとなった。

 RC4は「Rivest Cipher 4」の略で、マサチューセッツ工科大学(MIT)のロン・リベスト教授によって開発された。RC4の長所は、ソフトウェアに実装しやすいことと、比較的少ないプロセッササイクルを使用することだ。当時はプロセッサ負荷が低いことが必須だった。初期のアクセスポイント(AP)は処理能力がかなり限られていたからだ。

 WEPプロトコルには、キーの配布を自動化する方法が含まれていないため、マスターキーを各APや各ノートPC、そのほかのネットワークデバイスに手動で設定しなければならない。マスターキーは通常、16進数の文字列として指定される。

認証方式

 WEPでは、「Open System」と「Shared Key」という2種類の認証が規定されている。Open Systemでは事前の認証は行われない。どのステーションも通信を試みることができる。Shared Keyでは、次の4つのステップが必要になる。

  1. 通信を開始しようとする送信ステーションが受信ステーションに認証要求を送る。大抵の場合、受信ステーションはAPである
  2. APは平文のチャンレンジメッセージを返信する
  3. 認証を要求したステーションはRC4を使ってこのメッセージを暗号化し、APに返信する
  4. APはこのメッセージを復号する。その結果が、送信されたメッセージと一致すれば、認証を要求したステーションは正しいキーが設定されていることになる。これは、このステーションがネットワークの利用を許可されている証明になる

 こうして2つのステーションは、RC4と認証プロセスで使われた同じキーを用いて暗号化と復号をそれぞれ行い、メッセージを自由に交換できるようになる。

暗号化プロセス

 送信ステーションは、自身に設定されているマスターキーを24ビットの初期化ベクター(IV:Initialization Vector)と組み合わせて、64ビットのキーを作成する。IVは、連続する一連のパケットを別々のキーで暗号化することで、暗号化を強化し、設定されているキーをハッカーに割り出されにくくする。

 WEP規格では、IVの作成方法は規定されていない。この方法は実装に依存している。乱数ジェネレータでパケットごとにIVを生成するステーションもあれば、最初はゼロにして徐々に値を大きくしていくステーションもある。IVは各パケットの一部として平文で受信ステーションに送信される。

 また、各パケットの内容のチェックサムがCRC32アルゴリズムを使って計算され、パケットの末尾に付加される。

 マスターキーとIVが組み合わされたキーと、暗号化されるテキストが入力となり、RC4の処理が行われる。

  1. 組み合わされたキーのバイトがキースケジューリングアルゴリズムでスクランブルされる
  2. スクランブルされたキーが疑似乱数ジェネレータに送られ、ジェネレータはこのキーを使って、暗号化されるパケットの各バイトごとにキーバイトを出力する
  3. メッセージバイトとこのキーバイトをXOR(排他的論理和)演算することで、メッセージの各バイトが暗号化される
  4. チェックサムが暗号化され、暗号化されたテキストの末尾に追加される

 受信ステーションは、設定されているマスターキーと受信した平文のIVを使って、パケットのテキストとチェックサムを復号する。さらに、パケットテキストを基にチェックサムを計算する。受信されたチェックサムと計算されたチェックサムが一致すれば、パケットの内容は伝送中に改ざんされていないことになる。

WEPの欠点

 802.11規格が登場して間もなく、暗号研究者はWEPプロトコルの不備を指摘した。WEPには以下のような欠点があるのだ。

 まず、IVが短すぎる。IVは24ビットであるため、取り得る値は1600万通りしかない。通信が活発に行われるネットワークでは、数時間の間に同じIVが再利用されることになる。しかも、1600万通りのうち約9000通りの値は、「弱いIV」と呼ばれている。弱いIVを使うと、ほかのIVを使う場合と比べて、設定されているキーについてより多くの情報を明かしてしまう。

 認証メカニズムも弱い。APからクライアントにチャレンジテキストが平文で送信され、クライアントは暗号化されたテキストを返信する。ハッカーは平文のチャレンジ、平文のIV、暗号化された返信を利用して、偽の認証応答を行ってネットワークに侵入することが可能だ。

WEPの代替プロトコルは?

 WEPに代わるプロトコルの必要性が明らかになったため、IEEEで802.11iの標準化作業が開始され、WPAとWPA2が開発された。これらのプロトコルについては、次回に説明しよう。

本稿筆者のデビッド・B・ジェイコブズ氏はThe Jacobs Groupを経営し、ネットワーキング業界で20年以上の経験を持つ。フォーチュン500企業ならびにソフトウェア分野の新興企業を顧客として、最先端のソフトウェア開発プロジェクトの管理やコンサルティングを手掛けてきた。

関連ホワイトペーパー

暗号化 | IEEE | 無線LAN


この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事