無線LANで高速性と並んで重要視されてきたのがセキュリティだ。無線LANのセキュリティ規格として長年使われてきて実質的な標準となっているWPAに、最新版となるWPA3が14年ぶりに登場した。
脆弱性や攻撃を新規格で克服
無線LANにおけるセキュリティは、新しい脆弱性や攻撃との戦いの歴史だった(図3-1)。
無線LANの登場とともに開発されたセキュリティ規格WEP▼はアクセスポイント側に任意のパスワード(WEPキー)を設定し、同じパスワードを設定した端末からアクセスできるという方式である。
WEPは通信の暗号化にも同じパスワードを使い、しかも変更せず使い続けるという問題の多い実装だった。暗号化アルゴリズムとして脆弱なRC4▼を使っていたこともあって、解読するツールが公開されるなど、あっさりと破られてしまう。そのため2004年には破棄され、現在では利用しなくなっている。
このWEPに代わる規格として、2002年に登場したのがWPAだ。WPAでは、暗号化に使う鍵を一定時間ごとに更新する仕組みに変更して、安全性を大幅に高めた。利用する暗号化アルゴリズムにはWEPと同じRC4を使いながら、暗号方式の部分としてはWEPよりも安全性を高めたTKIP▼を採用した。
だが、WPAもRC4を使っているためセキュリティ強度に不安が残った。そこで、2004年に登場したWPA2では米国政府の公式暗号方式として採用されたAES▼を標準で使うことで、さらに安全性を高めた。
そして、14年ぶりに2018年に登場したのがWPA3だ。実際の製品での対応はこれからで、2019年からアクセスポイントや端末などの製品に順次採用される見込みだ。WPA3対応製品の多くは、現在も広く使われているWPA/WPA2対応製品との相互接続性を確保するための移行モードを用意し、当面は共存するとみられる。
業界団体のWi-Fiアライアンスが無線LANの相互接続性を保証するための「Wi-Fi CERTIFIED」認定についても、当面はWPA2が必須要件のままだ。WPA3対応製品が増えるにしたがって、将来的にはWPA3が認定条件になると考えられる。
WPA2の脆弱性が突かれる
WPA3の開発が進められた背景には、2017年10月に明らかになった「KRACKs▼」攻撃がある。WPA2の脆弱性を突く攻撃で、端末とアクセスポイントの間で最初に接続する際に使う「4ウエイハンドシェーク」という手順の途中に攻撃者が割り込む中間者攻撃の一種である(図3-2)。
具体的には、4ウエイハンドシェークの最後のメッセージ(図3-2のメッセージ4)の通信を妨害する。すると、アクセスポイントは3番目のメッセージがうまく送れなかったと判断し、端末に対して暗号化のキーを再送する。
この再送された暗号化キーを改めてインストールする際に、本来は違うパラメーターを乱数で発生させなければいけないのに、同じものを使ってしまう製品▼があった。こうした製品では、再利用してはいけないパラメーターを何度も繰り返し使うことになるので、攻撃者から暗号化した通信を復号したり別のコンテンツを挿入されたりする危険性が高まる。
Wired Equivalent Privacyの略。
RCはRivest Cipherの略。
Temporal Key Integrity Protocol の略。WPAではTKIPの利用が必須とされており、AESはオプションとなっている。
Advanced Encryption Standard の略。WPA2でもオプションでTKIP が使える。
Key Reinstallation AttaCKsの略。
例えば、Android 6.0では再インストールの際に、暗号化に使う鍵として「すべてのビットが0になっている鍵」がインストールされるようになっていた。このため、攻撃者が簡単に暗号を解読できてしまう。