问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

WiFi认证技术演进:从WPA2到WPA3-SAE

创作时间:
作者:
@小白创作中心

WiFi认证技术演进:从WPA2到WPA3-SAE

引用
CSDN
1.
https://blog.csdn.net/weixin_43415201/article/details/124432621

引言

WPA3-SAE是针对四次握手的协议。四次握手是AP(认证方)和STA(请求方)进行四次信息交互,生成一个用于加密无线数据的密钥。这个过程发生在WiFi连接的过程中。为了更好地阐述WPA3-SAE的作用和凸显其优点,我们需要借助WPA2-PSK来作对比。先来简单阐述一下WPA2-PSK……

WPA/WPA2中的四次握手

连接过程

其中四次EAPOL Key属于四次握手的过程。具体过程请参考:Wifi_认证、关联和四次握手(WPA/WPA2)。

注意:WPA系列协议描述的不仅仅是握手过程。

握手过程采用的算法优点

  • 密钥的生成具有隔离性
  • 不同的STA与同一个AP不会生成相同的密钥
  • 同一个STA连接AP的不同过程也不会产生相同的密钥
  • 预共享WiFi密码PSK,使得WiFi网络有了不错的可控性

优点可圈可点,但缺点也相对明显。WPA2-PSK最大的问题就是不再安全了!

迫在眉睫:2017年10月,802.11协议中,沿用了13年的WPA2加密协议被完全破解了。

先理解WPA2-PSK的简要过程(四次握手):

从这个过程中我们看出:

  • 预共享PSK参与了生成PTK的计算
  • PTK也负责了对PSK的验证
  • 双方都有随机数的产生,赋予了PTK的不唯一性
  • 最终由PTK负责后续Data数据的加密

PTK的保密性直接决定着用户数据的安全性。由此可见,窥探者除了PSK和PTK不能从空中抓到,其他参与计算的值都能抓到。

PMK = SHA-1(ESSID + PSK)
PTK = PRF(PMK + ANonce + SNonce + Mac(AA) + Mac(SA))

SHA-1和PRF这两个函数是公开的。攻击者一旦抓到4次握手的包,便能离线暴力破解PSK。之后便可以利用PSK去生成PTK,进而窥探用户数据。

WPA2-PSK的破解原理

核心:想办法抓到四次握手的包。大致分为以下几个步骤:

  1. 明确破解目标AP之后,针对某个已连接的STA伪造出一个Deauthentication帧,扰乱现有STA与目标AP的连接。
  2. Deauthentication(取消身份验证帧)会让目标AP将当前STA从自己的关联表中踢出(也就是断开连接了)。
  3. AP主动断开STA之后,会给STA发一个确认包,STA收到确认包之后便会进行重连(毕竟不是STA自己真的想断开)。
  4. 触发重连之后,趁机抓取四次握手的空口包,带回家分析。
  5. 然后用字典法暴力破解。

由此可见对WPA2-PSK的安全性已经支离破碎,对其的改进也是箭在弦上。

WPA3

WPA3-Personal基于IEEE Std 802.11-2016中定义的SAE。SAE采用了“互联网工程任务组(IETF)”RFC7664规范中定义的“蜻蜓(Dragonfly)”握手协议,将其应用于Wi-Fi网络以进行基于密码的身份验证。

针对WPA2的通病,WPA3在各个场景下都给出了不错的解决方案。比如针对WPA2-PSK的协议——WPA3-SAE做了两点具有革命性的优化:

  1. 针对暴力破解攻击的防护得到了提升。即使用户没有设置较为复杂的密码。
  2. 提供了正向加密,即使攻击者知道了PSK也无法窥探用户的数据。

WPA3-Personal的连接交互过程

从上图我们能看出与WPA2最明显的差别就是认证过程。WPA3-SAE的认证过程变得繁琐了,从两帧变成了四帧。

SAE认证过程(Authentication)

WPA3-Personal基于IEEE Std 802.11-2016中定义的SAE。SAE采用了“互联网工程任务组(IETF)”RFC7664规范中定义的“蜻蜓(Dragonfly)”握手协议,将其应用于Wi-Fi网络以进行基于密码的身份验证。

这个认证过程会校验PSK的正确性,也会生成PMK,供后续握手使用。

上图只是WPA3-SAE的认证过程,但似乎这已经完成了信息的校验和密钥关键元素的生成。站在用户的角度,设备连接这两种协议(WPA2-personal和WPA3-SAE)的热点没有任何操作上的区别:

  • 都是要预先得知PSK(也就是AP密码)

那么让我们对比着WPA2-personal的“不安全”,来看看WPA3-SAE的“安全”。

详细阐述一下上图的过程:

  1. 首先STA和AP都有预留的PSK,并且兵分两路生成各自的产物。
  2. 先通过ECC对原始PSK进行映射。这算是第一层保护,如若攻击者不清楚椭圆函数的参数,便无法进行下一步。
  3. STA生成随机数rS;AP生成随机数rA。
  4. STA将P·rS传给AP
  5. AP将P·rA传给STA
    "·"这里的运算符不是“乘法”,是一种特殊的算法,正因如此,WPA3 - SAE才安全。
  6. 这种算法似乎遵循一定程度的“结合性”,但又不可逆。就是说:P·rS推不出rS,抓到包了也没用。但P·rS·rA这三个元素的顺序不影响整体的结果。(妙啊!!!)
  7. 后续就是进行一个Hash算法,再进行对比。当然在这个过程中也顺便生成了核心密钥数据(PMK)
  8. 校验通过之后,双方用各自生成的PMK进行“四次握手”来生成用来给Data数据加密的密钥。

上述流程可以完美“格挡”传统的破解手法。

今天SAE先聊到这儿,后续有想到的在补充。

总结

WPA3-SAE通过引入SAE认证机制和“蜻蜓”握手协议,有效提升了WiFi网络的安全性,能够抵御暴力破解攻击,并提供正向加密保护,即使攻击者获取了PSK也无法解密用户数据。这对于保护用户隐私和数据安全具有重要意义。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号