無線LAN暗号化の歴史

攻撃と防御の終わりなき戦い

Wi-Fiは電波で通信します。電波は目に見えず、壁を通り抜け、範囲内にいる誰でも受信できます。つまり、暗号化なしでは、カフェで隣に座った人があなたのパスワードやメールを盗み見ることができるのです。

なぜ無線LANには暗号化が必須なのか

有線LANなら、ケーブルに物理的にアクセスできる人しか通信を盗聴できません。しかし無線LANは違います。電波は建物の外まで届き、誰でも傍受できます。だからこそ、データを「暗号化」して、正しい鍵を持つ人だけが読めるようにする必要があるのです。

この図解では、1997年から現在まで続く無線LAN暗号化技術の進化を、攻撃者がどう破り、防御側がどう対応してきたかという視点で説明します。完璧なセキュリティは存在しません。これは継続的な改善の物語です。

🔓
WEP
1997年〜2004年頃
完全に破られた規格

仕組み:どのように暗号化していたか

暗号アルゴリズム
RC4ストリーム暗号:データを1バイトずつ、乱数列と「混ぜ合わせる」ことで暗号化する方式(この混ぜ方をXOR演算といいます)。高速だが、同じ乱数列を再利用すると脆弱。
初期化ベクトル(IV)
24ビット(約1,677万通り):暗号鍵に追加されるランダムな値。パケットごとに変えることで、同じ鍵でも異なる暗号化結果を得る。しかし24ビットは短すぎて、すぐに同じIVが再利用されてしまう
鍵の管理
静的な共有鍵:すべてのデバイスが同じ40ビット(または104ビット)の鍵を使用。鍵は手動で設定し、長期間変更されない。
WEPの暗号化プロセス
1
平文データ + CRC-32チェックサム
送信したいデータにエラー検出用のチェックサムを追加
2
共有鍵(40 or 104ビット) + IV(24ビット)
秘密の鍵とランダムなIVを組み合わせる
3
RC4で乱数列(キーストリーム)を生成
組み合わせた鍵から、データと同じ長さの乱数列を作る
4
データ ⊕ 乱数列 = 暗号文
XOR演算で暗号化。IVは平文で添付して送信

致命的な欠陥:なぜ破られたか

攻撃1: IVの繰り返しによる統計的攻撃

24ビットのIVは1,677万通りしかありません。忙しいネットワークでは数時間で同じIVが再利用されます。

何が起こるか: 同じIVで暗号化された2つのパケットを入手すると、それらを特殊な計算(XOR演算)で比較することで元のデータの関係性が漏れます。大量のパケットを集めると統計的に鍵を推測できます。

攻撃2: Fluhrer-Mantin-Shamir (FMS)攻撃(2001年発見)

RC4のアルゴリズムに内在する弱点を利用した攻撃。特定のパターンのIV(「弱いIV」と呼ばれる)を使ったパケットを収集すると、鍵の一部を直接推測できます。

実際の影響: 10万〜100万個のパケット(数分〜数時間)を収集すれば、自動ツールで鍵を解読できます。2001年以降、誰でも使える解読ツールが公開されました。

攻撃3: CRC-32の脆弱性

CRC-32はデータの改ざん検出用ですが、暗号学的には安全ではありません。線形性があるため、暗号化されたままデータを改変し、チェックサムを正しく調整できます。

実際の影響: パケットの内容を書き換えて、受信側に気づかれずに偽のデータを送り込めます。

IV空間
16M
約1,677万通り
(すぐに枯渇)
解読時間
5分
現代のツールなら
(2000年代初頭)
セキュリティレベル
0%
完全に破られた
結論: WEPは「有線と同等のプライバシー」を目指しましたが、設計上の欠陥により完全に失敗しました。IVが短すぎる、RC4の実装が不適切、認証が弱いなど、複数の問題が組み合わさり、誰でも破れる暗号化になってしまいました。
🔐
WPA
2003年〜2004年
過渡期の応急処置

改善点:WEPからの進化

TKIPプロトコルの導入
Temporal Key Integrity Protocol(一時鍵完全性プロトコル):既存のWEP対応ハードウェアをファームウェア更新で使えるように設計された暗号化方式。
拡張されたIV
48ビット(約281兆通り)に拡大。24ビット(1,677万通り)から劇的に増加し、IVの繰り返しまでの時間が大幅に延びました。
パケットごとの鍵生成
2段階の鍵ミキシング:基本鍵 + IV + 送信者のMACアドレスを組み合わせて、パケットごとに異なるRC4鍵を生成。同じIVでも送信者が異なれば異なる鍵になります。
メッセージ完全性
Michaelという新しいメッセージ完全性コード(MIC)を導入。CRC-32より暗号学的に安全で、データ改ざんを検出しやすい。
WPAの鍵生成プロセス
1
基本鍵(128ビット) + 48ビットIV + MACアドレス
3つの要素を組み合わせる
2
第1段階ミキシング
上位32ビットのIVと基本鍵を混合
3
第2段階ミキシング
MACアドレスと残りのIVを加えてさらに混合
4
パケット固有のRC4鍵
この鍵でデータを暗号化

