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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于3GPP-WLAN互通性安全的AP设计应用类别:电子综合阅读:1112基于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)基于GSMSIM的EAPSIM认证他基于现有的GSMSIM过程,在3GPP-WLAN系统互通中,通常的认证机制例如EAP能支持这种方法。EAPSIM认证机制的详细描述可以参考文献[4]。2802.1XEAP-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),GSMSIM主要用来存储用户的信息,通过相应的技术(例如读卡器读取,USB,红外技术)与WLAN的无线网卡进行通信,使UE获得用户的信息。802.1XEAPSIM安全认证框图如图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报文,得到相应的128b随机数NONCE_MT。3GPPAAA服务器检查该用户是否有N(2或3)个可用的认证三元组。如果没有足够的三元组,则通过七号信令向HLR发送MAP_Send_Auth_Info报文获取N组鉴权集(SRES,RAND,Kc)。使用N个三元组的目的是为了生成更长的Sessionkey。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为128b的特点,将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的记帐结束报文。3WLAN无线接入点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)在接收到认证开始请求时,应发送EAPOLRequest/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运营步骤,节省运营成本,统一用户管理提供了技术上的保证。基于GSMSIM的认证机制是3GPP推荐的互通安全机制之一,完全满足互通性安全需求。在3GPP-WLAN互通的实现中,AP作为关键节点起着举足轻重的作用。本文提出的支持802.1XEAPSIM

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功