基于3GPP-WLAN互通性安全的AP设计应用

出处:maychang 发布于:2007-04-29 09:25:01

基于3GPP-WLAN互通性安全的AP设计应用
何广法,刘乃安

(西安电子科技大学 ISN国家重点实验室 陕西 西安 710071)

1 引 言

近几年移动用户数量快速增长,用户在使用语音业务的同时,对移动数据业务也提出了更高的需求,高速无线接入势在必行。将来的无线通信系统是多种接入标准的异构系统。无线接入系统有着各自的特点,蜂窝结构的宏小区覆盖的系统像GPRS和UMTS可以为用户提供高速度移动性,只具有有限的传输带宽。而中小距离覆盖的系统像WLAN提供高速率的数据带宽只具有低速率的移动性。对于多种网络提供覆盖公共热点区域像建筑物、车站、机场等,很有必要对拥有双模设备的用户提供这些网络之间的互通。WLAN与蜂窝网的互通已经成为后3G的研究热点,第三代移动通信合作计划组(3GPP)对WLAN技术也进行了积极的跟踪研究,在协议版本R6阶段逐步提出了在3G系统中如何与WLAN集成的解决方案。对3G系统与WLAN互连进行了可行性研究,提出了从简单互连到完全无缝互连的系统间操作的6种情况[1]。在安全方面主要研究了安全结构,信任模型以及3GPP系统与WLAN接入互通的安全需求,对于用户和网络的安全、密钥管理、业务授权,保密性推荐了适当的机制,同时也提出来用户和信令的完整性保护的机制[2]。其中安全机制推荐的有2种:

(1)基于SIM/USIM的EAPAKA机制 他可以支持现有3GPP/2的和密钥认同(AKA)过程,通常 的机制例如EAP就能支持这种方法,EAPAKA机制的详细描述可以参考文献[3];

(2)基于GSM SIM的EAPSIM 他基于现有的GSM SIM过程,在3GPP-WLAN 系统互通中,通常的机制例如EAP能支持这种方法。EAPSIM机制的详细描述可以参考文献[4]。

2 802.1X EAP-SIM安全

IEEE802.1X协议以其简洁高效、容易实现、安全可靠、易于运营等特点,得到越来越多的设备制造商和运营商的支持。在WLAN与3G集成方案中也采用基于IEEE802.1X的流程。

802.1X是基于端口的访问控制协议,可向IEEE802系列标准的局域网提供一个开放的验证框架,使得无线局域网易于扩展用户和网络并提供一种分布处理集中管理的验证功能。体系结构包括3部分:

(1)客户端申请者Supplicant 一般是一个客户端软件,支持EAPOL协议,用户UE通过启动改软件发起802.1X协议的过程。
(2)者Authentication 通常是支持802.1X协议的网络设备例如AP,该设备使用受控端口和非受控端口保证用户授权前后的接入。
(3)服务器AS 通常使用RADIUS服务器是UE的终点,他存储有关用户的信息例如用户的业务参数,所属的VLAN,优先级,用户的访问控制列表等。802.1X的是可扩展协议(EAP),GSM SIM主要用来存储用户的信息,通过相应的技术(例如读卡器读取,USB,红外技术)与WLAN的无线网卡进行通信,使UE获得用户的信息。

802.1X EAPSIM安全框图如图1所示。首先WLAN用户使用无线网卡与WLAN/AP建立连接,启动802.1X,需要获取相关的信息例如用户的网络接入标识NAI、用户ID(1)~(3)等。

WLAN/AP根据NAI来选择所要使用的3GPPAAA服务器。将EAP-Response/Identity转发送给3GPPAAA服务器。AAA服务器收到后向WLAN/AP发送RADIUS-Access-Challenge报文,其中包含有EAP-Request/SIM/Start报文内容,表示开始EAPSIM的(4)~(6)。在(7)~(9)步中3GPPAAA服务器可以获得用户EAP-Response/SIM/Start报文,得到相应的128 b随机数NONCE_MT。

3GPPAAA服务器检查该用户是否有N(2或3)个可用的三元组。如果没有足够的三元组,则通过七号信令向HLR发送MAP_Send_Auth_Info报文获取N组鉴权集(SRES,RAND,Kc)。使用N个三元组的目的是为了生成更长的Session key。3GPPAAA服务器还检查数据库是否具有WLAN接入用户签约信息,如没有,则从HSS/HLR中获取,同时3GPPAAA服务器是检查该用户是否 已签约了WLAN业务(10),(11)。若满足要求则从NONCE_MT和NKc密钥中依据配置取N为2或者3,将N组RAND串起来后生成一个N*RAND,依据规定的算法生成4个密钥K_sres,K_int,K_ency和Session_Key,并且利用K_int根据规定的算法生成AT_MAC,同时根据K_sres生成MAC_SRES。之后AAA服务器向WLAN/AP发送RADIUS-Access-Challenge报文,WLAN/AP拆封装后的EAP-Response/SIM/Challenge报文发送给客户端UE(12),(13)。

(14)~(19)完成双向。客户端根据每个RAND为128 b的特点,将N解析出来后,依据和AAA同样的算法得出K_sres,K_int,K_ency和Master_Key,用自己产生的K_int。利用和AAA设备同样的算法得出AT_MAC,并且与AT_MAC进行比较,如果一致,表示AAA设备是通过。再利用K_sres作为Key,用规定的算法生成MAC_SRES,通过EAP-Response/SIM/Challenge发 送给3GPPAAA服务器。AAA服务器利用本端产生的K_sres作为密钥,用和客户端同样的算法生成MAC_SRES,并且与接收到的MAC_SRES进行比较,如果一致,表示客户端通过。然后把EAPSUCCESS的消息传给用户端UE,并且使用扩展RADIUS协议通过MS_MPPE_SEND_KEY将生成的SESSION-KEY发送给WLAN/AP通知已通过。

