一种WLAN网络中实现EAP认证的方法与流程

文档序号:12810511阅读:2104来源:国知局
一种WLAN网络中实现EAP认证的方法与流程

本发明涉及网络通信技术领域,特别涉及一种wlan网络中实现eap认证的方法。



背景技术:

eap协议(extensibleauthenticationprotocol)是使用可扩展的身份验证协议的简称,是一序列验证方式的集合,以满足任何链路层的身份验证需求,支持多种链路曾认证方式。eap协议是ieee802.1x认证机制的核心,它将实现细节交由附属的eapmethod协议完成,如何选取eapmethod由认证系统特征决定。实现了eap的扩展性及灵活性,eap可以提供不同的方法分别支持ppp、以太网、无线局域网的链路验证。

eap-sim/aka(指eap-sim和eap-aka)是采用sim/usim卡作为eap认证和密钥分发的机制(其中,sim卡采用eap-sim认证机制,usim卡采用eap-aka认证机制)。它是基于通用移动通讯系统(universalmobiletelecommunicationsystem简称umts)认证的基础上产生的。eap-sim/aka在umts认证的基础上,提供了双向认证,只有服务器端和客户端相互认证通过后,服务器端才发送eap-success认证成功消息至客户端,客户端才可以接入网络。同时,eap-sim/aka认证机制还支持通过多次认证机制,生成更强的回话密钥。

radius(remoteauthenticationdialinuserservice),远程用户拨号认证系统,是目前应用最广泛的aaa协议(aaa是认证(authentication)、授权(authorization)和计费(accounting)的简称,是网络安全中进行访问控制的一种安全管理机制,提供认证、授权和计费三种安全服务)。

由于radius协议简单明确,可扩展性强,因此得到了广泛应用,包括普通电话上网、adsl上网、小区宽带上网、ip电话、移动电话预付费等业务。ieee提出了802.1x标准,这是一种基于端口的标准,用于对无线网络的接入认证,认证是也支持采用radius协议。

eap-sim/aka认证的工作原理是客户端(手机或者具有sim卡读写接口设备)通过安全通道与支持802.1x的无线接入点(ap)去的联系,通过wlanap连接到支持eap-sim/aka认证协议的radius服务器连接,然后通过专用通道与存储用户信息的hlr(homelocationregister,归宿位置寄存器)或hss(homesubscriberserver,服务器归属签约用户服务器)进行连接,完成一序列相互认证。目前sim/usim卡鉴权认证所使用的密钥ki,只存放在移动运营商的hlr或hss,由于hlr或hss存储着移动用户核心数据,移动运营商暂不对外开放,不利于eap-sim/aka的普及推广;另一方面,直接使用hlr或hss作为认证服务器,对交换网络带宽有较高的要求,此外,将导致hlr或hss消息交互急剧增加,增加了hlr或hss的负担,网络不稳定时或业务高峰时段,可能导致正常通话受到影响,甚至导致宕机。



技术实现要素:

鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种wlan网络中实现eap认证的方法,该方法利用eap-sim/aka的认证机制,使得sim/usim卡除了支持标准sim/usim密钥和认证算法外,还支持其他密钥和认证算法,同时将认证系统指向新的专用认证服务器,避开了传统指向移动运营商的hlr或hss,为eap-sim/aka的普及推广提供便捷条件。

本发明解决其技术问题所采用的技术方案是:

一种wlan网络中实现eap认证的方法,所述wlan网络包括绑定有sim卡或usim卡的手机终端、无线ap、专用aaa服务器和专用认证服务器,所述手机终端与所述无线ap通过eap消息通信,所述无线ap与所述专用aaa服务器通过radius消息通信,所述专用aaa服务器与所述专用认证服务器通过map消息通信,所述方法包括:

所述手机终端发起eap鉴权请求消息;所述无线ap对所述手机终端接入鉴权,将eap鉴权请求消息发送到所专用aaa服务器;所述专用aaa服务器发送获取鉴权向量请求消息到所述专用认证服务器,所述获取鉴权向量请求消息携带移动用户识别号imsi;

所述专用认证服务器接收所述获取鉴权向量请求消息,判断本地是否存储有所述移动用户识别号imsi,如果有,通过专用随机数产生模块生成挑战随机数rand,再通过第一专用认证模块生成其他鉴权向量,并将鉴权向量发送到所述专用aaa服务器;

