WPA/WPA2安全认证加密原理详解
- WPA加密版本介绍
- WPA加密算法有两个版本:WPA = 802.1x + EAP + TKIP + MIC = Pre-shared Key + TKIP + MIC,802.11i(WPA2) = 802.1x + EAP + AES + CCMP = Pre-shared Key + AES + CCMP
- 802.1x + EAP和Pre-shared Key是身份校验算法
- TKIP和AES是数据传输加密算法
- MIC和CCMP是数据完整性编码校验算法
- WPA认证方式
- 802.1x + EAP适用于工业级和安全要求高的场景,需要认证服务器
- Pre-shared Key适用于家庭和安全要求低的场景,不需要服务器
- 常见的EAP扩展认证协议有LEAP、MD5、TTLS、TLS、PEAP、SRP、SIM、AKA,其中TLS和TTLS是双向认证模式,提供更高的安全性
- WPA-PSK
- 论坛上破解WPA主要集中在这个模式上
- 破解WPA-PSK不同于WEP,关键是获取握手包(四次握手)
- 握手包包含了与密码相关的信息,通过字典攻击破解密码
- 四次握手
- 握手过程包括初始化工作、第一次握手、第二次握手、第三次握手和第四次握手
- 使用SSID、passphrase和MAC地址等信息生成临时密钥PTK和MIC Key
- 握手过程中传递的信息用于生成MIC值,用于验证握手的完整性
- MIC的派生过程
- 使用密码和相关信息通过一系列算法派生出PTK和MIC Key
- 最终使用MIC Key和数据帧进行计算,得到MIC值
- AP和STATION之间的加密通信
- 加密通信的具体机制有待补充
- WPA安全规则
- WPA增强了IV的位数,防止IV的重复
- 引入Sequence Counter,进一步防止IV的重复
- 动态密钥管理机制用于更新加密密钥
- Per-Packet Key加密机制确保每个数据包都使用不同的密钥加密
- MIC(Message Integrity Code)用于保证信息的完整性
- WPA安全机制作用
- 加密通信流程、Per-Packet Key加密机制和动态密钥管理机制使得分析子密码攻击变得困难
- 身份验证机制防止伪连攻击
- 增强的IV、防止IV重复和MIC信息编码完整性机制增加了伪造合法数据包的难度
- 针对WPA的破解攻击
- 抓取数据传输包进行破解几乎是不可能的
- 抓取WPA-PSK的四次握手包进行破解,主要使用字典攻击
- 断线攻击可用于获取握手包,但要注意不要过多触发AP的安全机制
WPA的窃听
- 在没有密码保护的情况下,窃听WPA-PSK的通信几乎不可能
- 在有密码保护的情况下,窃听WPA的难度比WEP要高,需要从握手开始窃听
字典攻击
- 字典攻击需要寻找与密码有关的信息元素,主要在四次握手包中进行
- HMAC算法的特性使得对HMAC的攻击几乎无效
WPA-PSK密码规范和可能的密码空间
- 密码可以使用64个十六进制数字(HEX模式)或8到63个ASCII字符(ASCII模式)