至此客户端可以与WLAN/AP之间开始进行安全可靠的会话。同时AP通过RADIUS-Accountong-Request(Start)报文通知AAA或者专用的计费服务器开始进行计费,含有相关的计费信息,AAA使用RADIUS-Accountong-Request(Start)向WLAN/AP响应进行确认,表示计费开始。在用户使用过程中,为了保护用户记帐信息,WLAN/AP每隔一段时间就向AAA上传用户的记帐信息。当WLAN/AP接收到UE的拆链请求时,向AAA发送记帐结束报文。AAA确认WLAN/AP的记帐结束报文。

3 WLAN无线接入点AP对802.1X的支持

从802.1XEAPSIM安全的过程中可以看出:接入点AP不但是接入控制度终实现单元,并且是用户与AAA服务器之间信息的桥梁,大部分消息的交互都需要AP参与。所以,实现AP对802.1X标准的支持是部署802.1XEAPSIM安全的重要部分。为此,需要附加一些程序以及对AP的驱动程序进行相应的改进。

(1)要能够实现接入的控制。这可以归结为有关受控端口和非受控端口的数据帧的划分以及根据记录来判断用户对应受控端口的授权状态。除了802.3以太网类型(0x88E)的EAPOL帧可以通过非授权端口之外,其他类型的帧都需要通过受控端口进行信息的交互。对于用户的授权状态可以使用用户接入状态列表来进行控制,控制信69息可以是接入设备的MAC地址、VLAN标签、IP地址以及他们的组合,具体的实现可以根据安全策略的等级灵活设置。这些可以在AP的驱动程序中实现。

(2)在接收到开始请求时,应发送EAPOL Request/Identity报文帧。这需要修改AP驱动程序,设定在接收到请求帧或者收到用户发送的数据时,检查其用户信息例如源地址是否在允许的控制列表中,若存在就发送EAPOLRequest/Identity,否则直接丢弃。

(3)能够接收发送EAPOL帧和RADIUS帧,并能进行两种帧结构的转换。这需要一个附加程序来完成,功能包括建立原始套接字和无连接UDP套接字来接收和发送EAPOL帧和RADIUS帧以及两者的转换,并将通过或者主动拆链的UE的控制信息例如(MAC地址)提交给AP的驱动程序。

(4)能够在UE成功后,使用针对该用户的会话密钥加密数据流。在控制列表中加入密钥信息,这样用户的接入信息就与自己的密钥关联起来,保证了每个客户端的会话密钥的独立性。 4 实现802.1X接入点AP附加程序的功能和注意事项

附加程序主要完成3大功能:RADIUS客户端功能,接收和发送EAPOL帧的功能以及控制数据报文的解析和封装的功能。

(1)在802.1XEAPSIM安全过程中,AP为了与AAA通信,他应具备RADIUS客户端功能,要正确地建立UDP套接字来接收和发送RADIUS报文,其中RADIUS端口号为1812,计费协议端口号是1813。

(2)对于接收和发送EAPOL帧的功能,主要是针对来自底层的帧(主要是802.1帧类型0x888E)建立原始的套接字进行收发。

(3)解析和封装的功能有3项:

①把接收到的EAPOL报文中的EAP解析出来封装到RADIUS报文中的EAP-Message字段中发往AAA服务器;
②把接收到的EAP-Response/Identity中的用户标识解析出来封装到RADIUS报文的User-Name字段中发往AAA服务器;
③把接收到的RADIUS报文的EAP-Message解析出来封装到EAPOL帧的PacketBody域中发往客户端。

但是在实现时需要注意一些问题:

(1)EAPOL长消息的分段 由于RADIUS的长度域为1个字节,说明了一个RADIUS报文多可携带的数据为不超过255个字节(实际为253个),而EAPOL的长度是其MTU,例如802.3LAN中MTU为1514,所以对于 EAPOL中EAP大于253个字节的报文,应把EAP分成多个EAP-Message字段封装到RADIUS报文中;当接收到RADIUS报文带有多个EAP-Message字段时,应把各个字段中的数据取出组成一个完整的EAP消息,才能封装到EAPOL帧中。

数据过大 由于IP报文分片重组机制,当收到的RADIUS报文的EAP消息较大,多个EAP数据组成的消息超过了EAPOL帧的MTU长度时,将会导致不能正常发送。这就需要在发往AAA服务器的RADIUS报文中设定EAP-Message字段,通知AAA不要发送过长的EAP消息。

(3)RADIUS报文State字段的响应 在RADIUS-Access-Challenge报文中可能带有State字段,响应时要用相同的状态信息封装到报文中。

5 结 语

在WLAN和3G集成中,统一的是为关键的一步,他不仅是提供可运营的WLAN的基础,同时为移动运营商加快WLAN运营步骤,节省运营成本,统一用户管理提供了技术上的保证。基于GSM SIM的机制是3GPP 推荐的互通安全机制之一,完全满足互通性安全需求。在3GPP-WLAN互通的实现中,AP作为关键节点起着举足轻重的作用。本文提出的支持802.1XEAPSIM的AP功能实现,保证了安全的实现。至于所涉及的注意事项,可以使设计者少走一些弯路。




  

参考文献:

[1]. GPRS datasheet https://www.dzsc.com/datasheet/GPRS_1594650.html.


版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!