基于IEEE802.11无线局域网安全性研究
2010-12-08吴暑静
吴暑静
(湖南科技学院 图书馆,湖南 永州 425100)
基于IEEE802.11无线局域网安全性研究
吴暑静
(湖南科技学院 图书馆,湖南 永州 425100)
基于WEP算法的IEEE802.11安全机制难以满足WLAN的安全需要。文章主要对WEP、WPA和802.11i安全机制的工作原理及加密方式进行分析。
有线对等加密;Wi-Fi保护接入;802.11
无线局域网(Wireless Local Area Network,WLAN)是指以无线信道代替传统有线传输介质所构成的局域网络。它是无线通信技术与网络技术相结合的产物。无线局域网以其移动性好、扩展性强及传输数率高等特性获得了人们的青睐,使得这种新技术得到了广泛的应用。但由于传输介质和无限电波的开放性,无线局域网络极易受到非法攻击,其安全性已成为亟需解决的问题。
本文从信息安全机制的身份认证、数据加密和数据完整性三个方面对无线局域网的安全性进行探讨。先对传统的IEEE802.11安全机制及其缺陷进行阐述,然后对增强的安全协议WPA及IEEE802.11i安全标准进行分析。
一 基于IEEE 802.11的安全协议原理
IEEE802.11安全机制建立在有线对等机密(Wired Equivalent Privacy,WEP[1])算法基础上。
(一)WEP身份认证
IEEE 802.11指定了两种方案来确认访问有线网络的无线用户。一种基于密码学体制,另一种为非密码学方案。
对于非密码学方案,有开放式和封闭式两种。这两种方法都是基于身份识别机制,请求访问WLAN的无线客户端简单地使用无线网络服务区标识符(Service Set Identifier,SSID)来响应接入点(Access Point,AP)的身份认证要求。对于开放式系统认证,客户端用一个空字符串作为SSID进行响应,即可获得认证,因此也称其为“零认证”。在封闭式系统认证中,无线客户端如果能够使用0到32字节正确地表示无线网络基本服务集(Basic Service Set,BSS)中的字符串即可获得认证。实际上,这两种方法均不能提供有效的安全机制来防止未经授权的访问,极易受到攻击,从而引起安全问题。
共享密钥认证是一种基于密码学体制的身份认证,它是基于客户端是否具有共享密钥的简单的“请求/响应”机制。认证开始时,先由客户端向接入点AP发送一个认证请求;AP收到这个请求后,产生一个随机数并发送给无线客户端;客户端再用与AP共享的密钥(WEP密钥)和RC4流密码算法加密这个随机数,将密文返回给AP;最后,AP使用共享密钥对收到的密文进行解密,再将解密结果与发送的随机数相比较;若相同,则允许其访问网络;否则,拒绝该客户端的访问请求。在加密过程中,使用 RC4流密码算法,这是一种基本的加密技术,但并不提供双向认证,因此不能保证客户端和一个合法的AP或无线网络进行通信,从而遭到如“中间人”等网络攻击。
(二)WEP数据加密
采用WEP协议时,客户端计算原始数据包(即原始明文Plaintext)中明文数据的32 bit CRC循环冗余校验码,实际是计算其整数检查向量ICV(Integrity Check Vector),明文数据与校验码一起构成传输载荷。在客户端与AP之间共享一个密钥Key,长度可选为40 bit或64 bit。为每一个数据包选定一个长度为 24 bit的数作为初始向量(Initialized Vector,缩写为 IV)。将 IV与共享密钥连接起来构成 64 bit或128 bit的种子密钥,送入采用流密码算法RC4的伪随机数发生器(PRNG)生成与传输载荷等长的随机数,该随机数就是加密密钥流,再将加密密钥流与传输载荷按bit异或,就得到了密文(Ciphertext)。例如:将原始明文记为P,对P计算由 CRC-32循环冗余校验得到的 32 bit校验和记为ICV,则传输载荷为{P,ICV}。由IV和Key采用RC4算法得到的随机数记为 RC4(IV,Key),密文记为 C,则加密过程可以表示为:
C={P,ICV}⊕RC4(IV,Key)
客户端将IV以明文形式和密文C一起发送,在密文C传送到接入点AP之后,AP从数据包中提取出IV和密文,将IV和自己所持有的共享密钥Key一起送入伪随机数发生器得到解密密钥流,该解密密钥流实际上与加密密钥流相同,再将解密密钥流与密文相异或,就得到了原始明文 P和它的CRC校验和ICV。解密过程可以表示为:
{P,ICV}=C⊕RC4(IV,Key)
=(P,ICV)⊕RC4(IV,Key)⊕RC4(IV,Key)
无线链路进行数据传输期间,使用WEP技术能够使数据得到一定的保护。将WEP应用到IEEE 802.11 WLAN各层上的所有数据,可以保护基于诸如TCP/IP、IPX和HTTP等协议的数据传输。
(三)WEP数据完整性检验
WEP采用CRC-32循环冗余校验和来保护数据的完整性。发送方在发出数据包前先要计算明文的CRC-32校验和ICV,并将明文P与ICV一起加密后发送。接收方收到加密数据后,先对数据进行解密,然后计算解密出来的明文的CRC-32校验和,并将计算结果与解密出的ICV进行比较:若二者相同,则认为数据在传输过程中没有被篡改;否则,认为数据已被篡改,丢弃该数据包。同保密性一样,对于某些攻击,无论密钥长度为多少,IEEE 802.11的数据完整性均具有脆弱性。
二 Wi-Fi保护接入(Wi-Fi Protected Access,WPA)
针对WEP协议日益突出的安全隐患,IEEE 802.11i工作组致力于制订被称为IEEE 802.11i的新一代安全标准,这种标准为了增强WLAN的数据加密认证性能,定义了强健安全网络(RSN:Robust Security Network)的概念,并且针对WEP加密机制的各种缺陷做了多方面的改进,以求从根本上解决WLAN的安全问题。
由于802.11i审定通过时间太长,而市场上对于WLAN的需求又不能置之不理,于是生产厂商 Wi-Fi(Wireless Fidelity:无线保真)联盟就根据802.11i草案制订了以其子集为基础的安全标准---WPA[2],它不是 IEEE标准,但却是IEEE802.11i草案中的一部分。
简单的说,目前WPA=802.1X+EAP+TKIP+MIC。其中,802.1x和 EAP负责接入身份认证,TKIP(Temporal Key Integrity Protocol:临时密钥完整性协议)和 MIC(Message Integrity Code,MIC)算法负责数据加密和完整性校验。
(一)WPA的身份认证
WPA采用IEEE802.1x和EAP(Extensible Authentication Protocol)认证方式。IEEE802.1x在逻辑上主要由3部分组成:请求者(Supplicant)、认证者(Authenticator)以及认证服务器(Authentication)。在无线局域网中,请求者通常是指无线客户端(STA),认证者通常是指接入点(AP),而认证服务器通常采用 RADIUS(Remote Authentication Dial In User Service:远程用户拨号认证系统)服务器作为认证服务器(AS)。
IEEE802.1x是一个基于端口和基于网络访问控制的草案标准。它可以向以太网提供经过身份验证的网络访问。基于端口的网络访问控制使用交换LAN的物理特性来为连接到LAN端口上的设备提供身份验证,如果身份验证过程失败,系统将阻止该端口的访问。
认证方为每个要求访问的请求方保持一个端口控制状态,当端口为非认证状态时,只有IEEE802.1x数据流才能通过,而诸如动态主机配置协议(DHCP)、超文本传输协议(HTTP)等其他类型的网络数据流都被禁止传输。当接口被置为认证状态时允许其他类型的数据通过,认证状态由认证服务器和客户端之间的认证结果决定。其工作过程[3]如下所述:
1.认证初始化。这个过程可由接入点或客户端通过分别发送EAPOL-REQUEAST或EAPOL-STATE发起。
2.接入点将端口状态置为非认证状态,阻塞客户端对其所提供服务的访问,直到客户端成功地登录网络。此时,只允许IEEE802.1x类型数据通过,用户在客户端输入用户名等的相关信息。
3.客户端利用EAP和后端认证服务器RADIUS通过接入点进行双向认证。在认证过程中客户端和认证服务器可采用多种认证方法中的一种。
4.当双向认证通过后,RADIUS服务器和客户端共同协商产生一把惟一的WEP密钥,称为会话密钥。客户端利用会话密钥进行登录网络。
5.RADIUS服务器利用有线网络将会话密钥传递给接入点。
6.接入点用会话密钥将广播密钥加密然后将密文传递给无线客房端,客户端利用会话密钥将密文解密得到广播密钥。
7.客户端和接入点激活机制利用会话密钥和广播密钥进行通信。
8.根据RADIUS服务器的设置,经过一定间隔,会话密钥和广播密钥可以周期性地重新产生。
(二)WPA的数据加密[4]
WPA采用 TKIP加密机制,它使用一种密钥构架和管理方法,通过由认证服务器动态生成的密钥来取代单个静态密钥、把密钥首部长度从24位增加到48位等方法来增强安全性。而且,TKIP利用了IEEE802.1x/EAP构架。认证服务器在接受了用户身份后,使用IEEE802.1x产生一个惟一的主密钥处理会话。然后,TKIP把这个密钥通过安全通道分发到AP和客户端,并建立起一个密钥构架和管理系统,使用主密钥为用户会话动态产生一个惟一的数据加密密钥,来加密每一个无线通信数据报文。TKIP的密钥构架使 WEP静态单一的密钥变成500万亿个可用密钥。虽然WPA采用的还是和WEP一样的RC4加密算法,但其动态密钥的特性很难被攻破。TKIP在WEP的基础上引入了如下4个新算法:
1.扩展的 48位初始化向量(IV)和 IV顺序规则(IV Sequencing Rules);
2.每包密钥构建机制(per-packet key construction);
3.Michael(Message Integrity Code,MIC)消息完整性代码;
4.密钥重新获取和分发机制。
TKIP并不直接使用由PTK/GTK分解出来的密钥作为加密报文的密钥,而是将该密钥作为基础密钥(Base Key),经过两个阶段的密钥混合过程,从而生成一个新的、每一次报文传输都不一样的密钥,该密钥才是用做直接加密的密钥,通过这种方式可以进一步增强WLAN的安全性。
(三)WPA的消息完整性校验
WPA中的MIC是为了防止黑客的篡改而定制的,具有很高的安全特性。当MIC发生错误的时候,数据可能已经被篡改,系统很可能正在受到攻击。此时,WPA会采取一系列的对策,例如立刻更换组密钥、暂停活动60秒等,来阻止黑客的攻击。
三 IEEE802.11i安全标准
IEEE 802.11i规定使用802.1x认证和密钥管理方式,在数据加密方面,定义了 TKIP(Temporal Key Integrity Protocol)、CCMP(Counter-Mode/CBC-MAC Protocol)和WRAP(Wireless Robust Authenticated Protocol)三种加密机制。
其中TKIP采用WEP机制里的RC4作为核心加密算法,可以通过在现有的设备上升级固件和驱动程序的方法达到提高WLAN安全的目的。CCMP机制基于AES(Advanced Encryption Standard)加密算法和CCM(Counter-Mode/CBCMAC)认证方式,使得 WLAN的安全程度大大提高,是实现RSN的强制性要求。由于AES对硬件要求比较高,因此CCMP无法通过在现有设备的基础上进行升级实现。WRAP机制基于AES加密算法和OCB(Offset Codebook),是一种可选的加密机制。
IEEE 802.11i与WPA的关系如下图[5]所示:
无线网络安全是一个不断改善和升级的过程,随着无线技术的迅猛发展,对无线网络的安全性要求也是与时俱进的。随着新一代无线安全机制的市场化应用,无线局域网的安全性将得到很大提高,无线网络的发展前景也将越来越好。
[1]刘辛酉.Wi-Fi通信的安全分析.信息网络[J].2009(5):50-53.[2]李国朋,潘进,李波.基于WPA的安全机制缺陷的攻击实现[J].电脑知识与技术,2008(33):1351.
[3]王顺满.无线局域网络技术与安全[M].北京:机械工业出版社,2005:279.
[4]赵伟艇,史玉珍.基于 802.11i的无线局域网安全加密技术研究[J].计算机工程与设计,2010(4):761-762.
[5]马建峰,朱建明.无线局域网安全——方法与技术[M].北京:机械工业出版社,2005:140.
The Security Study of WLAN Based on IEEE802.11
WU Shu-jing
(Hunan University of Science and Engineering Library,Yongzhou Hunan 425100,China)
The security mechanism of IEEE802.11 based on WEP algorithm can not meet the security needs for WLAN. This article examines the operational principle and password format of the WEP, WPA and 802.11i.
WEP;WPA;802.11i
TP30
A
1673-2219(2010)12-0086-03
2010-09-01
湖南科技学院科学研究项目“基于IEEE802.11无线局域网在高校图书馆的应用及安全性研究”(项目编号09XKYTC052)成果。
吴暑静(1983-),男,湖南岳阳人,湖南科技学院助理馆员,研究方向为图书馆现代技术。
(责任编校:张京华)