基于终端标识符更新的5G认证方法与流程

文档序号:33394798发布日期:2023-03-08 12:49阅读:70来源:国知局
基于终端标识符更新的5G认证方法与流程
基于终端标识符更新的5g认证方法
技术领域
1.本发明属于5g蜂窝网络终端身份认证领域,尤其涉及一种基于终端标识符更新和可信执行环境的5g终端认证的方法与系统。


背景技术:

[0002] 3gpp发布的第五代移动通信系统的身份验证和密钥协议(5g-aka)使用归属地网络(hn)的公钥加密终端用户(ue)的永久标识符(supi)来提高终端用户的隐私,通过认证序列号来抵抗重放攻击。然而,5g-aka同步/异步场景下终端返回的响应信息不同,这很容易被攻击者利用进行链接攻击,从而暴露终端用户的部分隐私。另外,在5g-aka认证过程中,终端用户通过服务网络(sn)与归属地网络hn进行双向认证,归属地网络hn使用一个集中式服务器执行认证过程,在这种情况下,可能会出现单点故障并增加通信延迟。


技术实现要素:

[0003]
本发明目的是提供了一种基于终端标识符更新的5g认证方法,能够保护5g网络部署免受单点故障、高通信延迟的影响。
[0004]
本发明为实现上述目的,通过以下技术方案实现:基于终端标识符更新的5g认证方法,终端设备与归属网络hn事先共享一个密钥k和若干消息认证码函数f1、f2以及单向哈希函数sha256,包括步骤:(1)注册阶段终端设备ue与归属地网络hn共享密钥k和hn身份向量,利用密钥、随机数和用户标识supi计算用户首次认证时的身份向量id
ue
并存于ue和hn;(2)认证阶段获取终端设备ue中保存的身份向量并利用归属网络hn公钥加密,得到订阅隐藏标识符suci,利用suci向服务网络sn的安全锚定模块seaf发送身份认证请求;服务网络sn或归属地网络hn利用hn私钥解密suci,对id
ue
进行认证,如果认证通过,将挑战消息中的随机数r、鉴权向量autn发送至ue,所述挑战消息包括r、autn、预期响应的哈希值和锚定密钥kseaf;ue收到挑战消息后,对挑战消息进行验证,若验证通过,计算认证响应,并将认证响应发送给sn;sn收到认证响应后,对认证响应进行验证,若验证通过,并将res和suci发送给hn;hn收到认证响应后,对认证响应进行验证,若验证通过,则hn认证ue通过。
[0005]
优选的,认证通过后,归属地网络hn重新生成终端设备ue的身份向量。
[0006]
更具体的,挑战消息的验证方式为,使用消息认证码mac函数f2,利用共享密钥k、随机数r计算掩码,从autn中恢复出标识,然后使用消息认证码mac函数f1,利用共享密钥k、随机数r以及id
ue
,计算新的终端标识,判断新的终端标识是否等于autn中恢复的标识,若不相等,则ue给出认证失败消息,若相等,则ue认证hn通过,使用消息认证码mac函数f2,利用
共享密钥k、随机数r、sn标识sn
name
和id
ue_new
计算认证响应res*,并将res*发送给sn。
[0007]
挑战消息的一种生成方式为,在认证阶段hn在利用私钥解密suci后,hn选择新的随机数r,使用消息认证码mac函数f1,利用共享密钥k、随机数r,计算标识id
ue_new_hn2ue
,使用消息认证码mac函数f2,利用共享密钥k、随机数r、标识id
ue_new_hn2ue
得到autn;计算锚定密钥kseaf;使用消息认证码mac函数f2,利用共享密钥k、随机数r、sn标识sn
name
和id
ue_new_hn2ue
计算xres*,计算r||xres*的哈希值hxres*,构造挑战消息(r、autn、hxres*、kseaf),hn将挑战消息发送给sn,sn将挑战消息中的r,autn转发给ue。
[0008]
认证响应的一种验证方式为,判断r||res*的哈希值是否等于hxres*,如果不相等则认证失败,否则,sn认证ue通过,并将res*和suci发送给hn;hn判断res*是否等于xres*,如果不相等则认证失败,否则hn认证ue通过。
[0009]
优选的,注册阶段还为每一个用户配置了布谷鸟过滤器cf,用于快速查询认证信息中包含的idue是否已使用过;认证阶段hn在利用私钥解密suci后,首先在cf中查询身份向量id
ue
是否已经使用过,如已使用过,则判定为重放攻击;如未被使用过,则判断id
ue
与hn保存的id
ue
是否相同,如果相同,则进行下一步id
ue_new_hn2ue
的计算;hn重新生成身份向量方式为,ue更新id
ue
=id
ue_new_hn2ue
,hn将id
ue
写入布谷鸟过滤器cf,并更新id
ue
= id
ue_new_hn2ue

