WPA认证过程
来源:互联网 发布:淘宝带图评价 淘气值 编辑:程序博客网 时间:2024/05/17 02:51
预共享密钥模式
概念
预共享密钥可以是8~63之间任意长度的可打印的ASCII码.
使用WAP加密算法依赖Pairwise Master Key(PMK), PMK使用预共享密钥和SSID进行计算
当客户端拥有PMK, 它就与AP开始协商一个新的, 临时的密钥, 即Pairwise Transient Key(PTK)
每次在客户端连接和定期更换的时候动态的创建这些临时密钥
PTK组成
PMK
一个随机数
由AP提供, 即A-nonce
另一个随机数
由客户端提供, 即S-nonce
客户端的MAC地址
AP的MAC地址
通过在认证交换时检查Message Integrity Code(MIC)项, AP验证客户端是否真的有PMK
MIC是一个数据包的加密散列函数, 这个函数用于防止篡改和合适客户端具有这个密钥
如果MIC是不正确的, 那么PTK和PMK就是不正确的
如果攻击者拥有PMK, 则可以阅读其它客户端的的传输数据包, 以及接入AP
过程(四次握手)
WPA-PSK 初始化工作
产生PSK
PSK=PMK=pdkdf2_SHA1(passphrase, SSID, SSID length, 4096)
第一次握手
AP
广播SSID
AP_MAC(AA)→STATION
STATION
使用接受到的SSID, AP_MAC(AA)和passphares使用同样算法产生PSK
PSK=PMK=pdkdf2_SHA1(passphrase, SSID, SSID length, 4096)
第二次握手
STATION
发送一个随机数SNonce
STATION_MAC(SA)→AP
AP
接受到SNonce, STATION_MAC(SA)后产生一个随机数ANonce
然后用PMK, AP_MAC(AA), STATION_MAC(SA), SNonce, ANonce 用以下算法产生PTK
PTK=SHA1_PRF(PMK, Len(PMK), "Pairwise key expansion", MIN(AA, SA) || Max(AA, SA) || Min(ANonce, SNonce) || Max(ANonce, SNonce))
MIC Key=PTK前16个字节
提取这个PTK 前16 个字节组成一个MIC KEY
第三次握手
AP
发送上面产生的ANonce→STATION
STATION
用接收到ANonce 和以前产生PSK, SNonce, AP_MAC(AA), STATION_MAC(SA)用同样的算法产生PTK
提取这个PTK 前16 个字节组成一个MIC KEY
产生MIC值
用这个MIC KEY 和一个802.1x data 数据帧使用以下算法得到MIC值
MIC = HMAC_MD5(MIC Key, 16, 802.1x data)
第四次握手
STATION
发送802.1x data→AP
发送MIC→AP
用上面那个准备好的802.1x 数据帧在最后填充上MIC值和两个字节的0(十六进制)让后发送这个数据帧到AP。
AP
收到这个数据帧后提取这个MIC。并把这个数据帧的MIC部分都填上0(十六进制)这时用这个802.1xdata 数据帧, 和用上面AP产生的MIC KEY 使用同样的算法得出MIC’。如果MIC’等于STATION发送过来的MIC。那么第四次握手成功。若不等说明则AP 和STATION 的密钥不相同, 或STATION 发过来的数据帧受到过中间人攻击, 原数据被篡改过。握手失败了。
企业模式
客户端通过AP作为中继与认证服务器发生关系, 客户端与认证服务器间的认证协议封装在EAP(Extensible Authentication Protocol)里面, 这样可以使AP忽略认证细节
多个不同的认证技术在EAP上实现, 例如EAP-TLS和PEAP
当客户端认证成功, 认证服务器通知客户端认证成功, 并发送给AP一个PMK
接下去就是四次握手过程
- WPA认证过程
- 802.1X的wpa认证流程-------4-way handshake过程分析
- 802.1X的wpa认证流程-------4-way handshake过程分析
- 设置无线网络的WPA-PSK安全认证
- 802.1X 的wpa认证流程
- WPA/WPA2安全认证加密原理详解
- 802.1X 的wpa认证流程
- WPA/WPA2安全认证加密原理详解
- WPA/WPA2安全认证加密原理详解
- WPA/WPA2安全认证加密原理详解
- WPA
- WPA-PSK无线网络破解原理及过程
- WPA-PSK无线网络破解原理与过程
- WPA-PSK无线网络破解原理及过程
- WPA-PSK无线网络破解原理与过程
- wpa_supplicant 和 802.11g WPA 认证的配置
- wpa_supplicant 和 802.11g WPA 认证的配置
- linuxg上配置无线网卡(wpa认证)
- qml之StackView
- 简单的方法实现文件下载
- ural 2067 Friends and Berries 数学推理
- windbg的!runaway命令
- matlab c# 混合编程笔记
- WPA认证过程
- Vijos 1144 小胖守皇宫 【树形DP】
- Freemarker 使用
- jdbc自动生成实体类
- poj2528Mayor's posters【离散化+线段树】
- Ionic使用cordova-hot-code-push实现热更新
- c#事务、using释放资源、实体类的高级应用
- URL传参中文乱码问题
- 某商店规定,某商品一次购买5件以上(包含5件)打九折,一次购买10件以上(包含10件)打八折,请根据单价和数量球总价