王春晓,张 鹏
(①哈尔滨理工大学 计算机科学与技术学院,黑龙江 哈尔滨 150080;②空军第一航空学院,河南 信阳 464000)
安全问题已经成为关系到无线局域网(WLAN)能否继续发展和推广应用的关键问题。因为802.11 标准所采用的WEP存在着明显的安全缺陷,所以IEEE推出了WPA[1],WPA相对于WEP进行了很大的改进,弥补了WEP所有已知的安全缺陷,提高了 WLAN包括数据保护和访问控制等的安全等级,对于网络安全提供了比较好的保护。将对WPA中使用的一些关键技术做详细的分析,并分别介绍。
WEP在数据加密方面采用的是基于对称密码流式加密和可变长密钥的RC4加密算法,存在着相当多的安全缺陷,即具备合适的工具和中等技术水平的入侵者便能非法接入WLAN。AT&T的研究院最先发布了WEP的解密程序,随后破解程序也相应出现,代表的有WEPCrack和AirSnort,WEP加密再也不安全。
WEP的安全缺陷主要有以下几方面:
(1) 数据完整性保护的缺陷
WEP使用的是32位的循环冗余校验(CRC)用于数据完整性,虽然从性能上和开销上均远远优于奇偶校验及算术和校验等方式。但其具有线性且32位的CRC的生成与密钥没有任何关系,攻击者可以利用CRC是线性运算这个特点,对数据进行修改的同时也对CRC位进行修改,这样攻击者可以伪造或窜改信息从而通过检查,因此,CRC做不到对于恶意修改数据和伪造数据进行检查,不能提供安全的数据完整性检查。
(2) RC4 加密算法的缺陷
RC4 算法中密钥的生成也过于简单,只是由基密钥和初始向量(IV)串联而成,很容易破解。算法密钥存在大量弱密钥,这就使密钥流的前面相当一部分比特位在很大程度上只由弱密钥的前面几位决定,攻击者可以利用这个规律减少破解密钥的难度。而且使用的是40 bit 的共享密钥,密钥长度过短,并且使用明文形式传送24 bit IV,IV的24 bit导致密钥生命周期短,导致在有限的时间内会出现密钥的重复,加大了被破解的危险,并且WEP中也没有采取任何有力措施来避免密钥重用问题。
(3) 认证管理方面的缺陷
由于WEP 没有明确定义用户身份认证,多以WEP 的共享密钥用作用户身份认证的密码,这种方式是基于硬件的,单向的,可能受到硬件威胁和拒绝服务攻击的危险。这种已共享密钥最为身份验证的身份认证方式绝对无法满足认证管理的安全需要。
上面分析WEP在数据完整性保护方面,加密算法方面,认证管理方面都存在缺陷,为了解决这些缺陷,Wi-Fi 联盟联合IEEE共同发布了WPA,是一种基于标准的可互操作的WLAN安全性增强解决方案,并且针对这些方面很好的解决了WEP的这些缺陷。如表1示。
表1 WEP与WPA比较
根据上表所列,RC4加密算法的改进最多,这是因为WPA在数据加密方面采用了临时密钥完整性协议(TKIP)。虽然TKIP由WEP使用的同样的加密引擎和RC4算法组成,但对RC4进行改进,再其基础上进行了更加严密的数据封装,是包裹在已有WEP密码外围的一层“外壳”[2],下面我们就MIC、TKIP、可扩展认证协议(EAP)、802.1X进行分析:
信息完整性代码( MIC)是用于鉴别一条信息的一个短块密码校验。它也被叫做完整性检查值或信息认证码。MIC机制要求发送者和接受者都计算并要对MIC值进行比较,如果相等则认为没有被改动过,一旦不一致,就认为数据被修改过了,则将此数据包丢弃,从而保护数据的完整性。WPA 中MIC 的实现可以防止篡改攻击,MIC 可以通过软件实现。
TKIP主要由反攻击策略,TKIP 包序列计数器 (TSC),加密混合函数(MIC)组成。
如图1所示,主密钥所产生的MIC密钥,计算出MIC,然后将MSDU与MIC 串接后进行分块得到数据包,IV生成器生成的IV/ICV,数据包再串接IV/ICV,将MAC 头再添加到数据包中,将加密密钥与IV 进行混合运算,最后对处理过的数据包进行加密,生成MPDU,完成加密过程。
如图2所示,解密过程为MPDU 剔除MAC 头,进行IV解析,根据解析的IV再进行TSC窗口校验,只要发现错误,则丢弃该数据包,只有通过校验之后,才进行解密操作。解密要进行密钥混合运算(与加密过程相同),混合后进行解密,解密过程中要检查ICV,只要发现错误,则丢弃该数据包,只有通过检查,解密才能完成。解密后进行分块重组,重组后进行MIC校验,密钥计算的出的MIC与主密钥生成的MIC进行比较,只要发现不同,拒绝该数据并启动反攻击策略。对于通过MIC校验的数据包,删除MIC,得到MSDU。
图1 TKIP加密过程
图2 TKIP解密过程
通过以上所述,可以看出反攻击策略就是为了防止非法获取MIC.从而限制窃听和非法获取密钥信息,而TSC用来记录MPDU(MAC协议数据单元)的传递顺序。计算得出的MIC附加在MSDU(MAC服务数据单元)的Data 之后,TSC 可以为WLAN提供一个简单的防重播机制。TKIP 使用的两次Cryptographic mixing function将临时密钥和TSC 结合起来生成WEP种子密钥,是为了解决WEP 中存在的弱密钥攻击。
IEEE802.1X协议称为基于端口的访问控制协议,协议用于对IEEE802局域网的认证和密钥管理,主要目的是为了解决WLAN用户的接入认证问题。协议由三个重要部分组成∶分别为申请者系统、认证者系统和认证服务器系统。充当申请者系统的用户终端系统上安装的客户端软件发起802.xl协议的认证过程,由认证服务器对申请者进行认证。认证者系统为支持802.xl协议的网络设备,其对应于不同用户的接入端口(可以是物理端口,也可以是用户设备的MAC地址等)。IEEE802.1X本身没有定义认证服务器,采用PPP认证的可扩展认证协议EAP(PPPEAP)作为认证协议[3],PPPEAP是PPP认证的一个通用协议,支持多种认证机制,有EAP-MD5、EAP-TLS等,这里就简单介绍一下最为常用的EAP-MD5。EAP-MD5机制通过RADIUS服务器提供简单的用户认证,不需要密钥管理和动态密钥生成,只需要使用静态WEP密钥。通过MDS对传RADIUS服务器的用户名和密码加密,但攻击者可以监听无线通信,解密WEP密钥。MD5是EAP标准中最低级别的安全保障。
WPA解决了WLAN原先采用的安全认证WEP的缺陷,它改变了密钥生成方式,更频繁地变换密钥来获得安全。WPA还增加了消息完整性检查功能来防止数据包伪造,由于加强了生成加密密钥的算法,因此即便收集到分组信息并对其进行解析,也几乎无法计算出通用密钥。WPA还追加了防止数据中途被篡改的功能和认证功能。通过以上机制,WPA安全体系有效地满足了企业级WLAN 应用中的安全需求,并且在家庭网络中采用的是WPA的简化版预共享密钥(WPA-PSK),使用同样的机制达到安全要求。WPA是解决WLAN安全的一个好方案。
[1] EDNEY J,WILLIAM A A.无线局域网安全实务-WPA与802.11i[M].北京:人民邮电出版社,2006:76-77.
[2] EDELMNA L G. Overview Wi-Fi Protected Aeeess[C].[s.l.]:Wi-Fi Alliance,2004:26.
[3] DUBRAWKSY I, CRAYTON C, CROSS M,et al.网络安全保护[M].北京:科学出版社,2009:131.