无线局域网是一种利用无线电波在自由空间的传播实现终端之间的通信,无线局域网通信的最大好处是终端之间不用铺设线缆。
安全隐患:无线局域网由于频段的开放性和空间的开放性使得任何终端都可以接受经过无线局域网传输的数据,从而无法保证信息的保密性和完整性。
解决思路:接入控制、加密、完整性检测。
802.11有线等效保密(WEP)是其中一种无线局域网安全机制,可以实现接入控制、加密、数据完整性检测;但是WEP一是只能实现AP对终端的单向身份鉴别,二是CRC-32作为完整性检验值会导致接收端无法检测出已经发生的篡改。
为了使接收端能产生相同的随机数种子,接收端和发送端必须同步随机数种子;WEP要求发送端和接收端拥有相同40位密钥,所以只要同步随机变量,双杠就能同步随机数种子,发送端通过明文的方式将初始向量发送给接收端。
接收端接收到MAC帧后,先产生64位随机数种子,然后用伪随机数根据64位随机数种子产生一次性密钥,密文和一次性密钥异或运算得到数据和4位完整性检验值;同样根据数据和生成函数G(x)计算出数据的32位循环冗余检验码,并把计算的结果和MAC携带的完整性检验值进行对比,如果相等,则通过完整性检测。
WEP定义了两种鉴别机制:1.开放系统鉴别机制,2.共享秘钥鉴别机制。
开放系统鉴别机制实际上不对终端进行鉴别,只要终端向AP发送鉴别请求帧,AP一定向终端回送表示鉴别成功的鉴别响应帧。
基于MAC地址的鉴别机制:
基于MAC地址的鉴别机制并不是WEP要求的鉴别机制,但是目前许多商家生产的AP支持这种鉴别机制。
终端和AP进行数据交换前,必须先和AP建立关联,因此,和AP建立关联类似于总线型以太网中将终端接入到总线上的过程。
AP建立和终端的关联之后,在关联表中添加一项,该项内容包含终端的MAC地址、身份鉴别方式、是否支持查询、支持的物理层标准、数据传输速率和关联寿命等信息。关联寿命指出 只要终端持续不活跃时间超过关联寿命,终端和AP的关联自动分离。就像总线型以太网中只有连接到总线上的终端才能进行数据传输一样,BSS中只有MAC地址包含在关联表中的终端才能和AP交换数据。
1.共享密钥鉴别机制的安全缺陷
因为无线通信的开放性,入侵终端能够真听到授权终端和AP之间完成共享秘钥鉴别过程中相互交换的所有鉴别请求、鉴别响应帧。
入侵终端通过侦听得到随机数P(这是前面的共享秘钥鉴别机制),授权终端发送给AP的密文,入侵终端以此可以得出此次加密的一次性密钥和初始向量IV。当入侵终端希望通过AP的共享秘钥鉴别机制时,它也可以发起鉴别过程,由于它侦听得到的一次性秘钥和初始向量都是有效的,所以能通过AP对它的身份鉴别。
只要同时知道明文和密文,就可以得出一次性密钥,这些一次性密钥和初始向量一一对应。因此,可以建立指定数据长度下的一次性密钥字典,字典中给出一次性密钥和初始向量之间的关联。
2.完整性检测缺陷
入侵终端将侦听到的密文和自己篡改的密文数据(4位ICV用篡改数据除以和终端使用的生成函数得到)进行异或,得到篡改后的密文,然后用一次性密钥和篡改后的密文进行异或,得到数据明文和ICV,此时虽然密文被篡改了,但是和ICV异或运算进行完整性检测的ICV’是由ICV和入侵终端篡改密文计算的ICV异或得到的,所以用ICV和ICV’异或运算进行完整性检测一定会通过。
3.静态秘钥管理的缺陷
WEP要求属于同一BSS的所有终端共享同一密钥,由于一次性密钥只与IV相关,所以属于同一BSS的终端,在保持密钥不变的情况下,只能共享2^24个一次性密钥,导致重复使用一次性密钥的几率大大增加,影响数据的安全传输。