1. WPA3-Personal连接全流程拆解
记得第一次用Wireshark抓取WPA3握手包时,看到密密麻麻的十六进制数据差点崩溃。但当我理清SAE认证和四次握手的逻辑后,突然发现这就像两个特工用密语接头的过程。咱们就以手机连接路由器为例,看看WPA3-Personal如何用五次关键对话建立安全通道。
先说说背景:WPA3-Personal用SAE(对等同时认证)替代了WPA2的PSK预共享密钥。最大的改进是防暴力破解——即使你用"123456"这种弱密码,黑客抓包也解不出原始密码。这是因为SAE采用Dragonfly密钥交换算法,整个过程不传输密码明文,而是通过数学运算生成PMK主密钥。
抓包时会看到两个重要阶段:SAE认证生成PMK,四次握手衍生PTK/GTK。这就像先交换秘密配方(PMK),再根据配方调配具体调料(PTK)。实测发现个细节:WPA3设备在Probe Response帧的RSN字段会明确标注AKMP类型为00-0F-AC:8,这是识别SAE认证的重要标志。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. SAE认证:PMK生成的秘密握手
2.1 Commit Message交换
当手机扫描到WPA3热点时,会发起两次Commit交换。这就像双方各自拿出一部分原料:
- STA发送的Commit包含椭圆曲线参数和随机数
- AP回复的Commit携带自己的曲线参数
关键点在于双方都用密码+SSID作为种子,通过PWE(密码元素)生成机制创建临时密钥材料。我曾在测试中故意输错密码,发现SAE流程会立即终止——这说明在Commit阶段就已开始密码验证。
2.2 Confirm Message确认
接下来两个Confirm Message才是真正的较量:
- 手机用接收到的AP参数+本地密码计算确认值
- AP用同样方式验证这个值
这个过程实现了双向认证,既防止伪造AP也杜绝非法STA接入。有趣的是,Confirm报文中的Advertisement Protocol字段会携带KCK(密钥确认密钥),用于验证对方是否拥有正确的PMK。
3. 四次握手:动态密钥的诞生
3.1 EAPOL-1/2:随机数交锋
完成SAE认证后,AP会发送包含Anonce的EAPOL-1帧。这里有个坑:早期WPA2设备可能
