新一代安全标准IEEE 802.11i定义了RSN(Robust Security Network)的概念,增强了WLAN中的数据加密和认证性能,并且针对WEP加密机制的各种缺陷做了多方面的改进。
IEEE 802.11i规定使用802.1x认证和密钥管理方式,在数据加密方面,定义了TKIP(Temporal Key Int egrity Protocol)、CCMP(Counter-Mode/CBC-MAC Protocol)和WRAP(Wireless Robust Authenticated Protocol)三种加密机制。其中TKIP采用WEP机制里的RC4作为核心加密算法,可以通过在现有的设备上升级固件和驱动程序的方法达到提高WLAN安全的目的。CCMP机制基于AES(Advanced Encryption Standard)加密算法和CCM(Counter-Mode/CBC-MAC)认证方式,使得WLAN的安全程度大大提高,是实现RSN的强制性要求。由于AES对硬件要求比较高,因此CCMP无法通过在现有设备的基础上进行升级实现。802.11i协议结构如图1所示。
探询11i的秘密
TKIP
TKIP虽然与WEP同样都是基于RC4加密算法,但却引入了4个新算法:
● 扩展的48位初始化向量(IV)和IV顺序规则(IV Sequencing Rules);
● 每包密钥构建机制(per-packet key construction);
● Michael消息完整性代码(Message Integrity Code,MIC);
● 密钥重新获取和分发机制。
TKIP并不直接使用由PTK/GTK分解出来的密钥作为加密报文的密钥,而是将该密钥作为基础密钥(Base Key),经过两个阶段的密钥混合过程,从而生成一个新的、每一次报文传输都不一样的密钥,该密钥才是用做直接加密的密钥,通过这种方式可以进一步增强WLAN的安全性。密钥的生成方式如图2所示。
CCMP
除了TKIP算法以外,802.11i还规定了一个基于AES(高级加密标准)加密算法的CCMP(Counter-Mode/CBC-MAC Protocol)数据加密模式。与TKIP相同,CCMP也采用48位初始化向量(IV)和IV顺序规则,其消息完整检测算法采用CCM算法。
AES是一种对称的块加密技术,提供比WEP/TKIP中RC4算法更高的加密性能。对称密码系统要求收发双方都知道密钥,而这种系统的最大困难在于如何安全地将密钥分配给收发的双方,特别是在网络环境中。AES加密算法使用128bit分组加密数据,它将在802.11i最终确认后,成为取代WEP的新一代的加密技术。
IEEE 802.1x和EAP
IEEE 802.1x是一种基于端口的网络接入控制技术,该技术提供一个可靠的用户认证和密钥分发的框架,可以控制用户只有在认证通过以后才能连接网络。IEEE 802.1x本身并不提供实际的认证机制,需要和上层认证协议(EAP)配合来实现用户认证和密钥分发。EAP允许无线终端支持不同的认证类型,能与后台不同的认证服务器进行通信,如远程接入用户服务(Radius)。
802.lx要求三个实体:申请者、认证者、认证服务器。这些实体都是网络设备的逻辑实体,认证者一般为AP。它有两个逻辑端口:受控端口和非受控端口。非受控端口过滤所有的网络数据流只允许EAP帧通过。在认证时,用户通过非受控端口和AP交换数据,若用户通过认证则AP为用户打开一个受控端口,用户可通过受控端口传输各种类型的数据帧(如HTTP和POP3)。
IEEE 802.1x认证过程如下: 1) 无线终端向AP发出请求,试图与AP进行通信; 2) AP将加密的数据发送给验证服务器进行用户身份认证; 3) 验证服务器确认用户身份后,AP允许该用户接入; 4) 建立网络连接后授权用户通过AP访问网络资源。
接入点通过不受控端口与WLAN用户进行通信,二者之间运行EAPoL(EAP over LAN)协议,而接入点与认证服务器之间运行EAP协议。EAP协议并不是认证系统和认证服务器通信的惟一方式,其他的通信通道也可以使用。例如,如果认证系统和认证服务器集成在一起,两个实体之间的通信就可以不采用EAP协议。
EAP(可扩展认证协议)认证对IEEE 802.11原有标准进行了3点改进:一是双向认证机制,这一机制有效地消除了中间人攻击(MITM),如假冒的AP和远端认证服务器; 二是集中化认证管理和动态分配加密密钥机制,这一机制解决了管理上的难度; 三是定义了集中策略控制,当会话超时时,将触发重新认证和生成新的密钥。
安全是这样炼成的
802.11i草案标准中建议的认证方案是基于802.1x和扩展认证协议(EAP)的,加密算法为高级加密标准(AES)。动态协商认证和加密算法使RSN可以不断演进,与最新的安全水平保持同步,添加算法应付新的威胁,并不断提供保护无线局域网传送的信息所需要的安全性。
由于采用动态协商、802.1x、EAP和AES,故RSN比WEP和WPA可靠得多。但是,RSN不能很好地在遗留设备上运行,只有最新的设备才拥有实现加密算法所需的计算速度和性能。
IEEE 802.11i系统在工作的时候,先由AP向外公布自身对系统的支持,在Beacons、Probe Response等报文中使用新定义的信息元素(Information Element),这些信息元素中包含了AP的安全配置信息(包括加密算法和安全配置等信息)。STA(终端)根据收到的信息选择相应的安全配置,并将所选择的安全配置表示在其发出的Association Request和Re-Association Request报文中。
802.11i协议通过上述方式来实现STA与AP之间的加密算法以及密钥管理方式的协商。另外,AP需要工作在开放系统认证方式下,STA以该模式与AP建立关联之后,如果网络中有Radius服务器作为认证服务器,那么STA就使用802.1x方式进行认证;如果网络中没有Radius,STA与AP就会采用预共享密钥(PSK,Pre-Shared Key)的方式。
STA通过802.1x身份验证之后,AP就会得到一个与STA相同的Session Key,AP与STA将该Session Key作为PMK(Pairwise Master Key,对于使用预共享密钥的方式来说,PSK就是PMK)。随后AP与STA通过EAPoL-KEY进行WPA的四次握手(4-Way Handshake)过程,如图4所示。在这个过程中,AP和STA均确认了对方是否持有与自己一致的PMK,如不一致,四次握手过程就告失败,连接也因此中断,反之建立连接。