EAPOL四次握手流程

协议

802.11i

功能

作用:派生和交换两组密钥
密钥包括ptk加解密单播数据,由用户设置的pmk扩展(在setwork的时候通过pasapharse生成)
gtk加密解组播数据,由gmk派生而来(由ap决定)

//gtk安全角度考虑:因同一个ap和所有sta使用共同的gtk,有sta中途离场时AP和剩下的STA之间最好更换一个新的GTK

数据帧格式

以message A举例
在这里插入图片描述
在这里插入图片描述
keyinfo字段详解
在这里插入图片描述
在这里插入图片描述

四次握手流程

交互过程主要是为了派生密钥和安装
前两帧用于密钥的交换和派生:
STA收到Message A的处理逻辑如下:
生成一个Nonce,也叫SNonce。
派生PTK。
构造第二个EAPOL-Key帧,称为Message B

AP收到Message B的处理如下:
派生PTK。
检查Message B的MIC值是否正确。如果发现MIC错误,则丢弃(而且是silently)MessageB。

后两帧主要用于密钥安装
STA收到Message C的处理如下。
检查Replay Counter,计算MIC以及利用自己的PTK解密Key Data以获取RSN IE。
如果Message C包含GTK信息,则取出GTK。注意,GTK以及和Key相关的信息存储在KDE(Key Data Element)的IE中。关于KDE和GTK的格式,请读者继续阅读下文。
构造并发送最后一个EAPOL-Key帧,称为Message D。
为Driver安装PTK。

AP收到Message D的处理如下。
再次计算MIC,如果正确则为driver安装PTK。
更新Replay Counter,如果以后需要更新Key,则使用一个不同的Replay Counter。

数据帧日志解析

message A
在这里插入图片描述
在这里插入图片描述
message B
在这里插入图片描述
在这里插入图片描述
message C
在这里插入图片描述
在这里插入图片描述
message D
在这里插入图片描述

组播

在这里插入图片描述

代码

状态迁移
接收message A状态为“WPA_4WAY_HANDSHAKE”
接收message C状态为“WPA_4WAY_HANDSHAKE”,
如果message C中包含gtk信息,则状态迁移“WPA_GROUP_HANDSHAKE”安装gtk
安装ptk、gtk之后状态为“WPA_COMPLETED”
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值