Mesh Wi-Fi及无线网状网的安全( 二 )



;;; 802.11i/WPA2
2004年6月,IEEE终于通过了802.11i协议 。Wi-Fi联盟则把其802.11i实现取名WPA2,通常这二者被认为是同一件事 。
相对于已出台的WPA,802.11i使用的的加密协议是AES(AdvancedEncryptionStandard)而非TKIP 。AES被认为是一个更强的加密系统,它一般需要专门的硬件支持 。今天的Wi-Fi产品应该都已支持AES加密 。
在安全性的其它方面,802.11i也象WPA一样提供很全面甚至更强的支持 。在认证发面,802.1X的体系结构被采用 。在密钥使用上,802.11i有一整套密钥等级划分和密钥动态产生及更新机制 。802.11i对重传攻击的防范,信息校验等自然也都考虑的非常全面 。总而言之,802.11i是一整套非常全面,同时也非常复杂的安全协议系统,代表了当前Wi-Fi安全的最高级支持 。由于其复杂性,细节不可能在本文中一一介绍 。下面只就其中
采用的802.1X认证体系结构作一个简单介绍 。
802.1X
802.1X是IEEE关于局域网络访问控制的标准,它是一个基于端口概念的标准 。它可以用来决定是否给予一个用户访问一个网路端口的权限 。这里”端口”是指逻辑上的端口.具体到Wi-Fi中,一个客户端与AP的连接(association)就可视为一个端口 。
802.1X是一个标准,它使用的主要协议则是基于一个IETF定义的叫EAP的协议 。EAP是”可扩展认证协议”的意思(ExtensibleAuthentication
Protocol) 。顾名思义,EAP是一个可扩展的协议框架 。具体的EAP协议则可以有很多种,例如EAP-TLS,EAP-TTLS,PEAP等等 。EAP最初并非为局域网(LAN)设计,所以EAP在局域网上的实现有一个自己的名字:EAPOL,
是EAPoverLAN的意思 。EAPOL就是802.1X的核心部分 。
802.1X和EAP都并非为Wi-Fi而设计,但却在Wi-Fi上找到了广泛的应用 。在802.1X的典型体系结构中,有以下三个参与信息交互的角色:
英文中分别叫Supplicant,Authenticator和Authentication Server 。
所谓Supplicant就是认证的客户端,在Wi-Fi中通常就是要求连接的无线客户端上的认证软件 。AuthenticationServer就是认证服务器 。在Wi-Fi中,通常是AP来充当Authenticator的角色 。当进行802.1X/EAP认证时,在客户端和AP间运行的就是EAPOL协议,而在AP和认证服务器之间运行的通常是一个叫RADIUS(RemoteAuthenticationDialIn User
Service) 。其实802.1X并不指定AP和认证服务器之间运行什么协议,RADIUS只是一个事实上的标准,绝大部分的应用都是用的RADIUS协议 。同样原因,通常的认证服务器就是一个RADIUS服务器 。
一个典型的802.1X认证过程通常是这样的:
无线客户端向AP发一个EAPOL-Start的包提出认证请求,AP收到后会向无线客户端作出回应(EAPRequest/Identity包),之后两者之间就会开始更多的EAP交互 。但在这个过程中AP基本上是一个透明的转发者 。它把从
无线客户端收到的EAP包,翻译并封装成RADIUS包转发给RADIUS服务器 。RADIUS服务器回的包同样也会被翻译回EAP的包送给客户端 。整个交互完成后,AP会最终从RADIUS学到认证是否成功,从而决定是否给予无线客户端以访问权限 。
关于802.1X的模式,可以用下图说明:
PSK
PSK是Pre-SharedKey的缩写,即预共享的密钥 。WPA和802.11i/WPA2都支持一个PSK的模式 。简单的说,PSK模式是一个简化的WPA/802.11i,是一个没有802.1X部分的WPA或802.11i 。
802.1X在WPA和802.11i的应用中,除了认证之外,还提供一个作用,它会让客户端和认证服务器之间产生一个叫PMK(PairwiseMasterKey)的密钥 。PMK是WPA/802.11i密钥层级里的最顶层,是所有其它密钥产生的基础,极其重要 。
但在PSK模式里,由于没有802.1X的参与,PMK则是象WEP的密钥一样预装,但跟WEP不同的是,所有最终用于加密及其它一些功能的密钥仍是动态产生的 。而且,PSK模式也包含WPA和802.11i中除了802.1X以外的所有其它功能 。所以PSK模式虽然没有完整的WPA和802.11i/WPA2模式那么全面,仍是一个很强的安全方案 。

推荐阅读