目次
そもそもWPA2とは
WPA2は、Wi-Fiセキュリティ規格の1つです。2004年7月にIEEEから技術規格(IEEE 802.11i )が公開*1され、2006年3月にはWi-Fi アライアンスによってWi-Fi無線機器でサポートすることが義務化*2されました。
2002年に登場したWPA(Wi-Fi Protected Access)の後継であり、AES(Advanced Encryption Standard)をサポートすることで、通信の暗号化をより強化しています。
さらに、認証方式ではWPA2-PersonalとWAP2-Enterpriseが用意されています。特にWPA2-EnterpriseではRADIUSサーバによる証明書検証を経ることでユーザ認証を行うことができるため、よりセキュアなWi-Fiネットワークを構築することができます。
WPA2は2022年10月の時点でも広く利用されていますが、2017年に公表された脆弱性KRACK(Key Reinstallation Attacks)*3によりセキュリティ規格として基盤が揺らぐことになります。KRACKは規格(仕様)に関わる脆弱性であったため、Wi-Fiを利用するあらゆるデバイスに影響を与える可能性が示唆されました。
各メーカが実装面で本脆弱性に対応したものの、この脆弱性を受けて、新たなセキュリティ規格「WPA3」が登場することになります。
WPA2の後継であるWPA3を解説
前述したKRACKの件もあり、WPA2の後継として登場した新たなセキュリティ規格がWPA3です。
WPA3は2018年7月に公開*4され、2020年7月にはすべてのWi-Fi無線機器がWPA3をサポートすることが義務化*5されています。同規格ではKRACKへ対処するための仕組みが追加されたほか、様々なセキュリティ強度を向上するための機能を装えています。
- SAEハンドシェイク
- 制御フレームの暗号化(PMF)
- 192bit暗号化
- Wi-Fi Enhanced Open
これらの機能により、WPA3はWPA2と比べて格段にセキュリティ強度が向上しました。本稿では、これらの機能を解説したうえで、既に報告されているWPA3の脆弱性についても触れます。
WPA3の仕組み
WPA3はWPA2と比べ、新しい暗号鍵の交換ロジックや管理フレームの暗号化といった、通信の秘匿性をより強化する仕組みになっていますので、これらの機能を中心に解説します。
SAEハンドシェイク
端的に言えば、通信に鍵情報を流すことなく暗号鍵交換することにより、安全に相互の暗号化通信を実現する仕組みです。
[Tips]
SAEハンドシェイクの話に入る前に、少しだけWPA2で問題となっていた点を概略説明します。
WPA2の脆弱性「KRACK」による攻撃を簡単に説明すると、Wi-Fi通信暗号化のために暗号鍵を交換するプロセス(4-way handshake)に介入することによる攻撃です。
通常、WPA2は暗号鍵(PTK)+Nonce値(使い捨てのランダムな値、パケット毎に更新)で各パケットを暗号するのですが、このNonce値は4-way handshakeの途中で暗号鍵の再インストール処理が発生すると、このNonce値がリセットされます。つまり、本来使い捨てであるNonce値が再び使われることで、同じ暗号化がなされるということです。
KRACK攻撃ではこの特性を悪用することで同じ暗号パターンを繰り返させ、蓄積した暗号パターンから暗号鍵などを推測することで通信を解読される可能性が生まれます。
これにより、WPA2を介した通信内容を復号できるため、情報漏洩のリスクが生まれます(ただし、httpsやVPNなどによりネットワークレイヤやアプリケーションレイヤで暗号化していれば、復号されることはないです。)
WPA2の4-way handshakeが見直された結果、生まれた新たな鍵交換プロセス「SAEハンドシェイク(Simultaneous Authentication of Equals)」は、4-way handshakeとは全く異なる仕組みとなっています。
まず、WPA3では認証の形が大きく変わっています。WPA2以前ではWi-Fiアクセスポイントがホスト、接続端末(PCやスマホなど)がクライアントとなり、クライアントがホストに認証要求を行っていました。
一方、WPA3はIEEE802.11s※を基礎としているため、ホスト-クライアントという形ではなく、お互いが対等な立場として互いを認証しあう形式となっています。
※IEEE802.11はWLANにおいてアドホックネットワーク形成するための方法が定義されています。
そして、この認証および鍵交換(PMKの交換)に使用される仕組みが、SAEハンドシェイクになります。
この認証と鍵交換を同時に満たすために、SAEハンドシェイクはDragonfly Key Exchangeから派生する形で生まれています。
Dragonfly Key Exchangeとは辞書攻撃に耐性を持つ認証プロトコルとして発明されたものであり、これを実現するために楕円曲線暗号※を使用しています。この楕円曲線暗号の採用により、SAEハンドシェイクでは安全な鍵交換と認証を実現します。
※楕円曲線暗号:楕円曲線の離散対数問題の解を算出することの困難性を元に、安全性を示している暗号方式。RSAと比較して短い鍵長で強固な暗号化が実現できるため、パフォーマンス面でも優秀な暗号化方式となる。
[Tips]
SAEハンドシェイクにより鍵交換、認証のプロセスの概要は、以下のとおりです(細かい点は省略していること、ご容赦ください)。
①接続端末(STA)とWi-Fiアクセスポイント(AP)の各々が、自身のMACアドレスとパスワード、カウンター値の3つからハッシュ値を生成
②STAとAPの各々で、生成したハッシュ値から乱数を生成
③STAとAPの各々で、生成した乱数を楕円曲線のx座標として使用し、楕円曲線情のy座標を計算。(yが求まらなかった場合は、xを1カウントアップして再計算) このy座標を、PE(Password Element)と呼称。
④STAとAPでさらに2つの乱数(privateとmask)を生成し、PEとこの2つの乱数を利用して scalerとElementの2つの値を新たに算出。 STAとAPにて、各々で算出したscalerとElementを交換し、交換した2つの値からss(Shared Key)値を算出。
⑤ss値を2分割し、片方の値のハッシュ値をSTAとAP間で交換する。 交換したハッシュ値をもとに、互いに同じハッシュ値が作成されたかどうかをチェック。
⑥同じハッシュ値であることをが確認できれば、同じパスワードを使用していることの確認が完了する。 各々が今まで生成・交換し情報からPMK(Pairwise Master Key)を生成し、暗号化通信を開始する。
英単語が多かったり、小難しい単語が続いてしましましたが、結局のところのSAEハンドシェイクの利点は、以下になります。
- パスワードなどから算出した楕円曲線暗号の結果は、直接通信に流れることはない
→楕円曲線暗号で算出した結果すらを推測することが困難 - 通信に流れる情報は乱数情報やハッシュ値のみ
→盗聴や通信介入をしても、暗号鍵を推測するための情報がない - 共通のパスワードのみ知っていれば、外部に悟られることなく鍵が生成できる
この利点ゆえに、KRACK攻撃が成立する土台がそもそもなくなったうえに、盗聴などによる鍵推測のリスクも大幅に低減できています。
また、WPA2以前では辞書攻撃によるパスワード特定も成立しましたが、WPA3では認証できたかどうかは表面上は分からず、生成された暗号鍵を用いてしばらく通信をしないとわかりません。
そのため、WPA3に対する辞書攻撃はWPA2の時と比べ、多くの時間が必要となるため費用対効果が見込めず、辞書攻撃が有効ではなくなっていることもSAEハンドシェイクの大きな特長といえます。
管理フレームの暗号化
WPA3では管理フレームの暗号化機能を実装することが義務付けられ、この機能はPMF (Protected Management Frame)と呼ばれています。さて、PMFの実装の利点は何でしょうか?
そもそも、Wi-Fiが発信する代表的なパケット(フレーム)には以下の3種類があります。
- データフレーム :Wi-Fi経由で送信するデータそのものを内包
- 管理フレーム :接続端末とWi-Fiアクセスポイントの関連付けや切断など、接続管理を行う
- 制御フレーム :データ送信の制御を行う
これら3つのうち、WEPやWPA、WPA2で暗号化されていたのはデータフレームのみで、残りの2つのフレームは平文でやり取りされます(無線LAN機器によっては、管理フレームの暗号化が実装されている場合もあります)。
この2つのフレームのうち、管理フレームを悪用することで接続端末とWi-Fiアクセスポイント間の接続状況を盗聴でき、加えて、盗聴した情報を使って認証解除フレームによるDOS攻撃やビーコンフラッドなどによりWi-Fi通信を妨害することができます。
このような攻撃を成立させないために、PMFが義務付けられたということです。PMFは機器によってはオン/オフできたり、強制でオンになっていたりと、実装が様々です。
WPA3対応の無線LANルータをお持ちの方は、一度チェックしてみてはどうでしょうか?
(ちなみに、筆者が所有する無線LANホームルータは、PMFが強制的に有効になる実装でした)
192bit暗号のオプション
WPA3-enterpriseに、192bit 暗号オプションが追加されたことで、よりセキュアな通信ネットワークを実現することができます。細かい暗号化方式については、Wi-Fiアライアンスの記事*7をご覧ください。
Wi-Fi Enhanced Open
フリーWi-Fiは誰でも接続できるという高い利便性の反面、暗号化できないために平文で通信するため盗聴のリスクが心配されています。
WPA3ではこのような問題に対処するため、認証なしでも鍵交換を行うことで暗号化通信を実現する機能として「Wi-Fi Enhanced Open」が実装されました。
実現するロジックは、Diffie-Hellman(DH)鍵交換を基礎としたOpportunistic Wireless Encryption(OWE)*8を使用しているのですが、詳細は割愛します。
フリーWi-Fiよりも安全なフリーWi-Fiを実現できる、といったような認識をしていただければと思います。この機能実装により、カフェや空港、オフィスのゲストネットワークのWi-Fiをより安全にすることが期待できます。
以上の情報をもとにした、WPA2とWPA3の対比はこちらです。
暗号化方式 | 鍵交換プロセス | PMF | フリーWi-Fi対応 | |
WPA2 | ・CCMP(AES) ・TKIP(RC4) | 4-way ハンドシェイク | 任意実装 | WPA2の範囲では非対応 フリーWi-Fiとして稼働 |
WPA3 | CCMP(AES/CNSA) | SAEハンドシェイク | 実装義務 | Wi-Fi Enhanced Open |
既知のWPA3の脆弱性
ここまで、WPA3にて新しく追加された代表的な機能をご説明しました。WPA2と比較して格段にセキュリティ強度が向上したWPA3ではありますが、実装の初期段階で脆弱性「Dragon Blood」が2019年4月に報告*9されています。
このDragonBloodは5つの脆弱性の総称であり、WPA2へのダウングレードやサイドチャネル攻撃を成立させることができます。この脆弱性により、WPA2の使用を強制させることでセキュリティ強度を下げたり、パスワードを解読できたりします。
また、2019年8月にも2つの脆弱性が報告*10され、パスワードを解読されるリスクが指摘されています。ちなみに、これらの脆弱性は「KRACK」を報告および公開した研究者と同じ人たちです。
そのほか、WPA3に限らず全てのWi-Fiに影響を与える「FragAttacks」や、研究者レベルで報告されている攻撃手法なども見受けられますが、本稿では一旦割愛させていただきます。
WPA3に残存するリスク
WPA3の脆弱性が報告されることはあるものの、都度修正されていることと、致命的な脆弱性ではないことから、WPA3自体のリスクは現状では比較的低いと言えます。加えて、PMFの強制によりWi-Fi機器への管理フレームを悪用した直接攻撃も成立しにくくなっています。
しかし一方で、機能が充実したために設定も若干煩雑になっているとも言えます。PMFのオン/オフの設定や、WPA3-enterprise192bit暗号オプションの有効化、WPA2/WPA3混合モードなど、多くの機能があります。
そのため、組織内で複数のアクセスポイントを運用している場合は各アクセスポイントの設定にばらつきが生まれ、そこから設定ミスによる思わぬセキュリティホールが発生し、攻撃を受けてしまうというリスクが想定できます。
アクセスポイントを統括管理できるようなコントローラをもつ無線LANアクセスポイントであればその心配も薄れますが、アクセスポイントを個々に管理している場合は注意が必要です。
また、過去の記事でご説明した偽アクセスポイントや悪魔の双子攻撃については依然として脅威に挙げられます。
PMFによりWi-Fiの接続状況の判別は多少難易度が上がったものの、WPA3単体で偽アクセスポイントに対応することは不可能です。
WPA3時代にも必要な対策
WPA3になりセキュリティが強化されたとしても、基本的な対策は依然として必要です。
- Wi-Fi機器への最新ファームウェアパッチの適応
- Wi-Fi機器の設定の定期チェック
- Wi-Fi使用機器の資産管理および接続状況のチェック
- 悪意のあるアクセスポイントの有無の継続観測
これらの対策を行うため、当社からは、Wi-Fi機器の資産管理から悪意のあるアクセスポイントを発見するソリューション「AirEye Dome」をご提供することができます。AirEye Domeは、攻撃のリスクとなり得るWi-Fi通信機器の洗い出しや不審な接続を検知することによりセキュアなWi-Fi環境の整備に活用することが可能です。
ご興味のある方は是非、お問合せください。
出典 (参考文献一覧)
※1 IEEE SA|IEEE 802.11i-2004(参照日:2022-10-13)
※2 Wi-Fi Alliance|WPA2™ Security Now Mandatory for Wi-Fi CERTIFIED™ Products(参照日:2022-10-13)
※3 KRACK Attacks|Breaking WPA2(参照日:2022-10-13)
※4 Wi-Fi Alliance|Wi-Fi Alliance®、Wi-Fiセキュリティ規格 「Wi-Fi CERTIFIED WPA3™」を発表(参考日:2022-10-13)
※5 Wi -Fi Alliance|Wi-Fi CERTIFIED™ Certification Overview(参考日:2022-10-13)
※6 RFC 7664|Dragonfly Key Exchange(参照日:2022-10-13)
※7 Wi-Fi Alliance|セキュリティ(参照日:2022-10-13)
※8 Wi-Fi Alliance|Opportunistic Wireless Encryption Specification(参考日:2022-10-13)
※9 Dragonblood|Analysing WPA3's Dragonfly Handshake(参照日:2022-10-13)
※10 ZDNET|New Dragonblood vulnerabilities found in WiFi WPA3 standard(参照日:2022-10-13)