WLAN 概述
IEEE802.11系列协议定义了WLAN网络服务的相关特性:IEEE802.11-1999作为WLAN的基本协议定义了基本的802.11链路协商机制;IEEE802.11i-2004增强了802.11链路的安全特性;IEEE802.11e将提供802.11链路服务的质量保证机制等等。
虽然IEEE802.11-1999协议已经考虑到了无线局域网的安全问题,并且定义了相应的安全机制(包括Shared-Key认证机制和开放系统OSA认证机制)以及WEP加密机制(基于RC4对称流加密算法,而且需要预先配置相同的静态Key);但是无论从加密机制还是加密算法本身,WEP加密机制都容易受到安全威胁。随着无线局域网的发展,IEEE802.11i比较彻底的解决无线局域网的安全问题(特别采用了更加高级的加密算法AES,通过密钥协商实现动态密钥管理和更新,结合了802.1x接入认证为无线局域网提供安全保护)。
由于IEEE颁布一个新的WLAN标准的时间间隔很长,而各厂商的产品往往已经先于标准推出了,为了能够满足不同厂商间的产品的互通性,Wi-Fi联盟制定的标准在IEEE的正式标准颁布前往往成为了大家都遵从的事实标准。对于无线局域网的安全标准IEEE802.11i就存在这样问题:Wi-Fi Protected Access (WPA) 是一种过渡性行业标准 — 它通过升级到基于 802.11 的无线网络适配器的固件和无线接入点 (AP) 来保护 802.11 无线 LAN 联网的安全。WPA 将临时密钥完整性协议 (TKIP) 与 Michael 结合起来,取代了有线对等保密 (WEP);临时密钥完整性协议可通过加密来保证数据机密性,Michael 可保证数据完整性。
WLAN 用户接入
802.11链路协商
802.11链路不同于802.3,802.11定义了一套链路协商机制,其中包括802.11链路认证过程和802.11链接协商过程。只有当WLAN客户端成功发现WLAN服务,并且和WLAN服务设备成功完成链路认证和链接协商后
客户端和设备端才成功的建立802.11链路,客户端才拥有了访问网络的基础。如果网络服务没有使用任何接入认证,此时客户端已经成功的接入到网络服务中;如果网络服务指定了接入认证方式,则WLAN会触发对用户的接入认证,只有接入认证成功后,WLAN客户端才可以成功的访问网络。
下图简单描述了802.11客户端接入到WLAN服务的链路协商过程,如果WLAN使能了接入认证,在链路协商成功以后会触发接入认证,下图没有给出相应的描述。通常WLAN客户端为由无线网卡的主机设备,而WLAN服务端则为AP设备。
WLAN 发现
无线客户端有两种方式可以获取到周围的无线网络信息:一种是被动扫描,无线客户端只是通过监听周围AP发送的Beacon(信标帧)获取无线网络信息;另外一种为主动扫描,无线客户端在扫描的时候,同时主动发送一个探测请求帧(Probe Request帧),通过收到探查响应帧(Probe Response)获取网络信号。
无线客户端在实际工作过程中,通常同时使用被动扫描和主动扫描获取周围的无线网络信息。
(1) 主动扫描
无线客户端工作过程中,会定期地搜索周围的无线网络,也就是主动扫描周围的无线网络。根据Probe Request帧(探测请求帧)是否携带SSID,可以将主动扫描可以分为两种:
l 客户端发送广播Probe Request帧(SSID为空,也就是SSID IE的长度为0):客户端会定期地在网卡支持的信道列表中,发送广播探查请求帧(Probe Request)扫描无线网络。当AP收到探查请求帧后,会回应探查响应帧(Probe Response)通告可以提供的无线网络信息。无线客户端会选择信号最强的AP进行关联。无线客户端通过主动扫描,可以主动获知可使用的无线服务,之后无线客户端可以根据需要选择适当的无线网络接入。无线客户端主动扫描方式的过程如图1-2所示。
图1-2 主动扫描过程(Probe Request中SSID为空,也就是不携带任何SSID信息)
l 客户端发送单播Probe Request(Probe Request携带指定的SSID):当无线客户端配置希望连接的无线网络或者已经成功连接到一个无线网络情况下,客户端也会定期发送单播探查请求帧(Probe Request)(该报文携带已经配置或者已经连接的无线网络的SSID),当能够提供指定SSID无线服务的AP接收到探测请求后回复探查响应。通过这种方法,无线客户端可以主动扫描指定的无线网络。这种无线客户端主动扫描方式的过程如图1-3所示。
图1-3 主动扫描过程(Probe Request携带指定的SSID为“AP 1”)
(2) 被动扫描
被动扫描是指客户端通过侦听AP定期发送的Beacon帧发现周围的无线网络。提供无线网络服务的AP设备都会周期性发送Beacon帧,所以无线客户端可以定期在支持的信道列表监听信标帧获取周围的无线网络信息。当用户需要节省电量时,可以使用被动扫描。一般VoIP语音终端通常使用被动扫描方式。被动扫描的过程如图1-4所示。
链路认证
当前802.11的链路认证支持两种认证方式:OSA认证(Open System Authentication)和Shared-Key认证(Shared Key Authentication)。两种认证方式都是在IEEE802.11中定义,802.11链路认证通过Authentication报文实现。
其中OSA认证其实没有对用户进行任何认证操作,只是根据WLAN服务是否支持OSA认证确定对客户端的认证是否成功。当WLAN提供RSN以及WPA的安全服务时,链路认证必须使用OSA认证,而不能使用Shared Key认证。
l 开放系统认证(Open system authentication)
开放系统认证是缺省使用的认证机制,也是最简单的认证算法,即不认证。如果认证类型设置为开放系统认证,则所有请求认证的客户端都会通过认证。开放系统认证包括两个步骤:第一步是无线客户端发起认证请求,第二步AP确定无线客户端是否通过无线链路认证并回应认证结果。如果认证结果为“成功”,那么客户端成功通过了AP的链路认证。
图1-5 开放系统认证过程
l 共享密钥认证
共享密钥认证是除开放系统认证以外的另外一种链路认证机制。共享密钥认证需要客户端和设备端配置相同的共享密钥。
共享密钥认证的认证过程为:客户端先向AP发送认证请求,AP端会随机产生一个Challenge(即一个字符串)发送给客户端;客户端会将接收到Challenge加密后再发送给AP;AP接收到该消息后,对该消息解密,然后对解密后的字符串和原始字符串进行比较。如果相同,则说明客户端通过了Shared Key链路认证;否则Shared Key链路认证失败。
图1-6 共享密钥认证过程
链路服务协商
在完成了802.11的链路认证后,WLAN客户端会继续发起802.11链路服务协商,具体的协商通过Association报文或者Re-association报文实现。
在WLAN服务发现过程中,WLAN客户端已经获得了当前服务的配置和参数(WLAN设备端会在Beacon和Probe Response报文中携带,例如接入认证算法以及加密密钥)。WLAN客户端在发起的Association或者Re-association请求时,会携带WLAN客户端自身的各种参数,以及根据服务配置选择的各种参数(主要包括支持的速率,支持的信道,支持的QoS的能力,以及选择的接入认证和加密算法)。
WLAN客户端和WLAN服务设备端成功完成链路服务协商,表明两个设备成功建立了802.11链路。对于没有使能接入认证的服务,客户端已经可以访问WLAN网络;如果WLAN服务使能了接入认证,则WLAN设备端会发起对客户端的接入认证。
图1-1 建立无线连接过程
其他相关过程
(1) 解除认证
解除认证用于中断已经建立的链路或者认证,无论AP还是无线终端都可以发送解除认证帧断开当前的链接过程。无线系统中,有多种原因可以导致解除认证,如:
l 接收到非认证用户的关联或解除关联帧。
l 接收到非认证用户的数据帧。
l 接收到非认证用户的PS-Poll帧。
(2) 解除关联
无论AP还是无线终端都可以通过发送解除关联帧以断开当前的无线链路。系统中,有多种原因可以导致解除关联,如:
l 接收到已认证但未关联用户的数据帧。
l 接收到已认证但未关联用户的PS-Poll帧。