随机数重置如何允许解密?

信息安全 无线上网 脆弱性 wpa2 随机数 克拉克
2021-08-19 22:03:46

我敢肯定,到目前为止,大多数 InfoSec 爱好者都听说过KRACK如果您还没有,请查看StackExchanger 同事的精彩解释

这是对 WPA2 的一种新攻击,它允许通过滥用 4 次握手中的缺陷在某些(当然还有很多)场景中解密和伪造数据包。

阅读研究论文,我仍然不明白为什么这种攻击是可能的。我了解我们如何在 4 次握手期间滥用消息 3 的重新传输来强制重新安装密钥。

为什么密钥重新安装(或更具体地说是客户端随机数重置)允许解密或伪造?

1个回答

这是因为当您可以重用两者并且流包含可预测的信息时,能够找出给定密钥和随机数的密钥流。

在许多密码中,密钥用于生成一系列 1 和 0,这些 1 和 0 与数据异或以生成加密值。这串 1 和 0 被称为密钥流。如果您能够重用 nonce 并且密钥流没有根据先前明文块的内容进行更改,那么您可以查找出现在内容中的已知数据包。当这些已知数据包出现时,您将看到一个可预测的模式出现,并且能够确定您知道密钥流的那一部分。

通过重复该过程,您最终可以获得越来越多的密钥流知识,然后可以读取或操作在密钥流的已知部分中找到的任何内容。RC4 极易被随机数重用,因为它是一个纯异或的密钥流。同样,AES 的 CTR 模式也非常容易受到影响。AES CBC-MAC 受到的影响会小一些,但是由于始终使用相同的初始块集,进行不断的密钥重置可能会绕过链接,因此仍有可能发生一些信息泄漏,特别是对于伪造新客户端的攻击者赛车将不是一个因素。