CN112399407B - 一种基于dh棘轮算法的5g网络认证方法及系统 - Google Patents

一种基于dh棘轮算法的5g网络认证方法及系统 Download PDF

Info

Publication number
CN112399407B
CN112399407B CN202110072503.XA CN202110072503A CN112399407B CN 112399407 B CN112399407 B CN 112399407B CN 202110072503 A CN202110072503 A CN 202110072503A CN 112399407 B CN112399407 B CN 112399407B
Authority
CN
China
Prior art keywords
key
ausf
arpf
authentication
seaf
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110072503.XA
Other languages
English (en)
Other versions
CN112399407A (zh
Inventor
焦显伟
朱敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Telecom Easiness Information Technology Co Ltd
Original Assignee
Beijing Telecom Easiness Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Telecom Easiness Information Technology Co Ltd filed Critical Beijing Telecom Easiness Information Technology Co Ltd
Priority to CN202110072503.XA priority Critical patent/CN112399407B/zh
Publication of CN112399407A publication Critical patent/CN112399407A/zh
Application granted granted Critical
Publication of CN112399407B publication Critical patent/CN112399407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Abstract

本发明涉及一种基于DH棘轮算法的5G网络认证方法及系统。该方法包括:首先用户设备通过棘轮密钥加密身份信息发送给服务器进行验证,保证了身份信息的机密性;对于5G网络中的每个实体都产生棘轮密钥对,保证了每个实体在传输信息时通过自身的棘轮密钥加密传输信息,保证了信息的安全性,每个实体通过产生各自的身份令牌,保证了各个实体之间的相互验证,避免了假冒攻击;通过棘轮步进使得每个实体在会话过程中产生不同的棘轮密钥,使得每次会话使用不同的棘轮密钥进行加密,使得消息传输过程中更加安全;5G中的会话密钥通过棘轮密钥产生,不再通过共享密钥K来产生,避免了因为共享密钥K的泄露造成的安全问题。

Description

一种基于DH棘轮算法的5G网络认证方法及系统
技术领域
本发明涉及信息安全领域,特别是涉及一种基于迪菲-赫尔曼(Diffie–Hellman,DH)棘轮算法的5G网络认证方法及系统。
背景技术
移动通信技术广泛应用于语音、文本和互联网接入,通过这些技术,用户设备通常是手机,可以通过无线网络连接到基站上,然后再连接到服务提供商。最近由第三代合作伙伴计划(Third Generation Partnership Project,3GPP)联盟已经设计的两代移动通信标准,3G和4G标准,对第五代(5G)移动通信标准正在定稿,草案现在已经可以使用了。这些标准描述了旨在为订阅者和服务提供者提供安全保证的协议。其中最重要的一个协议是身份验证和密钥协议(AKA),该协议允许订阅者及其服务提供者以经过身份验证的方式建立共享密钥。
与前几代网络相比,5G网络对用户数据的安全性提供了更好的安全保障。它主要是由统一身份认证框架实现的,其中提出了认证协议,用于用户和他们的运营商进行相互认证,以建立一个安全的通道,供后续通信使用。5G-AKA协议是基于4G/LTE使用的认证与密钥协商基础上提出的,该协议作为5G用户认证与密钥协商过程以保证用户的附着安全性。然而,5G系统囊括了核心网以及管理系统等网络演变的所有内容,其不足之处主要包括长期密钥泄露导致通信内容被窃听;由于开放式网络环境,导致攻击者可以利用入网请求协议流程,对移动通信网络实体实施拒绝服务攻击等,存在安全性差以及共享密钥易泄露等问题。
发明内容
本发明的目的是提供一种基于DH棘轮算法的5G网络认证方法及系统,以解决现有5G系统安全性差以及共享密钥易泄露等问题。
为实现上述目的,本发明提供了如下方案:
一种基于DH棘轮算法的5G网络认证方法,包括:
在初始化阶段,用户设备UE和认证凭据存储和处理功能ARPF通过秘钥交换算法DH分别生成当前的棘轮密钥对;并由所述认证凭据存储和处理功能ARPF向所述用户设备UE发送棘轮公钥;所述棘轮密钥对包括私钥SK0 UE和公钥PK0 UE,以及私钥SK0 ARPF和公钥PK0 ARPF
当所述用户设备UE接收所述公钥PK0 ARPF时,所述用户设备UE计算得到新的根密钥RK0 UE和发送消息密钥CK0 UE;所述用户设备UE选择一个随机数RUE,并使用所述发送消息密钥CK0 UE对用户永久标识符SUPI以及随机数RUE进行加密得到用户隐藏标识符SUCI=CK0 UE(SUPI,RUE);生成认证消息MACUE=
Figure DEST_PATH_IMAGE001
(SUCI,RUE),并将所述用户隐藏标识符SUCI、随机数RUE、所述公钥PK0 UE和所述认证消息MACUE发送给安全锚功能SEAF;
Figure 855014DEST_PATH_IMAGE001
为第一次生成的发送消息密钥CK0 UE的单向密钥加密函数;
所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥
Figure 306855DEST_PATH_IMAGE002
=DH(SK0 SEAF,PK0 UE),保存棘轮密钥
Figure DEST_PATH_IMAGE003
,将接收的所述认证数据和服务标识SNname发送给认证服务器功能AUSF进行进一步验证;其中,棘轮密钥
Figure 108589DEST_PATH_IMAGE003
中0表示用户设备UE,1表示安全锚功能SEAF,
Figure 391803DEST_PATH_IMAGE002
表示安全锚功能SEAF使用安全锚功能SEAF的私钥和用户设备UE的公钥通过DH算法生成的密钥;SK0 SEAF为安全锚功能SEAF的私钥;
接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较,进行验证,通过DH生成当前的棘轮密钥对得到认证服务器功能AUSF内的棘轮密钥;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥
Figure 650484DEST_PATH_IMAGE004
=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥
Figure 386359DEST_PATH_IMAGE005
=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥
Figure 100002_DEST_PATH_IMAGE006
,将所述公钥PK0 AUSF和接收的认证数据发送给所述认证凭据存储和处理功能ARPF;其中,SK0 AUSF为认证服务器功能AUSF的私钥;PK0 SEAF为安全锚功能SEAF的公钥;第一棘轮密钥
Figure 788521DEST_PATH_IMAGE007
和第二棘轮密钥
Figure 100002_DEST_PATH_IMAGE008
中0表示用户设备UE,2表示认证服务器功能AUSF;
当所述认证凭据存储和处理功能ARPF接收身份验证请求消息后,计算得到新的根密钥RK0 ARPF和接收消息密钥CK0 ARPF,解密所述用户隐藏标识符SUCI得到所述用户永久标识符SUPI;所述认证凭据存储和处理功能ARPF通过计算验证所述认证消息MACUE;通过DH生成新的棘轮密钥对,计算得到新的根密钥RK1 ARPF和发送消息密钥CK1 ARPF,通过根密钥RK1 ARPF代替长期密钥K派生KAUSF,产生随机数RARPF;所述新的棘轮密钥对包括私钥SK1 ARPF以及公钥PK1 ARPF;计算消息认证码MACARPF=
Figure 28704DEST_PATH_IMAGE009
(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥
Figure 100002_DEST_PATH_IMAGE010
=DH(SK1 ARPF,PK0 AUSF),计算
Figure 225330DEST_PATH_IMAGE011
=
Figure 917343DEST_PATH_IMAGE010
(RARPF);所述
Figure 592038DEST_PATH_IMAGE011
为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的棘轮密钥
Figure 348379DEST_PATH_IMAGE012
进行加密得到的值;并使用棘轮密钥
Figure 981486DEST_PATH_IMAGE010
对所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的长期密钥K派生
Figure 895215DEST_PATH_IMAGE013
;发送所述随机数RARPF、所述随机数RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的长期密钥K派生
Figure 904759DEST_PATH_IMAGE013
、所述
Figure 100002_DEST_PATH_IMAGE014
以及所述新的根密钥PK1 ARPF到所述认证服务器功能AUSF;其中,棘轮密钥
Figure 485913DEST_PATH_IMAGE012
中的2表示认证服务器功能AUSF,3表示认证凭据存储和处理功能ARPF;
Figure 555501DEST_PATH_IMAGE009
为第一次生成的发送消息密钥CK1 ARPF的单向密钥加密函数;
接收所述认证凭据存储和处理功能ARPF的消息时,作DH运算得到密钥
Figure 189482DEST_PATH_IMAGE015
=DH(SK0 AUSF, PK1 ARPF),计算
Figure 100002_DEST_PATH_IMAGE016
=
Figure 737138DEST_PATH_IMAGE017
(RAUSF);所述
Figure 438378DEST_PATH_IMAGE016
为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的密钥
Figure 882129DEST_PATH_IMAGE015
进行加密得到的值;判断
Figure 301609DEST_PATH_IMAGE016
Figure 417070DEST_PATH_IMAGE011
比较是否相等,若
Figure 910499DEST_PATH_IMAGE016
Figure 321889DEST_PATH_IMAGE011
相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的长期密钥K派生
Figure 494244DEST_PATH_IMAGE013
得到所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF,产生随机数RAUSF,计算
Figure 100002_DEST_PATH_IMAGE018
=
Figure 118124DEST_PATH_IMAGE005
(RAUSF)、消息认证码MACAUSF=
Figure 501613DEST_PATH_IMAGE019
(RAUSF,RUE,RARPF,SNname);所述
Figure 83904DEST_PATH_IMAGE018
为通过认证服务器功能AUSF和安全锚功能SEAF生成的密钥
Figure 743555DEST_PATH_IMAGE020
进行加密得到的值;通过所述长期密钥K派生KAUSF派生锚密钥KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname),使用所述
Figure 436705DEST_PATH_IMAGE005
加密所述用户隐藏标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥
Figure DEST_PATH_IMAGE021
,生成认证令牌AUTNAUSF=(RAUSF, MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 904726DEST_PATH_IMAGE018
、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥
Figure 890875DEST_PATH_IMAGE021
、所述公钥PK1 ARPF一起发送到安全锚功能SEAF;其中,KDF为密钥推导函数;
Figure 37822DEST_PATH_IMAGE019
为第一次生成的第一棘轮密钥
Figure 737925DEST_PATH_IMAGE007
的单向密钥加密函数;
接收所述认证服务器功能AUSF的消息后,运算得到所述棘轮密钥
Figure 388349DEST_PATH_IMAGE022
=DH(SK0 SEAF, PK0 AUSF),计算
Figure DEST_PATH_IMAGE023
=
Figure 46863DEST_PATH_IMAGE024
(RAUSF);判断
Figure 851746DEST_PATH_IMAGE023
Figure 152277DEST_PATH_IMAGE018
比较是否相等,若所述
Figure 594891DEST_PATH_IMAGE023
与所述
Figure 689886DEST_PATH_IMAGE018
相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥
Figure 545847DEST_PATH_IMAGE021
得到所述用户隐藏标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算
Figure DEST_PATH_IMAGE025
=
Figure 820708DEST_PATH_IMAGE002
(RSEAF)、消息认证码MACSEAF=
Figure 648987DEST_PATH_IMAGE026
(RSEAF,RAUSF,RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 649304DEST_PATH_IMAGE025
以及所述公钥PK1 ARPF一起发送给所述用户设备UE;所述
Figure 726981DEST_PATH_IMAGE025
为通过安全锚功能SEAF和用户设备UE生成的密钥
Figure 823112DEST_PATH_IMAGE003
进行加密得到的值;
所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述消息认证码MAC’ARPF与所述消息认证码MACARPF是否相等,若所述消息认证码MAC’ARPF与所述消息认证码MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥
Figure DEST_PATH_IMAGE027
以及密钥
Figure 240318DEST_PATH_IMAGE028
,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);所述用户设备UE生成新的的棘轮密钥对执行一次DH棘轮步进生成密钥
Figure 677115DEST_PATH_IMAGE027
以及密钥
Figure 242089DEST_PATH_IMAGE028
,计算哈希值SRES=
Figure 688113DEST_PATH_IMAGE029
(RSEAF,RUE,SNname)、哈希值ARES=
Figure 100002_DEST_PATH_IMAGE030
(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述哈希值SRES以及所述哈希值ARES给所述安全锚功能SEAF;所述
Figure 989520DEST_PATH_IMAGE027
为通过UE的公钥和安全锚功能SEAF的私钥生成的密钥;所述
Figure 800481DEST_PATH_IMAGE028
为通过UE的公钥和AUSF的私钥生成的密钥;
Figure 118330DEST_PATH_IMAGE029
为第二次生成的密钥
Figure 102466DEST_PATH_IMAGE027
的单向密钥加密函数;
Figure 494264DEST_PATH_IMAGE030
为第二次生成的密钥
Figure 272864DEST_PATH_IMAGE028
的单向密钥加密函数;
接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥
Figure 576545DEST_PATH_IMAGE002
,判断加密后的哈希值SRES*与所述哈希值SRES是否相等,若所述加密后的哈希值SRES*与所述哈希值SRES相等,确定所述安全锚功能SEAF认证成功,并将所述第二次生成的私钥SK1 UE以及所述哈希值ARES发送给所述认证服务器功能AUSF;
所述认证服务器功能AUSF接收所述第二次生成的私钥SK1 UE以及所述哈希值ARES后,所述认证服务器功能AUSF生成
Figure 98793DEST_PATH_IMAGE004
,并判断加密后的哈希值ARES*与所述哈希值ARES是否相等,若所述加密后的哈希值ARES*与所述哈希值ARES相等,向所述安全锚功能SEAF发送一个成功身份验证消息。
可选的,所述用户设备UE和所述安全锚功能SEAF共享一个密钥作为一个锚密钥KSEAF
可选的,所述用户设备UE、所述安全锚功能SEAF、所述认证服务器功能AUSF以及所述认证凭据存储和处理功能ARPF产生了各自的棘轮密钥,并对每个实体进行加密发送信息。
可选的,参与认证的每个实体相互认证。
可选的,每次认证过程中产生不同的棘轮密钥;基于不同的棘轮密钥,使得每次认证过程均不相同。
一种基于DH棘轮算法的5G网络认证系统,包括:
初始化模块,用于在初始化阶段,用户设备UE和认证凭据存储和处理功能ARPF通过秘钥交换算法DH分别生成当前的棘轮密钥对;并由所述认证凭据存储和处理功能ARPF向所述用户设备UE发送棘轮公钥;所述棘轮密钥对包括私钥SK0 UE和公钥PK0 UE,以及私钥SK0 ARPF和公钥PK0 ARPF
用户设备UE内密钥接收模块,用于当所述用户设备UE接收所述公钥PK0 ARPF时,所述用户设备UE计算得到新的根密钥RK0 UE和发送消息密钥CK0 UE;所述用户设备UE选择一个随机数RUE,并使用所述发送消息密钥CK0 UE对用户永久标识符SUPI以及随机数RUE进行加密得到用户隐藏标识符SUCI=CK0 UE(SUPI,RUE);生成认证消息MACUE=
Figure 407414DEST_PATH_IMAGE001
(SUCI,RUE),并将所述用户隐藏标识符SUCI、随机数RUE、所述公钥PK0 UE和所述认证消息MACUE发送给安全锚功能SEAF;
Figure 560178DEST_PATH_IMAGE001
为第一次生成的发送消息密钥CK0 UE的单向密钥加密函数;
安全锚功能SEAF内棘轮密钥计算模块,用于所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥
Figure 587040DEST_PATH_IMAGE003
=DH(SK0 SEAF,PK0 UE),保存棘轮密钥
Figure 381821DEST_PATH_IMAGE003
,将接收的所述认证数据和服务标识SNname发送给认证服务器功能AUSF进行进一步验证;其中,棘轮密钥
Figure 246746DEST_PATH_IMAGE002
中0表示用户设备UE,1表示安全锚功能SEAF,
Figure 632728DEST_PATH_IMAGE002
表示安全锚功能SEAF使用安全锚功能SEAF的私钥和用户设备UE的公钥通过DH算法生成的密钥;SK0 SEAF为安全锚功能SEAF的私钥;
认证服务器功能AUSF内的棘轮密钥计算模块,用于接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较,进行验证,通过DH生成当前的棘轮密钥对得到认证服务器功能AUSF内的棘轮密钥;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥
Figure 881307DEST_PATH_IMAGE007
=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥
Figure 10937DEST_PATH_IMAGE005
=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥
Figure 294151DEST_PATH_IMAGE006
,将所述公钥PK0 AUSF和接收的认证数据发送给所述认证凭据存储和处理功能ARPF;其中,SK0 AUSF为认证服务器功能AUSF的私钥;PK0 SEAF为安全锚功能SEAF的公钥;第一棘轮密钥
Figure 585455DEST_PATH_IMAGE007
和第二棘轮密钥
Figure 321330DEST_PATH_IMAGE005
中0表示用户设备UE,2表示认证服务器功能AUSF;
认证凭据存储和处理功能ARPF内棘轮密钥计算模块,用于当所述认证凭据存储和处理功能ARPF接收身份验证请求消息后,计算得到新的根密钥RK0 ARPF和接收消息密钥CK0 ARPF,解密所述用户隐藏标识符SUCI得到所述用户永久标识符SUPI;所述认证凭据存储和处理功能ARPF通过计算验证所述认证消息MACUE;通过DH生成新的棘轮密钥对,计算得到新的根密钥RK1 ARPF和发送消息密钥CK1 ARPF,通过根密钥RK1 ARPF代替长期密钥K派生KAUSF,产生随机数RARPF;所述新的棘轮密钥对包括私钥SK1 ARPF以及公钥PK1 ARPF;计算哈希值MACARPF=
Figure 696728DEST_PATH_IMAGE009
(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥
Figure 100028DEST_PATH_IMAGE012
=DH(SK1 ARPF,PK0 AUSF),计算
Figure 562233DEST_PATH_IMAGE011
=
Figure 785404DEST_PATH_IMAGE012
(RARPF);所述
Figure 194520DEST_PATH_IMAGE011
为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的棘轮密钥
Figure 452326DEST_PATH_IMAGE010
进行加密得到的值;并使用棘轮密钥
Figure 521651DEST_PATH_IMAGE010
对所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的长期密钥K派生
Figure 497697DEST_PATH_IMAGE013
;发送所述随机数RARPF、所述随机数RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的长期密钥K派生
Figure 241662DEST_PATH_IMAGE013
、所述
Figure 557237DEST_PATH_IMAGE014
以及所述新的根密钥PK1 ARPF到所述认证服务器功能AUSF;其中,棘轮密钥
Figure 361245DEST_PATH_IMAGE012
中的2表示认证服务器功能AUSF,3表示认证凭据存储和处理功能ARPF;
Figure 323122DEST_PATH_IMAGE009
为第一次生成的发送消息密钥CK1 ARPF的单向密钥加密函数;
认证凭据存储和处理功能ARPF认证模块,用于接收所述认证凭据存储和处理功能ARPF的消息时,作DH运算得到密钥
Figure 74041DEST_PATH_IMAGE017
=DH(SK0 AUSF, PK1 ARPF),计算
Figure 40860DEST_PATH_IMAGE016
=
Figure 281348DEST_PATH_IMAGE015
(RAUSF);所述
Figure 966407DEST_PATH_IMAGE016
为通过认证凭据存储和处理功能ARPF和认证服务器功能生成的密钥
Figure 317754DEST_PATH_IMAGE017
进行加密得到的值;判断
Figure 139080DEST_PATH_IMAGE016
Figure 517846DEST_PATH_IMAGE011
比较是否相等,若
Figure 893464DEST_PATH_IMAGE016
Figure 986185DEST_PATH_IMAGE011
相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的长期密钥K派生
Figure 193175DEST_PATH_IMAGE013
得到所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF,产生随机数RAUSF,计算
Figure 471404DEST_PATH_IMAGE018
=
Figure 131056DEST_PATH_IMAGE008
(RAUSF)、消息认证码MACAUSF=
Figure 824205DEST_PATH_IMAGE019
(RAUSF,RUE,RARPF,SNname);所述
Figure 354544DEST_PATH_IMAGE018
为通过认证服务器功能AUSF和安全锚功能生成的密钥
Figure 310999DEST_PATH_IMAGE031
进行加密得到的值;通过所述长期密钥K派生KAUSF派生锚密钥KSEAF= KDF (KAUSF,RAUSF,RARPF,RUE,SNname),使用所述
Figure 192367DEST_PATH_IMAGE008
加密所述用户隐藏标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥
Figure 689207DEST_PATH_IMAGE021
,生成认证令牌AUTNAUSF=(RAUSF, MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 103746DEST_PATH_IMAGE018
、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥
Figure 762260DEST_PATH_IMAGE021
、所述公钥PK1 ARPF一起发送到安全锚功能SEAF;其中,KDF为密钥推导函数;
Figure 100002_DEST_PATH_IMAGE032
为第一次生成的第一棘轮密钥
Figure 803029DEST_PATH_IMAGE004
的单向密钥加密函数;
认证服务器功能AUSF认证模块,用于接收所述认证服务器功能AUSF的消息后,运算得到所述棘轮密钥
Figure 103560DEST_PATH_IMAGE024
=DH(SK0 SEAF, PK0 AUSF),计算
Figure 874070DEST_PATH_IMAGE033
=
Figure 670862DEST_PATH_IMAGE022
(RAUSF);所述
Figure 730085DEST_PATH_IMAGE011
为通过ARPF和AUSF生成的密钥
Figure 568728DEST_PATH_IMAGE010
进行加密得到的值;判断
Figure 928165DEST_PATH_IMAGE023
Figure 459641DEST_PATH_IMAGE018
比较是否相等,若所述
Figure 6160DEST_PATH_IMAGE023
与所述
Figure 350291DEST_PATH_IMAGE018
相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥
Figure 95393DEST_PATH_IMAGE021
得到所述用户隐藏标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算
Figure 735453DEST_PATH_IMAGE025
=
Figure 300427DEST_PATH_IMAGE003
(RSEAF)、消息认证码MACSEAF=
Figure 100002_DEST_PATH_IMAGE034
(RSEAF,RAUSF, RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 922950DEST_PATH_IMAGE025
以及所述公钥PK1 ARPF一起发送给所述用户设备UE;所述
Figure 256979DEST_PATH_IMAGE025
为通过安全锚功能SEAF和用户设备UE生成的密钥
Figure 130257DEST_PATH_IMAGE002
进行加密得到的值;
用户设备UE认证ARPF的认证模块,用于所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述消息认证码MAC’ARPF与所述消息认证码MACARPF是否相等,若所述消息认证码MAC’ARPF与所述消息认证码MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥
Figure 651369DEST_PATH_IMAGE027
以及密钥
Figure 838768DEST_PATH_IMAGE028
,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);KDF为密钥推导函数;所述用户设备UE生成新的的棘轮密钥对执行一次DH棘轮步进生成密钥
Figure 292883DEST_PATH_IMAGE027
以及密钥
Figure 773280DEST_PATH_IMAGE028
,计算哈希值SRES=
Figure 312846DEST_PATH_IMAGE029
(RSEAF,RUE,SNname)、哈希值ARES=
Figure 100673DEST_PATH_IMAGE030
(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述哈希值SRES以及所述哈希值ARES给所述安全锚功能SEAF;所述
Figure 409295DEST_PATH_IMAGE027
为通过UE的公钥和安全锚功能SEAF的私钥生成的密钥;所述
Figure 562059DEST_PATH_IMAGE028
为通过UE的公钥和AUSF的私钥生成的密钥;
Figure 323341DEST_PATH_IMAGE035
为第二次生成的密钥
Figure 413395DEST_PATH_IMAGE027
的单向密钥加密函数;
Figure 100002_DEST_PATH_IMAGE036
为第二次生成的密钥
Figure 45365DEST_PATH_IMAGE028
的单向密钥加密函数;
安全锚功能SEAF认证模块,用于接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥
Figure 165767DEST_PATH_IMAGE003
,判断加密后的哈希值SRES*与所述哈希值SRES是否相等,若所述加密后的哈希值SRES*与所述哈希值SRES相等,确定所述安全锚功能SEAF认证成功,并将所述第二次生成的私钥SK1 UE以及所述哈希值ARES发送给所述认证服务器功能AUSF;
成功身份验证消息发送模块,用于所述认证服务器功能AUSF接收所述第二次生成的私钥SK1 UE以及所述哈希值ARES后,所述认证服务器功能AUSF生成
Figure 679925DEST_PATH_IMAGE007
,并判断加密后的哈希值ARES*与所述哈希值ARES是否相等,若所述加密后的哈希值ARES*与所述哈希值ARES相等,向所述安全锚功能SEAF发送一个成功身份验证消息。
可选的,所述用户设备UE和所述安全锚功能SEAF共享一个密钥作为一个锚密钥KSEAF
可选的,所述用户设备UE、所述安全锚功能SEAF、所述认证服务器功能AUSF以及所述认证凭据存储和处理功能ARPF产生了各自的棘轮密钥,并对每个实体进行加密发送信息。
可选的,参与认证的每个实体相互认证。
可选的,每次认证过程中产生不同的棘轮密钥;基于不同的棘轮密钥,使得每次认证过程均不相同。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供了一种基于DH棘轮算法的5G网络认证方法及系统,首先用户通过棘轮密钥加密身份信息发送给服务器进行验证,保证了身份信息的机密性;对于5G网络中的每个实体都产生棘轮密钥对,保证了每个实体在传输信息时通过自身的棘轮密钥加密传输信息,保证了信息的安全性,每个实体通过产生各自的身份令牌,保证了各个实体之间的相互验证,避免了假冒攻击;通过棘轮步进使得每个实体在会话过程中产生不同的棘轮密钥,使得每次会话使用不同的棘轮密钥进行加密,使得消息传输过程中更加安全;对于同步失败或者验证失败的消息通过棘轮密钥加密发送,从而避免了跟踪的可能性;5G中的棘轮密钥通过棘轮密钥产生,不再通过共享密钥K来产生,避免了因为共享密钥K的泄露造成的安全问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的基于DH棘轮算法的5G网络认证方法认证信息交互图;
图2为本发明所提供的基于DH棘轮算法的5G网络认证方法认证流程图;
图3为本发明所提供的基于DH棘轮算法的5G网络认证系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于DH棘轮算法的5G网络认证方法及系统,不再通过共享密钥K来产生,避免了因为共享密钥K的泄露造成的安全问题。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1-图2所示,一种基于DH棘轮算法的5G网络认证方法,包括:
步骤一:在初始化阶段,用户设备(User Equipment,UE)和认证凭据存储和处理功能(Authentication Credential Repository and Processing Function,ARPF)通过DH分别生成当前的棘轮密钥对SK0 UE、PK0 UE和SK0 ARPF、PK0 ARPF,认证凭据存储和处理功能ARPF向用户设备UE发送棘轮公钥。
步骤二:当用户设备UE接收到公钥PK0 ARPF时,用户设备UE计算得到新的根密钥RK0 UE和发送消息密钥CK0 UE,用户设备UE选择一个随机数RUE,并使用消息密钥CK0 UE对用户永久标识符(Subscription Permanent Identifier,SUPI)以及随机数RUE进行加密得到用户隐藏标识符SUCI=CK0 UE(SUPI,RUE);生成认证消息MACUE =
Figure 747238DEST_PATH_IMAGE001
(SUCI,RUE),然后将SUCI、RUE、PK0 UE和MACUE发送给安全锚功能SEAF。
步骤三:安全锚功能SEAF收到用户设备UE发送的认证数据,计算得到棘轮密钥
Figure 764873DEST_PATH_IMAGE002
=DH(SK0 SEAF,PK0 UE),保存棘轮密钥
Figure 85871DEST_PATH_IMAGE003
,将收到的认证数据和服务标识SNname发送给认证服务器功能(Authentication Server Function,AUSF)进行进一步验证。
步骤四:在收到身份验证数据请求消息后,认证服务器功能AUSF将收到的服务标识SNname与期望的网络名称进行比较,进行验证,通过DH生成当前的棘轮密钥对得到棘轮密钥
Figure 821745DEST_PATH_IMAGE037
=DH(SK0 AUSF,PK0 UE),
Figure DEST_PATH_IMAGE038
=DH(SK0 AUSF,PK0 SEAF),保存棘轮密钥
Figure 958329DEST_PATH_IMAGE039
,将PK0 AUSF和收到的认证数据发送给认证凭据存储和处理功能ARPF。
步骤五:当认证凭据存储和处理功能ARPF接收到身份验证请求消息后,计算得到新的根密钥RK0 ARPF和接收消息密钥CK0 ARPF,然后解密SUCI得到SUPI,认证凭据存储和处理功能ARPF通过计算验证MACUE,通过DH再生成新的棘轮密钥对SK1 ARPF、PK1 ARPF,计算得到新的根密钥RK1 ARPF和发送消息密钥CK1 ARPF,通过根密钥RK1 ARPF代替长期密钥K派生KAUSF,产生随机数RARPF,计算MACARPF=
Figure 33732DEST_PATH_IMAGE009
(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥
Figure DEST_PATH_IMAGE040
=DH(SK1 ARPF,PK0 AUSF),计算
Figure 230358DEST_PATH_IMAGE011
=
Figure 235222DEST_PATH_IMAGE040
(RARPF),并使用
Figure 441075DEST_PATH_IMAGE041
对SUPI,KAUSF加密得到SUPI*,
Figure 636564DEST_PATH_IMAGE013
,然后发送RARPF,RUE,AUTN,SUPI*,
Figure 535250DEST_PATH_IMAGE013
Figure 980138DEST_PATH_IMAGE014
,PK1 ARPF到认证服务器功能AUSF。
步骤六:在接收到认证凭据存储和处理功能ARPF的消息时,作DH运算得到密钥
Figure 989682DEST_PATH_IMAGE015
=DH(SK0 AUSF,PK1 ARPF),计算
Figure 367574DEST_PATH_IMAGE016
=
Figure 873379DEST_PATH_IMAGE015
(RAUSF),与
Figure 336722DEST_PATH_IMAGE011
比较是否相等,相等就验证了认证凭据存储和处理功能ARPF,然后解密SUPI*,
Figure 884378DEST_PATH_IMAGE013
得到SUPI,KAUSF,产生随机数RAUSF,计算
Figure 851197DEST_PATH_IMAGE018
=
Figure 29368DEST_PATH_IMAGE008
(RAUSF),MACAUSF=
Figure 980007DEST_PATH_IMAGE032
(RAUSF,RUE,RARPF,SNname),通过密钥KAUSF派生锚密钥KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname),使用
Figure 33151DEST_PATH_IMAGE008
加密SUPI,KSEAF生成SUPI*,
Figure 854477DEST_PATH_IMAGE021
,生成认证令牌AUTNAUSF=(RAUSF,MACAUSF),然后将RARPF,RAUSF,RUE,AUTNAUSF,AUTN,
Figure 531446DEST_PATH_IMAGE018
,SUPI*,
Figure 641484DEST_PATH_IMAGE021
,PK1 ARPF一起发送到安全锚功能SEAF。
步骤七:在接收到认证服务器功能AUSF的消息后,运算得到密钥
Figure 265363DEST_PATH_IMAGE022
=DH(SK0 SEAF,PK0 AUSF),计算
Figure 705310DEST_PATH_IMAGE023
=
Figure 225284DEST_PATH_IMAGE024
(RAUSF),与
Figure 619356DEST_PATH_IMAGE018
比较是否相等,相等就验证了认证服务器功能AUSF,解密
Figure 578085DEST_PATH_IMAGE042
得到SUPI,KSEAF,产生随机数RSEAF,计算
Figure 374003DEST_PATH_IMAGE025
=
Figure 127195DEST_PATH_IMAGE002
(RSEAF),MACSEAF=
Figure 716220DEST_PATH_IMAGE026
(RSEAF,RAUSF,RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACAUSF),然后将RARPF,RAUSF,RSEAF,AUTNSEAF,AUTNAUSF,AUTN,
Figure 947481DEST_PATH_IMAGE025
,PK1 ARPF一起发送给用户设备用户设备UE。
步骤八:在收到信息后,用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查认证令牌AUTN,计算得到MAC’ARPF,与收到的MACARPF进行对比,如果相等,那么UE就验证了ARPF;同样的UE通过运算得到密钥
Figure 863485DEST_PATH_IMAGE027
Figure 787578DEST_PATH_IMAGE028
,检查AUTNSEAF,AUTNAUSF;UE通过RK2 UE代替K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);UE生成新的的棘轮密钥对执行一次DH棘轮步进生成
Figure 156243DEST_PATH_IMAGE027
Figure 394457DEST_PATH_IMAGE028
,计算SRES=
Figure 899388DEST_PATH_IMAGE029
(RSEAF RUE,SNname)、ARES=
Figure 758497DEST_PATH_IMAGE030
(RAUSF RUE,SNname),最后用户设备UE发送SK1 UE、SRES、ARES给安全锚功能SEAF。
步骤九:在收到用户设备UE发送过来的消息后,安全锚功能SEAF计算生成
Figure 614458DEST_PATH_IMAGE002
,计算SRES*与收到的SRES进行对比当相等时,那么表示认证成功,然后将SK1 UE、ARES发送给认证服务器功能AUSF。
步骤十:为了与用户设备UE进行相互的验证,认证服务器功能AUSF接收到SK1 UE、ARES后,AUSF计算生成
Figure 100002_DEST_PATH_IMAGE043
,计算ARES*与收到的ARES进行匹配,如果相等,那么就向SEAF发送一个成功身份验证消息,UE和SEAF共享一个KSEAF密钥作为一个锚密钥。
在实际应用中,用户设备UE、安全锚功能SEAF、认证服务器功能AUSF、认证凭据存储和处理功能ARPF产生了各自的棘轮密钥,对每个实体进行加密发送信息。
在实际应用中,用户UE在加密SUPI时,使用产生的棘轮密钥进行加密。
在实际应用中,每个实体通过棘轮步进产生新的棘轮密钥,发送信息使用新的棘轮密钥进行加密;参与认证的每个实体都进行了相互认证;认证过程中通过棘轮密钥产生会话密钥,可以保证每次认证过程都不同于上一次。
在实际应用中,可以使用棘轮密钥加密同步失败或者验证失败信息进行传输。
图3为本发明所提供的基于DH棘轮算法的5G网络认证系统结构图,如图3所示,一种基于DH棘轮算法的5G网络认证系统,其特征在于,包括:
初始化模块301,用于在初始化阶段,用户设备UE和认证凭据存储和处理功能ARPF通过秘钥交换算法DH分别生成当前的棘轮密钥对;并由所述认证凭据存储和处理功能ARPF向所述用户设备UE发送棘轮公钥;所述棘轮密钥对包括私钥SK0 UE和公钥PK0 UE,以及私钥SK0 ARPF和公钥PK0 ARPF
用户设备UE内密钥接收模块302,用于当所述用户设备UE接收所述公钥PK0 ARPF时,所述用户设备UE计算得到新的根密钥RK0 UE和发送消息密钥CK0 UE;所述用户设备UE选择一个随机数RUE,并使用所述发送消息密钥CK0 UE对用户永久标识符SUPI以及随机数RUE进行加密得到用户隐藏标识符SUCI=CK0 UE(SUPI,RUE);生成认证消息MACUE=
Figure 859626DEST_PATH_IMAGE001
(SUCI,RUE),并将所述用户隐藏标识符SUCI、RUE、所述公钥PK0 UE和所述认证消息MACUE发送给安全锚功能SEAF;f为单向密钥加密函数。
安全锚功能SEAF内棘轮密钥计算模块303,用于所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥
Figure 484642DEST_PATH_IMAGE002
=DH(SK0 SEAF,PK0 UE),保存棘轮密钥
Figure 750538DEST_PATH_IMAGE003
,将接收的所述认证数据和服务标识SNname发送给认证服务器功能AUSF进行进一步验证;其中,
Figure 93795DEST_PATH_IMAGE002
中0表示UE,1表示SEAF,2表示AUSF,3表示ARPF,(1,0)表示SEAF使用SEAF的私钥和UE的公钥通过DH算法生成的密钥
Figure 234664DEST_PATH_IMAGE002
认证服务器功能AUSF内的棘轮密钥计算模块304,用于接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较,进行验证,通过DH生成当前的棘轮密钥对得到认证服务器功能AUSF内的棘轮密钥;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥
Figure 917449DEST_PATH_IMAGE007
=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥
Figure 354247DEST_PATH_IMAGE005
=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥
Figure 919220DEST_PATH_IMAGE006
,将所述公钥PK0 AUSF和接收的认证数据发送给所述认证凭据存储和处理功能ARPF。
认证凭据存储和处理功能ARPF内棘轮密钥计算模块305,用于当所述认证凭据存储和处理功能ARPF接收身份验证请求消息后,计算得到新的根密钥RK0 ARPF和接收消息密钥CK0 ARPF,解密所述用户隐藏标识符SUCI得到所述用户永久标识符SUPI;所述认证凭据存储和处理功能ARPF通过计算验证所述认证消息MACUE;通过DH生成新的棘轮密钥对,计算得到新的根密钥RK1 ARPF和发送消息密钥CK1 ARPF,通过根密钥RK1 ARPF代替长期密钥K派生KAUSF,产生随机数RARPF;所述新的棘轮密钥对包括私钥SK1 ARPF以及公钥PK1 ARPF;计算消息认证码MACARPF=
Figure 834087DEST_PATH_IMAGE009
(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥
Figure 699274DEST_PATH_IMAGE010
=DH(SK1 ARPF,PK0 AUSF),计算
Figure 306973DEST_PATH_IMAGE011
=
Figure 857778DEST_PATH_IMAGE012
(RARPF);所述
Figure 779598DEST_PATH_IMAGE011
为通过ARPF和AUSF生成的密钥
Figure 233713DEST_PATH_IMAGE012
进行加密得到的值;并使用
Figure 12313DEST_PATH_IMAGE010
对所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的长期密钥K派生
Figure 817458DEST_PATH_IMAGE013
;发送所述随机数RARPF、所述RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的长期密钥K派生
Figure 542969DEST_PATH_IMAGE013
、所述
Figure 609845DEST_PATH_IMAGE011
以及所述新的根密钥PK1 ARPF到所述认证服务器功能AUSF。
认证凭据存储和处理功能ARPF认证模块306,用于接收所述认证凭据存储和处理功能ARPF的消息时,作DH运算得到密钥
Figure 762609DEST_PATH_IMAGE017
=DH(SK0 AUSF,PK1 ARPF),计算
Figure 523892DEST_PATH_IMAGE016
=
Figure 115410DEST_PATH_IMAGE017
(RAUSF);所述
Figure 481800DEST_PATH_IMAGE016
为通过ARPF和AUSF生成的密钥
Figure 602203DEST_PATH_IMAGE017
进行加密得到的值;判断
Figure 880475DEST_PATH_IMAGE016
Figure 744526DEST_PATH_IMAGE011
比较是否相等,若
Figure 965423DEST_PATH_IMAGE016
Figure 787886DEST_PATH_IMAGE011
相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的长期密钥K派生
Figure 195864DEST_PATH_IMAGE013
得到所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF,产生随机数RAUSF,计算
Figure 34245DEST_PATH_IMAGE018
=
Figure 437545DEST_PATH_IMAGE005
(RAUSF)、消息认证码MACAUSF=
Figure 368591DEST_PATH_IMAGE032
(RAUSF,RUE,RARPF,SNname);所述
Figure 591762DEST_PATH_IMAGE018
为通过AUSF和SEAF生成的密钥
Figure 63195DEST_PATH_IMAGE020
进行加密得到的值;通过所述长期密钥K派生KAUSF派生锚密钥KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname),使用所述
Figure 757219DEST_PATH_IMAGE005
加密所述用户隐藏标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥
Figure 390326DEST_PATH_IMAGE021
,生成认证令牌AUTNAUSF=(RAUSF,MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 366372DEST_PATH_IMAGE018
、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥
Figure 375916DEST_PATH_IMAGE021
、所述公钥PK1 ARPF一起发送到安全锚功能SEAF。
认证服务器功能AUSF认证模块307,用于接收所述认证服务器功能AUSF的消息后,运算得到所述棘轮密钥
Figure 222650DEST_PATH_IMAGE024
=DH(SK0 SEAF,PK0 AUSF),计算
Figure 292237DEST_PATH_IMAGE023
=
Figure 932078DEST_PATH_IMAGE024
(RAUSF);所述
Figure 745313DEST_PATH_IMAGE011
为通过ARPF和AUSF生成的密钥
Figure 977711DEST_PATH_IMAGE012
进行加密得到的值;判断
Figure 952620DEST_PATH_IMAGE023
Figure 637680DEST_PATH_IMAGE018
比较是否相等,若所述
Figure 192289DEST_PATH_IMAGE023
与所述
Figure 13614DEST_PATH_IMAGE018
相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥
Figure 923539DEST_PATH_IMAGE021
得到所述用户隐藏标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算
Figure 502419DEST_PATH_IMAGE025
=
Figure 923036DEST_PATH_IMAGE002
(RSEAF)、消息认证码MACSEAF=
Figure 598868DEST_PATH_IMAGE026
(RSEAF,RAUSF,RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 181159DEST_PATH_IMAGE025
以及所述公钥PK1 ARPF一起发送给所述用户设备UE。
用户设备UE认证ARPF的认证模块308,用于所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述MAC’ARPF与所述MACARPF是否相等,若所述MAC’ARPF与所述MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥
Figure 277029DEST_PATH_IMAGE027
以及密钥
Figure 970179DEST_PATH_IMAGE028
,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);KDF为密钥推导函数;所述用户设备UE生成新的的棘轮密钥对执行一次DH棘轮步进生成密钥
Figure 766096DEST_PATH_IMAGE027
以及密钥
Figure 519289DEST_PATH_IMAGE028
,计算哈希值SRES=
Figure 400657DEST_PATH_IMAGE029
(RSEAF,RUE,SNname)、哈希值ARES=
Figure 897497DEST_PATH_IMAGE030
(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述SRES以及所述ARES给所述安全锚功能SEAF;所述
Figure 751184DEST_PATH_IMAGE027
为通过UE的公钥和SEAF的私钥生成的密钥;所述
Figure 173813DEST_PATH_IMAGE028
为通过UE的公钥和AUSF的私钥生成的密钥。
安全锚功能SEAF认证模块309,用于接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥
Figure 808056DEST_PATH_IMAGE003
,判断所述SRES*与所述SRES是否相等,若所述SRES*与所述SRES相等,确定所述安全锚功能SEAF认证成功,并将所述SK1 UE以及所述ARES发送给所述认证服务器功能AUSF。
成功身份验证消息发送模块310,用于所述认证服务器功能AUSF接收所述SK1 UE以及所述ARES后,所述认证服务器功能AUSF生成
Figure 46271DEST_PATH_IMAGE007
,并判断ARES*与所述ARES是否相等,若所述ARES*与所述ARES相等,向所述安全锚功能SEAF发送一个成功身份验证消息。
所述用户设备UE和所述安全锚功能SEAF共享一个密钥作为一个锚密钥KSEAF
所述用户设备UE、所述安全锚功能SEAF、所述认证服务器功能AUSF以及所述认证凭据存储和处理功能ARPF产生了各自的棘轮密钥,并对每个实体进行加密发送信息;参与认证的每个实体相互认证。
每次认证过程中产生不同的棘轮密钥;基于不同的棘轮密钥,使得每次认证过程均不相同。
本发明具有以下有益效果:
1.利用本发明对于用户身份的保密使用产生的棘轮密钥进行加密,减少了相应的计算开销和公钥基础设施PKI问题。
2.本发明提供的方法是通过棘轮密钥加密同步失败或者验证失败信息,从而避免了跟踪可能性。
3.本发明所提供的方法通过用户设备UE、安全锚功能SEAF、认证服务器功能AUSF、认证凭据存储和处理功能ARPF产生了各自的棘轮密钥,对每个实体进行加密发送信息,保证了发送信息的机密性,从而保证了发送信息的安全性。
4.本发明所提供的方法中通信实体进行相互验证,避免了假冒攻击,保证了通信的安全性。
5.本发明所提供的方法每个实体通过棘轮步进产生新的棘轮密钥,发送信息使用新的棘轮密钥进行加密,加强了信息发送的安全保证。
6.本发明所提供的方法认证过程中通过棘轮密钥产生会话密钥,可以保证每次认证过程都不同于上一次,从而保证了会话密钥的前向安全性和后向安全性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于DH棘轮算法的5G网络认证方法,其特征在于,包括:
在初始化阶段,用户设备UE和认证凭据存储和处理功能ARPF通过秘钥交换算法DH分别生成当前的棘轮密钥对;并由所述认证凭据存储和处理功能ARPF向所述用户设备UE发送棘轮公钥;所述棘轮密钥对包括私钥SK0 UE和公钥PK0 UE,以及私钥SK0 ARPF和公钥PK0 ARPF
当所述用户设备UE接收所述公钥PK0 ARPF时,所述用户设备UE计算得到新的根密钥RK0 UE和发送消息密钥CK0 UE;所述用户设备UE选择一个随机数RUE,并使用所述发送消息密钥CK0 UE对用户永久标识符SUPI以及随机数RUE进行加密得到用户隐藏标识符SUCI=CK0 UE(SUPI,RUE);生成认证消息MACUE=
Figure DEST_PATH_IMAGE002
(SUCI,RUE),并将所述用户隐藏标识符SUCI、随机数RUE、所述公钥PK0 UE和所述认证消息MACUE作为认证数据发送给安全锚功能SEAF;
Figure 841732DEST_PATH_IMAGE002
为第一次生成的发送消息密钥CK0 UE的单向密钥加密函数;
所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥
Figure DEST_PATH_IMAGE004
=DH(SK0 SEAF,PK0 UE),保存棘轮密钥
Figure 211403DEST_PATH_IMAGE004
,将接收的所述认证数据和服务标识SNname携带在身份验证数据请求消息中发送给认证服务器功能AUSF进行进一步验证;其中,棘轮密钥
Figure 928823DEST_PATH_IMAGE004
中0表示用户设备UE,1表示安全锚功能SEAF,
Figure 792874DEST_PATH_IMAGE004
表示安全锚功能SEAF使用安全锚功能SEAF的私钥和用户设备UE的公钥通过DH算法生成的密钥;SK0 SEAF为安全锚功能SEAF的私钥;
接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较以进行验证,通过DH生成当前的棘轮密钥对,并运算得到认证服务器功能AUSF内的棘轮密钥,其中,所述棘轮密钥对包括私钥SK0 AUSF以及公钥PK0 AUSF;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥
Figure DEST_PATH_IMAGE006
=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥
Figure DEST_PATH_IMAGE008
=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥
Figure DEST_PATH_IMAGE010
,将所述公钥PK0 AUSF和接收的所述认证数据和服务标识SNname发送给所述认证凭据存储和处理功能ARPF;其中,SK0 AUSF为认证服务器功能AUSF的私钥;PK0 SEAF为安全锚功能SEAF的公钥;第一棘轮密钥
Figure 495994DEST_PATH_IMAGE006
和第二棘轮密钥
Figure 36566DEST_PATH_IMAGE008
中0表示用户设备UE,2表示认证服务器功能AUSF;
当所述认证凭据存储和处理功能ARPF接收身份验证请求消息后,计算得到新的根密钥RK0 ARPF和接收消息密钥CK0 ARPF,解密所述用户隐藏标识符SUCI得到所述用户永久标识符SUPI;所述认证凭据存储和处理功能ARPF通过计算验证所述认证消息MACUE;通过DH生成新的棘轮密钥对,计算得到新的根密钥RK1 ARPF和发送消息密钥CK1 ARPF,通过根密钥RK1 ARPF代替长期密钥K派生KAUSF,产生随机数RARPF;所述新的棘轮密钥对包括私钥SK1 ARPF以及公钥PK1 ARPF;计算消息认证码MACARPF=
Figure DEST_PATH_IMAGE012
(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥
Figure DEST_PATH_IMAGE014
=DH(SK1 ARPF,PK0 AUSF),计算
Figure DEST_PATH_IMAGE016
=
Figure 929698DEST_PATH_IMAGE014
(RARPF);所述
Figure 863019DEST_PATH_IMAGE016
为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的棘轮密钥
Figure 739DEST_PATH_IMAGE014
进行加密得到的值;并使用棘轮密钥
Figure 462944DEST_PATH_IMAGE014
对所述用户永久标识符SUPI以及所述KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的
Figure DEST_PATH_IMAGE018
;发送所述随机数RARPF、所述随机数RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的
Figure 669803DEST_PATH_IMAGE018
、所述
Figure DEST_PATH_IMAGE020
以及所述新的棘轮密钥对中包括的公钥PK1 ARPF到所述认证服务器功能AUSF;其中,棘轮密钥
Figure 344498DEST_PATH_IMAGE014
中的2表示认证服务器功能AUSF,3表示认证凭据存储和处理功能ARPF;
Figure 336725DEST_PATH_IMAGE012
为第一次生成的发送消息密钥CK1 ARPF的单向密钥加密函数;
接收所述认证凭据存储和处理功能ARPF的消息后,所述认证服务器功能AUSF作DH运算得到密钥
Figure DEST_PATH_IMAGE022
=DH(SK0 AUSF, PK1 ARPF),计算
Figure DEST_PATH_IMAGE024
=
Figure 920897DEST_PATH_IMAGE022
(RARPF);所述
Figure 631364DEST_PATH_IMAGE024
为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的密钥
Figure 624597DEST_PATH_IMAGE022
进行加密得到的值;判断
Figure 736909DEST_PATH_IMAGE024
Figure 806496DEST_PATH_IMAGE016
比较是否相等,若
Figure 4259DEST_PATH_IMAGE024
Figure 551915DEST_PATH_IMAGE016
相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的
Figure 269467DEST_PATH_IMAGE018
得到所述用户永久标识符SUPI以及所述KAUSF,产生随机数RAUSF,计算
Figure DEST_PATH_IMAGE026
=
Figure 244376DEST_PATH_IMAGE008
(RAUSF)、消息认证码MACAUSF=
Figure DEST_PATH_IMAGE028
(RAUSF,RUE,RARPF,SNname);所述
Figure 381965DEST_PATH_IMAGE026
为通过认证服务器功能AUSF和安全锚功能SEAF生成的密钥
Figure DEST_PATH_IMAGE030
进行加密得到的值;通过所述KAUSF派生锚密钥KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname),使用所述
Figure 467733DEST_PATH_IMAGE008
加密所述用户永久标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥
Figure DEST_PATH_IMAGE032
,生成认证令牌AUTNAUSF=(RAUSF, MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 757900DEST_PATH_IMAGE026
、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥
Figure 917092DEST_PATH_IMAGE032
、所述公钥PK1 ARPF一起发送到安全锚功能SEAF;其中,KDF为密钥推导函数;
Figure 823869DEST_PATH_IMAGE028
为第一次生成的第一棘轮密钥
Figure 978906DEST_PATH_IMAGE006
的单向密钥加密函数;
接收所述认证服务器功能AUSF的消息后,所述安全锚功能SEAF运算得到棘轮密钥
Figure DEST_PATH_IMAGE034
=DH(SK0 SEAF, PK0 AUSF),计算
Figure DEST_PATH_IMAGE036
=
Figure 372847DEST_PATH_IMAGE034
(RAUSF);判断
Figure DEST_PATH_IMAGE037
Figure 423980DEST_PATH_IMAGE026
比较是否相等,若所述
Figure 818052DEST_PATH_IMAGE036
与所述
Figure 261934DEST_PATH_IMAGE026
相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥
Figure 57852DEST_PATH_IMAGE032
得到所述用户永久标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算
Figure DEST_PATH_IMAGE039
=
Figure 279886DEST_PATH_IMAGE004
(RSEAF)、消息认证码MACSEAF=
Figure DEST_PATH_IMAGE041
(RSEAF,RAUSF,RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACSEAF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 879363DEST_PATH_IMAGE039
以及所述公钥PK1 ARPF一起发送给所述用户设备UE;所述
Figure 376204DEST_PATH_IMAGE039
为通过安全锚功能SEAF和用户设备UE生成的密钥
Figure 26628DEST_PATH_IMAGE004
进行加密得到的值;
所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述消息认证码MAC’ARPF与所述消息认证码MACARPF是否相等,若所述消息认证码MAC’ARPF与所述消息认证码MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥
Figure DEST_PATH_IMAGE043
以及密钥
Figure DEST_PATH_IMAGE045
,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);所述用户设备UE生成新的棘轮密钥对,执行一次DH棘轮步进生成密钥
Figure 636207DEST_PATH_IMAGE043
以及密钥
Figure 4872DEST_PATH_IMAGE045
,计算哈希值SRES=
Figure DEST_PATH_IMAGE047
(RSEAF,RUE,SNname)、哈希值ARES=
Figure DEST_PATH_IMAGE049
(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述哈希值SRES以及所述哈希值ARES给所述安全锚功能SEAF;所述
Figure 492354DEST_PATH_IMAGE043
为通过UE的公钥和安全锚功能SEAF的私钥生成的密钥;所述
Figure 262864DEST_PATH_IMAGE045
为通过UE的公钥和AUSF的私钥生成的密钥;
Figure DEST_PATH_IMAGE050
为第二次生成的密钥
Figure 826700DEST_PATH_IMAGE043
的单向密钥加密函数;
Figure 433393DEST_PATH_IMAGE049
为第二次生成的密钥
Figure 537616DEST_PATH_IMAGE045
的单向密钥加密函数;
接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥
Figure 897053DEST_PATH_IMAGE004
,计算加密后的哈希值SRES*,并判断加密后的哈希值SRES*与所述哈希值SRES是否相等,若所述加密后的哈希值SRES*与所述哈希值SRES相等,确定所述安全锚功能SEAF认证成功,并将所述第二次生成的私钥SK1 UE以及所述哈希值ARES发送给所述认证服务器功能AUSF;
所述认证服务器功能AUSF接收所述第二次生成的私钥SK1 UE以及所述哈希值ARES后,所述认证服务器功能AUSF生成
Figure 162949DEST_PATH_IMAGE006
,计算加密后的哈希值ARES*,并判断加密后的哈希值ARES*与所述哈希值ARES是否相等,若所述加密后的哈希值ARES*与所述哈希值ARES相等,向所述安全锚功能SEAF发送一个身份验证成功消息。
2.根据权利要求1所述的基于DH棘轮算法的5G网络认证方法,其特征在于,所述用户设备UE和所述安全锚功能SEAF共享一个密钥作为一个锚密钥KSEAF
3.根据权利要求1所述的基于DH棘轮算法的5G网络认证方法,其特征在于,所述用户设备UE、所述安全锚功能SEAF、所述认证服务器功能AUSF以及所述认证凭据存储和处理功能ARPF这四个实体产生了各自的棘轮密钥,上述实体对要发送的信息进行加密后发送。
4.根据权利要求3所述的基于DH棘轮算法的5G网络认证方法,其特征在于,参与认证的每个实体相互认证。
5.根据权利要求1所述的基于DH棘轮算法的5G网络认证方法,其特征在于,每次认证过程中产生不同的棘轮密钥;基于不同的棘轮密钥,使得每次认证过程均不相同。
6.一种基于DH棘轮算法的5G网络认证系统,其特征在于,包括:用户设备UE、安全锚功能SEAF、认证服务器功能AUSF以及认证凭据存储和处理功能ARPF;
在初始化阶段,用户设备UE和认证凭据存储和处理功能ARPF通过秘钥交换算法DH分别生成当前的棘轮密钥对;并由所述认证凭据存储和处理功能ARPF向所述用户设备UE发送棘轮公钥;所述棘轮密钥对包括私钥SK0 UE和公钥PK0 UE,以及私钥SK0 ARPF和公钥PK0 ARPF
当所述用户设备UE接收所述公钥PK0 ARPF时,所述用户设备UE计算得到新的根密钥RK0 UE和发送消息密钥CK0 UE;所述用户设备UE选择一个随机数RUE,并使用所述发送消息密钥CK0 UE对用户永久标识符SUPI以及随机数RUE进行加密得到用户隐藏标识符SUCI=CK0 UE(SUPI,RUE);生成认证消息MACUE=
Figure 489894DEST_PATH_IMAGE002
(SUCI,RUE),并将所述用户隐藏标识符SUCI、随机数RUE、所述公钥PK0 UE和所述认证消息MACUE作为认证数据发送给安全锚功能SEAF;
Figure 397807DEST_PATH_IMAGE002
为第一次生成的发送消息密钥CK0 UE的单向密钥加密函数;
所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥
Figure 877330DEST_PATH_IMAGE004
=DH(SK0 SEAF,PK0 UE),保存棘轮密钥
Figure 314128DEST_PATH_IMAGE004
,将接收的所述认证数据和服务标识SNname携带在身份验证数据请求消息中发送给认证服务器功能AUSF进行进一步验证;其中,棘轮密钥
Figure 879101DEST_PATH_IMAGE004
中0表示用户设备UE,1表示安全锚功能SEAF,
Figure 830787DEST_PATH_IMAGE004
表示安全锚功能SEAF使用安全锚功能SEAF的私钥和用户设备UE的公钥通过DH算法生成的密钥;SK0 SEAF为安全锚功能SEAF的私钥;
接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较以进行验证,通过DH生成当前的棘轮密钥对,并运算得到认证服务器功能AUSF内的棘轮密钥,其中,所述棘轮密钥对包括私钥SK0 AUSF以及公钥PK0 AUSF;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥
Figure 430396DEST_PATH_IMAGE006
=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥
Figure 38094DEST_PATH_IMAGE008
=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥
Figure 90364DEST_PATH_IMAGE010
,将所述公钥PK0 AUSF和接收的所述认证数据和服务标识SNname发送给所述认证凭据存储和处理功能ARPF;其中,SK0 AUSF为认证服务器功能AUSF的私钥;PK0 SEAF为安全锚功能SEAF的公钥;第一棘轮密钥
Figure 74501DEST_PATH_IMAGE006
和第二棘轮密钥
Figure 777883DEST_PATH_IMAGE008
中0表示用户设备UE,2表示认证服务器功能AUSF;
当所述认证凭据存储和处理功能ARPF接收身份验证请求消息后,计算得到新的根密钥RK0 ARPF和接收消息密钥CK0 ARPF,解密所述用户隐藏标识符SUCI得到所述用户永久标识符SUPI;所述认证凭据存储和处理功能ARPF通过计算验证所述认证消息MACUE;通过DH生成新的棘轮密钥对,计算得到新的根密钥RK1 ARPF和发送消息密钥CK1 ARPF,通过根密钥RK1 ARPF代替长期密钥K派生KAUSF,产生随机数RARPF;所述新的棘轮密钥对包括私钥SK1 ARPF以及公钥PK1 ARPF;计算哈希值MACARPF=
Figure 556483DEST_PATH_IMAGE012
(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥
Figure 96049DEST_PATH_IMAGE014
=DH(SK1 ARPF,PK0 AUSF),计算
Figure 883877DEST_PATH_IMAGE016
=
Figure 943231DEST_PATH_IMAGE014
(RARPF);所述
Figure 892732DEST_PATH_IMAGE016
为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的棘轮密钥
Figure 919594DEST_PATH_IMAGE014
进行加密得到的值;并使用棘轮密钥
Figure 245533DEST_PATH_IMAGE014
对所述用户永久标识符SUPI以及所述KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的
Figure 408661DEST_PATH_IMAGE018
;发送所述随机数RARPF、所述随机数RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的
Figure 778331DEST_PATH_IMAGE018
、所述
Figure 292489DEST_PATH_IMAGE020
以及所述新的棘轮密钥对中包括的公钥PK1 ARPF到所述认证服务器功能AUSF;其中,棘轮密钥
Figure 156540DEST_PATH_IMAGE014
中的2表示认证服务器功能AUSF,3表示认证凭据存储和处理功能ARPF;
Figure 439754DEST_PATH_IMAGE012
为第一次生成的发送消息密钥CK1 ARPF的单向密钥加密函数;
接收所述认证凭据存储和处理功能ARPF的消息后,所述认证服务器功能AUSF作DH运算得到密钥
Figure 744440DEST_PATH_IMAGE022
=DH(SK0 AUSF, PK1 ARPF),计算
Figure 480315DEST_PATH_IMAGE024
=
Figure 148057DEST_PATH_IMAGE022
(RARPF);所述
Figure 285777DEST_PATH_IMAGE024
为通过认证凭据存储和处理功能ARPF和认证服务器功能生成的密钥
Figure 13561DEST_PATH_IMAGE022
进行加密得到的值;判断
Figure 751579DEST_PATH_IMAGE024
Figure 957433DEST_PATH_IMAGE016
比较是否相等,若
Figure 949659DEST_PATH_IMAGE024
Figure 848345DEST_PATH_IMAGE016
相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的
Figure 558812DEST_PATH_IMAGE018
得到所述用户永久标识符SUPI以及所述KAUSF,产生随机数RAUSF,计算
Figure DEST_PATH_IMAGE051
=
Figure 787930DEST_PATH_IMAGE008
(RAUSF)、消息认证码MACAUSF=
Figure 165822DEST_PATH_IMAGE028
(RAUSF,RUE,RARPF,SNname);所述
Figure 969830DEST_PATH_IMAGE026
为通过认证服务器功能AUSF和安全锚功能生成的密钥
Figure 416861DEST_PATH_IMAGE030
进行加密得到的值;通过所述KAUSF派生锚密钥KSEAF= KDF (KAUSF,RAUSF,RARPF,RUE,SNname),使用所述
Figure 964517DEST_PATH_IMAGE008
加密所述用户永久标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥
Figure 196915DEST_PATH_IMAGE032
,生成认证令牌AUTNAUSF=(RAUSF, MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 171824DEST_PATH_IMAGE026
、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥
Figure 856884DEST_PATH_IMAGE032
、所述公钥PK1 ARPF一起发送到安全锚功能SEAF;其中,KDF为密钥推导函数;
Figure 956033DEST_PATH_IMAGE028
为第一次生成的第一棘轮密钥
Figure 42938DEST_PATH_IMAGE006
的单向密钥加密函数;
接收所述认证服务器功能AUSF的消息后,所述安全锚功能SEAF运算得到棘轮密钥
Figure 454328DEST_PATH_IMAGE034
=DH(SK0 SEAF, PK0 AUSF),计算
Figure 361104DEST_PATH_IMAGE036
=
Figure 516142DEST_PATH_IMAGE034
(RAUSF);所述
Figure 706820DEST_PATH_IMAGE016
为通过ARPF和AUSF生成的密钥
Figure 23532DEST_PATH_IMAGE014
进行加密得到的值;判断
Figure 417605DEST_PATH_IMAGE037
Figure 376333DEST_PATH_IMAGE026
比较是否相等,若所述
Figure 922983DEST_PATH_IMAGE036
与所述
Figure 676176DEST_PATH_IMAGE026
相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥
Figure 823123DEST_PATH_IMAGE032
得到所述用户永久标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算
Figure 54384DEST_PATH_IMAGE039
=
Figure 704809DEST_PATH_IMAGE004
(RSEAF)、消息认证码MACSEAF=
Figure 878170DEST_PATH_IMAGE041
(RSEAF,RAUSF, RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACSEAF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述
Figure 512414DEST_PATH_IMAGE039
以及所述公钥PK1 ARPF一起发送给所述用户设备UE;所述
Figure 547366DEST_PATH_IMAGE039
为通过安全锚功能SEAF和用户设备UE生成的密钥
Figure 52296DEST_PATH_IMAGE004
进行加密得到的值;
所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述消息认证码MAC’ARPF与所述消息认证码MACARPF是否相等,若所述消息认证码MAC’ARPF与所述消息认证码MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥
Figure 895094DEST_PATH_IMAGE043
以及密钥
Figure 751055DEST_PATH_IMAGE045
,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);KDF为密钥推导函数;所述用户设备UE生成新的棘轮密钥对, 执行一次DH棘轮步进生成密钥
Figure 589698DEST_PATH_IMAGE043
以及密钥
Figure 214714DEST_PATH_IMAGE045
,计算哈希值SRES=
Figure 746189DEST_PATH_IMAGE050
(RSEAF,RUE,SNname)、哈希值ARES=
Figure DEST_PATH_IMAGE052
(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述哈希值SRES以及所述哈希值ARES给所述安全锚功能SEAF;所述
Figure 541976DEST_PATH_IMAGE043
为通过UE的公钥和安全锚功能SEAF的私钥生成的密钥;所述
Figure 184310DEST_PATH_IMAGE045
为通过UE的公钥和AUSF的私钥生成的密钥;
Figure 929412DEST_PATH_IMAGE050
为第二次生成的密钥
Figure 366210DEST_PATH_IMAGE043
的单向密钥加密函数;
Figure 681916DEST_PATH_IMAGE049
为第二次生成的密钥
Figure 596782DEST_PATH_IMAGE045
的单向密钥加密函数;
接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥
Figure 461970DEST_PATH_IMAGE004
,计算加密后的哈希值SRES*,并判断加密后的哈希值SRES*与所述哈希值SRES是否相等,若所述加密后的哈希值SRES*与所述哈希值SRES相等,确定所述安全锚功能SEAF认证成功,并将所述第二次生成的私钥SK1 UE以及所述哈希值ARES发送给所述认证服务器功能AUSF;
所述认证服务器功能AUSF接收所述第二次生成的私钥SK1 UE以及所述哈希值ARES后,所述认证服务器功能AUSF生成
Figure 69669DEST_PATH_IMAGE006
,计算加密后的哈希值ARES*,并判断加密后的哈希值ARES*与所述哈希值ARES是否相等,若所述加密后的哈希值ARES*与所述哈希值ARES相等,向所述安全锚功能SEAF发送一个身份验证成功消息。
7.根据权利要求6所述的基于DH棘轮算法的5G网络认证系统,其特征在于,所述用户设备UE和所述安全锚功能SEAF共享一个密钥作为一个锚密钥KSEAF
8.根据权利要求6所述的基于DH棘轮算法的5G网络认证系统,其特征在于,所述用户设备UE、所述安全锚功能SEAF、所述认证服务器功能AUSF以及所述认证凭据存储和处理功能ARPF这四个实体产生了各自的棘轮密钥,上述实体对要发送的信息进行加密后发送。
9.根据权利要求8所述的基于DH棘轮算法的5G网络认证系统,其特征在于,参与认证的每个实体相互认证。
10.根据权利要求6所述的基于DH棘轮算法的5G网络认证系统,其特征在于,每次认证过程中产生不同的棘轮密钥;基于不同的棘轮密钥,使得每次认证过程均不相同。
CN202110072503.XA 2021-01-20 2021-01-20 一种基于dh棘轮算法的5g网络认证方法及系统 Active CN112399407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110072503.XA CN112399407B (zh) 2021-01-20 2021-01-20 一种基于dh棘轮算法的5g网络认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110072503.XA CN112399407B (zh) 2021-01-20 2021-01-20 一种基于dh棘轮算法的5g网络认证方法及系统

Publications (2)

Publication Number Publication Date
CN112399407A CN112399407A (zh) 2021-02-23
CN112399407B true CN112399407B (zh) 2021-04-27

Family

ID=74625564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110072503.XA Active CN112399407B (zh) 2021-01-20 2021-01-20 一种基于dh棘轮算法的5g网络认证方法及系统

Country Status (1)

Country Link
CN (1) CN112399407B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822018B (zh) * 2021-04-21 2021-07-02 北京电信易通信息技术股份有限公司 一种基于双线性对的移动设备安全认证方法及系统
CN113541936A (zh) * 2021-06-16 2021-10-22 泰安北航科技园信息科技有限公司 一种Tarmarin分析安全的5G AKA协议安全增进系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110891271A (zh) * 2018-09-10 2020-03-17 大唐移动通信设备有限公司 一种鉴权方法及装置
CN111641498A (zh) * 2019-03-01 2020-09-08 中兴通讯股份有限公司 密钥的确定方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10637858B2 (en) * 2018-02-23 2020-04-28 T-Mobile Usa, Inc. Key-derivation verification in telecommunications network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110891271A (zh) * 2018-09-10 2020-03-17 大唐移动通信设备有限公司 一种鉴权方法及装置
CN111641498A (zh) * 2019-03-01 2020-09-08 中兴通讯股份有限公司 密钥的确定方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
5G 网络的设备及其接入安全;陆海涛等;《中兴通讯技术》;20190831;第25卷(第4期);全文 *
An Improved Privacy Authentication Protocol for 5G Mobile Networks;Mariya Ouaissa等;《2020 International Conference on Advances in Computing, Communication & Materials (ICACCM)》;20201110;全文 *
基于5G用户卡的5G接入认证分析及试验;蔡秋艳等;《移动通信》;20200515(第5期);全文 *

Also Published As

Publication number Publication date
CN112399407A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN108650227B (zh) 基于数据报安全传输协议的握手方法及系统
US7269730B2 (en) Method and apparatus for providing peer authentication for an internet key exchange
CN111314056B (zh) 基于身份加密体制的天地一体化网络匿名接入认证方法
KR101135254B1 (ko) Ibss 네트워크에 적용하는 액세스 인증 방법
CN104754581B (zh) 一种基于公钥密码体制的lte无线网络的安全认证方法
US20110320802A1 (en) Authentication method, key distribution method and authentication and key distribution method
CN102036238B (zh) 一种基于公钥实现用户与网络认证和密钥分发的方法
US11044084B2 (en) Method for unified network and service authentication based on ID-based cryptography
WO2010012203A1 (zh) 鉴权方法、重认证方法和通信装置
Sun et al. Privacy-preserving device discovery and authentication scheme for D2D communication in 3GPP 5G HetNet
CN110087240B (zh) 基于wpa2-psk模式的无线网络安全数据传输方法及系统
CN111565169B (zh) 移动边缘计算架构下云边端认证方法、电子设备及存储介质
CN110247803B (zh) 一种针对网络管理协议SNMPv3的协议优化架构及其方法
CN112399407B (zh) 一种基于dh棘轮算法的5g网络认证方法及系统
WO2022143030A1 (zh) 基于国密标识密码算法的私钥分发系统
CN112333705B (zh) 一种用于5g通信网络的身份认证方法及系统
CN106992866A (zh) 一种基于nfc无证书认证的无线网络接入方法
CN100544247C (zh) 安全能力协商方法
CN116762382A (zh) Msgin5g服务器中认证和授权的方法和系统
Zhu et al. Research on authentication mechanism of cognitive radio networks based on certification authority
CN112822018B (zh) 一种基于双线性对的移动设备安全认证方法及系统
CN213938340U (zh) 5g应用接入认证网络架构
Dey et al. An efficient dynamic key based EAP authentication framework for future IEEE 802.1 x Wireless LANs
CN112235799B (zh) 终端设备入网鉴权方法及系统
CN114386020A (zh) 基于量子安全的快速二次身份认证方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant