暗号解読からわかる本当の安全・安心
WEP完全解読への道
PTW攻撃は初期ベクトルIVに依存しない攻撃法で、かつARPインジェクション攻撃を併用すれば、4万パケットで104ビットWEP鍵を導出できる画期的な方法である。しかし、実際の無線LAN環境では、防御側がARPインジェクション攻撃からPTW攻撃を検知し、即座に防御を行うことや、事後に速やかにWEP鍵を再設定することが可能である。防御側にとってはIPS(ネットワーク侵入検知防御システム)等を導入することで対策を採ることができるのである。
PTW攻撃がARPパケットの収集に依存する原因はキーストリームの収集の困難性にあった。理論的な暗号解読においては、解読者にとっては最も好都合な状況、すなわち暗号運用者にとって最も困難な状況を仮定するのが常である。
ストリーム暗号で言えば、少なくともキーストリームが既知であることを仮定する。しかし、一般に盗聴が可能である環境でも、観測できるのは暗号化されたパケットのみである。PTW攻撃は、ARPパケットの最初の15バイトが容易に推定可能な固定値を取ることから、キーストリームの最初の15バイトを得て、攻撃関数に必要十分なキーストリームを充足している。
PTW攻撃がARPパケットに依存せず、任意のパケット、少なくともIPパケットに対応するためには、何らかの方法を用いて、IPパケットから先頭15バイトのキーストリームを得る必要がある。それが困難な場合、先頭15バイトのキーストリームに対応したPTW攻撃ではなく、新しい攻撃関数を定義し、部分的なキーストリームに適応可能とする方法が考えられる。
筆者らが2008年10月に発表したWEPに対する攻撃は、後者の方法の提案である。すでに2007年11月、筆者らは、電子情報通信学会情報セキュリティ研究会(ISEC2007-109)において、Tewsらの攻撃関数を改良し、ARPパケットの先頭15バイト以外で、容易に推定される固定値を取る部分を利用して、15バイト以上のキーストリームの情報を利用した、新しい攻撃関数によるOKM攻撃を提案している。この方法によって、PTW攻撃よりもさらに少ないARPパケットの収集によって解読が可能となった。この改良法の延長が、任意のIPパケットによるWEP解読法の提案につながっている。
TeAM-OK攻撃
Tewsらが解読に用いる攻撃関数では、キーストリームの最初から連続する15バイトが少なくとも必要であった、そのようなキーストリームを得るにはARPパケットが必要だった。しかし、一般のIPパケットでは図1に示すように、上位16バイトにおいても、13、14バイト目は固定ではなく、また容易に推定することも困難である。よって、Tewsらの攻撃関数では鍵を導出できなかった。
筆者らの神戸大学と広島大学のグループはTewsらの攻撃関数を改良した。つまり、IPパケットの13、14バイト目を利用せず、上位32バイト中で、固定および容易に推定できるIPパケットの20バイト情報を用いて鍵を導出する方法である。
この一般のIPパケットから104ビットWEP鍵を導出する方法は、開発者らの頭文字をとって、TeAM-OK(TeramuraAsakuraMorii-OhigashiKuwakado)攻撃と称する。攻撃対象のネットワーク環境に寄らず、また相手のIPアドレス等の固有情報を事前に知ることなく、単にWEPによって暗号化されたIPパケットを3万パケット程度観測することにより、104ビットWEP鍵を導出することができる。さらに、攻撃対象のIPアドレス等のサイト情報や、WEP鍵に使用されるパスフレーズが任意の英数字13文字に限定される場合は2万パケット以下で、104ビット鍵を導出することが可能になる。
TeAM-OK攻撃では、PTW攻撃を改良したOKM(大東-桑門-森井)攻撃をさらに改良し、部分的に不定となるキーストリームがあっても、推定可能なキーストリームも用いることで、鍵を導出できる新しい攻撃関数を提案している。つまり、不定となるキーストリームの一部分は雑音として処理し、その雑音の影響を極力小さくできる攻撃関数を提案している。