暗号解読からわかる本当の安全・安心
TeAM-OK攻撃の効果
TeAM-OK攻撃によって、3万個程度のIPパケットを観測するだけで104ビットWEP鍵を導出することができる。実際、3万パケット程度であれば容易に盗聴できる。また、盗聴したパケットに基づくTeAM-OK攻撃のアルゴリズムにおいて、計算の中枢は単純な統計処理であり、かつ計算量的に規模も小さく、通常、数秒とかかることはない。したがって、パケットを収集し終わってからのオフライン攻撃としては一瞬であり、オンライン攻撃としても現実的な時間で終了する。このように、TeAM-OK攻撃は実際にも十分現実的な攻撃法であり、もはやWEPは暗号と言えないのである。
TeAM-OK攻撃に要する時間はパケット収集時間が大部分であり、できる限り短い時間でオンライン攻撃を終了する。よっていかに少ないパケット数でWEP鍵を導出するかが問題となるが、IPアドレス等の詳細な情報を推定すれば(一般家庭では機器依存のプライベートアドレスが使われることを想定して推測する)、パケット数を減少させることができる。このためには、攻撃関数を拡張する必要があるが、効果が期待できる。
また、通常、WEP鍵を設定する場合、104ビット鍵であれば、記号を含む英数字13文字を入力することが一般的であり、必ずしも104ビットの不定性を有することにならない。現実には、104ビットのうち、数十ビットが制約されることになる。実際、これらを利用することによって、2万パケット以下の収集で解読に成功している。
WEPはなぜ解読されたのか
WEPは無線LANの標準規格として開発された無線LAN暗号化システムである。十分に検討された規格であるはずが、実際、数年もたたないうちに脆弱(ぜいじゃく)性が指摘され、それから間もなく、WPAという新しい暗号システムへの変更が暫定的に推奨されるに至った。
なぜ、WEPは十分な安全性をもった暗号システムとならなかったのか。それは暗号プリミティブの仕様変更が原因である。暗号プリミティブとは、暗号自体のアルゴリズムを指し、鍵の運用やアルゴリズムの実装を含めて暗号システムとなる。
無線LANの規格IEEE 802.11を定める際に、高速な通信が求められ、負担とならない暗号システムであること、さらに暗号プリミティブ自体も軽装化することが望まれた。その結果がRC4の採用である。当時からRC4は非常に高速かつ軽量な暗号プリミティブとして多くの実績があった。しかし、128ビット鍵が推奨され、鍵の冒頭24ビットを公開、かつ残りの104ビットを固定して、キーストリームを発生させることを想定していない。つまり、RC4を利用するといいつつ、結果的に不正に改良した暗号となっていたのである。
暗号システムを構築する場合、暗号プリミティブに対して変更を加えることなく、また鍵の運用や実装に関しても安全性を脅かすことのないように設計する必要がある。どんな暗号でも、暗号プリミティブに変更を加えていないか、推測可能な鍵を設定する仕様になっていないか、あるいはハードウエアおよびソフトウエアでの実装において、鍵の情報が漏えいする仕様になっていないかを十分検討する必要がある。
近年では、暗号プリミティブにおいても、アルゴリズム上の脆弱性だけでなく、それをハードウエア実装した場合での脆弱性について盛んに研究が進められている。ソフトウエア実装した場合でも、キャッシュ攻撃等が存在し、安易な実装は暗号システムの強度を著しく弱める結果となる。