You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于WPA2四次握手关键字段及EAPOL类型的技术问询

关于WPA2四次握手关键字段及EAPOL类型的技术问询

1. WPA2握手的EAPOL Type=03是否固定,其他Type值的含义

首先,你看到的Type=03对应EAPOL_KEY,这个确实是WPA2四次握手专属的EAPOL类型——四次握手的所有帧都是EAPOL_KEY类型,所以这个值在WPA2握手过程中是固定的。

结合你找到的Wireshark源码里的eapol_type_vals数组,其他EAPOL类型的含义和使用场景如下:

  • Type=01(EAPOL_START):客户端在发起认证前发送的帧,作用是通知AP“我准备开始认证流程了”,这是进入四次握手之前的初始触发帧。
  • Type=02(EAPOL_LOGOFF):客户端主动断开连接时发送的帧,告诉AP“我要下线,请释放我的相关资源”。
  • Type=04(Encapsulated ASF Alert):用于企业环境的告警帧,属于ASF(Alert Standard Format)协议范畴,和WPA2四次握手完全无关,一般是设备发送的系统告警信息。

2. 第三次握手里的Install位作用

你理解的没错!Install位确实只在AP发送的第三次握手帧中设置,它的核心作用就是:

告诉客户端:“我已经成功验证了你发送的MIC(消息完整性校验码),现在你可以把我们协商好的会话密钥(PTK,Pairwise Transient Key)安装到本地网卡上,准备开始加密通信了”。

客户端收到这个帧后,会在第四次握手帧中也带上Install位回复AP,确认自己也完成了密钥安装,至此双方就都能用PTK加密后续的单播数据帧了。

3. 第三次握手里的WPA Key Data是什么

这个WPA Key Data不是直接用于加密解密的密钥,而是一个加密后的数据包,里面包含的是GTK(Group Temporal Key)——也就是用于广播/组播流量的密钥。

具体来说,AP会用之前协商好的PTK中的KCK(Key Confirmation Key)部分对GTK进行加密,然后放到Key Data字段里发送给客户端。客户端收到后,用自己计算出的PTK解密这个字段,就能得到GTK,之后就可以解密AP发送的广播/组播帧了。

而单播通信用的PTK是双方通过PSK(预共享密钥)和握手过程中的随机数计算出来的,不会在任何帧里明文传输。

4. EAP Packet(Type=0)的使用场景

EAP_PACKET(Type=0)是用于**EAP(可扩展认证协议)的帧,只会在WPA2-Enterprise(企业版WPA2)**环境中出现,家庭常用的WPA2-PSK里不会用到它。

举个例子:当客户端连接一个需要802.1X认证的企业AP时,AP会先发送EAP_PACKET类型的请求帧(比如请求输入用户名),客户端回复对应的响应帧,之后还会和后端的RADIUS服务器完成身份验证(比如用PEAP、EAP-TLS等方式)。只有完成这个EAP认证阶段后,才会进入WPA2的四次握手流程协商加密密钥。


备注:内容来源于stack exchange,提问作者C.Unbay

火山引擎 最新活动