WPA加密的四次握手过程

WPA加密的四次握手过程

一、为什么要四次握手

为了解决无线传输不安全,需要对无线连接的接入进行控制,并实现帧传播的加解密。WPA四次握手有点相当于一个“安全”地协商“交换”秘钥的过程。这个秘钥就是PTK(PairwiseTransient Key),成对传输秘钥。

二、PTK的组成

PTK包含4个部分:KCK(Key Confirmation Key),KEK(Key Encryption Key),TK(Temporal Key),MIC。

KCK用来在EAPOL4-way shake时校验完整性
KEK用于在EAPOL4-way shake的3/4的时候来加密GTK等数据
TK用于加密单播数据
MIC用于数据传输的时候TKIP方式的Michael完整性校验,CCMP不用

PTK的总长度根据加密方式不同而不同。

当加密方式是TKIP时,PTK长512位,按顺序分别为KCK占128位,KEK占128位,TK占128位, MIC占128位。

当加密方式是CCMP时,PTK长384位,按顺序分别为KCK占128位,KEK占128位,TK占128位。

三、PTK的生成

生成PTK,需要5个必要元素*:PMK、ANonce(Nonce 1,AP生成的随机数)、SNonce(Nonce2,STA生成的随机数)、AuthenticateMAC(MAC1,AP的MAC)、SupplicantMAC(MAC2,STA的MAC)

上图的四个输出里面,DataEncr和DataMIC合起来就是TK,EAPOLEncr/MIC分别对应KEK和KCK。_

四、WPA四次握手过程

1. AP把自己的随机数(ANonce)传给STA,STA在收到ANonce后,可以生成PTK。

2. STA把自己的随机数(SNonce)和生成的PTK中的MIC传给AP。AP收到SNonce后,可以生成PTK,将收到的MIC和自己生成的MIC比较进行完整性校验,如果校验失败,握手失败。

3. 校验成功,AP使用PTK加密GTK,然后把加密后的GTK传给STA。

4. STA使用自己生成的PTK解密GTK,同时验证MIC,如果无误则发送ACK进行确认。

注:GTK只包含数据传输部分的Key,也就是GroupEncryption Key(加解密)和Michael Authenticator MIC Key(完整性校验),没有包含EAP-Key部分,所以只有256位。

借鉴博文:WPA 4次握手关于WPA/WPA2 4次握手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值