WPAを破った森井教授からの提言- 無線LAN暗号化の脆弱性~暗号化の意味と真の問題点~
1 無線LANの暗号「WEP」と「WPA」の安全性を検証
http://journal.mycom.co.jp/articles/2009/09/14/morii/?rt=na
当初から脆弱性を指摘されていたWEPだが……
1997年に規定されたIEEE 802.11をはじめとして最新のIEEE 802.11nでも、無線LANの性質上、空間を伝搬している信号を誰にも気づかせることなく盗聴することが可能である。特に伝搬範囲を正確に制限することが難しく、利用を想定している範囲外(室外)に信号が伝搬することからその対策が必須となる。
信号電力を制御することや電波を遮蔽することは事実上不可能であることから、物理的ではなく、いわゆる論理的に信号を処理する必要がある。すなわち暗号化を行って、利用を制限する必要がある。当初このため、提案された暗号化の規格が「WEP(Wired Equivalent Privacy)」あった。
WEPではRC4というストリーム暗号が用いられ、104ビットの鍵と24ビットのIV(Initial Value)が設定されている。通信相手間だけで104ビットの鍵(秘密鍵)を秘密にしておくことによって、暗号通信が成り立ったのである。24ビットのIVの役割は同一の平文(元のメッセージ)において、同じ暗号文になる可能性を低くするためである。
WEPに対する脆弱性は当初から指摘され、特に2001年のFluhrerらによるFMS攻撃は、IVの設定方法による脆弱性を用いて、短時間で秘密鍵を導出することが示された。しかしながら、IVの設定を工夫することでFMS攻撃を避けることが可能であり、その後の拡張した攻撃法でも、短時間で秘密鍵を導出することは困難であった。
2007年になって、ダルムシュタット大学のTewsらが(この時、Tewsは大学院修士課程の学生)、IVによらず高速に104 ビットの秘密鍵を導出する方法を提案し、実際に解読ツールを作成して実証も行っている。この攻撃はPTW攻撃と呼ばれる。
PTW攻撃は強力ではあるものの、大量のARPパケットが必要となり、このARPパケットを得るために、ルータに対してARPインジェクション攻撃を行う必要がある。このARPインジェクション攻撃はIDSなどで対処可能で、PTW攻撃を排除することが可能である。
2008年10月、筆者らの研究グループはARPパケットに依存することなく、また、2万パケットから3万パケットの暗号化されたパケットを観測するだけで、104ビットの秘密鍵を一瞬で導出できる方法を提案した。TeAM-OK(Teramura-Asakura-Morii-Ohigashi-Kuwakado)攻撃と呼ばれる。この攻撃法の出現によって、WEPは名実ともにもはや暗号としての体を成さなくなったのである。
WEPの後継「WPA-TKIP」は安全なのか?
FMS攻撃に始まるWEPに対する数々の脆弱性の発見から、その後、WEPの後継となるべき、新たな無線LAN暗号化方式が定められた。それが「WPA(Wi-Fi Protected Access)」である。ただし、WPAは当初の方式であるWEPと互換性がなく、ミドルウェアなどの入れ替えの必要で、場合によってはハードウェア自体まで入れ替える必要があった。
したがって暫定的な処置として、WEPと互換性を保ちつつ、WEPの脆弱性を取り除いた方式「WPA-TKIP」も規定された。WPA-TKIPはWEPと同様、RC4というストリーム暗号を用いているが、IVの利用方法と暗号文の生成方法が改良されており、従来のWEP対応のほとんど無線LAN機器で利用可能であった。
そのため、WEPの安全性について強い疑念が広まったこの数年において、大量にWEP対応の無線LAN機器を有する事業所などではWPA-TKIPに変更された。現在でも、WEPとの互換性に対する優位さからWPA-TKIPの利用は少なくない。
2008年11月、 BeckとTewsはWPA-TKIPの改竄検出用鍵(MIC鍵)を復元でき、 ARPパケットやDNSパケットのような小さなサイズの暗号化パケットの偽造が可能となる攻撃(Beck-Tews攻撃)を提案した。Beck-Tews攻撃は任意のマスタ鍵(秘密鍵、パスフレーズ)に対して有効、なおARPポイズニングやDNSポイズニングの実行により現実的な被害が生じることから注目を集めた。しかし、同方法は攻撃に12~15分を要すうえ、IEEE 802.11eをサポートしている無線LAN機器という限定的な条件での攻撃法であるため、一般の無線LAN機器に有効とは言えないという短所があった。
2009年8月、台湾でのWIS2009において筆者らの研究グループは中間者攻撃を前提とした攻撃を提案し、 IEEE 802.11eをサポートしていない無線LAN機器に対してもメッセージの改竄を可能にした。さらに、メッセージ改竄モード(MIC鍵が得られている条件におけるメッセージ改竄処理 )を改良し、 1分程度でパケットの偽造が可能になる場合があることを示した。
2 考案者自らWPA-TKIPを1分で攻撃できる理由を解説
1分の攻撃を実現したWPA-TKIPへの中間者攻撃
詳しくは、T. Ohigashi and M. Morii、 A practical message falsification attack on WPA、 Proc. the Fourth Joint Workshop on Information Security (JWIS2009)、 CDROM、 5A-4、 2009.を参照いただきたいが、筆者らの研究グループの中間者攻撃は、先に提案されたBeck-Tews攻撃を改良し、現実的な攻撃法として発展させたものである。
Beck-Tews攻撃では、WPA-TKIPの改竄防止機構とフラグメント化された各平文に対するCRC-32によるエラーチェック機構の脆弱性を利用している。特にIEEE 802.11eという8つのチャネルに対して異なるデータを処理可能であることに着目し、過去に破棄されたパケットを再度利用できることを指摘した。これらの事実を利用し、結果的に暗号化されたパケットからすべての平文情報を復元し、平文と暗号文を XORすることで対応するキーストリームも復元できることを示した。
また WPA-TKIPで用いられるメッセージ完全性符号(MIC)としてのMichealが可逆な関数であることから、MIC鍵を推定することによって、復元したキーストリームのサイズまでの暗号化パケットを偽造可能とした。 先に、Beck-Tews攻撃は機器が限定され、攻撃に12~15分の時間を攻撃に要すると述べた。これに対し、筆者らの研究グループはIEEE 802.11e以外の無線LAN機器に適用可能かつ大幅に攻撃時間を短縮する方法を提案している。
それを実現するため、中間者攻撃を適用している。中間者攻撃とは、攻撃者がアクセスポイントとクライアントの中間に入り、送受信者間の直接の通信を遮断させた状態で攻撃を行う方法である。したがって攻撃対象として、直接通信が行えない距離にあるアクセスポイントとクライアントを仮定する。送受信者が直接通信が行えない状況では、受信者のTSCカウンタ(順序を保持することによって過去のパケットを排除するためのカウンタ)の値が増加しないため、 リプレイ(パケット再利用)攻撃が可能になる。
Beck-Tews攻撃ではMIC鍵を得ているという条件でさえ4分程度を攻撃に要するが、4分の通信途絶時間が生じることは改竄攻撃を困難にする。筆者らの研究グループの提案する攻撃法では MIC鍵復元モードを実行する際に得られる MIC鍵以外の情報や確率的な方法を利用することで実行時間を短縮する。 理論的な評価では約37%の確率で1分以内に攻撃が成功することを、具体的な攻撃方法とともに明らかにした。この1分という攻撃所要時間は上限値である。
具体的な攻撃方法を実装して数値実験を行った結果、上限値を1分としたメッセージ改竄モードの攻撃実行時間は最大でも20秒、平均10秒程度であり、0.2秒の時間で改竄が可能な場合もあることが確認できている。現在、更なる短時間処理を試みている。
筆者らの研究グループが与えた攻撃方法は、WEPの解読法のようにパスフレーズを直接解読するわけではないが、ARPポイズニングや DNSポイズニングを実行することで現実的な被害を生じさせることが可能で、通信システムとしては極めて危険な状態に置かれることになる。
WEPの解読法では暗号化された数万パケットを盗聴するだけの、いわば受動的攻撃で、特別な装置も必要なく極めて容易に鍵(パスフレーズ)を導出可能であったが、WPA-TKIPに対しては中間者攻撃を利用することから、周到な準備が必要であり、かつ現状ではARPパケットのような短いパケットの偽造のみ可能である。上記のような現実的な被害は十分予想されるが、無線LAN以外のセキュリティ機器において攻撃を排除することも可能である。
暗号システムの脆弱性の本質を見誤るな
WEPはもはや暗号としての体をなさず、「名」のみの効果しか期待できない。その暫定的な後継であるWPA-TKIPにおいても脆弱性が発見され、具体的な攻撃方法が提案されている。現状では、無線LAN機器以外のセキュリティ機器に対し十分な注意を行うことで致命的な被害を避けることが可能と考えられるが、脆弱性の完全排除には至らず、その点を十分留意すべきである。
無線LAN暗号化に限らず、暗号化システムには、利用する基本暗号と呼ばれる、例えば、RC4やAESといった暗号アルゴリズムに気を取られ過ぎという問題がある。暗号アルゴリズムは最重要だが、その脆弱性が問題となることは少ない。暗号化システムにとって脆弱性となり得るのは、運用を含む鍵(秘密鍵、パスフレーズ)の管理や暗号アルゴリズムにおける暗号システムとしての利用法である。
WEPの解読においても、若干のRC4自体の脆弱性の利用もあるものの、IVを含む鍵管理とその利用方法が問題となって、解読に結び付いている。現在でもRC4はその運用に留意すれば、実用上安全なのである。WPA-TKIPの脆弱性もRC4に問題があるのではなく、暗号システム自体の脆弱性なのだ。RC4を例えばAESに置き換えたとしても、その脆弱性に変わりはない。
結果として、筆者らが今回のWPA-TKIPに提案した攻撃モデルは、WPA2やWPA-PSK(AES)へは適用できない。これはAESを利用しているから適応できないのではなく、CCMPというAESの利用法に工夫を加えているからである。無線LAN暗号化を含めて、暗号システム全般において、「AES(鍵長256ビットの方式を含めて)であれば安全」は単なる都市伝説にすぎない。
執筆者プロフィール
森井昌克
神戸大学大学院工学研究科教授。8月6-7日に台湾で開催されたJWIS 2009で、WPAを破る手法を公開した。その論文はJWIS 2009のサイトで確認できる。