标题 | WPA/WPA2协议安全性分析 |
范文 | 房沛荣 唐刚 程晓妮 摘要:无线局域网在给人们的日常生活带来便利的同时,也增加了通信的不安全性。为了克服WEP协议固有弱点给无线网络带来的诸多安全性隐患,Wi-Fi联盟提出了WPA/WPA2协议来替代WEP协议。本文主要对WEP、WPA/WPA2两种无线局域网通信协议加密过程进行了研究,并从数据加密、数据完整性、身份认证等方面详细分析了WPA/WPA2协议所做出的改进。最后文章还对WPA/WPA2的攻击方式做了简单介绍。 关键词:无线局域网;WPA/WPA2协议;WEP协议 中图分类号:TP311 文献标识码:A 0 引言 随着近年来笔记本电脑、平板电脑、智能手机的普及,无线局域网作为无线宽带通信的一种,近些年发展极为迅猛。据wifi联盟估计,全球已经有10%的人使用无线局域网进行通信。无线局域网在为人们提供便利的同时,安全问题也随之日渐突出。近年来,由于使用无线局域网的原因而造成经济损失的案例也常常见诸各种新闻媒介。有线对等加密协议作为第一代无线局域网协议,并没有很好地解决无线局域网的安全问题,WPA/WPA2(Wi-Fi网络安全存取)协议继承了WEP协议,并且弥补了WEP协议的设计缺陷和漏洞,保护了无线网络的安全。 1 WEP协议、WPA/WPA2协议 1.1WEP协议 WEP协议是运用在数据链路层的加密协议,采用电子信息领域常用的RC4加密算法。WEP协议的加密过程如下:①运用CRC-32s算法将计算出完整性检验值ICV,并将值附加在明文的尾部;②首先用24位的初始化向量IV和40位密钥K混合成密钥流种子,再用伪随机序列产生器PRNG生成密钥流;③将明文和密钥流异或相加生成密文。 WEP加密过程如图1所示。 1.2WPA/WPA2协议 WPA采用的加密算法是临时密钥完整协议(TKIP)RC4加密算法,该算法继承了WEP协议的加密原理,但是在WEP的加密原理上做出了巨大改进,弥补了WEP的缺陷,极大的提高了数据加密的安全性。WPA2协议与WPA协议非常相似,两者唯一的区别是WPA2算法采用了高级加密标准(AES)MJ。WPA协议的整个加密过程如下: 1.生成MSDU WPA协议在计算消息的完整性校验码时,使用了MSDU明文数据、源地址、目标地址和临时密钥等多种信息,并用该校验码取代了在WEP协议中使用的ICV,同时WPA将计算得到的MIC值附加到MSDU生成传输的信息,在MSDU较长时,协议可以将MSDU分为若干个子段。 2.生成WEP种子 在上一阶段中,由临时密钥(TK)、发送方地址(TA)和序列号口(sc)生成了临时混合密钥(TI'AK)。本阶段中,再由TTAK、TSC和TK杂凑为WEP种子密钥。 3.封装WEP 在本阶段中,协议将上阶段生成的WEP种子密钥分成WEP IV和RC4算法密钥两部分。其中使用RC4算法密钥生成密钥流,然后将生成的结果与MSDU相异或生成密文MSDU并将IV附加尾部形成MPDU。 WPATKIP加密过程如图2所示。 1.3 WEP、WPA、WPA2两种协议的对比 WPAlVJ协议在WEP协议的基础上做了众多改进,本文主要从数据加密、数据完整性、身份认证等方面对两个协议进行对比介绍。 1.3.1数据加密方面 在WEP协议中,使用的加密算法是RC4加密算法,在该算法中存在部分弱密钥,使得子密钥序列在不到100万字节内就发生了完全的重复,如果是部分重复,则可能在不到10万字节内就能发生重复。大量弱密钥的存在,这将导致生成的密钥序列中有相当数量的序列位仅由弱密钥的部分比特位所决定,这个规律使得该算法被破解的难度大大降低。再加上RC4算法中以明文进行通信,这使得密文很容易被攻击者破解。另外,在WEP协议中,算法需要使用手动方式将密钥写入WLAN的设备中,因此在同一个WLAN中,没有自动密钥管理机制,客户和接入点使用同一个单一密钥。 在WPA协议中,采用的临时密钥完整性协议TPIK(Temporal Key Integrity Protocol)、802.1x和可扩展认证协议(EAP)。其中TPIK协议使用的密钥序列的保密性大大增强,虽然在WPA协议中依然使用RC4算法,但是在RC4算法的基础上进行了改进,使得数据封装的形式更为复杂,密钥长度也由40位增长至128位,在分发时也由密钥认证服务器动态的进行认证与分发。同时,TPIK协议还使用了密钥分级技术以及先进的密钥管理方法,从而大大增强了密钥的保密性。除此之外,TPIK还使用了802.1X和EAP认证机制增强加密的安全性。在用户完成认证服务器中的认证后,服务器使用802.1x生成一个唯一的主密钥,TPIK将主密钥分别发送到客户机和AP,在会话期间,每个被传递的数据包都采用一个唯一的密钥来完成加密工作,从而建立起密钥分级及管理系统。TKIP的应用,使得每个数据包在加密时可以使用的密钥数量达到数千万个,有效的解决了WEP协议中加密算法密钥过短、静态密钥和密钥缺乏管理等问题。 1.3.2数据完整性 在WEP协议中,使用了32位循环冗余校验(CRC),但是CRC的计算复杂度是线性的,这个特点很容易被攻击者应用。在修改数据帧的同时,修改相应的CRC位,很容易通过算法的完整性校验。 而在WPA协议中,使用的是信息完整性代码MIC(Message Integrity Code)来防止入侵者对数据帧的修改,该机制中,发送端和接收端都会对MIC值进行计算并比较,如果算法发现计算值与获得值不相等,则认为数据帧被恶意篡改,然后将当前的数据包丢弃并重新发送数据包。这样使得数据包被篡改的概率大大降低。 1.3.3身份认证方面 在WEP协议中,没有对用户的身份认证进行明确定义,在实际应用中,一般将WEP的共享密钥作为用户身份验证的密码,但是这种认证是基于硬件的单向认证,有可能受到硬件的威胁,同时也有被拒绝服务攻击的风险。 在WPA协议中,有效的避免了上述问题,在该协议中使用了两种认证方式。第一种是802.1x+EAP的认证方式,用户向服务器提供认证所需凭证,例如可以使用用户密码并通过特定的认证服务器来实现,这种方式需要使用一台特定的服务器,价格较为昂贵。另外一种方式是WPA-PSK,这种方式是对802.1x+EAP的简化,在802.1x+EAP中,802.1x是基于端口的网络访问控制协议,要求用户必须在完成身份认证后才能对网络进行访问,802.1x协议除了需要进行端口访问控制和身份认证以外,还需要动态的进行密钥管理。在802.1x协议中,使用EAP作为认证协议,EAP定义了认证过程中的消息传递机制,802.1x认证过程主要分为以下几个步骤: 在AP侦测到一个客户端后,AP将向客户端发送一个EAPOL格式的EAP Request-ID信息。 在客户端收到该信息后,向AP返回一个含有用户ID的EAPOI,该信息将被封装成RADIUS请求数据包,传送至骨干网上的RADIUS服务器。 然后进行EAP认证,在服务器支持下,消息在客户端和RADIUS之间进行中继,在客户端使用EAPOL协议,而在服务器端使用RADIUS协议。 在完成EAP认证后,RADIUS服务器发出一个包含有EAP标志的RADIUS数据包,该数据包将被传送到客户端。如果RADIUS服务器通过了客户端的认证,所请求的端口将被开放给客户端。 在WPA-PSK方式中,实现方式将被大大简化,仅仅要求在每个WLAN节点预置共享密钥即可。只要客户端的密钥与服务器端的相吻合,客户端就可以获得网络的访问权。同时这个密钥仅仅使用于认证过程,并不会在预共享认证过程中产生严重的安全问题。 综上,WPA协议综合使用了802.1X、EAP、TKIP和MIC安全协议。负责接入认证的802.1x和EAP协议与负责数据加密及完整性校验的TPIK和MIC协议一起,实现了WPA协议在应用中极强的可靠性。 事实证明,WPA/WPA2具有很高的安全性,算法方面没有明显漏洞,只要用户不采用非常简单的弱密码,想要通过遍历密码表进行暴力破解是非常困难的。目前的主要攻击手段是通过遍历密码表进行暴力破解,这种方法在用户密码比较复杂的情况下非常耗时,而且,通常会达到天文数字般的时间长度,攻击者的破解成本过于高昂,使得WPA/WPA2的破解实际上不可行,有效地保证了安全性。 2 破解 在现实中,黑客仍然可以利用WAP/WAP2的一些弱点,对其进行攻击,破解WIFI的密码。要破解WPA/WPA2,需要获得预共享密钥模式下的预共享密钥PSK或认证模式下的主会话密钥MSK,在各种攻击中暴力破解攻击可以获得PSK或MSK。在实际应用中,很多无线局域网都采用预共享密钥模式,因此,在暴力破解中WPA/WPA2-PSK暴力破解尤为重要。WPA/WPA2-PSK暴力破解器作为一种自动化的暴力破解,使WPA/WPA2-PSK的黑客软件应运而生,如Aircrack-ng和Cowpatty,但传统的WPA/WPA2-PSK暴力破解器仅采用单机单核进行破解,破解速度有限,提高WPA/WPA2-PSK的破解速度,成为破解密码需要解决的重点问题。俄罗斯软件公司ElcomSoft推出一款单机软件Wireless Security Auditor,利用GPU的运算性能提升WPA/WPA2-PSK的暴力破解速度,由于是商业软件,因此实现细节未公开。该WPA/WPA2-PSK暴力破解器仅利用了单机的计算资源。开源Pyrit是专门的WPA/WPA2-PSK破解工具,支持多核心CPU和GPU,基于Python语言开发。该暴力破解器的最新版本引入了网络核心概念,将网络上的协作破解机器作为本机外的另一个计算核心,但用于分布式破解时要在破解的同时传输PSK List,网络开销较大。ZerOne安全团队使用分布式来建立大型WPA Hash Table,使用分布式计算结合WPA Hash Table来进行WPA/WPA2加密数据包的破解,破解速度可以轻易地超过80万key/秒。 在WPA/WPA2-PSK模式中,通信双方采用PSK。首先通信双方通过PBKDF2函数和基于哈希的消息认证码——安全哈希算法,将PSK转化为成对主密钥PMK。接着通信双方借助4次握手和PRF-X函数将PMK转化为成对临时密钥PTK,进而将PTK映射为EAPOL(EAP Over LAN)密钥确认密钥KCK,EAPOL密钥加密密钥KEK和临时密钥TK,对于TKIP协议,TK还进一步映射为TK、AP到STA的M1C密钥和STA到AP的MIC密钥。 4次握手通过EAPOL一密钥帧完成。 破解步骤如下: 攻击者被动侦听AP与STA之间的通信,获得4次握手包和AP的ssid,也可用deauthentication攻击加速此过程。 捕获握手包后进行离线攻击。穷举每个可能的密钥,利用ssid,计算PMK。 分析握手包1和2,得到ANonee、SNonee、AA、SPA,与上一步得到的PMK计算出PTK的前128 bit KCK即可。 根据EAPOL-密钥帧中的密钥描述符类型字段决定消息认证算法,使用上一步得到的KCK,计算消息2的MIC值,与捕获的消息2的MIC值比较,相同则表明密钥猜测正确,否则,继续尝试下一个可能密钥。 3 总结 数据加密是增加无线网络安全的一种有效方法,WPA的出现为现有的无线网络产品提供了一个简便的升级途径,可以通过对软件和硬件的升级来加强信息的安全加密和网络接入控制。与WEP协议相比,对WPA/WPA2协议破解的难度有了很大提升,WPA目前没有加密体质的缺陷可以被利用,但是仍可以通过常规的字典攻击法破解WPA的密码。包括了高级加密标准AES(Advaneed EncryptionStandard)等安全特性的802.11i无线网络安全协议将在未来成为WLAN的规范,为Wlan提供更加安全的协议。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。