所述专用aaa服务器通过所述无线ap发送携带有随机数rand的鉴权挑战请求消息到所述手机终端,所述手机终端根据鉴权挑战消息中的rand判断所述rand是否为专用随机数,如果是,通过第二专用认证模块生成密钥对鉴权挑战请求消息进行验证,并通过所述ap返回鉴权挑战响应消息到所述专用aaa服务器。

所述随机数rand的长度为16个字节,包括如下字段:长度为2个字节的专用随机数标识、长度为1个字节的算法标识、长度为12的随机数字、长度为1的检验和。

如果所述算法标识和所述检验和与预期值均符合时,判断所述rand为专用随机数。

如果所述rand为不是专用随机数,说明鉴权挑战消息不是由专用aaa服务器发送过来的,所述手机终端将消息发送给gsm算法认证模块或umts算法认证模块处理。

所述wlan网络还包括hlr或hss,如果所述专用认证服务器判断本地没有存储所述移动用户识别号imsi,将所述获取鉴权向量请求消息转发给hlr或hss。

所述第一专用认证模块和第二专用认证模块包括有相同的认证算法,且sim卡或usim卡中存储的算法标识与所述专用认证服务器中存储的算法标识一致。

所述第一专用认证模块和第二专用认证模块包括a3a8、aes、des、tdes、rsa、md5算法中的一种或几种。

所述专用aaa服务器为radius服务器。

如果所述eap鉴权请求消息由绑定有sim卡的手机终端发起,所述鉴权向量为鉴权三元组,包括挑战随机数rand、符号响应sres和密钥kc;所述其他鉴权向量包括符号响应sres和密钥kc;所述第二专用认证模块生成密钥对鉴权挑战请求消息中的消息鉴权码mac进行验证。

如果所述eap鉴权请求消息由绑定有usim卡的手机终端发起,所述鉴权向量为鉴权五元组,包括:挑战随机数rand、预期响应xres、完整性密钥ik、密钥ck和鉴权标记auth;所述其他鉴权向量包括预期响应xres、完整性密钥ik、密钥ck和鉴权标记auth;所述第二专用认证模块生成密钥对鉴权挑战请求消息中的消息鉴权码mac和鉴权标记auth进行验证。

本发明所述的一种wlan网络中实现eap认证的方法,提供一种基于手机用户识别卡(sim/usim卡)的多组eap-sim/aka认证组合,是基于手机移动终端的wifi认证,以eap-sim/aka为认证方式,在不影响sim/usim卡的标准鉴权命令所需的认证密钥及算法的情况下,使用sim/usim卡内其他密钥及算法,并自动完成wifi认证、登录,具有操作简便,用户可无感知使用wifi等特点。此外,本发明方法避开了传统指向移动运营商的hlr或hss,为eap-sim/aka的普及推广提供便捷条件。

上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下列举本发明的具体实施方式。

根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述及其他目的、优点和特征。

附图说明

图1为在发明的专用认证服务器上判断是否专用aaa用户的简要流程图;

图2为在本发明的sim/usim卡上判断挑战消息中随机数是否为专用随机数的简要流程图;

图3为本发明的eap-sim认证流程图;

图4为本发明的eap-aka认证流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步的详细描述。

一种wlan网络中实现eap认证的方法,所述wlan网络包括绑定有sim卡或usim卡的手机终端、无线ap、专用aaa服务器和专用认证服务器,所述手机终端与所述无线ap通过eap消息通信(消息定义参考rfc4186和rfc4187),所述无线ap与所述专用aaa服务器通过radius消息通信(消息定义参考rfc2865和rfc3579),所述专用aaa服务器与所述专用认证服务器通过map消息通信(消息定义参考ts23.002和ts29.002),所述方法包括:所述手机终端发起eap鉴权请求消息;所述无线ap对所述手机终端接入鉴权,将eap鉴权请求消息发送到所专用aaa服务器;所述专用aaa服务器发送获取鉴权向量请求消息到所述专用认证服务器,所述获取鉴权向量请求消息携带移动用户识别号imsi;

所述专用认证服务器接收所述获取鉴权向量请求消息,判断本地是否存储有所述移动用户识别号imsi,如果有,通过专用随机数产生模块生成挑战随机数rand,再通过第一专用认证模块生成其他鉴权向量,并将鉴权向量发送到所述专用aaa服务器;