[0010]
本发明还公开另一种认证方法,在注册阶段hn和sn部署区块链,sn部署可信执行环境,hn用自己的公钥对k||id
ue
加密得到suci’,hn选择随机数r,使用消息认证码mac函数f1,利用共享密钥k、随机数r,计算新的终端标识id
ue_new
=f1(k,id
ue
||r),使用消息认证码mac函数f1,利用共享密钥k、随机数r和id
ue_new
得到autn,并计算锚定密钥kseaf,用消息认证码mac函数f2,利用共享密钥k、随机数r、sn标识sn
name
和id
ue_new
计算xres,计算r||xres的哈希值hxres,构造认证向量av=(r,autn,hxres,kseaf),hn用自己的公钥加密av得到cav,并将suci’和cav写入区块链,hn将自己的私钥放入sn的可信执行环境中密封保存;在上述区块链部署的基础上,挑战消息的生成方式为,在认证阶段seaf调用可信执行环境,在可信执行环境中使用hn私钥将suci解密为k||id
ue
,并利用id
ue
找到hn存储在区块链中的相应suci’和cav, 可信执行环境使用hn私钥将suci’解密为k
bc
||id
ue_bc
,将cav解密为av=(r,autn,hxres,kseaf),可信执行环境比对k和k
bc
以及id
ue
和id
ue_bc
,若均比对成功,则将r、autn发送给ue。
[0011]
认证响应的验证方式为,判断r||res*的哈希值是否等于hxres,如果不相等则认证失败,否则,sn认证ue通过,并将res*和suci发送给hn;hn判断r||res*的哈希值是否等于hxres,如果不相等则认证失败,否则hn认证ue通过。
[0012]
hn重新生成身份向量方式为,ue更新idue=id
ue_new
,hn更新idue=id
ue_new
,并生成新的认证向量av’,用自己的公钥加密后写入区块链。
[0013]
在上述方法的基础上,优选认证阶段利用归属网络hn公钥和椭圆曲线加密算法ecies加密,得到订阅隐藏标识符suci。
[0014]
本发明的优点在于:(1)每次认证完成后都会更新终端标识,且终端标识只有拥有共享密钥k的终端ue和hn可以计算,具有机密性,可以判断是否存在重放攻击,利用布谷鸟过滤器可以加快重放
攻击识别的速度;(2)无论是攻击者通过自己伪造信息还是重放某ue的中间认证数据来实施链接攻击,所有ue都会返回相同的错误信息,针对链接攻击,ue的表现都相同,攻击者无法成功进行链接攻击;(3)相比于标准5g-aka认证协议,需要传输的认证数据更少,认证过程中各方所需的计算量也更少,具有更高的通信效率;(4)使用区块链存储认证凭证,将认证过程前移至服务网络sn,终端设备无需与归属网络hn频繁通信,减少了通信开销,同时保护5g网络部署免受单点故障和高通信延迟的影响。
[0015]
(5)使用可信执行环境来密封归属网络hn的私钥信息,并在可信执行环境中利用hn的私钥进行解密,可以防止hn的私密数据泄露,认证向量被使用公钥加密后写入区块链,因此不必使用私有区块链,具有更高的实用性。
附图说明
[0016]
图1是本发明实施例1的注册阶段完成后各参与方及其保存的数据示意图;图2是本发明实施例1的认证阶段流程图;图3是本发明实施例2的可信执行环境的功能结构图;图4是本发明实施例2的基于终端标识符更新和可信执行环境的5g认证方法系统结构示意图;图5是本发明实施例2的注册阶段各参与方操作示意图;图6是本发明实施例2的认证阶段流程图。
具体实施方式
[0017]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0018]
实施例1本实施例公开了一种基于终端标识符更新的5g认证方法,终端设备与归属网络hn事先共享一个密钥k和若干消息认证码函数f1、f2以及单向哈希函数sha256,包括注册阶段和认证阶段。
[0019]
(1)注册阶段ue与hn共享密钥k、hn的标识id
hn
,令初始id
ue
为用户标识supi,hn选择随机数r1,计算id
ue
=f1(k,id
ue
||r1),ue将k、id
ue
、id
hn
写入ue安全环境,hn将k、id
ue
、id
hn
保存,hn为每一个用户设置一个布谷鸟过滤器(cf),用于快速查询认证信息中包含的idue是否已使用过。注册完成后,各参与方保存的数据如图1所示。
[0020]
(2)认证阶段ue、sn和hn的认证过程请参照图2:步骤1、获取ue中保存的id
ue
,利用归属网络hn公钥和椭圆曲线加密算法ecies对id
ue
加密,得到订阅隐藏标识符suci,利用suci向服务网络sn的安全锚定模块seaf发送身份认证请求,以确保身份的机密性,seaf将suci和服务网络名称sn
name
发送给hn。
[0021]
步骤2、hn利用其私钥解密suci得到用户当前标识,hn在cf中查询该用户当前标识是否已使用过,如已使用过,则判定为重放攻击报错;如未被使用过,则判断用户当前标识与hn保存的id
ue
是否相同。如相同,则hn选择随机数r2,计算id
ue_new_hn2ue
= f1(k,id
ue
||r2),ak=f2(k,r2),autn=id
ue_new_hn2ue

