web-dev-qa-db-ja.com

ナンスリセットでは、どのように復号化が可能ですか?

今ではほとんどのInfoSec愛好家が [〜#〜] krack [〜#〜] について聞いたことがあると思います。まだの方はチェックしてください StackExchangerによるこの素晴らしい説明

これは、WPA2に対する新しい攻撃であり、特定の(そして確かにかなりの数の)シナリオで、4ウェイハンドシェイクの欠陥を悪用することにより、パケットの復号化と偽造を可能にします。

研究論文 を読んでも、なぜこの攻撃が可能であるのかまだわかりません。 4ウェイハンドシェイク中にメッセージ3の再送信を悪用して、キーの再インストールを強制する方法を理解しました。

キーの再インストール(または具体的にはクライアントナンスのリセット)で復号化または偽造が可能になるのはなぜですか?

35
FMaz

これは、両方を再利用でき、ストリームに予測可能な情報が含まれている場合に、特定のキーとノンスのキーストリームを把握できるためです。

多くの暗号では、キーを使用して一連の1と0を生成し、それらをデータとxorして暗号化された値を生成します。この1と0の文字列はキーストリームと呼ばれます。 nonceを再利用でき、キーストリームが以前のプレーンテキストブロックのコンテンツに基づいて変更されていない場合は、コンテンツに表示される既知のパケットを探すことができます。これらの既知のパケットが発生すると、予測可能なパターンが発生することがわかり、キーストリームのその部分を知っていると判断できます。

このプロセスを繰り返すことにより、最終的にはキーストリームの知識をさらに得ることができ、キーストリームの既知の部分で見つかったものを読み取りまたは操作することができます。 RC4は純粋なxor化されたキーストリームであるため、ナンス再利用に対して非常に脆弱です。同様に、AESのCTRモードは非常に影響を受けやすくなります。 AES CBC-MACへの影響はやや少なくなりますが、キーを常にリセットすると、常に同じ初期ブロックのセットが使用されるため、チェーンがバイパスされる可能性があるため、特に新しいクライアントを偽造する攻撃者にとって、情報漏えいが依然として発生する可能性がありますレースは要素ではありません。

20
AJ Henderson