Wired Equivalent Privacy

From Wikipedia, the free encyclopedia

Wired Equivalent Privacy(直訳すると有線同等機密、通称WEP)は、IEEE 802.11無線ネットワークのセキュリティのためのアルゴリズム1997年に登場したとき[1]、WEPは従来からある有線LAN並みの機密性を提供するものと期待されていたが、後に容易に解読できることが判明したため廃れた。

2001年以降、暗号解読者らによって深刻な弱点がいくつか明らかとなり、最終的には容易に入手可能なソフトウェアを使って数分でWEPコネクションを解読可能な状態となっている[2]。数か月以内にIEEEは新たなタスクフォース802.11iを立ち上げ、この問題の対策を検討し始めた。

2003年には、802.11iによってまとめられつつあった改正案のサブセットである Wi-Fi Protected Access (WPA) でWEPを置き換えることを Wi-Fi Alliance が発表した。2004年には802.11iのまとめた規格 (WPA2) が承認され、IEEEは正式に WEP-40 と WEP-104 が「本来のセキュリティ目標を達成できなかったため、置換される」ことを宣言した[3]

脆弱性が明らかになっているにもかかわらず、WEPはその後しばらく広く使われていた[4]。特に、ニンテンドーDSなどの携帯型ゲーム機ではWEPにしか対応していない機器が多く、これらの機器は普及が進んでいたため、WEPのアクセスポイントが蔓延ることとなった。

WEPは安価で旧式なパーソナル用途向け無線LANルーターでも使用可能な暗号化手段で、通りすがりの他人に安易に無線ネットワークを使用されることは防げるものの、悪意を持って意図的に盗聴しようという試みに対しては無防備であるため、どんな形であれ使うべきではない[5]

なお、WEPを Wireless Encryption Protocol の略としている例が散見される[6]誤りである。[要出典]

詳細

WEPは1999年9月に承認された元々の IEEE 802.11 規格の一部である[7]。WEPでは機密保持のためにストリーム暗号RC4を使い[8]データ完全性保証のためにCRC-32チェックサムを使う[9]。2004年に新たな機構に置換されたが、今も規格文書に記載されている[10]

WEPの暗号化概念図: RC4の鍵ストリームを平文とXORして暗号文を作る。

標準的な64ビットのWEPは40ビットの鍵 (WEP-40) を使い、24ビットの初期化ベクトルと連結してRC4の鍵ストリームを生成する。WEPの当初のドラフト版が作成されたころ、アメリカ合衆国連邦政府は輸出向けの暗号技術を制限していたため、鍵の長さが制限されていた。鍵としては、10桁の16進文字列(0-9 と A-F)あるいは5文字の英数字(0-9、a-z、A-Z)として指定される(16進文字列の場合、1桁あたり4ビット × 10桁 + 24ビット初期化ベクトル = 64ビットWEP鍵。英数字の場合、1文字あたり8ビット × 5文字 + 24ビット初期化ベクトル = 64ビットWEP鍵)。

制限が解除されると大手メーカーは拡張された128ビットのWEPプロトコルを実装するため、鍵長を104ビットにした (WEP-104) 。128ビットWEPの鍵は、26桁の16進文字列をユーザーが入力する形で設定するのがほとんどである。これに24ビットの初期化ベクトルを生成して付け加え、最終的な128ビットのWEP鍵とする。鍵を英数字で指定する場合には13文字となる(16進文字列の場合、1桁あたり4ビット × 26桁 + 24ビット初期化ベクトル = 128ビットWEP鍵。英数字の場合、1文字あたり8ビット × 13文字 + 24ビット初期化ベクトル = 128ビットWEP鍵)。

いくつかのベンダーは152ビットおよび256ビットWEPを実装した。これは、128ビットの場合と同様に初期化ベクトルは24ビットで、残る128ビットあるいは232ビットを鍵として指定できる。この128ビットあるいは232ビットぶんの鍵も32桁あるいは58桁の16進文字列として指定する。鍵を英数字で指定する場合には16文字あるいは29文字となる(16進文字列の場合、1桁あたり4ビット × 32桁 + 24ビット初期化ベクトル = 152ビットWEP鍵、あるいは1桁あたり4ビット × 58桁 + 24ビット初期化ベクトル = 152ビットWEP鍵。英数字の場合、1文字あたり8ビット × 16文字 + 24ビット初期化ベクトル = 256ビットWEP鍵、あるいは1文字あたり8ビット × 29文字 + 24ビット初期化ベクトル = 256ビットWEP鍵)。

WEPのセキュリティ上の問題は鍵の長さだけではない[11]。鍵が長ければ、暗号解読にはより多くのパケットを盗聴する必要があるが、必要なトラフィックを生じさせる積極的な攻撃方法が存在する。WEPの他の弱点としては、初期化ベクトル衝突の可能性やパケット改変の可能性があり[8]、それらは鍵を長くしても対策にはならない。

認証

WEPでは、オープンシステム認証と共通鍵認証という2種類の認証方式が使われている。

なお以下ではインフラストラクチャーモード(WLANクライアントとアクセスポイント間の通信)の認証について解説するが、基本的にはアドホックモードでも同じである。

オープンシステム認証では、WLANクライアントは認証の際に自身の証明書をアクセスポイントに提供する必要がない。したがってどんなクライアントでも、そのWEP鍵がどういうものであれ、アクセスポイントに対して自身の認証ができ、ネットワークに繋がるよう試みることができる。つまり、事実上いわゆる認証と呼べるようなものはなされていない。その後、暗号化されたデータフレームが使われ、その時点でクライアントが正しい鍵を持っている必要がある。

共通鍵認証では、認証にもWEP鍵を使う。次のような4段階のチャレンジ/レスポンス型認証のハンドシェイクが行われる。

  1. クライアントはアクセスポイントに認証要求を送る。
  2. アクセスポイントは平文でチャレンジ(誰何)フレームを送る。
  3. クライアントはそのチャレンジフレームの中身を予め設定されたWEP鍵を使って暗号化し、それを認証要求に含めてアクセスポイントに送る。
  4. アクセスポイントはそれを解読し、前に送ったチャレンジフレームの平文と比較する。同一かどうかによって、アクセスポイントは肯定または否定の応答を返す。

その後、事前共有されたWEP鍵を使いRC4を使ってデータフレームを暗号化する。

一見すると、認証と呼べるようなことを全く行わないオープンシステム認証よりも共通鍵認証の方が安全なように思える。しかし、実際は全く逆である。共通鍵認証におけるチャレンジフレームを捕らえることで、ハンドシェイクで使われた鍵ストリームを把握することが可能である[2]。そのため、WEPではオープンシステム認証を使った方が賢明である。ただし、いずれにしてもWEPの認証機構は弱い。

弱点

対策

脚注・出典

Related Articles

Wikiwand AI