Shu*_*eng 1 networking encryption wireless-networking
我知道连接到同一个开放 WiFi 的用户可以看到彼此的流量,因为它是以明文形式发送的;这甚至适用于未连接到 WiFi 的用户。
但是,维基百科指出 WPA-PSK 中的加密密钥来自密码,所有用户必须知道才能连接到 WiFi。那么,所有用户都派生并使用相同的加密密钥吗?
也就是说,所有连接到同一个WPA-PSK WiFi的用户都可以看到彼此的流量,只有没有连接到WiFi的用户看不到流量?
https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access
每个无线网络设备通过从 256 位共享密钥导出其 128 位加密密钥来加密网络流量。该密钥可以作为 64 个十六进制数字的字符串输入,也可以作为 8 到 63 个可打印 ASCII 字符的密码短语输入。 [16] 如果使用 ASCII 字符,则 256 位密钥是通过将 PBKDF2 密钥推导函数应用于密码短语来计算的,使用 SSID 作为盐和 HMAC-SHA1 的 4096 次迭代。 [17] WPA-Personal 模式适用于 WPA 和 WPA2。
如果您知道给定 WPA-PSK 或 WPA2-PSK 网络的密码或 PSK,并且您在给定客户端加入网络时捕获了密钥握手,则可以解密该会话的该客户端流量(直到它断开连接并重新连接到AP,此时您需要捕获其新的密钥握手,以获取允许您解密该客户端的新会话的信息)。
客户端都使用相同的密码,该密码通过 PBKDF2 散列到成对主密钥 (PMK) 中,但客户端不直接使用 PMK 加密。在连接开始时,客户端和 AP 各自生成一个称为 nonce 的随机数并将它们发送给彼此,这些 nonce 与 PMK 一起使用以派生该客户端将用于该会话的密钥以加密其交通。AP 派生出相同的密钥,并使用它为该一个会话的该客户端的所有流量加密。
编辑添加:因此客户端无法像在 WEP 时代那样自动解密 WPA-PSK 网络上彼此的流量,但只需很少的额外工作,网络范围内的任何设备,谁知道密码,可以解密客户端的网络流量。攻击者甚至不需要连接到网络。他只需要在范围内并知道密码。