802.11i认证机制概述

搞无线安全的朋友常常被一大堆术语及缩写搞得晕头转向。本文从802.11i的角度简要描述一下无线安全领域的某些常见概念。802.11i是IEEE为无线网络802.11协议组定义的专门针对安全的协议。先描述几个相关概念:
 

l  IEEE 定义了专门的无线网络(WLAN)协议标准: 802.11 标准(组)。该标准组包括 802.11a 802.11b 802.11g及802.11n(草案) 。加上安全方面的 802.11i ,以及 QoS 方面的 802.11e 。凡是涉及无线安全的 IEEE 协议为 802.11i ;此外,IEEE还定义了端口安全的 802.1X 标准,该标准在 802.11i 中用来认证 WLAN 客户端。

 

l  IETF 定义了与 802.11 相关的安全协议: EAP 认证协议。 EAP 的好处是它将认证协议从其自身的传输方式中分离出来。 EAP 可以承载于 802.1X PPP 帧、 UDP 包及 RADIUS 会话中。

 

l  802.11 网中, EAP 是在 802.1X 帧中通过 WLAN 传输的。

 

l  WiFi 联盟,它负责各厂商的 WLAN 设备之间的互通性。一共有三种认证计划(其实是加密方式): WPA WPA2 WMM

 

l  WPA 标准,它是用于解决 WEP 加密处理上的弱点而开发的。 WEP 的出现早于 802.11i WPA 的开发主要目的之一是为了向后兼容基于 WEP 的设备。因此, WPA 仍然采用了 WEP 使用的 RC4 加密算法,但是在密码强度及消息完整性上有所增强。

 

l  WPA2 标准,它使用 AES CCMP 作为算法核心。它要求使用新的客户端及 AP 设备。

 

802.11 的 关键部分是无线网络的的发现及关联。它包含如下四个部分:

 

  1. 信号(beacon):AP用于表明一个无线网络的存在。包含SSID、支持的速率及安全设置。目的是为了让客户端知道在一定的区域内有哪些网络及哪些 AP,以便客户端选择哪个网络及哪个AP。SSID往往被一些厂商建议用“不广播”来实现安全的作用。事实上这种安全措施作用甚微,因为黑客可在关联阶段侦知到SSID。从可操作性及客户端支持性上看,最好允许SSID广播。
  2. 探针(probe):客户端探查无线网络。无线网卡在多个信道中发送探针请求,搜索某个网络。一个典型的客户端其探针中往往会包含某个网络的SSID,这使得SSID很容易被黑客侦知;如果一个客户端想知道所有可用网络,它可以发送一个不含SSID的探针请求,这样所有AP都会响应,除非设置了“不广播”SSID。搜索特定网络的探针请求同样包含SSID、支持的速率及安全配置这些要素,与AP广播的信号一致。
  3. 认证(authentication):采用802.11网络标准。802.11一开始开发了两种论证机制:开放式认证和共享WEP密钥式认证。开放式认证是其实是一个“空认证”,即:客户端说“我来了”,AP说“请进吧”。空认证不是无认证,它也有一问一答,也是一个认证过程;共享WEP密钥式认证则在客户端和AP端预设密钥进式认证。这种方式有很大的缺陷,在很多场合已不建议采用。因此企业真实环境下采用的论证方式是802.1X/EAP认证机制,即 802.11i认证。
  4. 关联(asociation):客户端与 AP 建立数据链路连接。这个过程   确定安全机制及传输速率,建立数据链路。

下面介绍802.11i安全认证及加密。

 

  • 802.1X
    802.1X原先是作为端口访问控制的一种机制,现在被802.11i用来对WLAN的访问进行认证。

    首先,802.11关联过程中为AP的每个客户端生成一个“虚拟”端口。AP阻塞所有除了802.1X的数据帧。802.1X帧携带EAP数据包,通过AP 传送到AAA服务器。如果EAP认证通过,AAA服务器会发送一个成功消息到AP,于是AP允许客户端通过虚拟端口传输数据流。在虚拟端口生成前,在AP 和客户端之间的数据链路会加密,以保证只有特定的客户端能够访问这个端口。

    802.1X包含请求者(客户端)、认证者(AP)和认证服务器(AAA服务器)三个组成部分。

    请求者(Applicant)。在客户端用于WLAN认证的软件称为请求者。思科CSSC4.1是一个同时支持有线和无线认证的请求者,它支持所有常用 EAP类型;无线网卡生产商及电脑操作系统也会提供整合的软件支持。WindowsXP支持PEAP MSCHAPv2及EAP-TLS等。

    认证者(Authenticator)。认证者一般是WLC或AP,在请求者和认证服务器之间做中继。当认证成功后,认证者会从认证服务器那里收到如下消息:一个包含认证成功消息的RADIUS包;一个认证服务器在EAP认证过程中产生的加密密钥;厂商通信的特有属性。

    认证服务器(Authentication Server)。可以是思科ACS,或者IOS AP本地认证服务、WLC本地EAP认证支持、整合在思科WLSExpress中的AAA服务以及任何其他支持EAP认证类型的AAA服务器。当EAP认证完成后,认证服务器会发送一个EAP认证成功消息到认证者,告诉认证者认证成功,同时发送一个成对使用的主密钥给认证者,用于将来在AP及客户端之间产生加密流的基础。
  • EAP
    EAP由IETF RFC制定,它规定认证协议必须与传输协议分开,这样,EAP协议本身无须更改,就可以在多种传输协议中传输,例如:802.1X、UDP或者RADIUS都可以传输。基本EAP的四种数据包类型为:

    EAP请求。由认证者向请求者发送。它包含请求者身份等信息。
    EAP响应。由请求者向认证者发送。
    EAP成功。由认证者向请求者发送。
    EAP失败。由认证者向请求者发送。

    当EAP在802.11i中使用时,AP工作在EAP直通模式下。在这种模式下,AP对所收到的请求者发送的EAP包进行检查,然后将其转发到AAA服务器;从AAA服务器发过来的EAP包,AP将其转发给客户端。

    根据不同的用户需求,可能会有不同的EAP类型。主要有PEAP、EAP-TLS以及EAP-FAST。

    PEAP MSCHAPv2。使用TLS(IETF的SSL标准)通道,保护封装在客户端与认证服务器之间的MSCHAPv2。
    PEAP GTC。使用TLS通道,保护通用令牌卡,例如LDAP中的一次性密码。
    EAP-FAST(注意,不是“快速”EAP)。它使用类似于PEAP的安全通道,但不要求使用PKI。
    EAP-TLS。使用PKI,同时认证WLAN网络及客户端。要求客户端证书及服务器端证书。
  • WPA
    由WiFi联盟规定的802.11i规范中称之为WPA及WPA2的加密机制有两种:TKIP和AES。

    TKIP 即WPA。它的出现是为了解决原先由802.11 WEP加密方法的缺陷而产生的问题,它支持一些传统的“老式”WLAN设备。它使用与WEP相同的加密算法RC4来实现这一点。虽然TKIP解决了所有已知的WEP问题,但WPA2的AES加密方更好,它适应更广泛的工业标准并在实践中效果更好。

    TKIP的两个主要功能是:逐包密钥及消息完整性检查(MIC)。逐包密钥是由传输地址、初始化向量(IV)及加密密钥产生的一个散列(hash)。由于每次帧的IV不同,所以每个帧的密钥也不同。此外,MIC也有一些算法上先天不足的缺陷。

    AES即WAP2,它的一个加密模式是CCMP。CCMP包含一个计数器模式,负责保密,一个CBC MAC协议,负责数据完整性。

你可能感兴趣的:(802.11i认证机制概述)