それでも残る限界

根本的な問題:RC4への依存

WPAはまだRC4ストリーム暗号を使用しています。鍵ミキシングで改善したものの、RC4自体の数学的な弱点は解消されていません。

Beck-Tews攻撃(2008年)

TKIPの特定の条件下で、短いパケット(ARPパケットなど)の暗号を解読し、限定的にデータを注入できることが発見されました。

実際の影響: WEPほど深刻ではありませんが、WPAも「一時的な解決策」であることが明らかになりました。

WPAの位置づけ: WPAはWEPの緊急パッチとして設計されました。既存のハードウェアで動作する必要があったため、RC4を捨てられませんでした。より根本的な解決には、新しい暗号アルゴリズムが必要でした。
🛡️
WPA2
2004年〜現在
長期主力規格

抜本的改革:暗号化の刷新

AES-CCMPへの完全移行
RC4を完全に廃止し、米国政府が機密情報の保護に使用するAES(Advanced Encryption Standard)を採用。CCMPはAESを使った暗号化プロトコルです。
暗号化アルゴリズム
AESブロック暗号(128ビット鍵):データを128ビットの固定ブロックに分けて暗号化。ストリーム暗号と違い、各ブロックが独立して処理され、数学的により堅牢。世界中の暗号学者が検証し、現在も破られていません。
CCMPプロトコル
Counter Mode with CBC-MAC Protocol:
CTR(Counter)モードで暗号化:パケット番号をカウンターとして使用し、AESで暗号化
CBC-MACで完全性保護:改ざん検出用の暗号学的に安全なメッセージ認証コード
この組み合わせで、暗号化と完全性の両方を実現
鍵管理
4-way handshake(4方向ハンドシェイク):クライアントとアクセスポイントが4つのメッセージを交換し、安全に暗号鍵を共有。鍵はセッションごとに異なり、定期的に更新されます。
WPA2の暗号化プロセス(AES-CCMP)
1
パケット番号(PN)の生成
48ビットのパケット番号。パケットごとにインクリメント
2
ノンス(Nonce)の構築
PN + 送信者アドレス + QoS情報 → 一意の値を生成
3
AESで暗号化
128ビット一時鍵 + ノンス + 追加認証データ(AAD)を使用して、データを128ビットブロック単位で暗号化
4
MIC(Message Integrity Code)の生成
CBC-MACで8バイトのMICを計算し、改ざん検出用に付加
5
パケットの送信
MACヘッダー + CCMPヘッダー + 暗号化データ + MIC
鍵の強度
128bit
AESブロック暗号
(軍事レベル)
検証期間
20年
世界中の暗号学者が
検証している
解読成功例
0件
AES自体は
破られていない

新たな脆弱性の発見

弱いパスワードへのオフライン辞書攻撃

WPA2-Personalでは、パスワードとSSIDから鍵を生成します。攻撃者は4-way handshakeを傍受し、それをオフライン(ネットワークから離れた場所)で総当たり攻撃できます。

実際の影響: 「password123」のような弱いパスワードなら数時間で破られます。長く複雑なパスワード(20文字以上、記号含む)なら依然として安全です。

KRACK攻撃(2017年発見)

Key Reinstallation Attack:4-way handshakeのプロトコル実装の脆弱性を突く攻撃。ハンドシェイク中の特定のメッセージを再送させることで、暗号鍵を再利用させ、一部のトラフィックを解読できます。

実際の影響: 攻撃者がアクセスポイントとクライアントの間に物理的に存在する必要があります。ソフトウェアアップデートで修正可能ですが、WPA2のプロトコル設計自体の問題が露呈しました。

Forward Secrecy(前方秘匿性)の欠如

WPA2では、パスワードが漏洩すると、過去に傍受したすべての通信を復号できます。鍵がセッション間で関連しているため、1つの鍵が破られると影響が広範囲に及びます。

WPA2の評価: AES-CCMPという堅牢な暗号化を導入し、14年以上主力として使われました。暗号化自体は非常に強力ですが、鍵交換プロトコル(4-way handshake)と弱いパスワードへの依存が新たな課題となりました。
🔒
WPA3
2018年〜現在
最新の防御

革新:鍵交換の根本的変更

