接入点内部协议及其在接入点上的实现-2

导读:
  作者:李卫民,李伟征,涂秀梅 
  
  当AP的802.11 MAC层接收到来自STA的重连接请求后,它将调用MLME原语REASSOCIATE.indication通知本地APME。本地APME提取请求报文中旧AP的BSSID、STA的MAC地址和连接序号等,封装在IAPP原语MOVE.request向IAPP发起连接通知请求。IAPP收到MOVE.request请求后,发送RADIUS ACCESS-REQUEST报文与RADIUS服务器交互,或在本地,通过查询预先配置于AP中的ESS中AP MAC地址和IP地址的对应关系,将旧AP的BSSID解析为IP地址。新AP接收到旧AP的IP地址后,向STA原先连接的旧AP以TCP会话方式发送IAPP MOVE-Notify报文,在报文中包含了STA的MAC地址。旧AP响应后,将自己保存的有关STA的上下文信息用MOVE-response报文发送给新AP,并且释放掉自己与STA的连接。新AP接收到旧AP的响应报文后,重建STA的用户环境,然后在本地子网广播源MAC地址为STA的XID帧,子网上的二层设备接收到XID帧后,将根据该帧的源MAC地址更新转发表中的相应记录。IAPP向网络广播通知报文后,调用MOVE.confirm原语通知APME。
  如果要对IAPP MOVE-Response报文进行加密,RADIUS服务器在对新AP回复中,除了包括旧AP的IP地址外,还包括有安全域。这些安全域不仅包含了新旧AP通信的共享密钥,而且还用RADIUS注册表中的AP的口令进行了加密。新AP接收到RADIUS服务器的回复后,把安全域作为Send-Security-Block报文发送给旧AP,这也是AP间IAPP TCP交换的第一个信息。旧AP返回ACK-Security-Block报文,这样新旧AP都有了共享密钥,可以对AP间会话所有报文进行加密。
   4 RADIUS协议支持
  IAPP可以为ESS提供三种不同级别的支持:第一级不提供管理或安全支持;第二级支持BSSID到IP地址的动态映射;第三级提供IAPP消息的加密和认证。第一级支持仅适用于小规模的ESS。对于大多数ESS而言,需要IAPP提供第二或第三级支持,这要求在ESS中至少设置一个RADIUS服务器来提供地址映射和认证、加密等服务。
  ESS中的每一个AP都可以作为RADIUS客户端,它与RADIUS服务器之间拥有一个不同于其它AP的共享密码。此外,RADIUS服务器还为每一个BSSID保留了如下信息:
  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

本文转自
http://www.net130.com/2004/7-26/105830-2.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值