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

WiFi认证协议详解:从WPA2到WPA3-SAE的演进

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

WiFi认证协议详解:从WPA2到WPA3-SAE的演进

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

引入

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

WPA / WPA2 中的四次握手

这是一次连接过程:

其中 四次 eapol key 属于四次握手的过程。
具体过程请参考:Wifi_认证 、关联 和 四次握手(WPA/WPA2)
注意:WPA 系列协议 描述的 不仅仅是 握手过程。

握手过程 采用的算法优点为:

  • 秘钥的生成具有隔离性
  • 不同的 STA 与 同一个 AP 不会生成相同的秘钥
  • 同一个 STA 连接 AP 的不同过程 也不会产生相同的秘钥
  • 预共享WIFI密码 PSK,使得 WIFI 网络有了不错的可控性
    优点 可圈可点,但缺点也相对明显。
    WPA2-psk 最大的问题就是 不在安全了!!
    破解教程层出不穷,安全升级迫在眉睫。

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 破解原理
    核心:想办法抓到四次握手的包
    大致分为以下几个步骤:
  • 明确 破解目标 AP 之后,针对某个已连接的 STA伪造出一个Deauthentication 帧扰乱现有 STA 与 目标AP 的连接
  • Deauthentication(取消身份验证帧)会让 目标AP 将当前 STA 从自己的关联表中踢出(也就是断开连接了)
  • AP 主动断开 STA 之后,会给 STA 发一个确认包,STA收到确认包之后 便会进行重连(毕竟不是 STA 自己真的想断开)
  • 触发重连之后,趁机 抓取四次握手的空口包,带回家分析。
  • 然后用字典法暴力破解
    由此可见对 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 的“安全”。
    详细阐述一下上图的过程:
  • 首先 STA 和 AP 都有预留的 PSK,并且兵分两路生成各自的产物。
  • 先通过ECC 对原始 PSK 进行映射。
    这算是第一层保护,如若攻击者不清楚 椭圆函数的参数,便无法进行下一步。
  • STA 生成随机数 rS ;AP 生成随机数 rA 。
  • STA 将 P · rS 传给 AP
  • Ap 将 P · rA 传给 STA
    " · " 这里的运算符不是 “乘法”,是一种特殊的算法,正因如此,WPA3 - SAE 才安全。
  • 这种算法 似乎遵循一定程度的“结合性”,但又不可逆。
    就是说 : P · rS 推不出 rS, 抓到包了也没用。但 P · rS · rA 这三个元素的顺序 不影响整体的结果。(妙啊!!!)
  • 后续就是进行一个 Hash 算法,再进行对比。当然在这个过程中也顺便生成了核心秘钥数据 (PMK)
  • 校验通过之后,双方用各自生成的 PMK 进行 “四次握手” 来生成用来给 Data 数据加密的 秘钥。
    上述流程可以完美 “格挡” 传统的破解手法。
    今天SAE先聊到这儿,后续有想到的在补充。

That’s all, thank you !!!

本文原文来自CSDN

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