web-dev-qa-db-ja.com

WPA3の技術的な疑問(2)

これは、この新しいwifiセキュリティプロトコルの背後にある原理を理解しようとしたときに発生したwpa3の技術的な疑問に関する2番目の投稿です。私はサイバーセキュリティの初心者であり、独学で学んでいるので、少しでも助けていただければ幸いです。

Wifi Allianceは、WPA3にトンボハンドシェイクに基づくSAEプロトコルが含まれ、KRACKに対して脆弱であったWPA2で使用される4ウェイハンドシェイクを残すことを発表しました。

私が収集したものから、SAEの前に、デバイスとルーターはいくつかの楕円曲線パラメーターに同意し、それらはネットワークパスワードに既知の変換(PBKDF2など)を適用し、各STAはパスワード要素(PWE)、秘密値(Randと呼ばれる)を生成します)と一時的な値(マスクと呼ばれます)。この値は、後続のプロトコル実行では使用されません。

したがって、これがすべて導出されると、SAEプロトコルは2つのメッセージ交換を使用して接続を確立します。コミットと検証メッセージです。 STA-Aは、PWEと生成されたシークレットを使用してコミットメッセージを生成しました。

これが送信されると、STA-Bがコミットメッセージが検証されていないことを確認すると(STA-Bで生成されたシークレットを使用して計算できるメッセージ内の値を期待)、認証は失敗し、接続プロセスは終了します。それ以外の場合は、成功するとキー(K)が生成され、ハッシュされ、そこからKCKとPMKが導出されます。

確認メッセージがSTA-Aに送信されます。 STA-Aが検証メッセージを受信すると、与えられた値がSTA-Aが予期した値と一致することを検証します。したがって、すべてが問題なければ、STA-AはPMKを生成します。

これで、AESを使用したPMKデータ暗号化を実行できます。私が理解したことは正しいですか?

また、私はSAEが前方機密を提供することを読んだので、それはどのように達成されますか?メッセージが送信されるたびに新しいPMKが生成されますか(つまり、キーの刷新)(メッセージが送信されるたびにSAEが実行されます)?

3
almb

これで、AESを使用したPMKデータ暗号化を実行できます。私が理解したことは正しいですか?

私はプロトコルを詳しく調べませんでしたが、あなたは正しいと思います。

また、私はSAEが前方機密を提供することを読んだので、それはどのように達成されますか?メッセージが送信されるたびに新しいPMKが生成されますか(つまり、キーの刷新)(メッセージが送信されるたびにSAEが実行されます)?

前方秘密を提供するのはSAE自体ではなく、SAEはWPA3がそれをサポートできるようにします。以前の暗号化プロトコルでは、認証に使用されたパスワードは暗号化にも使用されていました。何らかの方法で、生のトラフィックの暗号化に使用されるキーは、アクセスポイントのパスワードから取得されました。これは、トラフィックを記録し、後でのみキーを発見した誰かが、何ヶ月または何年もさかのぼって、遡ってコンテンツを復号化できることを意味しました。

WPA3は少し異なります。 SAEはパスワードを暗号化キーから分離するため、デバイスは完全にランダムな対称キーを交換するために公開キー暗号を自由に使用できます。このキーは、接続されているデバイスごとに異なり、接続するたびに変わります。定期的に鍵の再生成を行うことも可能ですが、フォワードシークレシーでは厳密には必要ありません。最終的には、攻撃者が何らかの方法でキーを見つけた場合(たとえば、デバッガをルーターのマザーボードに接続してメモリを読み取ることにより)、現在のセッションのみを解読でき、過去のセッションは解読できません。

1
forest