1. IEEE 802.11无线局域网的身份认证
任何无线终端设备在接入IEEE 802.11无线局域网之前都要进行身份认证。IEEE 802.11b标准定义了开放式和共享密钥式两种身份认证方法。身份认证必须在每个终端设备上进行设置,并且这些设置应该与通信的接入点相匹配。
开放式认证是一种最简单的认证方式。从其内在机制来看,它其实是一种空认证。开放式认证是IEEE 802.11默认的认证方式,认证过程包括两个步骤:
(1)请求认证的无线终端向无线接入点AP发送一条认证请求帧(通常包含有设备的 MAC地址和AP的SSID)。
(2)AP收到请求后,检查无线终端提供的SSID是否正确,如果正确则向无线终端发送认证成功帧。
共享密钥认证支持已知共享密钥的工作站成员的认证。共享密钥认证的密钥是以密文的形式传输的。共享密钥认证以有线等价保密(Wired Equivalent Privacy,WEP)协议为基础,认证过程采用质询-响应模式进行,过程如下(图8-2也给出了说明):
(1)请求认证的无线终端向无线接入点AP发送一条认证请求帧。
(2)AP收到请求后,向请求者发送一个明文的随机数。
(3)请求者使用WEP密钥并使用RC4算法加密此随机数,并发送给认证者AP。
(4)AP使用WEP密钥加密原随机数,并与收到的密文比较,若相同,向请求者发认证成功帧。
图8-2 共享密钥认证消息流
2. 有线等价保密(WEP)协议
上面的共享密钥认证用到了WEP协议。WEP协议是IEEE 802.11协议1999年的版本中所规定的,用在IEEE 802.11的认证和加密中,用来保护无线通信数据的安全。在IEEE 802.11系列标准中,802.11b和802.11g采用了WEP协议。
WEP为无线通信提供了3个方面的安全服务:数据机密性、数据完整性和访问控制。其核心加密算法是流密码算法RC4。WEP支持64 bit和128 bit加密。WEP依赖通信双方共享的密钥来保护所传输的数据帧。
WEP加密过程如下:
(1)使用CRC-32算法计算明文消息M的完整性校验值crc32(M),由原始明文消息和完整性校验值组成新的明文消息P = < M,crc32(M)>。
(2)把WEP密码和一个随机选择的24 bit的初始矢量IV连接在一起,作为RC4算法的密钥K,用RC4算法产生8个字节的子密钥,从而得到一个64 bit的密钥。把它与消息P进行异或,得到密文C。(www.daowen.com)
(3)将密文C和初始矢量IV一起发送给接收方。
WEP解密过程如下:
(1)从接收到的数据包中提取出初始矢量IV和密文C。
(2)把WEP密码和IV连接在一起,作为RC4算法的密钥K,用RC4算法产生8个字节的子密钥,从而得到一个64 bit的密钥。把它与密文C进行异或,得到明文P。
(3)对P中的明文部分(假如是M')使用同样的算法计算新的校验值crc32(M'),并与P中校验值crc32(M)进行比较。如果二者相等,则说明解密和完整性验证都是正确的,接受数据,否则丢弃数据。
2001年8月,S. Fluhrer,I.Martin和A.Shamir 合作研究发现了对IEEE 802.11无线局域网安全性最致命的攻击:利用WEP帧的数据负载中部分已知信息来计算出该WEP帧所使用的WEP密钥。由于WEP加密算法实际上是利用流密码算法RC4作为伪随机数产生器,把初始矢量IV和WEP密码组合成种子(即RC4算法的密钥)来生成WEP密钥流(即前文中的64 bit的密钥),再由该密钥流与WEP帧数据载荷进行异或运算来完成加密运算。而RC4算法是将输入种子密钥进行某种置换和组合运算来生成WEP密钥流的。由于WEP帧中数据载荷的第一个字节是逻辑链路控制的802.2头信息,这个头信息对于每个WEP帧都是相同的,攻击者很容易猜测。利用猜测的第一个明文字节和WEP帧数据载荷密文就可以通过异或运算得到伪随机数产生器生成的密钥流中的第一个字节。
另外,种子密钥中的24 bit初始矢量IV是以明文形式传送的,攻击者可以截获并得到它。3位研究者已经证明:利用已知的初始矢量IV和密钥流的第一个字节,并结合RC4的特点,攻击者通过计算就可以确定WEP密码。
此外,CRC-32算法作为数据完整性校验算法,由于其本身的特点非但未使WEP安全性得到加强,反而进一步削弱它。首先CRC 校验和是有效数据的线性函数,这里所说的线性主要针对异或操作而言的。利用这个性质,恶意的攻击者可篡改原文P的内容。特别地,如果攻击者知道要传送的数据,会更加有恃无恐。其次,CRC-32校验和不是加密函数,只负责检查原文是否完整,并不对其进行加密。若攻击者知道P,就可构造自己的加密数据并和原来的IV一起发送给接收者(802.11b 允许IV重复使用)。
WEP的主要漏洞包括:
(1)认证机制过于简单,很容易通过异或的方式破解。并且,一旦被破解,还会危及后面的加密通信,因为认证中使用的密钥与加密通信的密钥是一样的。
(2)认证是单向的,AP能认证无线客户端,但客户端没法认证AP。
(3)初始矢量IV太短,在繁忙的网络里,很快就会重新使用以前的IV值,由此带来直接密钥攻击的威胁。
(4)RC4算法被发现有“弱密钥”的问题,WEP在使用RC4的时候没有采用避免“弱密钥”的措施。
(5)WEP没有办法应付重放攻击(Replay Attack)。
(6)完整性校验算法CRC-32被发现有弱点,有可能传输的数据被修改而不被检测到。
(7)没有密钥管理、更新、分发机制,完全要手工配置。因为不方便,用户往往常年不会更换。
因此,WEP并不是一个强壮的保密方式,无法胜任对安全要求比较高的场所。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。