ak。hn生成挑战xres*=f2(k,r2||sn
name
||id
ue_new
),计算hxres*=sha256(r2||xres*),锚定密钥kseaf=keyseed(k,r2,id
ue
,sn
name
),并将挑战消息(r2,autn, hxres*, kseaf)发送给sn。
[0022]
步骤3、sn将r2,autn转发给ue。
[0023]
步骤4、ue计算ak=f2(k,r2)和新的终端标识id
ue_new
=autn

ak,判断id
ue_new
是否等于id
ue_new_hn2ue
=f1(k,id
ue
||r2),若不相等,则ue给出认证失败消息,若相等,则ue认证hn通过,计算res*=f2(k,r2||snname||id
ue_new_hn2ue
),并将res*发送给sn。
[0024]
步骤5、sn收到res*后,判断sha256(r2||res*)是否等于hxres*,如果不相等则认证失败,否则,sn认证ue通过,并将res*和suci发送给hn。
[0025]
步骤6、hn判断res*是否等于xres*,如果不相等则认证失败,否则hn认证ue通过。
[0026]
步骤7、认证通过后,ue更新idue=id
ue_new_hn2ue
,hn将idue写入布谷鸟过滤器cf,并更新id
ue
= id
ue_new_hn2ue

[0027]
在具体实施中,可以使用任意的安全的公钥加密算法pke的密钥生成算法来生成用于公钥加密的公私钥对。
[0028]
实施例2本实施例公开了一种基于终端标识符更新和新型可信计算技术的5g认证方法,终端设备与归属网络hn事先共享一个密钥k和若干消息认证码函数f1、f2以及单向哈希函数sha256,包括注册阶段和认证阶段。
[0029]
(1)注册阶段hn和sn部署区块链,sn部署可信执行环境,可信执行环境的功能结构如图3所示,基于终端标识符更新和新型可信计算技术的5g认证方法的系统结构如图4所示,此处不多做赘述。
[0030]
注册阶段各参与方所做的操作请参照图5,ue与hn共享密钥k、hn的标识id
hn
,令初始id
ue
为用户标识supi,hn选择随机数r1,计算id
ue
=f1(k,id
ue
||r1),ue将k、id
ue
、id
hn
写入ue安全环境,hn将k、id
ue
、id
hn
保存。
[0031]
hn用自己的公钥和椭圆曲线加密算法ecies对k||id
ue
加密得到suci’,hn选择随机数r2,计算id
ue_new
=f1(k,idue||r2),ak=f2(k,r2),autn=id
ue_new

ak,xres=f2(k,r2||sn
name
||idue_new), hxres= sha256(r2||xres),kseaf=keyseed(k,r2,id
ue
,sn
name
),构造认证向量av=(r2,autn,hxres,kseaf),用自己的公钥加密av得到cav,并将suci’和cav写入区块链,hn将自己的私钥放入sn的可信执行环境中密封保存。
[0032]
(2)认证阶段ue、sn和hn认证阶段的流程请参照图6:步骤1、获取ue中保存的id
ue
,利用归属网络hn公钥和椭圆曲线加密算法ecies对k||id
ue
加密,得到订阅隐藏标识符suci,利用suci向服务网络sn的安全锚定模块seaf发送身份认证请求,以确保身份的机密性。seaf调用可信执行环境,在可信执行环境中使用hn私钥将suci解密为k||id
ue
,并利用id
ue
找到hn存储在区块链中的相应suci’和cav。可信执行环
境使用hn私钥将suci’解密为k
bc
||id
ue_bc
,将cav解密为av=(r2,autn,hxres,kseaf)。
[0033]
步骤2、可信执行环境比对k和k
bc
以及id
ue
和id
ue_bc
,若均比对成功,则将(r2,autn)发送给ue。
[0034]
步骤3、ue计算ak=f2(k,r2),id
ue_new
=autn

ak,判断id
ue_new
是否等于f1(k,id
ue
||r2),若不相等,则ue给出认证失败消息,若相等,则ue认证sn/hn通过,计算res* =f2(k,r2||sn
name
||id
ue_new
),并将res*发送给sn。
[0035]
步骤4、sn的seaf收到res*后,判断sha256(r2||res*)是否等于hxres,如果不相等则认证失败,否则,sn认证ue通过,并将res*和suci发送给hn。
[0036]
步骤5、hn判断sha256(r2||res*)是否等于hxres,如果不相等则认证失败,否则hn认证ue通过。
[0037]
步骤6、认证通过后,ue更新id
ue
=id
ue_new
,hn更新id
ue
=id
ue_new
,并生成新的认证向量av,然后用自己的公钥加密后写入区块链。
[0038]
在具体实施中,可以使用任意的安全的公钥加密算法pke的密钥生成算法来生成用于公钥加密的公私钥对,区块链存储结构可以使用智能合约在以太坊上执行,也可以采用hyperledger fabric的数据隐私保护机制在hyperledger fabric执行。
[0039]
可信执行环境可用sgx或任意的其他可信执行环境代替。
[0040]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1