所述专用aaa服务器通过所述无线ap发送携带有随机数rand的鉴权挑战请求消息到所述手机终端,所述手机终端根据鉴权挑战消息中的rand判断所述rand是否为专用随机数,如果是,通过第二专用认证模块生成密钥对鉴权挑战请求消息进行验证,并通过所述ap返回鉴权挑战响应消息到所述专用aaa服务器。

如图1所示为在专用认证服务器上判断是否专用aaa用户的简要流程图,在专用认证服务器端通过判断移动用户识别号(imsi)是否在本地存储来选择目标认证模块。如果imsi在本地有存储,说明是专用aaa用户,则通过专用随机数产生模块,生成挑战随机数,并通过第一专用认证模块生成鉴权三元组/鉴权五元组及认证结果,并将专用随机数、鉴权三元组/鉴权五元组及认证结果一并返回给专用aaa服务器(即radius服务器);如果不是专用aaa用户,则通过移动运营商的hlr/hss,生成普通随机数并通过umts/gsm认证模块生成认证结果,普通随机数和认证结果一并返回给移动运营商的radius服务器。

如图2所示为在sim/usim卡上判断挑战消息中随机数是否为专用随机数的简要流程图,sim/usim卡接收到挑战随机数rand时,根据sim/usim卡的鉴权指令所需的随机数的结构,通过判断挑战随机数rand的特殊字段的特征值,选择目标认证模块及相应的认证算法,从而实现sim/usim卡支持多组eap-sim/aka认证组合。

具体的,根据协议标准,鉴权命令的随机数长度固定为16个字节,如表1所示为本发明方法根据协议标准自定义的的挑战随机数的结构,具体的,随机数rand的长度为16个字节,包括如下字段:长度为2个字节的专用随机数标识、长度为1个字节的算法标识、长度为12的随机数字、长度为1的检验和。

表1

具体的,如果所述算法标识和所述检验和与预期值均符合时,判断所述rand为专用随机数。

进一步的,如果是专用随机数,通过第二专用认证模块生成密钥对鉴权挑战请求消息进行验证,并通过所述ap返回鉴权结果到所述专用aaa服务器;如果不是专用随机数,将消息发送给gsm算法认证模块或umts算法认证模块处理。

进一步的,所述第一专用认证模块和第二专用认证模块的认证算法可以是aes/des/tdes等通用对称加密算法中的一种或几种,也可以是rsa、md5等非对称算法中的一种或几种;所述第一专用认证模块和第二专用认证模块包括有相同的认证算法,且sim卡或usim卡中存储的算法标识与所述专用认证服务器中存储的算法标识一致。

具体的,如图3为本发明的eap-sim认证流程图,详细的消息交互过程如下:

1)手机终端和无线ap建立关联之后,手机终端向无线ap发送eapol-start,发起鉴权请求。

2)无线ap发送eap-req手机终端st/identity消息到手机终端。

3)手机终端回复eap-response/identity消息,向网络发送其用户身份标识信息,身份标识可以为伪随机nai或永久nai。

4)无线ap将eap报文使用radiusaccess-req手机终端st消息封装,并将identity放在radius的user-name属性中,发送给专用aaa服务器。

5)专用aaa服务器收到包含用户身份的eap-response/identity报文。

6)专用aaa服务器识别出用户准备使用的认证方法为eap-sim。如果手机终端送上的identity为伪随机nai,专用aaa服务器检查本地没有该伪随机nai与imsi的映射关系,则使用eapreq手机终端st/sim-start消息再次请求永久nai(6、7、8、9步仅用于手机终端漫游到新的拜访地而使用其他aaa分配的伪随机nai接入认证的场景)。eap报文封装在radiusaccess-challenge消息中,发送给无线ap。

7)无线ap转发eap-req手机终端st/sim-start消息到手机终端。

8)手机终端使用eap-response/sim-start消息携带永久nai进行响应

9)无线ap转发eap-response/sim-start消息携带永久nai到专用aaa服务器,eap报文封装在radiusaccess-req手机终端st消息中。

10)专用aaa服务器检查本地是否缓存可用的鉴权向量,如果没有则向专用认证服务器发送map_send_auth_info请求,请求获取n组鉴权向量(n可配置,取值范围1~5)。

11)专用认证服务器响应专用aaa服务器鉴权请求,下发n组鉴权三元组。

12)专用aaa服务器检查本地是否存在用户的签约信息。如果没有,则专用aaa服务器向专用认证服务器发起map_update_gprs_loc或map-restore-data(可通过配置开关进行控制)请求,获取用户签约信息。

