PREV: TBD
NEXT: TBD
1. WEP概述
无线局域网标准最初使用的安全协议。
- 认证方式:开放式系统认证与共享密钥认证,鉴别简单,易于伪造。
- 加密机制:64位RC4 Stream Cipher加密算法,静态密钥,安全强度低,已被完全破解。
2. WEP参数
- Plaintext MPDU
明文MPDU。 - IV (Init. Vector)
[1] 封装的每个Plaintext MPDU都要选择一个新的IV,且明文传输,IV选择算法未指定。
[2] 解封装时使用收到的MPDU的IV。 - WEP Key
[1] WEP-40/WEP-104/WEP-128仅秘钥位数不同,加密封装和解封装机制相同。
[2] WEP使用两种类型的加密密钥:key-mapping keys和default keys。
— (1) key-mapping keys对应于不同的<TA, RA>对。如果为<TA,RA>对配置了key-mapping keys,则应使用key-mapping keys封装/解封装由TA发送到RA的MPDU,而不管其他密钥类型是否存在;否则,应使用default keys默认密钥来封装/解封装MPDU。
— (2) default keys = dot11WEPDefaultKeys[dot11WEPDefaultKeyID],dot11WEPDefaultKeyID作为索引,取值0/1/2/3;dot11WEPDefaultKeys四元素MIB数组存储WEP KEY值。
[3] 发送方将MPDU的Key ID编码为dot11WEPDefaultKeyID值,接收方应使用MPDU的Key ID来索引dot11WEPDefaultKeys获得正确的默认密钥。
[4] 所有WEP实现都应支持默认密钥,所有WEP密钥的默认值应为空。WEP实现应丢弃MSDU并生成一个MA-UNITDATA STATUS.indication原语(其传输状态指示帧不应使用空密钥封装),以响应任何用空密钥封装MPDU的请求。 - ICV (Integrity Check Value)
[1] ICV在Plaintext MPDU上使用CRC-32计算,CRC-32算法参见协议802.11->9.2.4.8。
[2] ICV置于Payload之后经WEP加密传输。 - WEP Seed
[1] WEP Seed = IV(24bit) + WEP Key(10/104/128bit)。
[2] WEP使用ARC4流密码作为加密和解密算法,ARC4使用伪随机数生成器PRNG生成Key Stream,并与Payload+ICV异或(XOR)生成密文或从密文中恢复明文。 - Pad
全0。 - Key ID
[1] 编码为dot11WEPDefaultKeyID值,4个可能的秘钥索引值之一。
[2] 当使用key-mapping keys时,Key ID字段被保留。
3. WEP封装
WEP针对Plaintext MPDU应用3个转换以实现WEP加密封装,参考协议802.11-2020->12.3.2.4.4。
- WEP计算Plaintext MPDU的ICV并将其附加在MPDU数据之后;
- WEP构造WEP Seed,使用ARC4 PRNG生成的Key Stream加密MPDU Payload和ICV;
- WEP将IV和Key ID编码到IV字段中,附加到加密的数据字段中。
注:ICV应在加密之前计算并附加到明文数据,但IV编码步骤可以以任何便于实现的顺序发生。
4. WEP解封装
WEP应对WEP MPDU应用三个转换以解封装其有效载荷,参考协议802.11-2020->12.3.2.4.5。
- WEP从收到的MPDU中提取IV和Key ID。如果<TA,RA>对存在key-mapping keys,则应将其用作WEP密钥。否则,通过Key ID提取default keys;
- WEP构建WEP Seed,解密WEP MPDU的数据字段,得到Payload和ICV;
- WEP重新计算ICV并将其与解密的ICV按位比较。如果相同,则WEP从MPDU中删除IV和ICV,这被认为是有效的;如果不同,WEP会向MAC管理生成错误指示,带有错误MPDU的MSDU不应传递给LLC。
注:解封装步骤应按指示的顺序进行。