SAE 【Simultaneous Authentication of Equals】 WPA3-SAE
概要
SAE(Simultaneous Authentication of Equals)とは、無線LAN(Wi-Fi)のセキュリティ規格「WPA3」で採用された暗号鍵の(元になる秘密の値の)交換手順で、パスワードと乱数から一定の手順で算出した値を交換することにより、鍵交換と認証を同時に行う方式。通信の暗号化の基礎となる共有鍵を交換するため、RFC 7664として標準化された「Dragonfly鍵共有」という手順を用いる。これはDiffie-Hellman鍵交換(DH)から派生した方式で、DHには無かった認証の機能を追加している。
接続を試みる二者(通常は端末とアクセスポイント)は事前に共有したパスワード、両者のMACアドレス、各々が生成した乱数を用いて一定の手順で値を算出して交換する。相手から受け取った値と自らの乱数から一定の計算を行うことで両者で同じ値を得ることができ、これを共有鍵とする。
この過程でパスワード自体やそのハッシュ値、乱数は送受信せず、攻撃者が互いが相手に送信する値を傍受しても「離散対数問題」と呼ばれる数学上の問題を解決しなければならず、算出の元になった秘密の値を逆算することは極めて困難である。楕円曲線上の離散対数問題を選択することもできる。
鍵交換で共有した共通鍵をもとに通信に用いる暗号鍵を生成(および一定期間ごとに再生成)して伝送路を暗号化する。パスワードや通信相手が同じでも共通鍵は接続ごとに毎回異なる値となるため、パスワードが漏れても過去の通信を解読することはできない(前方秘匿性)。また、パスワード自体やそのハッシュ値は直接やり取りしないため、単純で脆弱なパスワードを設定してしまっても割り出されにくい。
一つ前の規格であるWPA2の接続手順「4ウェイハンドシェイク」では、鍵交換手順の最中に攻撃者が割り込んで中間者攻撃できてしまう「KRACK」(Key Reinstallation AttaCK)脆弱性が発見され問題となったが、SAEでは値の算出に両者のMACアドレスを用いて認証も同時に行うため、攻撃者による割り込み、なりすましがより困難となっている。
(2023.1.13更新)