はじめに
WPA3ブログの第2回目となる今回はWPA3のモードについてを詳しくご説明させていただきます。
ここでのモードとはPersonalやEnterpriseといった認証方式の違いによる動作方式の違いを指しています。
WPA2ではWPA2-PersonalとWPA3-Enterpriseの2つのモードのみでしたが、WPA3ではPersonal/Enterpriseの大きく2つのモードが、WPA2との互換性を持たせるためにさらに細分化されています。
またEnterpriseではよりセキュリティ強度の高いモードも存在します。
WPA3とは別認定となっていますが、オープン接続の暗号化を可能にしたEnhanced Openについても今回同時に記載させていただきます。
WPA3の各モードはWi-Fi Allianceによって下記のように定義されており、こちらを今回の目次とさせていただきます。
また各モードの要件についても以下資料からの抜粋となります。
WPA3™ Specification Version 3.0
Opportunistic Wireless Encryption Specification Version 1.1
1.WPA3-Personal
WPA2とWPA3の差異
WPA2-PersonalとWPA3-Personalでの大きな違いは以下の2つとなります。
①PMFの有無
②PMKの生成方法
①のPMFについては第一回も記載しましたが、WPA2では任意であったPMFがWPA3ではPersonal/Enterprise共に必須となっています。
前回の復習となりますが、Wi-FiにおけるデータフレームはCCMP等での暗号化が行われますが、de-authenticationやdisassociationなどの管理フレームの暗号化は本来行われません。
攻撃者はde-authenticationやdisassociationフレームになりすまし、APとクライアントを切断させるといった攻撃手法をとることができました。
そこでPMFを有効化することで管理フレームを暗号化し、上記の攻撃を抑制することが可能です。
WPA3ではPMFが必須となっており、よりセキュリティが高くなっています。
ちなみにビーコンやauthentication/association等のAPとクライアントで鍵交換を実施しデータ通信を開始する前に必要な管理フレームは暗号化の対象外となっています。
②のPMKの生成方法の違いは下記の通りとなります。
・WPA2-Personal
PSKを元にMSK(Master Session Key)を生成し、MSKの先頭256bitをPMKとして利用します。
この手法から同一のSSID配下のクライアントのPMKは同一となります。
・WPA3-Personal
SAEのハンドシェイクを利用して、PSKやAP/クライアントのMACアドレス、乱数を使用しPMKを生成します。
WPA2-PersonalのようにPSKを鍵(PMK)そのものとして利用しないため、PSKの長さや複雑さはセキュリティの強度へ影響しないという特徴があり、極端な例ではPSKは「password」といったユーザの覚えやすいものでも良いこととなります。
また同一SSID配下でもクライアントごとにPMKは異なります。
SAEはWPA3のために開発されたものではなく、RFC7664にて定義されるDragonflyの鍵交換方式が元となっています。
またSAEが用いられることから、WPA3-PersonalはWPA3-SAEと表現されることもあります。
下記の図1ではWPA2-PersonalとWPA3-Personalそれぞれの通信開始までのシーケンスを記載しています。
WPA3では802.11のOpen System認証を行っていた部分がSAEに置き換わり、ここでPMKを生成しています。
ユニキャスト通信を暗号化するPTK(Pairwise Transient Key)、マルチキャスト/ブロードキャスト通信を暗号化するGTK(Group Temporal Key)を4Way-Handshakeにて生成する方法はWPA2同様となっています。
無線LANの接続Stepについてはワイヤレスブログの第8回でも記載していますので、そちらも参照ください。
1-1.WPA3-Personal Only mode
WPA3-Personalの1つ目のモードはOnly modeです。
接続可能なクライアントはWPA3-Personalに対応したクライアントのみです。
仕様
Wi-Fi AllianceではWPA3-Personal Only modeの仕様をAPとクライアント(STA)に分けて詳細に定義していますが、全て記載すると長くなってしまうので、ここでは抜粋して記載させていただきます。
英語表記での「Specification」のため「仕様」としていますが、Wi-Fi AllianceによるWPA3の認証を取得するために満たさなければいけない条件となります。
全文は冒頭のWi-Fi Allianceのドキュメントをご確認ください。
AKMスイートやMFPC/MFPRの用語が出てきますが、後ほど解説させていただきます。
実機確認
文字だけでは伝わりづらい部分もあるので、実機での出力を確認いただきたいと思います。
今回のブログ内では下記の2機種にて確認しています。
aruba:AP-335/ArubaOS 8.6.0.6
cisco:C9120AXI-Q/IOS-XE17.6.1
無線LANではビーコンもしくはProbe応答にてAPからクライアントへ暗号化方式や認証方式を伝えますので、ビーコンをキャプチャして確認してみます。
まずは実際にWPA3-Personal Only modeのビーコンをキャプチャした図2をご確認ください。
arubaにて確認しています。
ビーコン確認に必要な用語解説
ここで初見の用語が出てきましたので、用語について解説させていただきます。
①Group Cipher Suite type
マルチキャスト/ブロードキャストのデータフレームを暗号化するための暗号化方式
②Pairwise Cipher Suite type
ユニキャストのデータ/管理フレームを暗号化するための暗号化方式
③Auth Key Management(AKM) type
サポートされる認証方式を示す
④Management Frame Protection Required(MFPR)
ビット「1」でPMF必須を示す Required=必須(Mandatory)
⑤Management Frame Protection Capable(MFPC)
ビット「1」で(APが)PMFサポートしていることを示す Capable=任意(Optional)
⑥Group Management Cipher Suite type
マルチキャスト/ブロードキャストの管理フレームを暗号化するための暗号化方式
Cipher Suiteと表記されており日本語では暗号スイートになりますが、ここに入る値はCCMP等となっています。
日本におけるWi-Fiの暗号化方式はWEP/TKIP/CCMPを意味していることが多く、ここでは暗号化方式と表現しています。
蛇足ではありますが暗号(化)スイート(Cipher Suite)は、実際のデータの暗号時の暗号化アルゴリズムだけでなく、鍵交換時、鍵交換時の交換相手の認証時等に利用する暗号化アルゴリズムを定義した暗号化アルゴリズムの組み合わせとなります。
このような関係性のイメージです。
①/②/⑥に示されるCipher Suite、および③で示されるAKM SuiteはIEEE 802.11にて定められています。
必要な値を以下の図3/図4にそれぞれまとめます。
実機出力による仕様の考察
①Group Cipher Suite type/②Pairwise Cipher Suite type共に「CCMP-128」となっており、ユニキャスト/マルチキャスト/ブロードキャストのデータフレームはAESの鍵長128bitを利用し、暗号利用モード「CCM」で暗号化するよう通知されています。
③Auth Key Management(AKM) typeでは認証方式が「SAE」であることを通知しています。
④MFPR/⑤MFPC共にビット「1」が立っており、PMFが必須(Mandatory)となっています。
最後に⑥Group Management Cipher Suite typeが「BIP-CMAC-128」となっており、PMFによる暗号化にAESの鍵長128bitを利用し暗号化ベースでのメッセージ認証を行うことを通知しています。
補足ですがBIPはBroadcast/Multicast Integrity Protocolでブロードキャスト/マルチキャストの保護管理フレーム(PMF)の完全性の確認に用いられます。
CMACはCipher-based Message Authentication Codeで暗号化をベースにしたMAC(メッセージ認証コード)です。
メッセージ認証ではデータの改ざんチェックを行います。
Wi-Fi Allianceの仕様にてWPA3-Personalに関しては暗号化方式としてWEP/TKIPの利用を不可としていますので、必然的にCCMPを利用しており、鍵長は最短の128bitであることが確認できます。
1-2.WPA3-Personal Transition mode
WPA3-PersonalのTransition modeはMixed modeと呼ばれたり、日本語では移行モードとも呼ばれており、同一のSSIDにてWPA3に対応していないWPA2クライアントはWPA2での接続が可能となっております。
仕様
以下が仕様となります。
実機確認
arubaでのWPA3-Personal Transition modeのビーコンをキャプチャした内容を図5で見ていきます。
図5:WPA3-Personal Transition mode
実機出力による仕様の考察
Only modeと異なる点として、③Auth Key Management(AKM) typeにWPA2用に「PSK」、WPA3用に「SAE」がセットされています。
また④MFPR:0/⑤MFPC:1となっていることからPMFが必須でないことがわかります。
クライアント側でPMFが有効となっていない場合、AP側でSAEでのネゴシエーションが拒否され、PSKによるWPA2でのネゴシエーションとなります。
2.WPA3-Enterprise
WPA2とWPA3の差異
WPA2-EnterpriseとWPA3-Enterpriseでの大きな違いはPMFの有無となります。
Personalとは違いPMKやPTK/GTKの生成方法についてはWPA2とWPA3で大きな違いはありません。
参考までに下記の図6はWPA2/WPA3-EnterpriseでEAP-TLSを利用した際の接続シーケンスとなります。
図6:WPA2/WPA3-Enterprise(EAP-TLS)
2-1.WPA3-Enterprise Only mode
WPA3-EnterpriseのOnly modeではWPA3-Enterprise Only modeに対応したクライアントのみが接続可能なモードとなります。
AP側に関しては後述する192bit modeに対応したAPが必ずしもWPA3-Enterprise Only modeに対応しているとは限りません。
クライアントに関しても同様に、実機での動作を見る限り後述する192bit modeに対応するクライアントが必ずしもOnly modeにも対応しているわけではありませんでした。
EAP-TLSやEAP-PEAPなどの主要なEAPタイプに対応しています。
仕様
以下が仕様となります。
実機確認(cisco)
まずはciscoでのWPA3-Enterprise Only modeのビーコンをキャプチャした内容を図7で見ていきます。
図7:WPA3-Enterprise Only mode(1)
実機出力による仕様の考察(cisco)
①Group Cipher Suite type/②Pairwise Cipher Suite type共に「CCMP-128」となっています。
Wi-Fi AllianceではWPA3 Enterpriseの仕様については以下でも細かく定義しており、CCMP-128は最小要件となっています。
③Auth Key Management(AKM) typeで「IEEE Std 802.1X,SHA-256」であることを通知しており、メッセージ認証のハッシュアルゴリズムがSHA-256になっていることがわかります。
④MFPR/⑤MFPC共にビット「1」が立っており、PMFが必須(Mandatory)となっています。
⑥Group Management Cipher Suite typeが「BIP-CMAC-128」であることを通知しています。
実機確認(aruba)
次にarubaでのWPA3-Enterprise Only modeのビーコンをキャプチャした内容を図8で見ていきます。
図8:WPA3-Enterprise Only mode(2)
実機出力による仕様の考察(aruba)
①Group Cipher Suite type/②Pairwise Cipher Suite type共に「GCMP-256」を採用しており、AESの鍵長256bitを利用し暗号利用モード「GCM(Galois/Counter Mode)」で暗号化するよう通知されています。
これによりarubaでは最小要件の「CCMP-128」よりもセキュリティを高く設定していることがわかります。
同様に⑥Group Management Cipher Suite typeが「BIP-GMAC-256」となっており、PMFによる暗号化にAESの鍵長256bitを利用し、GMAC(Galois Message Authentication Code)を利用してメッセージ認証を行うことを通知しています。
前述のciscoとWPA3-Enterprise Only modeでの違いが見て取れるかと思います。
ArubaのOnly modeではGCMP-256/BIP-GMAC-256を採用しており現時点で変更はできません。
Ciscoの場合は暗号化方式を選択して設定することが可能です。
このSSIDに接続する場合には、クライアント側でもSSIDに設定された暗号スイートに対応している必要があります。
メーカーごとの違いについては次回に詳細を記載させていただく予定です。
2024年4月追記
arubaではAOSバージョン8.11にて、WPA3-Enterprise Only modeにて最小要件のCCMP-128にも対応しました。
詳細は第六回のブログに追記しておりますので、そちらをご確認ください。
WPA3ブログ 第六回~設定やクライアント接続結果の紹介 aruba編~
2-2.WPA3-Enterprise Transition mode
WPA3-EnterpriseのTransition modeは、WPA3-personal同様にWPA2-Enterpriseクライアントも接続可能となるモードとなります。
仕様
以下が仕様となります。
実機確認
arubaではTransition modeに対応していないため、ciscoでのWPA3-Enterprise Transition modeのビーコンをキャプチャした内容を図9で見ていきます。
図9:WPA3-Enterprise Transition mode
実機出力による仕様の考察
Only modeと異なる点として、③Auth Key Management(AKM) typeにWPA2用に「IEEE Std 802.1X」、WPA3用に「IEEE Std 802.1X,SHA-256」がセットされています。
また④MFPR:0/⑤MFPC:1となっていることからPMFが必須でないことがわかります。
2024年4月追記
arubaではAOSバージョン8.11にて、Wi-Fi Allianceの定義するWPA3-Enterprise Transition modeに対応しました。
詳細は第六回のブログに追記しておりますので、そちらをご確認ください。
WPA3ブログ 第六回~設定やクライアント接続結果の紹介 aruba編~
2-3.WPA3-Enterprise 192-bit mode (CNSA)
WPA3-Enterpriseにはより高いセキュリティ要件に対応するために、192-bit modeがあります。
CNSA (Commercial National Security Algorithm) の暗号スイートに準拠しています。
NSAでは「Suite B」という暗号スイートも定めていますが、CNSAはSuite Bよりさらに高いセキュリティレベルとなっています。
ちなみにモード名の192bitモードは鍵長ではなく、暗号における192bit安全(192bit security)を意味しています。
また192bit modeに対応するEAPタイプはEAP-TLSのみとなっている部分も注意点です。
仕様
以下が仕様となります。
実機確認
arubaは192-bit mode (CNSA)に対応していますので、arubaでのWPA3-Enterprise 192-bit mode (CNSA)のビーコンをキャプチャした内容を図10で見ていきます。
図10:WPA3-Enterprise 192-bit mode (CNSA)
実機出力による仕様の考察
Only modeと異なる点として、
①Group Cipher Suite type/②Pairwise Cipher Suite type共に「GCMP-256」となっています。
③Auth Key Management(AKM) typeで「IEEE Std 802.1X CNSA Suite,SHA-384」であることを通知しています。
⑥Group Management Cipher Suite typeが「BIP-GMAC-256」であることを通知しています。
3. Enhanced Open
OpenとEnhanced Openの差異
従来のOpenネットワークでは事前のユーザ登録やパスワード設定が必要なく、接続が容易であるといったメリットがある反面、通信(データ)が暗号化されていないため、データの傍受が容易といった危険性がありました。
Enhanced OpenではOpenネットワーク同様の接続の容易さを維持しつつも、管理フレームやデータの暗号化を行います。
管理フレームの暗号化はWPA3と同様にPMFを利用し、必須の要件となっています。
Enhanced OpenではOWE(Opportunistic Wireless Encryption)をベースとしており、データの暗号化のためにAssociationフェースでDiffie-Hellman鍵交換でPMKを生成します。
またその後4Way-HandshakeでPTK/GTKを生成し、この鍵でデータの暗号化を行います。
注意点としてEnhanced Openではユーザ認証は実行しておらず、誰でも接続することが可能となり、この部分はOpenネットワークの接続の容易さを維持することからも推測できるかと思います。
(ユーザ認証をするには事前にユーザ登録が必要となり、接続の容易さは維持できない)
下記の図11ではOpenネットワークとEnhanced Openのそれぞれの通信開始までのシーケンスを記載しています。
3-1. Enhanced Open Only mode
この動作モードではEnhanced Openに対応したクライアントのみが接続可能となります。
仕様
以下が仕様となります。
またWi-Fi AllianceのドキュメントではEnhanced OpenをOWEと表現していますので、仕様内ではそのまま表記しています。
実機確認
arubaでのEnhanced Open Only modeのビーコンをキャプチャした内容を図12で見ていきます。
実機出力による仕様の考察
①Group Cipher Suite type/②Pairwise Cipher Suite type共に「CCMP-128」となっています。
③Auth Key Management(AKM) typeで「Opportunistic Wireless Encryption」であることを通知しています。
④MFPR/⑤MFPC共にビット「1」が立っており、PMFが必須(Mandatory)となっています。
最後に⑥Group Management Cipher Suite typeが「BIP-CMAC-128」であることを通知しています。
3-2. Enhanced Open Transition mode
この動作モードではEnhanced Openへの対応/非対応クライアントが共存可能となります。
仕様
以下が仕様となります。
実機確認
arubaでのEnhanced Open Only modeのビーコンをキャプチャした内容を見ていきます。
図13はOpen用のビーコンフレームとなります。
図13:Enhanced Open Transition mode(Open用)
次に図14はEnhanced Open用のビーコンフレームとなります。
図15はEnhanced Open用のビーコンフレームのRSN Informationです。
図14:Enhanced Open Transition mode(OWE用)
図15:Enhanced Open Transition mode(Enhanced Open用RSN Information)
実機出力による仕様の考察
Transition modeではOpen用とEnhanced Open用の2つのSSIDが作成されています。
クライアントでは作成したSSIDはOpen用として広報されているように表示され、Enhanced Open用のBSSIDがカプセル化されていることが確認できます。
Enhanced Open用のSSIDはステルスとなっており、RSN Informationの情報はEnhanced Open Only modeと同様になっています。
まとめ
ここで各モードの暗号化方式/認証方式を図16にまとめたいと思います。
この表はあくまで最小要件に基づいた際の値であり、arubaのWPA3-Enterprise Only modeではセキュリティ強度の高い暗号化方式を独自にプリセットしていたり、ciscoのようにユーザ自身で暗号化方式を選択可能な例もあります。
次にAPのモード毎に接続可能なクライアントと接続するモードをまとめてみたいと思います。
図17はPersonalについてです。
次に図18はEnterpriseについてです。
WPA3 Enterpriseはモードが複数あるので複雑ですが、Onlyモード対応クライアントは192bitに非対応の前提で記載しています。(192bit対応クライアントはその逆となります)
前述したとおりAP側で暗号化方式や認証方式を設定できるケースもあるため、AP側は最小要件で設定している前提となります。
最後に図19がEnhanced Openについてです。
図19:Enhanced Open AP/クライアント接続可否
今回はWPA3の各モードを紹介させていただきましたが、下位互換性やより高セキュリティ要件に対応するなど、一口にWPA3といっても実際には複数のモードがあることが見て取れたかと思います。
そうなると各モードに対応しているAPやクライアントには何があるかが気になるところですが、次回はそちらを深堀していきたいと思います。
次回もお楽しみに。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
技術本部 技術統括部 第2技術部 1課
藤ノ木 俊