在上篇文章描述了WLAN关联过程,所有无线终端(Station)从关联AP到转发数据主要经过关联-认证-四次握手三个过程。这里的认证通常指安全认证,也就是连接Wi-Fi输入用户名密码校验这个过程。认证的主要目的是为了确认认证端和被认证端是否拥有相同的PMK和GMK。

无线 Wi-Fi 的四次握手就是key交换的过程,进行四次握手是为了生成一个用于加解密无线数据的Key(PTK/GTK)。通过四次握手之后产生的PTK/GTK来加解密数据传输。PTK用于单播数据帧的加密和解密,GTK用于组播数据帧和广播数据帧的加密和解密,管理帧、控制帧和空数据帧不用加密。
四次握手不是直接将密码发送到 AP,而是通过 EAPOL(Extensible authentication protocol over LAN)进行消息交换。


关于上图中PMK、GMK等生成流程,对于802.1x认证来说,认证成功后会生成MSK,然后通过MSK生成PMK;对于PSK认证,直接由PSK生成PMK。

Key分层

金字塔中间层是 GMK 和 PMK,由 MSK/PSK生成
金字塔底层是 GTK 和 PTK,用来加密数据
802.1x流程


上图中1~6为关联过程,随后进入802.1x认证过程(7~10,中间报文略),在1x完成后,开始四次握手过程(EAPOL四次交互)。
PKS流程

名词解释:
MSK (Master Session Key):由 802.1X认证服务器生成。
GMK (Group Master Key):一种辅助键,可用于派生组临时键(GTK)。
PMK (Pairwise Master Key):PMK 是由 MSK 生成,WPA2/PSK 的情况下,当终端和AP身份验证后,PSK 变成 PMK。
PTK (Pairwise Transit Key):PTK 用来加密 AP 和 Station 通讯的单播数据包,AP 与每个 Station 通讯用的 PTK 都是唯一的。PTK = PRF(PMK + ANonce + SNonce + Mac(AA) + Mac(SA))
- PRF是 pseudo-random function 的缩写,表示伪随机函数,PMK、ANonce、SNonce、Mac(AA) 和Mac(SA) 作为它的输入参数;
- ANonce是 AP 生成的随机数,A 表示 authenticator;
- SNonce 是 Station 生成的随机数,S 表示 supplicant;
- Mac(AA) 是 AP 的 Mac 地址;
- Mac(SA) 是 Station 的 Mac 地址;
GTK (Group Temporal Key):GTK 用来加密 AP 和 Station 通讯的多播/广播数据包,连接该 AP 的所有 Station 共享一个 GTK。GTK = PRF(GMK + ANonce + Mac(AA))
附件:
上述截图抓包文件,有兴趣下载浏览查看。
终端MAC:10:41:7f:a5:e0:17,AP MAC:f4:2e:7f:79:5a:10,SSID:ARUBA/Aruba-1x
上一章在哪,搜索没搜到
https://arubase.club/archives/7292
请教下为什么psk不需要认证
名词解释写了:PMK 是由 MSK 生成,WPA2/PSK 的情况下,PSK直接生成PMK。1x的EAP模式下是身份验证后生成PMK
这个认证和我理解的认证好像不一样,我理解的psk预共享密钥需要进行密码的认证,认证成功之后才能联网。
仔细看第一个图
第一个图的话我理解的就是关联ap然后radius认证,认证通过之后开始协商密钥
请教下用什么无线网卡可以测试SNR?
通常无线扫描探测工具都有这个数据显示。