Wi-Fi中新的安全协议WPA3-SAE有那些优势
(1)针对WPA2-PSK的离线字典攻击:
WPA2-PSK协议采用开放系统认证,并将真正的身份认证过程放置于四步握手中。在所有使用WPA2-PSK协议的Wi-Fi网络中,STA与AP所使用的预共享密钥PSK是通过带外机制获得的。STA与AP经过认证阶段认证成功后会根据AP的PSK和SSID值通过4096次的迭代哈希计算生成PMK,紧接着进行四步握手以协商PTK。握手过程如图1所示。
图1 四步握手过程
WPA2-PSK容易因为受到离线字典攻击而导致用户口令被攻击者破解,破解原理如下:四步握手中,除了PMK外其他用于计算PTK的参数(Snoce、Anoce、MAC1、MAC2)都是未经加密保护的,并且用于计算PTK的算法也是完全公开的,攻击者先利用AP的SSID和可能的PSK`值通过4096次哈希迭代计算PMK`,而后使用抓取的握手包中提取的MAC1、MAC2、Anoce、Snoce值计算PTK`和MIC`,随后将计算出的MIC`与抓取握手包中包含的MIC进行比较。如果MIC`==MIC,则字典中使用的PSK`==PSK。
(2)WPA3-SAE抵抗离线字典攻击
与WPA2-PSK不同的是WPA3-SAE并不仅仅通过四步握手的方式认证身份而是使用SAE握手来进行身份认证,只有经过认证后才能进入到下一步的关联阶段。
攻击者如果想要验证离线字典中的PSK`值,就必须对比计算得到的MIC`与四步握手中的MIC值是否一致。攻击者需要使用字典中的PSK`值计算出密钥元素P`,并通过确定在SAE握手中引入的随机变量随机数rB`与掩码mB`计算出PMK`,最后将PMK`用于四步握手计算MIC`才能与抓取到的MIC进行比较。
无法通过离线字典攻击破解WPA3-SAE的PMK,原因有以下几点:
•由于PMF管理帧保护的存在,攻击者无法使用取消认证攻击使STA与AP断开连接,这导致STA与AP之间的SAE握手包与四步握手包难以抓取。
•假如攻击者要计算PMK,攻击者不仅需要确定PSK以计算密钥元素P,还要掌握STA与AP双方在Commit阶段生成的随机数rx与掩码mx。鉴于随机数rx与掩码mx随机且不公开,而且根据公开的标量Sx与元素Ex无法逆推出随机数rx与掩码mx,所以攻击者无法掌握随机数rx与掩码mx。对于攻击者而言,仅通过公开信息计算PMK是不可行的。
•在WPA3网络中,如果攻击者暴力破解密钥将消耗大量的资源。密钥元素P的计算需要进行大量哈希和大于40次的迭代等复杂的运算,无论是计算的复杂度还是资源的消耗对于攻击者来说都是巨大的。
二、提供前向保密
对于使用WPA2的Wi-Fi网络,攻击者掌握了AP的SSID以及PSK就可以使用公开的算法计算出PMK,同时结合每次STA与AP的四步握手包中的明文信息,计算PTK值,就可以解密流量数据。这样一来,在PSK被攻击者掌握的情况下,不仅将来的流量数据可以轻易的被解密,过往的流量数据在攻击者掌握四步握手包的情况下也可以轻易地被解密。
而对于使用WPA3-SAE的Wi-Fi网络,即便攻击者掌握了PSK的值,WPA3仍然可以提供良好的前向保密。原因有以下几点:
•攻击者虽然可以获得Commit阶段双方公开的标量Sx与元素Ex,但是却无法通过逆向计算的方式获得不公开的随机数rB与掩码mB,没有随机数rB与掩码mB也就无法计算主密钥PMK。所以即使攻击者掌握了所有公开的信息,也无法实现信息的解密。
•WPA3通过SAE握手引入了随机数rB与掩码mB,这导致每个用户、每次连接产生的PMK都是不同的。所以即使攻击者使用某种手段得到了PMK进而计算出PTK,完成了对当次连接数据的解密,但是由于每个用户在每次连接产生的PMK都是不同的,攻击者无法实现对以后或者过往流量数据的解密。
三、强制使用PMF管理帧保护
在WPA2的离线字典攻击中,攻击者往往首先通过发送解除认证帧、取消关联帧的方式发动取消认证攻击使STA与AP断开连接,这样STA与AP重新进行连接的时候就会产生新的握手包。而在WPA3中强制使用PMF管理帧保护,这能有效的防止攻击者冒充交互双方发送解除认证帧、取消关联帧来实现取消认证攻击。
下一步我会介绍WPA3中的一些攻击,请大家继续关注。