13)专用认证服务器向专用aaa服务器发起插入用户数据map_insert_subs_data请求,向专用aaa服务器插入数据。

14)专用aaa服务器响应专用认证服务器插入用户数据消息,完成用户签约信息获取。

15)专用认证服务器向专用aaa服务器回复map_update_gprs_loc或map-restore-data(可通过配置开关进行控制)响应消息,完成专用认证服务器的交互流程。

16)专用aaa服务器检查用户签约通过后,根据专用认证服务器返回的鉴权三元组生成teks、msk和emsk(参见ietfrfc4186),将m组(默认m=2,可配置,同步设备规范)rand串起来后生成一个n*rand。为支持标识保密功能,专用aaa服务器还要生成伪随机nai和快速重鉴权nai,用于后续的全鉴权和快速重鉴权过程。

17)专用aaa服务器在eap-req手机终端st/sim-challenge消息中发送rand,一个消息鉴权码(mac)和2个用户标识(伪随机nai和快速重鉴权nai)给无线ap,eap报文封装在radiusaccess-challenge消息中。

18)无线ap转发eapreq手机终端st/sim-challenge消息到手机终端。

19)手机终端根据每个rand为128bit,解析出m个rand,根据算法标识指定的第二专用认证模块中的加密算法(a3a8、aes、des、tdes、rsa、md5中的一种)得出k_sres,k_int,k_ency,session_key,并且用k_int得出at_mac,和接收到的at_mac进行比较,如果一致,表示专用aaa服务器认证通过。再利用k_sres作为key用规定的算法生成mac_sres。

20)手机终端使用新密钥素材覆盖整个eap消息计算新消息认证码(messageauthenticationcode,mac)值。手机终端发送包含res和新消息认证码的eapresponse/sim/challenge消息给无线ap。

21)无线ap发送eapresponse/sim-challenge报文到专用aaa服务器,eap报文封装在radiusaccess-req手机终端st消息中。

22)专用aaa服务器利用本端产生的k_sres作为key生成mac_sres,和接收到的mac_sres进行比较,如果一致,表示客户端认证通过。

23)如果所有检查都成功,且专用aaa服务器之前发送过认证结果保护标识,则专用aaa服务器必须在发送eapsuccess消息前发送eapreq手机终端st/sim/notification消息。eap报文封装在radiusaccess-challenge消息中,且用mac保护。

24)无线ap转发eap消息到手机终端。

25)手机终端发送eapresponse/sim-notification。

26)无线ap转发eapresponse/sim-notification消息到专用aaa服务器,eap报文封装在radiusaccess-req手机终端st消息中。

27)专用aaa服务器发送eap-success消息到无线ap(可能在发送eapnotification之前,参见第23步描述)。如果专用aaa服务器产生了额外的用于wlanan和手机终端间链路保护的机密性和/或完整性保护的鉴权密钥,专用aaa服务器在radiusaccess-accept消息中包含这些密钥素材。

28)无线ap通过eapsuccess消息通知手机终端鉴权成功。至此,eap-sim交互已经成功完成,手机终端和无线ap共享交互过程中生成的密钥素材。

具体的,如图4为本发明的eap-aka认证流程图,详细的消息交互过程如下:

1)手机终端和无线ap建立关联之后,手机终端向无线ap发送eapol-start,发起鉴权请求。

2)无线ap发送eap-req手机终端st/identity消息到手机终端。

3)手机终端回复eap-response/identity消息,向网络发送其用户身份标识信息,身份标识可以为伪随机nai或永久nai。

4)无线ap将eap报文使用radiusaccess-req手机终端st消息封装,并将identity放在radius的user-name属性中,发送给专用认证服务器。

5)专用认证服务器收到包含用户身份的eap-response/identity报文。

6)专用认证服务器识别出用户准备使用的认证方法为eap-sim。如果手机终端送上的identity为伪随机nai,专用认证服务器检查本地没有该伪随机nai与imsi的映射关系,则使用eapreq手机终端st/sim-start消息再次请求永久nai(6、7、8、9步仅用于手机终端漫游到新的拜访地而使用其他aaa分配的伪随机nai接入认证的场景)。eap报文封装在radiusaccess-challenge消息中,发送给无线ap。

7)无线ap转发eap-request/aka-identity消息到手机终端。

8)手机终端使用eap-response/aka-identity消息携带永久nai进行响应

