前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPA-PSK四次握手

WPA-PSK四次握手

作者头像
用户7557625
发布2020-07-15 10:21:36
1.3K0
发布2020-07-15 10:21:36
举报
文章被收录于专栏:程序猿的那点事

WPA2-PSK,AP/STA在4-wayshake前各自都知道密码(也就是用户连接某SSID输入的密码)

  1. AP(Authenticator)在1/4的时候把自己的随机数(ANonce)传给STA,STA在收到ANonce后,已经可以生成PTK
  2. 2/4的时候把自己的随机数(SNonce)传给AP,同时加了MIC(对应于PTK中的KCK,也就是秘钥确认秘钥)。AP收到SNonce以后,就可以生成PTK了,将收到的MIC和自己生成的MIC比较进行完整性校验,如果校验失败,握手失败。校验成功,AP生成PTK和GTK(GroupTransient Key,用来加密组播和广播)
  3. 3/4中将GTK(组临时密钥)和MIC(消息完整性校验码)一起发给STA,因为此时双方都已经知道PTK(成对临时密钥),所以会对GTK进行KEK加密。
  4. STA发送ACK进行确认

WPA-PSK 初始化工作 使用 SSID 和passphares使用以下算法产生PSK 在WPA-PSK 中 PSK=PMK=pdkdf2_SHA1(passphrase,SSID,SSID length,4096) PSK 预共享密钥 就是一个共享密码,是用于验证 L2TP/IPSec 连接的 Unicode 字符串。在需要使用之前,通过使用某一安全通道在双方之间共享。预先分配的密钥仅仅用于认证过程,而不会用于数据加密过程。

PMK 成对主密钥 PMK由预先共享密钥(PSK)直接得到,或由主会话密钥(MSK)推导得出。如果PMK有MSK推导得出,PMK的计算使用函数L(psk,0,256),即MSK的前256位。因此,当使用MSK推导PMK时,MSK至少由256位组成。PMK的生命周期由认证服务器决定,而PTK的声明周期则要短于PMK的声明周期 PMK是申请者和认证者之间所有密钥数据的最终来源。它可以衍生自身份验证过程中的EAP method,或者有PSK直接提供。认证者用来生成组临时密钥(GTK)的密钥,通常是认证者生成的一组随机数。

PTK 成对临时密钥 PTK = PRF-X(PMK,”pairwisekey expansion”, min(AA,SPA)||MAX(AA,SPA)||MIN(ANONCE,SNonce)||max(ANonce,SNonce)) AA: 是认证者的MAC地址 SPA:是申请者的MAC地址 TKIP使用X = 512,CCMP使用X= 384 PTK 是从成对主密钥中产生的密钥,其中包括加密与完整性协议所使用的密钥以及传递动态密钥所需要的密钥。 最终用于加密单播数据流的加密密钥。

GTK 组临时密钥由组主密钥(GMK)通过哈希运算生成,是用来保护广播和组播数据的密钥。 最终用于加密广播和组播数据流的加密密钥。

MIC 消息完整性校验码 MIC Key=PTK 前 16 个字节。是在第二次握手的时候 ,提取这个 PTK 前 16 个字节组成一个 MIC KEY。在第三次握手的时候提取这个 PTK 前 16 个字节组成一个 MICKEY 使用以下算法产生 MIC 值用这个 MIC KEY 和一个 802.1x data 数据帧使用以下算法得到 MIC 值:MIC KEY=提取PTK 的前16 个字节 MIC = HMAC_MD5(MIC Key,16,802.1x data) 针对一组需要保护的数据计算出的散列值,用来防止数据遭篡改。

STA和AP得到PMK后,将进行密匙派生以得到PTK。最后,PTK被设置到硬件中,用于数据的加解密。由于AP和STA都需要使用PTK,所以二者需要利用EAPOL Key帧进行信息交换。这就是4-Way Handshake的作用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档