在WPA/WPA 2 4路握手中,前两个步骤如下所示.(1) AP向客户端发送ANonce,(2)客户端计算自己的SNonce,计算预共享的瞬时密钥,并将SNonce与MIC一起发送给AP。
我的问题是:第一个现在不受MIC的保护,因此可以被对手修改。第二条消息中发送的MIC是否是在ANonce和SNonce上计算的?这样,ANonce也将得到验证。
发布于 2016-08-24 06:33:52
在第一条消息中发送的ANonce确实没有受到保护。它由美联社随机选择,并以明文发送.
第二条消息中的MIC只保护SNonce,因此不能用于验证ANonce。但是,在收到SNonce后,AP将根据以下几个方面计算PTK:
然后AP计算了PTK,可以很容易地验证MIC,从而验证SNonce。但是,如果MIC检查出,则ANonce可能没有被欺骗,否则AP计算的PTK将与请求者计算的PTK不同(因为他们使用了不同的ANonce),并且MIC不会检查出。
标准声明(当然),如果MIC不签出,则必须丢弃消息。因此,虽然对手可以修改ANonce,但它会导致握手失败。
此外,作为额外的防御,ANonce再次被发送到握手的第三条消息中的EAPOL-关键帧(见下图)。收件人必须验证此受保护的EAPOL-关键帧中的ANonce是否与在消息1中发送的ANonce相同。简单地说,这里重复消息1,但现在使用MIC来保护ANonce,就像您建议的那样,但是由于我们没有足够的信息来计算第1步的MIC,所以在第3步中完成了。(来源:802.11i标准)
本网站有Wireshark屏幕截图,显示消息1和消息3同时发送ANonce,第3条消息包含保护ANonce的MIC (相比之下,消息2包含SNonce和MIC以保护ANonce)。为了存档,我在这里复制了它们:
电文1:
电文2:
电文3:
电文4:
https://security.stackexchange.com/questions/134731
复制相似问题