首页 技术 正文
技术 2022年11月21日
0 收藏 937 点赞 2,783 浏览 1249 个字

简单描述一下WPA/WPA2的4次握手中的一些关键词:

  WPA/WPA2使用4次握手的方式来产生所需要的密钥。四次握手通过一系列的交互,从PMK(Pairwise Master Key)生成PTK(Pairwise Transient Key)。PMK来自MSK(Master Session Key),是MSK的前256位,32字节。

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

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

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

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

关于WPA/WPA2 4次握手

  KEK和KCK是给EAPOL-Key,也就是四次握手时,加密和完整性验证用的。TK用于后续的数据加密。

  四次握手的报文都是基于EAPOL-Key的,EAPOL-Key的结构如下:

关于WPA/WPA2 4次握手

  PTK如何生成

  生成PTK,需要5个必要元素,PMK,ANonce(Nonce 1),SNonce(Nonce 2),Authenticate MAC(MAC 1),Supplicant MAC(MAC 2)。如下图:

关于WPA/WPA2 4次握手

2个Nonce分别是Authenticator和Supplicant生成的随机数。

这张图里的输出包含4个部分,其实Data Encr和Data MIC合起来就是前面提到的TK。而EAPOL Encr/MIC分别对应前面的KEK和KCK。

  4次握手的交互过程

    1/4:Authenticator -> Supplicant

    Authenticator把ANonce送给Supplicant。Supplicant收到1/4后,就有了生成PTK的所有元素。因为1/4里同时也包含了Authenticator的MAC地址。

    2/4:Supplicant -> Authenticator

    Supplicant计算出PTK,把SNonce和自己的MAC地址送给Authenticator。同时,从2/4报文开始,后面的每个报文都会有MIC。1/4没有。

    3/4:Authenticator -> Supplicant

    Authenticator向Supplicant证明自己有有效的,同样有MIC加入其中

    4/4:Supplicant -> Authenticator

    仅是对3/4的一个ACK。说明PTK已经装好,后面的数据可以加密了。

WPA与WPA2在4次握手上的区别

  WPA的GTK会在4次握手完成以后进行安装,而WPA2的GTK则是在4次握手的过程中就进行了安装;如下图:

  WPA:4-way handshake (PTK)

关于WPA/WPA2 4次握手

  WPA:2-way handshake (GTK)

关于WPA/WPA2 4次握手

  

  WPA2-的4步握手协议

  关于WPA/WPA2 4次握手

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,027
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,518
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,365
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,146
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,780
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,857