WEP/WPA工作原理
WEP加密
- 使用Rivest Cipher4(RC4)算法加密流量内容,实现机密性
- CRC32算法检查数据完整性
- 标准采用使用24位initialization vector(IV)
RC4算法
- RSA实验室研发的对称加密流算法
- 实现简单
- 速度快
- 加密:对明文流和密钥流进行XOR计算
- 解密:对密文流和密钥流进行XOR计算
- RC4算法key由两个过程生成
- 合并IV和PSK,利用Key Scheduling Algorithm(KSA)算法生成起始状态表。
- Pseudo-Random Generation Algorithm(PRGA)算法生成最终密钥流。
WPA安全系统
- Wi-Fi Protected Access
- 802.11i为提高无限安全,开发两个新的链路层加密协议
- Temporal Key Integrity Protocol(TKIP)
- WPA1(较之WEP可动态改变密钥)
- Counter Mode with CBC-MAC(CCMP)
- WPA2
- Temporal Key Integrity Protocol(TKIP)
- WPA加密两种安全类型
- WPA个人:使用预设共享密钥实现身份认证
- WPA企业:使用802.1x和Radius服务器实现AAA
- 从客户端到AP用EAP协议
- WPA1
- 802.11i第三版草案
- 与WEP比较
- 都采用逐包进行密钥加密
- 128位的key和48位的初向量(IV)
- RC4流加密数据
- 帧计数器避免重放攻击
- TKIP使用Michael算法进行完整性校验MIC
- WEP CRC32
- 兼容早期版本硬件
- WPA2
- 依据802.11i完全重新设计实现
- 也被称为Robust Security Network(RSN)
- CCMP替代TKIP
- AES加密算法取代了RC4
- 不兼容早期版本硬件
- 依据802.11i完全重新设计实现
身份认证(WPA企业)
- 身份认证基于Extensible Authentication Protocol(EAP实现)
- EAP-TLS,需要客户端和服务器证书
- EAP-TTLS
- PEAP混合身份验证,只需要服务器证书
- 客户端选择身份认证方式
- AP发送身份验证信息给RadiusServer
- Radius Server返回”Radius Accept“表示认证成功
- 其中包含MasterKey(MK)
- AP通过EAP消息通知STA认证成功
密钥交换
无线网络设计用于一组无线通信设备
- 关联到同一AP的设备共享无线信道
- 单播、广播、组播
- 安全特性要求不同
- 单播通信需要单独密钥加密通信双方流量
- pairwise key:对偶密钥(PTK)(T是temporary,PTK由PMK得出)
- 组播通信需要信任域内所有成员共享的同一密钥
- group key:组密钥(GTK)
PMK
安全上下文的顶级密钥
- MK进行TLS-PRF加密得出PMK
- 基于服务密钥
- MK进行TLS-PRF加密得出PMK
由上层身份验证方法服务器生成
从服务器通过radius传给AP
从AP通过EAP消息传递给所有STA
- 基于PSK共享密钥(个人)
Essid+PSK+迭代次数4096——Hash计算生成PMK——再生成PTK
STA和AP分别计算得出PMK,并不在网络中传递交换
- 256位既32字节
四步握手生成PTK
- AP发送Anonce给STA
- STA生成Snonce计算出PTK
- STA发送Snonce加PTK的MIC给AP
- AP拿到Snonce计算出PTk
- AP计算MIC与接收的MIC比对
- MIC一致说明确定STA知道PMK
- AP发GTK给STA
- STA回复ACk并使用密钥加密
其它
- 集中身份验证:
- Radius
- LADP
- kerberos