WEP是Wired Equivalance Privacy的缩写。它提供了了WIFI和有线网络同样等级的加密。
这是最初代的WIFI加密协议,非常脆弱,可以非常容易的破解。所以keys的长度无论是40, 104, 128,还是256,对于随机的攻击效果都已足够,但是对于恶意攻击都是没有什么作用的。
加密后的Frame结构如下:
Filed : MAC header IV padding + key number
Length: (variable) 24 bits 8 bits
(continued)
Filed : payload ICV
Length: (variable) 32bits
(continued)
Filed : FCS
Length: 32 bits
ICV是integrity check,非加密,check对象是MAC HEADER +Payload ( before encryption),之后payload与ICV(不包含MAC HEADER)会使用IV以及key number对应的key进行RC4得到加密后的数据。
加密流程如下:
(shared key is referenced by key number)
IV + key number à encryption key,
IV的作用。 因为IV以及key number都是明文传输的,IV和key number指定的key合并产生最后的key,防止两个相同的frame 产生相同的ciphered text。one way to hack wep is basing on that IV is repeating for every 6000 frames.
MAC HEADRE + payload à ICV(CRC)
Payload +ICV à ciphered by encryption key。
总结来讲,加密是这对link layer的一个动作,对于MAC层的HEADER
是不加密传输的。
另外RC4是一个非常简单的加密,用硬件可以简单实现,而用软件实现比较费时。
802.11中加密的frame sequence:
使用4-phase来实现加密。
Open system (mandatory preceding EAP)
STA AP
Authentication Request à
Authentication Response ß indicate success or fail
Association Request à
Association Response ß
Authentication Request/Associtation Frame的格式如下(payload部分):
Field: Authentication Algorithm Number Authentication Transaction Seq Number STATUS CODE challenge text
Length: 2 octets 2 octets 2 octets
Variable
其中
Algorithm Number 0对应open system, 1 对应shared key
Seq number在open system中可取1或者2,在shared key模式下可取1,2,3,4(也就是4-phase)
challenge txt只在shared key模式下的Seq Num 2, 3 的Frame中存在,即1,4分别是一个开始和结束,中间的2,3才是一个text的有效交换。
STATUS CODE- 0表示成功,且只在Seq Num 2, 4的 Frame中,也就是AP回应的Frame中才存在。
EAP(WEP):
STA AP
Phase 1:
Authentication Request à
Phase 2:
Authentication Response ß w/ clear text challenge
Phase 3:
Authentication Request à w/ encrypted text challenge
Phase 4:
Authentication Response ß indicate success or fail
注意: AP收到encrypted text,可以和加密的数据一起,看IV,以及 key number,并在解密之后看到ICV, 这三个参数构成了WEP parameters。如果解密出的数据和原始数据一致,那么就可以z指示这次认证成功了。
下面是一个完整的4步认证流程抓包。
challenge txt是128 bytes,但是加密后的数据是136 bytes,因为增加了3个byte IV, 1个byte key number,还有4个bytes的ICV。