SAE (Simultaneous Authentication of Equals)
別名「Dragonfly」ハンドシェイク。4-way handshakeを置き換える新しい鍵交換プロトコル。楕円曲線暗号(楕円曲線という数学的構造を使った暗号方式で、短い鍵でも非常に強力な暗号化を実現)を使用し、WPA2の主要な脆弱性に対処します。
オフライン辞書攻撃への耐性
対話型の認証:SAEでは、パスワードの検証に毎回アクセスポイントとの実際のやり取りが必要です。WPA2のように傍受したデータをオフラインで総当たり攻撃することができません。攻撃者はネットワークに接続を試みるたびにアクセスポイントと通信する必要があり、試行回数が制限されます。
Forward Secrecy(前方秘匿性)
セッション間の鍵の独立性:各セッションで異なる鍵を生成し、1つのセッションの鍵が漏洩しても他のセッションには影響しません。過去の通信を記録していても、後からパスワードを入手しても復号できません。
暗号化の強化
WPA3-Personal: AES-128 CCMP(WPA2と同じ)
WPA3-Enterprise: AES-256 GCM + SHA-384(より強力な192ビット相当のセキュリティ)
古い暗号化方式(TKIP、WEP)は完全に禁止
WPA3のSAE(Dragonfly)ハンドシェイク
1
パスワードから楕円曲線上の点を生成
パスワード + MACアドレス → 楕円曲線上の秘密の点
2
Commit フレーム交換
クライアントとAP、両方がランダムな秘密値とそれに対応する公開値を生成し、交換
3
共有秘密鍵の計算
相手の公開値 × 自分の秘密値 → 同じ共有秘密鍵を独立に計算(楕円曲線Diffie-Hellman)
4
Confirm フレーム交換
共有秘密鍵を使って確認値を計算し、交換。両者が同じパスワードを知っていることを証明
5
セッション鍵の導出
共有秘密鍵から一時的なセッション鍵を生成。以降のデータ通信はこの鍵で暗号化
SAEが解決した主要な問題
1. オフライン攻撃の防止: パスワードのハッシュ値がネットワーク上を流れないため、傍受したデータだけでは攻撃できません。
2. Forward Secrecy: セッションごとに異なる鍵を使用するため、1つの鍵が漏洩しても過去の通信は安全です。
3. より強固な認証: 楕円曲線暗号により、短いパスワードでも数学的に破るのが困難です。

それでも完璧ではない

Dragonblood攻撃(2019年発見)

SAEの実装に複数の脆弱性が発見されました:

  • サイドチャネル攻撃:処理時間やキャッシュアクセスパターンから情報が漏れる
  • ダウングレード攻撃:WPA2との互換モードで動作させ、古い攻撃を適用
  • DoS攻撃:SAEの計算コストを悪用してアクセスポイントを過負荷状態にする
実装の複雑さ

SAE/Dragonflyは数学的に複雑で、正しく実装するのが困難です。楕円曲線演算をサイドチャネルなしで実装するには高度な専門知識が必要です。

実際の影響: 多くのベンダーの初期実装にバグがあり、セキュリティアップデートが必要でした。これは新しい技術の宿命とも言えます。

移行期の課題

WPA3対応デバイスはまだ普及途上です。WPA2との互換モード(Transition Mode)では、ダウングレード攻撃のリスクがあります。完全なWPA3環境が整うまで時間がかかります。

現実的な評価: WPA3はWPA2の主要な脆弱性を解決しましたが、新しい技術ゆえの実装上の課題があります。プロトコル自体は理論的に強固ですが、実世界での完璧な実装には継続的な改善が必要です。これはセキュリティ技術の常です。

規格の比較まとめ

規格 暗号化方式 鍵サイズ 主な脆弱性 現在の評価
WEP
1997-2004
RC4 + 24bit IV 40/104 bit IVが短すぎる、RC4の弱点、CRC-32が脆弱
完全に破られた
WPA
2003-2004
RC4 + TKIP
48bit IV
128 bit RC4への依存、Beck-Tews攻撃
非推奨
WPA2
2004-現在
AES-CCMP
4-way handshake
128 bit オフライン辞書攻撃、KRACK、Forward Secrecyなし
依然として安全
WPA3
2018-現在
AES-CCMP/GCM
SAE (Dragonfly)
128/256 bit Dragonblood(実装の課題)、普及途上
最も安全

エピローグ:完璧なセキュリティは存在しない

WEPからWPA3まで、無線LANセキュリティは約25年間で劇的に進化しました。しかし、歴史が教えてくれるのは、どんなに優れた暗号化技術も、いずれは新しい攻撃手法や数学的発見によって挑戦を受けるということです。

セキュリティは「完成」するものではなく、攻撃者と防御者の継続的な攻防です。WPA3が登場してすぐにDragonblood攻撃が発見されたように、新しい技術には必ず予期せぬ弱点が見つかります。

重要なのは、現時点で最善のセキュリティを選択し、継続的にアップデートすることです。

今日からできること

WEPやWPAを使用している場合、すぐにWPA2またはWPA3に切り替える
Wi-Fiパスワードは20文字以上、大文字小文字・数字・記号を組み合わせる
ルーターのファームウェアを定期的にアップデートする(KRACK対策など)
可能であればWPA3対応ルーターに買い替える(Forward Secrecy獲得)
公共Wi-Fiでは重要な通信をしない、またはVPNを使用する

情報ソース

Wi-Fi Protected Access - Wikipedia Wireless Security: WEP, WPA, WPA2 and WPA3 Differences - TechTarget (In)Security of the WEP Algorithm - UC Berkeley RC4 - Wikipedia CCMP (cryptography) - Wikipedia Dragonblood: Analyzing WPA3's Dragonfly Handshake Simultaneous Authentication of Equals - Wikipedia WPA3 Dragonfly Handshake - SAR Wiki