WEP 有线等效加密(已废弃)

WEP 概述

WEP(Wired Equivalent Privacy,有线等效加密)是 IEEE 802.11-1997 原始标准中定义的安全机制。其设计目标是使无线网络的保密性达到与有线网络相当的水平——但这一目标从未真正实现。

⚠️ WEP 已被证明完全不安全,不应在任何场景中使用。

WEP 加密原理

RC4 流密码

WEP 使用 RC4 流密码进行加密:

密文 = 明文 ⊕ RC4(Key)

其中 Key = ICV || IV || TransmitKey

密钥结构

组成部分

长度

说明

IV(Initialization Vector)

24 bits (3 bytes)

初始化向量,明文传输

TransmitKey

40/104 bits

"64位"或"128位"WEP的实际密钥部分

ICV(Integrity Check Value)

32 bits

CRC-32 校验值

WEP "64-bit":  24-bit IV + 40-bit Key
WEP "128-bit": 24-bit IV + 104-bit Key

加密流程

发送端:
1. 选择/递增 IV(24 bit,仅 16777216 种可能)
2. 拼接: SeedKey = IV || TransmitKey
3. 生成 RC4 密钥流: Keystream = RC4(SeedKey)
4. 计算 ICV = CRC-32(Plaintext)
5. 加密: Ciphertext = (Plaintext || ICV) ⊕ Keystream
6. 发送: IV (明文) || Ciphertext

接收端:
1. 提取 IV
2. 拼接 SeedKey = IV || TransmitKey
3. 生成相同密钥流: Keystream = RC4(SeedKey)
4. 解密: Plaintext || ICV = Ciphertext ⊕ Keystream
5. 验证 ICV

WEP 的安全缺陷

1. IV 空间过小(致命缺陷)

  • 24-bit IV = 仅 16777216 种可能

  • 高流量网络中,IV 在几分钟内就会重复使用

  • IV 重用 → 相同 RC4 密钥流 → 可直接 XOR 获取明文

如果 IV₁ = IV₂:
Keystream₁ = Keystream₂

Ciphertext₁ ⊕ Ciphertext₂ = Plaintext₁ ⊕ Plaintext₂
(已知明文攻击:知道部分明文即可恢复其余)

2. ICV 使用 CRC-32(线性校验)

CRC-32 是线性函数,不具密码学安全性:

CRC(A ⊕ B) = CRC(A) ⊕ CRC(B)

攻击者可以修改密文并相应调整 ICV,接收端无法检测篡改。

3. RC4 密钥调度弱点

某些 IV 组合会导致 RC4 密钥流的前几个字节可预测:

  • FMS Attack(Fluhrer, Mantin, Shamir, 2001):特定 IV 模式泄露密钥字节

  • Klein Attack(2003):利用 RC4 状态偏差统计恢复密钥

4. 静态密钥

  • TransmitKey 在设备配置后永不改变

  • 一旦密钥被破解,所有历史和未来通信都可解密

WEP 攻击方法

被动攻击(仅监听)

攻击名称

所需数据包数

破解时间

AirCrack (统计)

~50,000

几分钟

FMS Attack

~20,000

几秒到几分钟

KoreK Attack

~10,000

更快

主动攻击(加速收集 IV)

1. ARP Request Injection:
   - 注入伪造的 ARP 请求
   - AP 回复 ARP Response(加密)
   - 快速积累带有不同 IV 的数据包

2. Chop-Chop Attack:
   - 逐字节剥离密文
   - 利用 ICV 线性特性验证猜测

实际破解工具

  • Aircrack-ng:最流行的 WEP/WPA 破解套件

  • AirPcap + Wireshark:抓包和分析

  • Weplap:专门针对 WEP 的快速攻击

为什么 WEP 被废弃?

  1. 数学上可证明不安全:IV 重用是设计缺陷,无法修补

  2. 破解成本极低:免费工具 + 普通无线网卡 = 几分钟内破解

  3. 行业共识:NIST、FBI、CISA 均明确建议禁用 WEP

迁移建议

  • 立即禁用所有 WEP 配置

  • **升级到 WPA2-AES(最低)**或 WPA3(推荐)

  • 老旧设备无法支持 WPA2? → 更换设备,不要使用 WEP