WEP(Wired Equivalent Privacy)有线等效加密
- WEP采用RC4对称加密算法,在链路层加密数据。
- WEP加密采用静态的保***,WLAN终端使用相同的**访问无线网络。
- WEP提供认证功能,当加密机制功能启用后,STA尝试连接上AP时,AP会发出一个 Challenge Packet给STA,STA利用共享**将此值加密后送回AP以进行认证比对,如果正确无误,才能获准访问网络。
WEP 的密码学
- WEP 采用的密码锁属于对称性**串流密码锁(stream cipher),它使用 64 位或 128 位**。RC 密码锁会利用异或(XOR)运算结合**串流生成密文。
- 串流密码锁的运作方式:
(1)选用一把较短的**,然后将之展开为与数据等长的伪随机数**串。
(2)伪随机数产生器(Pseudo Random Number Generator,PRNG ) 是一组用来将**展开为**串的规则。
(3)为了还原数据,双方必须拥有相同的**,并且使用相同的算法,将**展开为伪随机数序列。 - 发送端:采用**串流(keystream)与数据结合,产生密文(cipher text)。
- 接收端:以相同的**串流处理密文。
WEP 的帧格式
-
IV header(4字节): 作为帧主体的 IV 标头
前三个字节:表示 24 个bit 的IV
第4个字节:包含Padding bits(为0)以及**识别码。如果使用预设**,Key ID 位可用来辨识加密帧的预设**。如果使用**映射关系,则Key ID 次栏位的值为0。 - ICV(4字节): Integrity Check Value,完整性校验值,作为标尾。
- FCS:帧检验序列,32bit 校验码(CRC)提供了完整性的检查,附加于帧主体之后,同时为RC4 所保护。
WEP 的数据处理
- WEP 加密输入:
- Integrity Check Value:数据帧加密前,Header和Payload 会通过CRC算法,产生完整性检验值(ICV)。
- Payload:来自网络层的原始数据。
- IV:初始向量,搭配**在加密帧时使用。
- Secret Key:**,用于加密数据帧,可以用比特串(key bits)或者数字(key number)来指定**。
- WEP 加密输出:
- Header: 802.11 帧标头,WEP 只保护承载的数据,802.11 帧标头不作改动。
- ICV:根据802.11 MAC 帧所承载的数据计算出完整性检验值。
- 帧加***(WEP 种子):由初始向量(IV),40 位或104 位的预共享**(PSK)组成。
帧加***被当成RC4 **,用以加密802.11 MAC 的数据和ICV。 - 加密后的数据帧:802.11 标头 + IV + **编号(WEP 最多定义四把**,需要传输目前使用的**) + 加密后的数据和ICV。
- 帧检验码(FCS):加密后的 MAC 帧,从标头到ICV 计算获得帧检验码。
- WEP 解密流程:
- 验证帧检验码(FCS),确保所接收到的帧未在传送过程中损毁。
- 接收端对数据帧进行解密时,先根据**编号编号获取**,加上IV,然后产生**串,再对数据进行解密。
- 接收端得到解密过的数据后,再验证ICV。
- 如果ICV 验证无误,再将数据包交给网络层协议处理。
WEP **的长度
| WEP种子 | **长度 | 传输IV |
|---|---|---|
| 64bit | 40bit | 24bit(标准) |
| 128bit | 104bit | 24bit |
| 152bit | 128bit | 24bit |
WEP **的类型
- 配套**(mapped key):用来保护流动于特定来源与接收端之间的数据。配套**也称为单播**(unicast key)或工作站**(station key ),因为它适合保护单播数据。
- 如果STA之间并不存在配套关系,就必须改用预设**(default key),也称为广播**(broadcast key)。
静态WEP / 动态WEP
-
静态WEP:不具**传递机制的WEP,需要手动传播**。
-
动态WEP:每个STA会使用两把**,而不是所有STA共享一把**。
一把是配套的**,为STA与AP 所共用,用来保护单播帧。
一把是预设**,同一BSS中所有STA共用,用来保护广播与组播帧。
工作站所使用的加***,是通过「**加***」(key encryption keys)来传递。 -
在动态WEP 里,每个STA均会自AP处接收到两把**:配套**储存为0 号**,预设**储存为1 号**。
当数据帧被置于待传序列,驱动程序将会以0 号**加密单播帧,以1 号**加密广播帧。
动态WEP每隔一段时间就会产生并传递新的**。