接入点内部协议及其在接入点上的实现( 三 )


a) 基本服务组标识BSSID;
b) 至少为160位RADIUS BSSID密码;
c) BSSID的DSM IP地址或DNS域名;
d) 用于IAPP通信加密的AP所支持的加密套件 。
IAPP操作中用到的RADIUS服务可以分为两大类:ESS治理和地址动态映射 。而ESS又可以分为AP注册和认证、IAPP密钥治理和分发以及STA的接入治理 。
1. AP注册和认证
 
图4 AP的RADIUS注册接入过程
AP为了加入一个ESS , 首先由自身的IAPP向ESS中的RADIUS服务器发送携带AP IP地址、IAPP注册服务类型和加入ESS的SSID的RADIUS注册接入请求报文 , 该报文以AP的BSSID作为用户名 , 以AP的BSSID密码作为用户口令 , 还包含了AP所支持的封装安全负荷协议ESP和认证头协议AH的模式列表 。RADIUS服务器在接收到该报文后 , 将对AP的身份进行鉴别 , 同时对报文中的ESP列表进行检查 , 假如AP支持ESP加密和ESP认证算法 , 并证实AP身份有效 , RADIUS服务器将AP的BSSID注册成为ESS中的一部分 , 同时向AP返回RADIUS注册接入许可报文 。在该报文中不仅确认了AP成为ESS的有效成员 , 而且还向AP提供了多项安全域 , 用于构建一条安全的IAPP组播信道 。
假如RADIUS服务器对ESP列表检查后 , 判定AP不支持ESP加密和ESP认证算法 , 或者AP身份无效 , 则向AP发送RADIUS注册接入拒绝报文 , 拒绝AP加入本ESS 。当AP要脱离ESS时 , 需要向RADIUS服务器发送注销报文 , 注销AP的ESS成员身份 。
2. STA的接入治理
当AP的802.11 MAC向APME指示有STA切换到本AP , 并且接收到由STA发出的IAPP MOVE-Request请求后 , 该AP会向所在ESS中的RADIUS服务器发送包含STA先前连接AP的 BSSID(旧BSSID)的RADIUS接入请求报文 。RADIUS服务器收到新AP接入请求报文后 , 将会检查旧BSSID是否是当前ESS中的有效成员 。假如RAIDUS服务器判定新AP和旧AP可以用IAPP互通 , 则向新AP返回一个RADIUS接入许可报文 。该报文不仅确认了旧BSSID是当前ESS中一个有效成员 , 而且还包含了新、旧BSSID的安全域用于新旧AP之间安全信道的构建 。
假如RAIDUS服务器对旧BSSID检查后 , 认为新AP和旧AP不能通过IAPP互通 , 则向新AP返回RADIUS接入拒绝报文 , 新AP接收到RADIUS服务器的接入拒绝响应后 , 向申请连接的STA发送MLME REASSOCIATE.confirm原语 , 并指示连接失败 。
3. IAPP密钥的治理和分发
在答应一个AP加入ESS后 , RADIUS服务器会保存该AP的BSSID密码 , 并向该AP回复RADIUS注册接入许可报文 。在该报文中包含了一些可选属性 , 指定了AP的ESP加/解密密钥和认证密钥、ESP加/解密算法号和认证算法号等 。利用这些密钥和算法 , AP可以对发送和接收的ADD-Notify报文进行加密和解密操作 , 从而构建一条安全的IAPP组播信道 。
RADIUS服务器还为新旧AP之间的通信提供安全支持 。在RADIUS接入许可报文的可选属性中 , New-BSSID-Security-Block包含了RADIUS服务器为新AP指定的用于ESP加密和认证的一系列安全信息 , 并用新AP的BSSID密码进行加密;Old-BSSID-Security-Block包含了RADIUS服务器为旧AP指定的用于ESP加密和认证的一系列安全信息 , 用旧AP的BSSID密码进行了加密;新旧AP的IAPP利用这些属性 , 就可以建立一条安全连接进行通信 。
4. 地址动态映射
每一个AP在加入ESS时 , 都会向ESS中的RADIUS服务器发送RADIUS注册接入请求报文 , 在该报文中包含了AP的BSSID和AP的IP地址等信息 。RADIUS在接收到AP的RADIUS注册接入请求报文后 , 会对其进行检查 。假如通过检查 , RADIUS服务器将AP的BSSID注册成为ESS中的一部分 , 同时还保留了AP的的BSSID和IP地址等信息 。这样 , ESS中的每一个AP都可以通过RADIUS服务器来查询其它AP的IP地址了 。

推荐阅读