意识到WEP并不安全后,802.11组织开始着手制定新的安全标准,也就是后来的802.11i协议。但是标准的制定到最后的发布需要较长的时间,而且考虑到消费者不会为了网络的安全性而放弃原来的无线设备,因此Wi-Fi联盟在标准推出之前,在802.11i草案的基础上,制定了一种称为WPA(Wi-Fi Procted Access)的安全机制。WPA使用TKIP(Temporal Key Integrity Protocol)协议,所使用的加密算法还是流密码算法RC4,所以不需要修改原来无线设备的硬件。WPA针对WEP中存在的问题:IV过短、密钥管理过于简单、对消息完整性没有有效的保护,通过软件升级的方法来提高无线网络的安全性。表8-1给出了WEP的缺陷及WAP的改进。
表8-1 WEP的缺陷及WAP的改进
在802.11i颁布之后,Wi-Fi联盟推出了WPA2,它支持AES,因此它需要新的硬件支持,它使用CCMP(Counter CBC-MAC Protocol)协议和AES加密算法。在WPA/WPA2中,PTK(Pairwise Transient Key)的生成依赖PMK(Pairwise Master Key),而PMK有两种方式,一个是PSK(Pre-Shared Key)的形式,就是预共享密钥,在这种方式中PMK=PSK,而另一种方式中,需要认证服务器和站点进行协商来产生PMK。802.11i标准的最终形式被称作健壮安全网络(Robust Security Network,RSN)。
WPA给用户提供了一个完整的认证机制。无线接入点AP根据用户的认证结果决定是否允许其接入无线网络中;认证成功后可以根据多种方式(设备的MAC地址、传输数据包的多少、用户接入网络的时间等)动态地改变每个接入用户的加密密钥。另外,对用户在无线网络中传输的数据包进行MIC(Messages Integrity Check)编码,确保用户数据不会被其他用户更改。
WPA提供了3种安全服务:用户认证、数据机密性、数据完整性。另外,借助IEEE 802.1x,WAP同时也提供了访问控制服务。
1. 认证
WEP是数据加密算法,它不完全等同于用户的认证机制,WPA用户认证是使用IEEE 802.1x和EAP(Extensible Authentication Protocol)来实现的。
WPA考虑到不同的用户和不同的应用安全需要,例如,企业用户需要很高的安全保护(企业级),否则可能会泄露非常重要的商业机密;而家庭用户往往只是使用网络来浏览 Internet、收发E-mail、打印和共享文件,这些用户对安全的要求相对较低。为了满足不同安全要求用户的需要,WPA中规定了两种应用模式。
(1)企业模式:通过使用认证服务器和复杂的安全认证机制,来保护无线网络通信安全。
(2)家庭模式(包括小型办公室):在无线接入点AP及连接无线网络的终端上输入共享密钥,以保护无线链路的通信安全。
根据这两种不同的应用模式,WPA的认证也分别有两种不同的方式。对于大型企业的应用,常采用“802.1x + EAP”的方式,用户提供认证所需的凭证。但对于一些中小型的企业网络或者家庭用户,WPA也提供一种简化的模式,它不需要专门的认证服务器,也不使用802.1x。这种模式叫作“WPA预共享密钥(WPA-PSK)”,它仅要求在每个无线局域网节点(AP、无线路由器、网卡等)预先输入一个密钥即可实现。
这个密钥仅仅用于认证过程,而不用于传输数据的加密。数据加密的密钥是在认证成功后动态生成,系统将保证“一个设备一个密钥”,不存在像WEP那样全网共享一个加密密钥的情形,因此大大地提高了系统的安全性。
2. 数据机密性
WPA使用RC4进行数据加密,用TKIP协议进行密钥管理和更新。TKIP通过由认证服务器动态生成分发的密钥来取代单个静态密钥、把密钥首部长度从24 bit增加到48 bit等方法增强安全性。而且,TKIP利用了802.1x/EAP构架。(www.daowen.com)
认证服务器在接受了用户身份后,使用802.1x产生一个唯一的主密钥处理会话。然后,TKIP把这个密钥通过安全通道分发到AP和无线终端,并建立起一个密钥构架和管理系统,使用主密钥为用户会话动态产生一个唯一的数据加密密钥,来加密每一个无线通信数据报文。TKIP的密钥构架使WEP单一的静态密钥变成了500万亿个可用密钥。虽然WPA采用的还是和WEP一样的RC4加密算法,但其动态密钥的特性很难被攻破。
3. 数据完整性
除了和802.11一样继续保留对每个MPDU(MAC Protocol Data Unit)数据帧进行CRC校验外,WPA为802.11的每个MSDU数据帧都增加了一个8个字节的消息完整性校验值(MIC),这和802.11对每个MSDU数据帧进行ICV(Integrity Check Value)校验的目的不同。ICV的目的是为了保证数据在传输途中不会因为噪声等物理因素导致报文出错,因此采用相对简单高效的CRC算法,但是黑客可以通过修改ICV值来使之和被篡改过的报文相吻合,可以说没有任何安全的功能。而WPA中的MIC则是为了防止黑客的篡改而定制的,它采用Michael算法,具有很高的安全特性。当MIC发生错误时,数据很可能已经被篡改,系统很可能正在受到攻击。此时,WPA会采取一系列的对策,如立刻更换组密钥、暂停活动60 s等,来阻止黑客的攻击。
WPA企业模式的认证及安全通信过程:
(1)无线终端关联一个无线接入点(AP/Authenticator)。
(2)在无线终端通过身份认证之前,AP对该终端关闭数据端口,只允许它的EAP认证消息通过,所以该终端在通过认证之前是无法访问网络的。
(3)无线终端利用EAP(如MD5/TLS/MSCHAP2等)协议,通过AP的非受控端口向认证服务器提交身份凭证,认证服务器负责对终端进行身份验证。
(4)如果终端未通过认证,它将一直被阻止访问网络;如果认证成功,则认证服务器通知AP向该终端打开受控端口,继续以下流程。
(5)身份认证服务器利用TKIP协议自动将主配对密钥PMK分发给AP和终端。PMK基于每个用户、每个802.1x的认证进程,是唯一的。
(6)终端与AP再利用PMK动态生成基于每个数据包唯一的数据加密密钥。
(7)利用该数据加密密钥对STA与AP之间的数据流进行加密,就好像在两者之间建立了一条加密隧道,保证了无线数据传输的安全性。
终端与AP之间的数据传输还可以利用MIC进行消息完整性检查,从而有效抵御消息篡改攻击。
尽管上面说的是WAP,其实除了少量的技术细节,也适用于WAP2。最初的WPA与WPA2之间的主要差别是:WAP2使用AES算法来加密数据,WAP使用TKIP(RC4算法)来加密数据。但是现在,无论是WAP还是WAP2都已经支持AES。与WAP一样,WPA2也分企业模式和家庭模式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。