Wi-Fiセキュリティ入門 WEPの脆弱性と攻撃手法

はじめに
無線LANの普及に伴い、通信内容の盗聴や改ざんといったリスクも増大しています。特に1990年代後半から2000年代初頭にかけて主流であったWEP(Wired Equivalent Privacy)は、今日では「脆弱な暗号プロトコル」の代表的な例として認識されています。ではなぜWEPはそれほど脆弱とされているのでしょうか?どのように攻撃されてしまうのでしょうか?
本記事では、WEPの技術的な仕組みとその脆弱性代表的な攻撃手法について解説しています。Wi-Fi セキュリティへの理解を深めていただき、適切な対策を選択するための第一歩となれば幸いです。
そもそも Wi-Fi とは何か
Wi-Fi は商標名であり、略語ではありません。「Wireless Fidelity」という言葉が由来のように言われることがありますが、実際には高品質な無線通信を保証するブランド名として広く用いられています。
Wi-Fiの利点はケーブルなしでインターネット接続や通信ができる点にあります。一方で、電波が届く範囲であれば誰でも通信を傍受できる可能性があり、適切な対策をせずに Wi-Fi を利用するとセキュリティ上のリスクが生じます。例えば、カフェや公共施設のフリー Wi-Fi に接続したとき、通信が暗号化されていなければ、誰かにパスワードや個人情報を盗み見られる可能性があるのです。このような盗聴や改ざんを防ぐために様々な暗号化方式が導入されてきたのです。
WEPとその仕組みについて
WEPは1997年にIEEE 802.11標準の一部として導入された無線LANの暗号化方式です。WEPは「Wired Equivalent Privacy(有線通信と同等のプライバシー)」の略語ですが、名前の通り有線と同水準のセキュリティレベルを担保することを目指して開発されました。
まずはWEP暗号化の全体像です。WEP暗号化は以下の要素が組み合わさって実行されます。
- RC4暗号化アルゴリズム:WEPで用いられる暗号化アルゴリズムです。
- WEPキー(40ビットまたは104ビット):無線通信を暗号化するために使われる共通鍵で、古い機器では40ビット、新しいものでは104ビットが使われます。
- 24ビットの初期化ベクトル(IV):暗号化の繰り返しパターンを避けるために毎回付加される短いランダム値で、WEPではRC4の鍵に追加されます。
※IV は Initialization Vector の略 - 整合性チェック(ICV CRC32):送信データの末尾に付加されるチェック値で、受信側が改ざんされていないか検証するために使われます。
※ICVは Integrity Check Value の略
ざっくりで良いので少しイメージしてみましょう。WEPの暗号化プロセスの仕組みですが、以下のようになります。
- WEPキー(パスワードのようなもの)+ IV(毎回変わる24ビットの値) を組み合わせることで、 RC4でキーストリーム(鍵のようなもの)を生成
- あなたが通信したいデータ(平文)に整合性チェック(ICV CRC32)を付ける
- 上記②に記載の「データ(平文)とICV」の組み合わせを、キーストリームと混ぜ合わせて暗号化する
※暗号化は排他的論理和(XOR)で行われます。 - 仕上げに③で暗号化されたデータと一緒にIV(毎回変わる24ビットの値)を先頭に添えて送信

WEPの脆弱性
前章で紹介したWEPの暗号化プロセスは、パッと見た限りでは複雑かつ堅牢に見えるかもしれません。実際RC4という暗号アルゴリズムを用い、通信ごとに異なる初期化ベクトル(IV)を加えて暗号鍵を生成するなど、一定のセキュリティ対策が施されています。しかし今日の技術基準で見るとこの仕組みにはいくつもの致命的な設計上の弱点が含まれていることが明らかになっています。ここではWEPが抱える3つの主要な脆弱性について見ていきましょう。
IVが短すぎて再利用される
WEPで使われる初期化ベクトル(IV)はわずか24ビットしかなく、組み合わせは約1677万通りに限られています。ネットワーク上で大量のパケットがやり取りされると同じIVが短時間で何度も再利用されることになり、結果として暗号に使われるキーストリームも繰り返されてしまいます。
IVが平文で毎回パケットに付いてくる
WEPでは、受信側が復号処理を行うために暗号化に使われたIVがパケットの先頭に平文でそのまま添付されています。この仕様により、攻撃者は無線を傍受するだけでIVと暗号文のペアを容易に大量収集でき統計的なキー推定が可能になります。以下はWEPの暗号化が適用されたときにデータパケットを WireShark というツールで確認したものです。例えば、0xff0100 のようにIVがパケットの先頭に平文で含まれていることが確認できます。