9)无线ap转发eap-response/aka-identity消息携带永久nai到专用aaa服务器,eap报文封装在radiusaccess-request消息中。

10)专用aaa服务器检查本地是否缓存可用的鉴权向量,如果没有则向专用认证服务器发送map_send_auth_info请求,请求获取n组鉴权向量(n可配置,取值范围1~5)。

11)专用认证服务器响应专用aaa服务器鉴权请求,下发n组鉴权五元组。

12)专用aaa服务器检查本地是否存在用户的签约信息。如果没有,则aaa向专用认证服务器发起map_update_gprs_loc或map-restore-data(可通过配置开关进行控制)请求,获取用户签约信息。

13)专用认证服务器向专用aaa服务器发起插入用户数据map_insert_subs_data请求,向专用aaa服务器插入数据。

14)aaserver响应专用认证服务器插入用户数据消息,完成用户签约信息获取。

15)专用认证服务器向专用aaa服务器回复map_update_gprs_loc或map-restore-data(可通过配置开关进行控制)响应消息,完成专用认证服务器的交互流程。

16)专用aaa服务器检查用户签约通过后,根据专用认证服务器返回的鉴权三元组生成teks、msk和emsk(参见ietfrfc4187)。为支持标识保密功能,专用aaa服务器还要生成伪随机nai和快速重鉴权nai,用于后续的全鉴权和快速重鉴权过程。

17)专用aaa服务器在eap-request/aka-challenge消息中发送rand,auth,一个消息鉴权码(mac)和2个用户标识(伪随机nai和快速重鉴权nai)给无线ap,eap报文封装在radiusaccess-challenge消息中。

18)无线ap转发eap-request/aka-challenge消息到手机终端。

19)手机终端运行算法标识指定的第二专用认证模块中的加密算法(a3a8、aes、des、tdes、rsa、md5中的一种)。usim验证autn并且据此认证网络,如果autn验证正确,usim计算res,ik和ck。

手机终端从由usim新计算出的ik和ck推导出新的附加密钥素材,用新导出的密钥素材检查收到的mac。

如果收到受保护的伪随机身份和快速重鉴权身份,手机终端保存这些临时身份用于后续鉴权。

20)手机终端使用新密钥素材覆盖整个eap消息计算新消息认证码(messageauthenticationcode,mac)值。手机终端发送包含res和新消息认证码的eapresponse/aka-challenge消息给无线ap。

21)无线ap发送eap-response/aka-challenge报文到专用aaa服务器,eap报文封装在radiusaccess-request消息中。

22)专用aaa服务器检查收到的消息认证码(mac)比较xres和收到res。

23)如果所有检查都成功,且专用aaa服务器之前发送过认证结果保护标识,则专用aaa服务器必须在发送eapsuccess消息前发送eap-request/aka-notification消息。eap报文封装在radiusaccess-challenge消息中,且用mac保护。

24)无线ap转发eap消息到手机终端。

25)手机终端发送eap-response/aka-notification。

26)无线ap发送eap-response/aka-notification消息到专用aaa服务器,eap报文封装在radiusaccess-request消息中。

27)专用aaa服务器发送eapsuccess消息到无线ap(可能在发送eap-notification之前,参见第23步描述)。如果专用aaa服务器产生了额外的用于wlanan和手机终端间链路保护的机密性和/或完整性保护的鉴权密钥,专用aaa服务器在radiusaccess-accept消息中包含这些密钥素材。

28)无线ap通过eapsuccess消息通知手机终端鉴权成功。至此,eap-aka交互已经成功完成。

一具体实施例中,整个实施步骤如下:

1、搭建支持eap-sim/aka认证协议的专用radius服务器和专用认证服务器;

2、制作一张支持本发明的sim/usim卡,写入专用eap-sim/aka认证所使用的密钥及算法标识;

3、将sim/usim卡放入支持eap-sim/aka认证的手机客户端,并将手机的wifi认证模式设置为eap-sim/aka模式;

4、将任意一个或多个支持无线802.1x协议的无线路由器(ap),配制成采用radius认证方式,并指向事先搭建的radius服务器。

5、将目标sim/usim卡的专用eap-sim/aka认证密钥和算法标识导入到专用认证服务器。

6、目标手机只要进入无线路由器(ap)的信号覆盖范围,即可自动实现wifi认证并登录网路,用户可以无感知使用wifi网络,该无线ap不受地域限制。

上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下列举本发明的具体实施方式。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1