一种面向异构网络的批量切换认证及密钥协商方法
技术领域
本发明属于LTE-A和WLAN集成的异构网络技术领域,尤其涉及一种面向异构网络的批量切换认证及密钥协商方法。
背景技术
近年来,随着移动设备的不断普及,用户对实时稳定的无线网络需求迅速增加,不仅要求基本的通信服务,还希望能够享受在线游戏、视频等丰富的多媒体服务。随着5G时代的到来,新一代无线通信系统将集成不同的无线接入技术以支持用户设备安全的无缝切换以及具有不同服务质量(QoS)要求的应用程序和服务。集成的异构网络由具有不同传输功率和覆盖范围的节点组成,高功率节点(High Power Node,HPN)覆盖区域广,因此通常部署在城市、郊区和农村等地区以提供全面覆盖;低功率节点(Low Power Node,LPN)则通常部署在火车站、图书馆等地方实现小范围覆盖,以提升系统容量和网络吞吐量。融合HPN和LPN的异构网络能够实现更大的网络容量和覆盖范围。因此,作为使用最广泛的技术和标准,3GPP LTE-A网络(提供HPN)和WLAN(提供LPN)的集成的典型异构网络架构将支持大量用户设备高质量的数据服务。因此,用户将不可避免地面临在LTE-A和WLAN异构网络间进行切换的问题,为了保证无线通信的安全性,需要进行安全的身份认证以及密钥协商。
本方案采用的LTE-A和WLAN集成的异构网络架构。其中,服务网关(S-GW)支持3GPP接入连接,具备用于IP移动性管理的移动访问网关(MAG)功能;接入网关(A-GW)支持非3GPP接入连接,在受信任的非3GPP接入中充当MAG;PDN网关(PDN GW)负责将IP地址分配给用户设备,并作为3GPP和非3GPP接入网络之间的LMA管理用户设备的绑定撤销状态;发现功能模块ANDSF模块支持3GPP和非3GPP接入网的发现与选择,以此作为异构网络的无缝切换过程的可信第三方,用户设备通过S14接口向发现功能模块ANDSF发送其身份位置等关键信息,以请求目标接入网络检测;3GPP中定义的发现功能模块ANDSF为异构网络的系统间切换提供了必要的网络发现和选择辅助功能,即将相关可用目标接入网络信息以及运营商的系统间移动策略规则等作为接入网络信息响应发送给用户设备;AAA服务器则负责对用户设备进行身份验证并授权合法设备访问网络。针对目前接入认证协议流程,存在以下问题:
(1)不适用于规模庞大的群体接入认证。由于在异构网络架构下,用户对目标接入网络的移动访问网关相关接入策略不明确,若每个用户单独利用发现功能模块ANDSF请求接入网关信息,不仅会导致严重的网络拥塞问题,还会消耗大量的网络资源,计算开销和通信开销将成倍增长。
(2)安全等级低。在异构网络中,相关信令通过开放的空中接口进行传输,在这个过程中,协议无法提供隐私保护容易遭受假冒、中间人攻击、重放攻击和重定向攻击等多种恶意攻击。同时,目标接入网络与用户协商的会话密钥不具备前向/后向安全性,一旦发生会话密钥泄露,将导致机密信息泄露,整个通信过程将不再安全。
发明内容
针对现有技术中的上述不足,本发明提供的一种面向异构网络的批量切换认证及密钥协商方法,能够有效实现大量用户从LTE-A网络安全快速切换到WLAN网络,在实现批量切换认证的同时,大大降低系统开销,并为无线通信下的用户提供强大的安全保障。
为了达到以上目的,本发明采用的技术方案为:
本方案提供了一种面向异构网络的批量切换认证及密钥协商方法,包括以下步骤:
S1、建立系统以及参与者注册:建立系统,并由若干参与者认证的用户在LTE-A网络上进行注册,获取各自的身份信息;
S2、接入认证:将计算能力优于存储能力的设备作为组长,利用发现功能模块ADNSF发现目标接入网络WLAN,并由组长将完整的组认证信息发送至WLAN网络的AAA服务器对各参与者进行身份信息的认证,并判断身份信息是否认证成功,若是,则由WLAN网络的AAA服务器返回身份认证响应,完成批量切换认证及密钥协商,否则,进入步骤S3;
S3、认证失败,终止执行,从而完成批量切换认证及密钥协商。
进一步地,所述步骤S2包括以下步骤:
S201、将计算能力优于存储能力的设备作为组长;
S202、由用户设备UEi根据个人临时身份TIDi和组临时身份TIDG1计算得到用户设备UEi的消息验证码MACi/ANDSF,并将消息验证码MACi/ANDSF、个人临时身份TIDi和组临时身份TIDG1发送至组长;
所述消息验证码MACi/ANDSF的表达式如下:
MACi/ANDSF=H(SKi-ANDSF,TIDi||TIDG1)
其中,HH表示哈希函数,SKi-ANDS表示用户设备UEi和发现功能模块ANDSF的共享密钥;
S203、通过组长对用户设备UEi的消息验证码MACi进行聚合,同时利用域名服务器DNS获取附近发现功能模块ANDSF的地址,并利用对称密钥SKLD-ANDSF加密生成的随机数NLD及唯一确定的位置信息LLD、路线标识符IDroute及消息验证码MACG1/ANDSF进行完整性保护,并将其作为接入网信息请求发送至发现功能模块ANDSF;
S204、根据所述接入网的信息请求,通过消息验证码MACG1/ANDSF批量验证用户设备UEi的身份信息,并判断是否存在非法用户设备UEi,若是,则进入步骤S3,否则,由WLAN网络的AAA服务器返回身份认证响应,并进入步骤S205;
S205、利用发现功能模块ANDSF通过预设的接入网优先策略选择目标接入网络AAA,计算得到目标接入网络AAA服务器AAAWLAN用于验证用户设备UEi的参数信息,并利用对称密钥KANDSF-AAA加密随机数NANDSF和NLD,分别计算得到用户设备UEi的本地身份、临时密钥及目标接入网络接入节点标识IDNAP,并结合用户设备UEi的参数信息计算得到消息验证码MACANDSF/AAA,并将消息验证码MACANDSF/AAA发送至目标接入网络AAA服务器AAAWLAN;
S206、由目标接入网络AAA服务器AAAWLAN计算得到消息验证码XMACANDSF/AAA,并和来自ANDSF的消息验证码MACANDSF/AAA判断消息验证码XMACANDSF/AAA是否通过验证,若是,则进入步骤S207,否则,终止协议,并进入步骤S206;
S207、由目标接入网络AAA服务器AAAWLAN选取随机数NAAA,并计算与用户设备UEi一一对应的会话密钥,根据对应的会话密钥利用对称密钥KANDSF-AAA对随机数NAAA进行加密保护得到消息验证码MACAAA/ANDSF并发送至发现功能模块ANDSF;
S208、根据随机数NAAA以及对称密钥KANDSF-AAA计算得到消息验证码XMACAAA/ANDSF,并将消息验证码MACAAA/ANDSF与消息验证码XMACAAA/ANDSF,进行对比,并根据对比结果验证消息完整性及目标接入网络AAA服务器AAAWLAN的身份信息,利用组临时密钥GTKG1加密随机数NAAA和NLD、目标接入网络接入节点标识IDNAP及时间戳TANDSF,并根据组临时密钥GTKG1、随机数NAAA、NLD以及时间戳TANDSF计算得到的消息验证码MACANDSF/G1,并将接入网选择决策发送给组长;
S209、利用组临时密钥GTKG1解密消息检查随机数NLD,并根据消息验证码MACANDSF/G1的对S208接受的消息完整性进行验证以及对消息源进行认证,并判断消息源是否认证成功,若是,则由组长将接入网选择决策消息广播至其他用户设备UEi,并进入步骤S2010,否则,终止协议,并进入步骤S3;
所述消息验证码MACANDSF/G1的表达式如下:
MACANDSF/G1=H(GTKG1,LIDG1||NAAA||NLD||IDNAP||TANDSF)
其中,GTKG1表示组临时密钥,IDNAP表示目标接入网络接入节点标识,NLD表示组长随机数,NAAA表示目标接入网络AAA服务器选择的随机数,LIDG1表示用户组/设备端UE的本地身份标识符,TANDSF表示发现功能模块ANDSF发送该条消息的时间戳;
S2010、通过用户设备UEi对解密消息进行验证,并根据验证结果计算得到与目标接入网络AAA服务器AAAWLAN共享的会话密钥SKiAAA,以及计算得到用户接入目标接入网络的本地个人身份LIDi和本地组身份LIDG1,以及用于生成用户设备UEi和目标接入网络AAA服务器AAAWLAN会话的个人临时密钥TKi,并根据预设的共享密钥计算得到新的临时密钥TKG1以及消息验证码MACi/LD,利用新的临时密钥TKG1以及消息验证码MACi/LD切换请求消息发送至组长;
S2011、由组长收集并验证用户设备UEi的切换请求信息,并利用对称密钥SKLD-S-GW对新生成的随机数NLD2进行加密保护,并结合时间戳TLD计算得到对应的消息验证码MACLD/S-GW,并利用消息验证码MACLD/S-GW为服务网关S-GW生成身份验证票证TicP-GW,切换信息经基站eNodeB发送服务网关S-GW;
S2012、由服务网关S-GW解密信息获取随机数NLD2,并根据所述随机数NLD2计算得到消息验证码XMACLD/S-GW,将消息验证码XMACLD/S-GW与接收的消息验证码MACLD/S-GW进行对比,判断两值是否相等,若是,则认证成功,并进入步骤S2013,否则,重复步骤S2012;
S2013、根据随机数NLD2计算得到消息验证码MACS-GW/P-GW,并连同身份验证票据TicP-GW作为快速代理绑定更新请求转发至分组网关P-GW;
所述消息验证码MACS-GW/P-GW的表达式如下:
MACS-GW/P-GW=H(KS-GW-P-GW,NLD2)
其中,KS-GW-P-GW表示服务网关S-GW和分组网关P-GW的共享密钥;
S2014、由分组网关P-GW解密身份验证票据Tic P-GW,并根据随机数NLD2生成消息验证码XMACS-GW/P-GW,将消息验证码XMACS-GW/P-GW与来自服务网关S-GW的消息验证码MACS-GW/P-GW进行对比,判断两值是否相等,若是,则证明服务网关S-GW为用户设备UEi授权的合法节点,并由分组网关P-GW根据随机数NLD2计算得到消息验证码MACP-GW/S-GW,并将消息验证码MACP-GW/S-GW作为快速代理绑定确认消息发送至服务网关S-GW,并进入步骤S2015,否则,结束协议,并进入步骤S3;
S2015、由分组网关P-GW将用户设备UEi的数据分组缓存至其数据库中,并接收返回的数据包;
S2016、通过分组网关P-GW利用对称密钥KP-GW-A-GW对生成的随机数NP-GW及所有用户设备UEi的本地身份LIDi进行加密,并计算得到其对应的消息验证码MACP-GW/A-GW;
所述消息验证码MACP-GW/A-GW的表达式如下:
MACP-GW/A-GW=H(KP-GW-A-GW,LID(1-n)||LIDG1||NP-GW)
其中,H表示哈希函数,KP-GW-A-GW表示分组网关P-GW和网关A-GW的共享密钥,LID(1-n)表示G1组所包含的n个用户本地身份,用以接入WLAN时认证身份,LIDG1表示组本地身份,NP-GW表示随机数;
S2017、将步骤S2016所得密文和消息验证码MACP-GW/A-GW作为切换分组转发地址请求消息发送至网关A-GW,获取其代理转交地址CoA,并利用代理代理转交地址CoA分配临时IP地址至用户设备UEi;
S2018、利用网关A-GW解密转发地址请求消息生成消息验证码XMACP-GW/A-GW,并利用消息验证码XMACP-GW/A-GW对分组网关P-GW进行身份验证以及检查消息的完整性;
S2019、判断是否认证成功,若是,则由网关A-GW选择随机数NA-GW,并利用分组网关P-GW和网关A-GW的共享密钥KP-GW-A-GW加密随机数NA-GW与代理转交地址CoA,并计算得到消息验证码MACA-GW/P-GW以及将加密的密文及相应的消息验证码MACA-GW/P-GW作为对切换分组转发地址请求HPAR消息的响应发送至分组网关P-GW,并进入步骤S2020,否则,结束协议,并进入步骤S3;
所述消息验证码MACA-GW/P-GW的表达式如下:
MACA-GW/P-GW=H(KP-GW-A-GW,Proxy-CoAA-GW||NA-GW)
其中,Proxy-CoAA-GW表示网关A-GW的代理转交地址,H表示哈希函数,KP-GW-A-GW表示分组网关P-GW和网关A-GW的共享密钥,NA-GW表示随机数;
S2020、由分组网关P-GW解密切换分组转发地址请求HPAR消息获取网关A-GW的代理转交地址CoA和随机数NA-GW,通过获取代理转交地址CoA计算得到消息验证码XMACA-GW/P-GW,并将消息验证码XMACA-GW/P-GW与MACA-GW/P-GW进行对比,并将根据对比结果判断与网关认证A-GW身份是否合法,若是,则根据随机数NA-GW计算得到消息验证码MACP-GW/A-GW,并将其作为快速代理绑定更新FPBU消息发送至网关A-GW以建立连接,并进入步骤S2021,否则,结束协议,并进入步骤S3;
S2021、通过随机数NA-GW计算得到消息验证码XMACP-GW-A-GW验证分组网关P-GW的身份,并利用随机数NA-GW和NP-GW计算得到消息验证码MACA-GW/P-GW,并将其作为快速代理绑定确认消息,并发送至分组网关P-GW表明建立连接成功;
S2022、将用户设备UEi与当前基站断开连接,并连接到WLAN网络接入节点IDNAP;
S2023、由组长收集消息验证码MACi并聚合为MACG1,并将MACG1经WLAN访问网关A-GW发送至目标接入网络AAA服务器AAAWLAN;
S2024、判断目标接入网络AAA服务器AAAWLAN是否对接收到的消息验证成功,若是,则返回响应消息MAC2,并进入步骤S2025,否则,忽略该消息,并进入步骤S2025;
S2025、通过服务网关P-GW在用户设备UEi的切换过程中转发缓存的数据包;
S2026、当将所有缓存的数据包转发至用户设备UEi时,在分组网关P-GW和访问网关A-GW之间创建PMIPv6隧道,完成对认证的接入。
再进一步地,所述步骤S205包括以下步骤:
S2051、利用发现功能模块ANDSF通过预设的接入网优先策略选择目标接入网络AAA;
S2052、为目标接入网络AAA服务器AAAWLAN计算得到用于验证用户设备UEi的个人本地身份与组本地身份,并根据所述个人本地身份计算得到用于生成用户设备UEi和目标接入网络AAA服务器AAAWLAN会话密钥的个人临时密钥,以及根据组本地身份利用预共享密钥计算得到新的临时密钥;
所述个人本地身份LIDi的表达式如下:
其中,TID
i表示个人临时身份,
表示异或操作,SK
i-ANDSF表示用户设备UE
i和发现功能模块ANDSF的预共享密钥;
所述组本地身份LIDG1的表达式如下:
其中,TIDG1表示组临时身份,GTKG1表示G1组的共享密钥,TIDG1表示组临时身份;
所述个人临时密钥TKi的表达式如下:
TKi=H(SKi-ANDSF||NLD||LIDi)
i=1,2,3,…,n
所述新的临时密钥TKG1的表达式如下:
TKG1=H(GTKG1||NLD||LIDG1)
其中,H表示哈希函数,SKi-ANDSF表示用户设备UEi和发现功能模块ANDSF的共享密钥,NLD表示随机数,LIDi表示本地个人身份,i表示第n个用户序号,GTKG1表示G1组的共享密钥;
S2053、利用对称密钥KANDSF-AAA加密随机数NANDSF和NLD,以及为用户设备UEi计算得到本地身份、临时密钥及目标接入网络接入节点标识IDNAP;
S2054、根据所述随机数NANDSF和NLD、组本地身份、新的临时密钥及目标接入网络接入节点标识IDNAP计算得到消息验证码MACANDSF/AAA,并发送至目标接入网络AAA服务器AAAWLAN;
所述消息验证码MACANDSF/AAA的表达式如下:
MACANDSF/AAA=H(KANDSF-AAA,IDANDSF||TANDSF||NANDSF||NLD||TK(1-n)||TKG1||LID(1-n)||LIDG1||IDNAP)
其中,H表示哈希函数,TANDSF表示发现功能模块ANDSF发送消息的时间戳,TK(1-n)表示个人临时密钥,TKG1表示G1组共享的临时密钥,LIDG1表示G1组的本地身份,IDNAP表示目标网络接入标识符,IDANDSF表示ANDSF身份标识符,LID(1-n)表示第1-n个用户序号的本地个人身份。
再进一步地,所述步骤S208中消息验证码XMACAAA/ANDSF的表达式如下:
XMACAAA/ANDSF=H(KANDSF-AAA,IDAAA||TAAA||NAAA||NANDSF)
其中,XMACAAA/ANDSF表示目标接入网络AAA发送给ANDSF的消息验证码,IDAAA表示目标接入网络AAA的身份标识符,TAAA表示目标接入网络AAA发送消息的时间戳,NANDSF表示发现功能模块ANDSF的随机数;
所述消息验证码MACANDSF/G1的表达式如下:
MACANDSF/G1=H(GTKG1,LIDG1||NAAA||NLD||IDNAP||TANDSF)
其中,MACANDSF/G1表示发现功能模块ANDSF发送给G1组的消息验证码,表
GTKG1示组临时密钥,IDNAP表示目标接入网络接入节点标识,LIDG1表示G1组本地身份,TANDSF表示时间戳。
再进一步地,所述步骤S2010中消息验证码MACi/LD的表达式如下:
MACi/LD=H(TKG1,LIDi||LIDG1||Ti)
其中,TKG1表示新的临时密钥,Ti表示每个UE发送该消息的时间戳;
所述会话密钥SKiAAA的表达式如下:
SKiAAA=H(TKi||NAAA||NLD)
其中,TKi表示个人临时密钥,NLD和NAAA均表示随机数;
所述本地个人身份LIDi的表达式如下:
其中,SKi-ANDSF表示用户设备UEi和发现功能模块ANDSF的共享密钥,TIDi表示个人临时身份,NLD表示随机数,SKi-ANDSF表示用户设备UEi和发现功能模块ANDSF的预共享密钥;
本地组身份LIDG1的表达式如下:
其中,GTKG1表示G1组的共享密钥,NLD表示随机数,H表示哈希函数;
所述个人临时密钥TKi的表达式如下:
TKi=H(SKi-ANDSF||NLD||LIDi)
其中,H表示哈希函数,SKi-ANDSF表示用户设备UEi和发现功能模块ANDSF的共享密钥,NLD表示随机数,LIDi表示本地个人身份;
所述新的临时密钥TKG1的表达式如下:
TKG1=H(GTKG1||NLD||LIDG1)
其中,GTKG1表示G1组的共享密钥,NLD表示随机数,LIDG1表示G1组的本地身份;
所述消息验证码MACi/LD的表达式如下:
MACi/LD=H(TKG1,LIDi|||LIDG1||Ti)
其中,TKG1表示G1全组用户接入WLAN的临时密钥,LIDi表示用户设备UEi的本地身份,LIDG1表示G1组的本地身份,Ti表示每个UE发送该消息的时间戳。
再进一步地,所述步骤S2011中消息验证码MACLD/S-GW的表达式如下:
MACLD/S-GW=H(SKLD-S-GW,TLD||NLD2)
所述身份验证票证TicP-GW的表达式如下:
Tic P-GW={LID(1-n)||LIDG1||TLD||NLD2||IDNAP||H(LID(1-n)||LIDG1||TLD||NLD2||IDNAP)}SKLD-P-GW
其中,IDNAP表示目标接入网络接入节点标识,SKLD-P-GW表示组长和分组网关P-GW的预共享密钥,TLD表示时间戳,NLD2表示新生成的随机数,LID(1-n)表示第1-n个用户序号的本地个人身份,LIDG1表示G1组的本地身份,TLD表示时间戳,IDNAP表示临时密钥及目标接入网络接入节点标识,SKLD-P-GW组长和分组网关P-GW的预共享密钥。
再进一步地,所述步骤S2014中消息验证码MACP-GW/S-GW的表达式如下:
MACP-GW/S-GW=H(KS-GW-P-GW,NLD2+1)
所述消息验证码XMACS-GW/P-GW的表达式如下:
XMACS-GW/P-GW=H(KS-GW-P-GW,NLD2)
其中,H表示哈希函数,KS-GW-P-GW表示服务网关S-GW和分组网关P-GW的共享密钥,NLD2表示新生成的随机数。
再进一步地,所述步骤S2021中消息验证码MACP-GW-A-GW的表达式如下:
MACP-GW/A-GW=H(KP-GW-A-GW,NA-GW)
其中,H表示哈希函数,KP-GW-A-GW表示分组网关P-GW和网关A-GW的共享密钥,NA-GW表示随机数。
再进一步地,所述步骤S2023中消息验证码MACi的表达式如下:
MACi=H(TKi,NAAA||LIDG1||LIDi)
其中,H表示哈希函数,MACi表示用户设备UEi聚合的消息验证码,TKi表示临时密钥,NAAA表示目标接入网络AAA选择的随机数,LIDG1表示G1组的本地身份,LIDi表示用户设备UEi的本地身份。
本发明的有益效果:
本申请提供了一种面向异构网络的批量切换认证及密钥协商方法,通过参与认证的用户在LTE-A网络完成注册,以获取各自的身份信息;大量用户同时请求接入WLAN网络时,利用ANDSF发现目标网络WLAN,由组长(Leader)将完整的组认证消息发送给WLAN网络的AAA服务器以请求身份认证。认证成功后,由WLAN网络的AAA服务器返回身份认证响应;认证失败,终止协议继续执行。该方法有效实现用户从LTE-A网络切换到WLAN网络的批量认证,因此认证效率高,信令开销小,安全性好能够有效实现大量用户从LTE-A网络安全快速切换到WLAN网络,在实现批量切换认证的同时,大大降低系统开销,并为无线通信下的用户提供强大的安全保障。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
实施例
如图1所示,本发明提供了一种面向异构网络的批量切换认证及密钥协商方法,其实现方法如下:
S1、建立系统以及参与者注册:建立系统,并由若干参与者认证的用户在LTE-A网络上进行注册,获取各自的身份信息;
本实施例中,当用户设备从LTE-A网络漫游到WLAN网络时,首先需要在LTE-A网络进行注册。假设所有用户设备已完成与LTE-A网络双向身份认证,并获得用于后续通信的相关参数。其中包括(1)用于与发现功能模块ANDSF通信的临时身份TID;(2)群组预共享组临时密钥GTKG1;(3)与LTE系统中服务网关和分组网关分别协商的预共享密钥,即SKLD-S-GW和SKLD-P-GW;(4)使用基于AKA协议的通用自举架构(GBA)对自举服务器(BootstrappingServer Function,BSF)和用户设备(UEi)进行相互认证以协商会话密钥SKi-BSF,并由SKi-BSF密钥派生出发现功能模块ANDSF和UE的预共享密钥SKi-发现功能模块ANDSF。
S2、接入认证:将计算能力优于存储能力的设备作为组长,利用发现功能模块ADNSF发现目标接入网络WLAN,并由组长将完整的组认证信息发送至WLAN网络的AAA服务器对各参与者进行身份信息的认证,并判断身份信息是否认证成功,若是,则由WLAN网络的AAA服务器返回身份认证响应,完成批量切换认证及密钥协商,否则,进入步骤S3;
S3、认证失败,终止执行,从而完成批量切换认证及密钥协商。
本实施例中,步骤S2包括以下步骤:
S201、将计算能力优于存储能力的设备作为组长;
S202、由用户设备UEi根据个人临时身份TIDi和组临时身份TIDG1计算得到用户设备UEi的消息验证码MACi/ANDSF,并将消息验证码MACi/ANDSF、个人临时身份TIDi和组临时身份TIDG1发送至组长;
所述消息验证码MACi/ANDSF的表达式如下:
MACi/ANDSF=H(SKi-ANDSF,TIDi||TIDG1)
其中,H表示哈希函数,SKi-ANDS表示用户设备UEi和发现功能模块ANDSF的共享密钥;
S203、通过组长对用户设备UEi的消息验证码MACi进行聚合,同时利用域名服务器DNS获取附近发现功能模块ANDSF的地址,并利用对称密钥SKLD-ANDSF加密生成的随机数NLD及唯一确定的位置信息LLD、路线标识符IDroute及消息验证码MACG1/ANDSF进行完整性保护,并将其作为接入网信息请求发送至发现功能模块ANDSF;
S204、根据所述接入网的信息请求,通过消息验证码MACG1/ANDSF批量验证用户设备UEi的身份信息,并判断是否存在非法用户设备UEi,若是,则进入步骤S3,否则,由WLAN网络的AAA服务器返回身份认证响应,并进入步骤S205;
S205、利用发现功能模块ANDSF通过预设的接入网优先策略选择目标接入网络AAA,计算得到目标接入网络AAA服务器AAAWLAN用于验证用户设备UEi的参数信息,并利用对称密钥KANDSF-AAA加密随机数NANDSF和NLD,分别计算得到用户设备UEi的本地身份、临时密钥及目标接入网络接入节点标识IDNAP,并结合用户设备UEi的参数信息计算得到消息验证码MACANDSF/AAA,并将消息验证码MACANDSF/AAA发送至目标接入网络AAA服务器AAAWLAN;其实现方法如下:
S2051、利用发现功能模块ANDSF通过预设的接入网优先策略选择目标接入网络AAA;
S2052、为目标接入网络AAA服务器AAAWLAN计算得到用于验证用户设备UEi的个人本地身份与组本地身份,并根据所述个人本地身份计算得到用于生成用户设备UEi和目标接入网络AAA服务器AAAWLAN会话密钥的个人临时密钥,以及根据组本地身份利用预共享密钥计算得到新的临时密钥;
所述个人本地身份LIDi的表达式如下:
其中,TID
i表示个人临时身份,
表示异或操作,SK
i-ANDSF表示用户设备UE
i和发现功能模块ANDSF的预共享密钥;
所述组本地身份LIDG1的表达式如下:
其中,TIDG1表示组临时身份,GTKG1表示G1组的共享密钥,TIDG1表示组临时身份;
所述个人临时密钥TKi的表达式如下:
TKi=H(SKi-ANDSF||NLD||LIDi)
i=1,2,3,…,n
所述新的临时密钥TKG1的表达式如下:
TKG1=H(GTKG1||NLD||LIDG1)
其中,H表示哈希函数,SKi-ANDSF表示用户设备UEi和发现功能模块ANDSF的共享密钥,NLD表示随机数,LIDi表示本地个人身份,i表示第n个用户序号,GTKG1表示G1组的共享密钥;
S2053、利用对称密钥KANDSF-AAA加密随机数NANDSF和NLD,以及为用户设备UEi计算得到本地身份、临时密钥及目标接入网络接入节点标识IDNAP;
S2054、根据所述随机数NANDSF和NLD、组本地身份、新的临时密钥及目标接入网络接入节点标识IDNAP计算得到消息验证码MACANDSF/AAA,并发送至目标接入网络AAA服务器AAAWLAN;
所述消息验证码MACANDSF/AAA的表达式如下:
MACANDSF/AAA=H(KANDSF-AAA,IDANDSF||TANDSF||NANDSF||NLD||TK(1-n)||TKG1||LID(1-n)||LIDG1||IDNAP)
其中,H表示哈希函数,TANDSF表示发现功能模块ANDSF发送消息的时间戳,TK(1-n)表示个人临时密钥,TKG1表示G1组共享的临时密钥,LIDG1表示G1组的本地身份,IDNAP表示目标网络接入标识符,IDANDSF表示ANDSF身份标识符,LID(1-n)表示第1-n个用户序号的本地个人身份;
S206、由目标接入网络AAA服务器AAAWLAN计算得到消息验证码XMACANDSF/AAA,并和来自ANDSF的消息验证码MACANDSF/AAA判断消息验证码XMACANDSF/AAA是否通过验证,若是,则进入步骤S207,否则,终止协议,并进入步骤S206;
S207、由目标接入网络AAA服务器AAAWLAN选取随机数NAAA,并计算与用户设备UEi一一对应的会话密钥,根据对应的会话密钥利用对称密钥KANDSF-AAA对随机数NAAA进行加密保护得到消息验证码MACAAA/ANDSF并发送至发现功能模块ANDSF;
S208、根据随机数NAAA以及对称密钥KANDSF-AAA计算得到消息验证码XMACAAA/ANDSF,并将消息验证码MACAAA/ANDSF与消息验证码XMACAAA/ANDSF,进行对比,并根据对比结果验证消息完整性及目标接入网络AAA服务器AAAWLAN的身份信息,利用组临时密钥GTKG1加密随机数NAAA和NLD、目标接入网络接入节点标识IDNAP及时间戳TANDSF,并根据组临时密钥GTKG1、随机数NAAA、NLD以及时间戳TANDSF计算得到的消息验证码MACANDSF/G1,并将接入网选择决策发送给组长;
消息验证码XMACAAA/ANDSF的表达式如下:
XMACAAA/ANDSF=H(KANDSF-AAA,IDAAA||TAAA||NAAA||NANDSF)
其中,XMACAAA/ANDSF表示目标接入网络AAA发送给ANDSF的消息验证码,IDAAA表示目标接入网络AAA的身份标识符,TAAA表示目标接入网络AAA发送消息的时间戳,NANDSF表示发现功能模块ANDSF的随机数;
所述消息验证码MACANDSF/G1的表达式如下:
MACANDSF/G1=H(GTKG1,LIDG1||NAAA||NLD||IDNAP||TANDSF)
其中,MACANDSF/G1表示发现功能模块ANDSF发送给G1组的消息验证码,表示组临时密钥,IDNAP表示目标接入网络接入节点标识,LIDG1表示G1组本地身份,TANDSF表示时间戳
S209、利用组临时密钥GTKG1解密消息检查随机数NLD,并根据消息验证码MACANDSF/G1的对S208接受的消息完整性进行验证以及对消息源进行认证,并判断消息源是否认证成功,若是,则由组长将接入网选择决策消息广播至其他用户设备UEi,并进入步骤S2010,否则,终止协议,并进入步骤S3;
所述消息验证码MACANDSF/G1的表达式如下:
MACANDSF/G1=H(GTKG1,LIDG1||NAAA||NLD||IDNAP||TANDSF)
其中,GTKG1表示组临时密钥,IDNAP表示目标接入网络接入节点标识,NLD表示组长随机数,NAAA表示目标接入网络AAA服务器选择的随机数,LIDG1表示用户组/设备端UE的本地身份标识符,TANDSF表示发现功能模块ANDSF发送该条消息的时间戳;
S2010、通过用户设备UEi对解密消息进行验证,并根据验证结果计算得到与目标接入网络AAA服务器AAAWLAN共享的会话密钥SKiAAA,以及计算得到用户接入目标接入网络的本地个人身份LIDi和本地组身份LIDG1,以及用于生成用户设备UEi和目标接入网络AAA服务器AAAWLAN会话的个人临时密钥TKi,并根据预设的共享密钥计算得到新的临时密钥TKG1以及消息验证码MACi/LD,利用新的临时密钥TKG1以及消息验证码MACi/LD切换请求消息发送至组长;
消息验证码MACi/LD的表达式如下:
MACi/LD=H(TKG1,LIDi||LIDG1||Ti)
其中,TKG1表示新的临时密钥,Ti表示每个UE发送该消息的时间戳;
所述会话密钥SKiAAA的表达式如下:
SKiAAA=H(TKi||NAAA||NLD)
其中,TKi表示个人临时密钥,NLD和NAAA均表示随机数;
所述本地个人身份LIDi的表达式如下:
其中,SKi-ANDSF表示用户设备UEi和发现功能模块ANDSF的共享密钥,TIDi表示个人临时身份,NLD表示随机数,SKi-ANDSF表示用户设备UEi和发现功能模块ANDSF的预共享密钥;
本地组身份LIDG1的表达式如下:
其中,GTKG1表示G1组的共享密钥,NLD表示随机数,H表示哈希函数;所述个人临时密钥TKi的表达式如下:
TKi=H(SKi-ANDSF||NLD||LIDi)
其中,H表示哈希函数,SKi-ANDSF表示用户设备UEi和发现功能模块ANDSF的共享密钥,NLD表示随机数,LIDi表示本地个人身份;
所述新的临时密钥TKG1的表达式如下:
TKG1=H(GTKG1||NLD||LIDG1)
其中,GTKG1表示G1组的共享密钥,NLD表示随机数,LIDG1表示G1组的本地身份;
所述消息验证码MACi/LD的表达式如下:
MACi/LD=H(TKG1,LIDi|||LIDG1||Ti)
其中,TKG1表示G1全组用户接入WLAN的临时密钥,LIDi表示用户设备UEi的本地身份,LIDG1表示G1组的本地身份,Ti表示每个UE发送该消息的时间戳;
S2011、由组长收集并验证用户设备UEi的切换请求信息,并利用对称密钥SKLD-S-GW对新生成的随机数NLD2进行加密保护,并结合时间戳TLD计算得到对应的消息验证码MACLD/S-GW,并利用消息验证码MACLD/S-GW为服务网关S-GW生成身份验证票证TicP-GW,切换信息经基站eNodeB发送服务网关S-GW;
消息验证码MACLD/S-GW的表达式如下:
MACLD/S-GW=H(SKLD-S-GW,TLD||NLD2)
所述身份验证票证TicP-GW的表达式如下:
Tic P-GW={LID(1-n)||LIDG1||TLD||NLD2||IDNAP||H(LID(1-n)||LIDG1||TLD||NLD2||IDNAP)}SKLD-P-GW
其中,IDNAP表示目标接入网络接入节点标识,SKLD-P-GW表示组长和分组网关P-GW的预共享密钥,TLD表示时间戳,NLD2表示新生成的随机数,LID(1-n)表示第1-n个用户序号的本地个人身份,LIDG1表示G1组的本地身份,TLD表示时间戳,IDNAP表示临时密钥及目标接入网络接入节点标识,SKLD-P-GW组长和分组网关P-GW的预共享密钥;
S2012、由服务网关S-GW解密信息获取随机数NLD2,并根据所述随机数NLD2计算得到消息验证码XMACLD/S-GW,将消息验证码XMACLD/S-GW与接收的消息验证码MACLD/S-GW进行对比,判断两值是否相等,若是,则认证成功,并进入步骤S2013,否则,重复步骤S2012;
S2013、根据随机数NLD2计算得到消息验证码MACS-GW/P-GW,并连同身份验证票据TicP-GW作为快速代理绑定更新请求转发至分组网关P-GW;
所述消息验证码MACS-GW/P-GW的表达式如下:
MACS-GW/P-GW=H(KS-GW-P-GW,NLD2)
其中,KS-GW-P-GW表示服务网关S-GW和分组网关P-GW的共享密钥;
S2014、由分组网关P-GW解密身份验证票据Tic P-GW,并根据随机数NLD2生成消息验证码XMACS-GW/P-GW,将消息验证码XMACS-GW/P-GW与来自服务网关S-GW的消息验证码MACS-GW/P-GW进行对比,判断两值是否相等,若是,则证明服务网关S-GW为用户设备UEi授权的合法节点,并由分组网关P-GW根据随机数NLD2计算得到消息验证码MACP-GW/S-GW,并将消息验证码MACP-GW/S-GW作为快速代理绑定确认消息发送至服务网关S-GW,并进入步骤S2015,否则,结束协议,并进入步骤S3;
消息验证码MACP-GW/S-GW的表达式如下:
MACP-GW/S-GW=H(KS-GW-P-GW,NLD2+1)
所述消息验证码XMACS-GW/P-GW的表达式如下:
XMACS-GW/P-GW=H(KS-GW-P-GW,NLD2)
其中,H表示哈希函数,KS-GW-P-GW表示服务网关S-GW和分组网关P-GW的共享密钥,NLD2表示新生成的随机数;
S2015、由分组网关P-GW将用户设备UEi的数据分组缓存至其数据库中,并接收返回的数据包;
S2016、通过分组网关P-GW利用对称密钥KP-GW-A-GW对生成的随机数NP-GW及所有用户设备UEi的本地身份LIDi进行加密,并计算得到其对应的消息验证码MACP-GW/A-GW;
所述消息验证码MACP-GW/A-GW的表达式如下:
MACP-GW/A-GW=H(KP-GW-A-GW,LID(1-n)||LIDG1||NP-GW)
其中,H表示哈希函数,KP-GW-A-GW表示分组网关P-GW和网关A-GW的共享密钥,LID(1-n)表示G1组所包含的n个用户本地身份,用以接入WLAN时认证身份,LIDG1表示组本地身份,NP-GW表示随机数;
S2017、将步骤S2016所得密文和消息验证码MACP-GW/A-GW作为切换分组转发地址请求消息发送至网关A-GW,获取其代理转交地址CoA,并利用代理代理转交地址CoA分配临时IP地址至用户设备UEi;
S2018、利用网关A-GW解密转发地址请求消息生成消息验证码XMACP-GW/A-GW,并利用消息验证码XMACP-GW/A-GW对分组网关P-GW进行身份验证以及检查消息的完整性;
S2019、判断是否认证成功,若是,则由网关A-GW选择随机数NA-GW,并利用分组网关P-GW和网关A-GW的共享密钥KP-GW-A-GW加密随机数NA-GW与代理转交地址CoA,并计算得到消息验证码MACA-GW/P-GW以及将加密的密文及相应的消息验证码MACA-GW/P-GW作为对切换分组转发地址请求HPAR消息的响应发送至分组网关P-GW,并进入步骤S2020,否则,结束协议,并进入步骤S3;
所述消息验证码MACA-GW/P-GW的表达式如下:
MACA-GW/P-GW=H(KP-GW-A-GW,Proxy-CoAA-GW||NA-GW)
其中,Proxy-CoAA-GW表示网关A-GW的代理转交地址,H表示哈希函数,KP-GW-A-GW表示分组网关P-GW和网关A-GW的共享密钥,NA-GW表示随机数;
S2020、由分组网关P-GW解密切换分组转发地址请求HPAR消息获取网关A-GW的代理转交地址CoA和随机数NA-GW,通过获取代理转交地址CoA计算得到消息验证码XMACA-GW/P-GW,并将消息验证码XMACA-GW/P-GW与MACA-GW/P-GW进行对比,并将根据对比结果判断与网关认证A-GW身份是否合法,若是,则根据随机数NA-GW计算得到消息验证码MACP-GW/A-GW,并将其作为快速代理绑定更新FPBU消息发送至网关A-GW以建立连接,并进入步骤S2021,否则,结束协议,并进入步骤S3;
S2021、通过随机数NA-GW计算得到消息验证码XMACP-GW-A-GW验证分组网关P-GW的身份,并利用随机数NA-GW和NP-GW计算得到消息验证码MACA-GW/P-GW,并将其作为快速代理绑定确认消息,并发送至分组网关P-GW表明建立连接成功;
消息验证码MACP-GW-A-GW的表达式如下:
MACP-GW/A-GW=H(KP-GW-A-GW,NA-GW)
其中,H表示哈希函数,KP-GW-A-GW表示分组网关P-GW和网关A-GW的共享密钥,NA-GW表示随机数;
S2022、将用户设备UEi与当前基站断开连接,并连接到WLAN网络接入节点IDNAP;
S2023、由组长收集消息验证码MACi并聚合为MACG1,并将MACG1经WLAN访问网关A-GW发送至目标接入网络AAA服务器AAAWLAN;
消息验证码MACi的表达式如下:
MACi=H(TKi,NAAA||LIDG1||LIDi)
其中,H表示哈希函数,MACi表示用户设备UEi聚合的消息验证码,TKi表示临时密钥,NAAA表示目标接入网络AAA选择的随机数,LIDG1表示G1组的本地身份,LIDi表示用户设备UEi的本地身份;
S2024、判断目标接入网络AAA服务器AAAWLAN是否对接收到的消息验证成功,若是,则返回响应消息MAC2,并进入步骤S2025,否则,忽略该消息,并进入步骤S2025;
S2025、通过服务网关P-GW在用户设备UEi的切换过程中转发缓存的数据包;
S2026、当将所有缓存的数据包转发至用户设备UEi时,在分组网关P-GW和访问网关A-GW之间创建PMIPv6隧道,完成对认证的接入。
本发明通过以上设计,能有效实现用户从LTE-A网络切换到WLAN网络的批量认证,因此认证效率高,信令开销小,安全性好。