ICV(CRC32)は脆弱で改ざん検知に向かない
WEPは改ざん検知にCRC32という値を使っていますが、これは本来ネットワークエラー検出用の仕組みであり、暗号的な耐性はありません。攻撃者はビットを操作することによってICVを一致させる偽のパケットを生成できるため、整合性検証をすり抜けた改ざんが可能になります。それでは実際にWEPの脆弱性をつく攻撃はどのようなものがあるのでしょうか。いくつかパターンを見ていきましょう。
WEPの脆弱性を利用した攻撃手法
ARP Request Replay Attack(ARPリプレイ攻撃)
ARP(アドレス解決プロトコル)はIPアドレスから対応するMACアドレスを調べる仕組みであり、このARPの特性を利用したWEPの脆弱性が存在します。WEPの脆弱性を突いた攻撃においてIVの収集は非常に重要な要素の一つです。この攻撃では無線ネットワーク上を流れるARPリクエストを1つキャプチャし、それをルーターに何度も再送信(リプレイ)します。
ルーターはその都度異なるIVを用いて応答を返すため、攻撃者は短時間で大量のIVを含むパケットを収集できます。このIVのデータセットをもとに、aircrack-ng などの専用ツールを使用すればWEPキーを統計的に解析して割り出すことが可能になります。これは同じARPリクエストを繰り返し送信することで、ルーターから異なるIVを含む応答を効率的に収集する手法です。
この手法の背景には以下の3つのポイントがあります。
- WEPで使われる初期化ベクトル(IV)は24ビットと短く、組み合わせは約1677万通りしかありません。そのため、通信量が多い環境では同じIVがすぐに再利用されてしまいます。RC4は、同じIVと暗号鍵の組み合わせに対して常に同じキーストリームを生成するため、IVが再利用されると暗号化されたデータが推測されるリスクが高まります。
- また、ARPリクエストなど内容が予測しやすい通信が多く存在します。こうした平文の一部が分かるパケットを使えば、暗号文と照らし合わせてキーストリームを逆算することが可能です。
- さらに、RC4にはキーストリームに偏り(バイアス)が生じやすいというアルゴリズムの構造的な問題があります。これにより、統計的な攻撃で暗号鍵を推定されやすくなってしまいます。
このように「繰り返される質問(ARP)」と「答えに含まれるヒント(IV)」を集めていくことで、最終的に暗号鍵を突き止めるという手法です。
aircrack-ng は、WEPなどの脆弱な Wi-Fi 暗号方式に対して収集したIVデータをもとに暗号鍵を解析したり復元したりするためのコマンドラインツールです。下図はその実行例で、実際のパスワード部分は伏せていますが、KEY FOUND! の表示があることからツールが暗号鍵の特定に成功したことが分かります。

Cafe Latte Attack(カフェラテ攻撃)
Cafe Latte 攻撃は、アクセスポイントではなく接続済みのクライアント端末を標的にして、WEPキーの解読に必要な初期化ベクトル(IV)を集める攻撃です。ARPリプレイ攻撃と同様にIVが平文で送信され、再利用されるというWEPの脆弱性を利用しています。
特徴的なのはネットワーク上に通信がほとんどなくても成立する点です。攻撃者は本物そっくりの偽のアクセスポイントを用意し、被害者の端末をそこに自動的に再接続させることで攻撃を成立させます。多くの端末は、過去に接続したことのある Wi-Fi ネットワークの情報を記憶しており、同じネットワーク名(SSID)とセキュリティ設定を持つアクセスポイントが存在すると、自動的に再接続を試みる機能があります。」攻撃者はこれを利用し、本物と同じネットワーク名と暗号方式(WEP)を持つ偽のアクセスポイントを設置し、、端末を一時的に切断させて再接続を誘導するのです。
偽のアクセスポイントに接続した端末は、ARPリクエストなどの通信を自動的に行うことがあります。攻撃者はこの通信を何度も再利用することで、IVを大量に収集し、WEPキーの解読につなげるのです(攻撃者は、前述のARPリプレイ攻撃と同様の手法を用いてIVを収集します)。
※余談ですが、「カフェのような公共 Wi-Fi で、カフェラテを飲みながらノートPCを使っている人を狙う」という意味を込めて名前が付けられたともいわれています(諸説あり)。
Korek Chop Chop攻撃(コレク・チョップチョップ攻撃)
この攻撃は、WEPで用いられるICVの脆弱性を利用し暗号化されたデータの中身を1バイトずつ復元していく手法です。例えばジグソーパズルの最後の1ピースを何度も入れ替えて試すようなイメージです。
攻撃者は暗号化されたパケットを細かく加工し、その都度アクセスポイントに送信します。そして「そのパケットが受け入れられたか(ICVが正しかったか)」という反応を観察することで正しいバイトの値を逆算していきます。この手法で一部のキーストリームを導き出せれば、その情報を利用して任意のパケットを偽造したり、ARPリプレイ攻撃へとつなげたりすることも可能です。
WEPでは「暗号文 ⊕(XOR) 平文 = キーストリーム」というXORの性質が常に成り立つため、復元した平文があればキーストリームの逆算も簡単に行えます。この性質により、1バイトずつの地道な解析であっても最終的には鍵そのものに迫ることができてしまうのです。
WEPは、無線通信が本格的に普及しはじめた1990年代後半に登場した暗号化方式として当時は一定の役割を果たしました。しかし、「IVの再利用」「ICVの脆弱性」「RC4の偏り」といった構造的な欠陥を多く抱えており、今日の水準では安全とは言えない技術です。
こうした脆弱性を突いた攻撃手法も数多く存在し、実際にWEPを突破するためのツールや成功事例も数多く確認されています。このような背景からWEPはすでに業界において信頼を失い、WPAおよびWPA2といった、より強固な暗号化方式が主流となっています。ただしWPAやWPA2にも課題や注意点が存在します。今後の連載では、それらの仕組みや実際に悪用され得る脆弱性についても掘り下げていく予定です。
