CN112399407B - 一种基于dh棘轮算法的5g网络认证方法及系统 - Google Patents
一种基于dh棘轮算法的5g网络认证方法及系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Abstract
本发明涉及一种基于DH棘轮算法的5G网络认证方法及系统。该方法包括:首先用户设备通过棘轮密钥加密身份信息发送给服务器进行验证,保证了身份信息的机密性;对于5G网络中的每个实体都产生棘轮密钥对,保证了每个实体在传输信息时通过自身的棘轮密钥加密传输信息,保证了信息的安全性,每个实体通过产生各自的身份令牌,保证了各个实体之间的相互验证,避免了假冒攻击;通过棘轮步进使得每个实体在会话过程中产生不同的棘轮密钥,使得每次会话使用不同的棘轮密钥进行加密,使得消息传输过程中更加安全;5G中的会话密钥通过棘轮密钥产生,不再通过共享密钥K来产生,避免了因为共享密钥K的泄露造成的安全问题。
Description
技术领域
本发明涉及信息安全领域,特别是涉及一种基于迪菲-赫尔曼(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=(SUCI,RUE),并将所述用户隐藏标识符SUCI、随机数RUE、所述公钥PK0 UE和所述认证消息MACUE发送给安全锚功能SEAF;为第一次生成的发送消息密钥CK0 UE的单向密钥加密函数;
所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥=DH(SK0 SEAF,PK0 UE),保存棘轮密钥,将接收的所述认证数据和服务标识SNname发送给认证服务器功能AUSF进行进一步验证;其中,棘轮密钥中0表示用户设备UE,1表示安全锚功能SEAF,表示安全锚功能SEAF使用安全锚功能SEAF的私钥和用户设备UE的公钥通过DH算法生成的密钥;SK0 SEAF为安全锚功能SEAF的私钥;
接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较,进行验证,通过DH生成当前的棘轮密钥对得到认证服务器功能AUSF内的棘轮密钥;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥,将所述公钥PK0 AUSF和接收的认证数据发送给所述认证凭据存储和处理功能ARPF;其中,SK0 AUSF为认证服务器功能AUSF的私钥;PK0 SEAF为安全锚功能SEAF的公钥;第一棘轮密钥和第二棘轮密钥中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=(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥=DH(SK1 ARPF,PK0 AUSF),计算=(RARPF);所述为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的棘轮密钥进行加密得到的值;并使用棘轮密钥对所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的长期密钥K派生;发送所述随机数RARPF、所述随机数RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的长期密钥K派生、所述以及所述新的根密钥PK1 ARPF到所述认证服务器功能AUSF;其中,棘轮密钥中的2表示认证服务器功能AUSF,3表示认证凭据存储和处理功能ARPF;为第一次生成的发送消息密钥CK1 ARPF的单向密钥加密函数;
接收所述认证凭据存储和处理功能ARPF的消息时,作DH运算得到密钥=DH(SK0 AUSF, PK1 ARPF),计算=(RAUSF);所述为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的密钥进行加密得到的值;判断与比较是否相等,若与相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的长期密钥K派生得到所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF,产生随机数RAUSF,计算=(RAUSF)、消息认证码MACAUSF=(RAUSF,RUE,RARPF,SNname);所述为通过认证服务器功能AUSF和安全锚功能SEAF生成的密钥进行加密得到的值;通过所述长期密钥K派生KAUSF派生锚密钥KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname),使用所述加密所述用户隐藏标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥,生成认证令牌AUTNAUSF=(RAUSF, MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥、所述公钥PK1 ARPF一起发送到安全锚功能SEAF;其中,KDF为密钥推导函数;为第一次生成的第一棘轮密钥的单向密钥加密函数;
接收所述认证服务器功能AUSF的消息后,运算得到所述棘轮密钥=DH(SK0 SEAF, PK0 AUSF),计算=(RAUSF);判断与比较是否相等,若所述与所述相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥得到所述用户隐藏标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算=(RSEAF)、消息认证码MACSEAF=(RSEAF,RAUSF,RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述以及所述公钥PK1 ARPF一起发送给所述用户设备UE;所述为通过安全锚功能SEAF和用户设备UE生成的密钥进行加密得到的值;
所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述消息认证码MAC’ARPF与所述消息认证码MACARPF是否相等,若所述消息认证码MAC’ARPF与所述消息认证码MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥以及密钥,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);所述用户设备UE生成新的的棘轮密钥对执行一次DH棘轮步进生成密钥以及密钥,计算哈希值SRES=(RSEAF,RUE,SNname)、哈希值ARES=(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述哈希值SRES以及所述哈希值ARES给所述安全锚功能SEAF;所述为通过UE的公钥和安全锚功能SEAF的私钥生成的密钥;所述为通过UE的公钥和AUSF的私钥生成的密钥;为第二次生成的密钥的单向密钥加密函数;为第二次生成的密钥的单向密钥加密函数;
接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥,判断加密后的哈希值SRES*与所述哈希值SRES是否相等,若所述加密后的哈希值SRES*与所述哈希值SRES相等,确定所述安全锚功能SEAF认证成功,并将所述第二次生成的私钥SK1 UE以及所述哈希值ARES发送给所述认证服务器功能AUSF;
所述认证服务器功能AUSF接收所述第二次生成的私钥SK1 UE以及所述哈希值ARES后,所述认证服务器功能AUSF生成,并判断加密后的哈希值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=(SUCI,RUE),并将所述用户隐藏标识符SUCI、随机数RUE、所述公钥PK0 UE和所述认证消息MACUE发送给安全锚功能SEAF;为第一次生成的发送消息密钥CK0 UE的单向密钥加密函数;
安全锚功能SEAF内棘轮密钥计算模块,用于所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥=DH(SK0 SEAF,PK0 UE),保存棘轮密钥,将接收的所述认证数据和服务标识SNname发送给认证服务器功能AUSF进行进一步验证;其中,棘轮密钥中0表示用户设备UE,1表示安全锚功能SEAF,表示安全锚功能SEAF使用安全锚功能SEAF的私钥和用户设备UE的公钥通过DH算法生成的密钥;SK0 SEAF为安全锚功能SEAF的私钥;
认证服务器功能AUSF内的棘轮密钥计算模块,用于接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较,进行验证,通过DH生成当前的棘轮密钥对得到认证服务器功能AUSF内的棘轮密钥;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥,将所述公钥PK0 AUSF和接收的认证数据发送给所述认证凭据存储和处理功能ARPF;其中,SK0 AUSF为认证服务器功能AUSF的私钥;PK0 SEAF为安全锚功能SEAF的公钥;第一棘轮密钥和第二棘轮密钥中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=(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥=DH(SK1 ARPF,PK0 AUSF),计算=(RARPF);所述为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的棘轮密钥进行加密得到的值;并使用棘轮密钥对所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的长期密钥K派生;发送所述随机数RARPF、所述随机数RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的长期密钥K派生、所述以及所述新的根密钥PK1 ARPF到所述认证服务器功能AUSF;其中,棘轮密钥中的2表示认证服务器功能AUSF,3表示认证凭据存储和处理功能ARPF;为第一次生成的发送消息密钥CK1 ARPF的单向密钥加密函数;
认证凭据存储和处理功能ARPF认证模块,用于接收所述认证凭据存储和处理功能ARPF的消息时,作DH运算得到密钥=DH(SK0 AUSF, PK1 ARPF),计算 =(RAUSF);所述为通过认证凭据存储和处理功能ARPF和认证服务器功能生成的密钥进行加密得到的值;判断与比较是否相等,若与相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的长期密钥K派生得到所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF,产生随机数RAUSF,计算=(RAUSF)、消息认证码MACAUSF=(RAUSF,RUE,RARPF,SNname);所述为通过认证服务器功能AUSF和安全锚功能生成的密钥进行加密得到的值;通过所述长期密钥K派生KAUSF派生锚密钥KSEAF= KDF (KAUSF,RAUSF,RARPF,RUE,SNname),使用所述加密所述用户隐藏标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥,生成认证令牌AUTNAUSF=(RAUSF, MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥、所述公钥PK1 ARPF一起发送到安全锚功能SEAF;其中,KDF为密钥推导函数;为第一次生成的第一棘轮密钥的单向密钥加密函数;
认证服务器功能AUSF认证模块,用于接收所述认证服务器功能AUSF的消息后,运算得到所述棘轮密钥=DH(SK0 SEAF, PK0 AUSF),计算=(RAUSF);所述为通过ARPF和AUSF生成的密钥进行加密得到的值;判断与比较是否相等,若所述与所述相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥得到所述用户隐藏标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算=(RSEAF)、消息认证码MACSEAF=(RSEAF,RAUSF, RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述以及所述公钥PK1 ARPF一起发送给所述用户设备UE;所述为通过安全锚功能SEAF和用户设备UE生成的密钥进行加密得到的值;
用户设备UE认证ARPF的认证模块,用于所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述消息认证码MAC’ARPF与所述消息认证码MACARPF是否相等,若所述消息认证码MAC’ARPF与所述消息认证码MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥以及密钥,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);KDF为密钥推导函数;所述用户设备UE生成新的的棘轮密钥对执行一次DH棘轮步进生成密钥以及密钥,计算哈希值SRES=(RSEAF,RUE,SNname)、哈希值ARES=(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述哈希值SRES以及所述哈希值ARES给所述安全锚功能SEAF;所述为通过UE的公钥和安全锚功能SEAF的私钥生成的密钥;所述为通过UE的公钥和AUSF的私钥生成的密钥;为第二次生成的密钥的单向密钥加密函数;为第二次生成的密钥的单向密钥加密函数;
安全锚功能SEAF认证模块,用于接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥,判断加密后的哈希值SRES*与所述哈希值SRES是否相等,若所述加密后的哈希值SRES*与所述哈希值SRES相等,确定所述安全锚功能SEAF认证成功,并将所述第二次生成的私钥SK1 UE以及所述哈希值ARES发送给所述认证服务器功能AUSF;
成功身份验证消息发送模块,用于所述认证服务器功能AUSF接收所述第二次生成的私钥SK1 UE以及所述哈希值ARES后,所述认证服务器功能AUSF生成,并判断加密后的哈希值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 =(SUCI,RUE),然后将SUCI、RUE、PK0 UE和MACUE发送给安全锚功能SEAF。
步骤三:安全锚功能SEAF收到用户设备UE发送的认证数据,计算得到棘轮密钥=DH(SK0 SEAF,PK0 UE),保存棘轮密钥,将收到的认证数据和服务标识SNname发送给认证服务器功能(Authentication Server Function,AUSF)进行进一步验证。
步骤四:在收到身份验证数据请求消息后,认证服务器功能AUSF将收到的服务标识SNname与期望的网络名称进行比较,进行验证,通过DH生成当前的棘轮密钥对得到棘轮密钥=DH(SK0 AUSF,PK0 UE),=DH(SK0 AUSF,PK0 SEAF),保存棘轮密钥,将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=(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥=DH(SK1 ARPF,PK0 AUSF),计算=(RARPF),并使用对SUPI,KAUSF加密得到SUPI*,,然后发送RARPF,RUE,AUTN,SUPI*,,,PK1 ARPF到认证服务器功能AUSF。
步骤六:在接收到认证凭据存储和处理功能ARPF的消息时,作DH运算得到密钥=DH(SK0 AUSF,PK1 ARPF),计算=(RAUSF),与比较是否相等,相等就验证了认证凭据存储和处理功能ARPF,然后解密SUPI*,得到SUPI,KAUSF,产生随机数RAUSF,计算=(RAUSF),MACAUSF=(RAUSF,RUE,RARPF,SNname),通过密钥KAUSF派生锚密钥KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname),使用加密SUPI,KSEAF生成SUPI*,,生成认证令牌AUTNAUSF=(RAUSF,MACAUSF),然后将RARPF,RAUSF,RUE,AUTNAUSF,AUTN,,SUPI*,,PK1 ARPF一起发送到安全锚功能SEAF。
步骤七:在接收到认证服务器功能AUSF的消息后,运算得到密钥=DH(SK0 SEAF,PK0 AUSF),计算=(RAUSF),与比较是否相等,相等就验证了认证服务器功能AUSF,解密得到SUPI,KSEAF,产生随机数RSEAF,计算=(RSEAF),MACSEAF=(RSEAF,RAUSF,RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACAUSF),然后将RARPF,RAUSF,RSEAF,AUTNSEAF,AUTNAUSF,AUTN,,PK1 ARPF一起发送给用户设备用户设备UE。
步骤八:在收到信息后,用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查认证令牌AUTN,计算得到MAC’ARPF,与收到的MACARPF进行对比,如果相等,那么UE就验证了ARPF;同样的UE通过运算得到密钥,,检查AUTNSEAF,AUTNAUSF;UE通过RK2 UE代替K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);UE生成新的的棘轮密钥对执行一次DH棘轮步进生成,,计算SRES=(RSEAF RUE,SNname)、ARES=(RAUSF RUE,SNname),最后用户设备UE发送SK1 UE、SRES、ARES给安全锚功能SEAF。
步骤十:为了与用户设备UE进行相互的验证,认证服务器功能AUSF接收到SK1 UE、ARES后,AUSF计算生成,计算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=(SUCI,RUE),并将所述用户隐藏标识符SUCI、RUE、所述公钥PK0 UE和所述认证消息MACUE发送给安全锚功能SEAF;f为单向密钥加密函数。
安全锚功能SEAF内棘轮密钥计算模块303,用于所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥=DH(SK0 SEAF,PK0 UE),保存棘轮密钥,将接收的所述认证数据和服务标识SNname发送给认证服务器功能AUSF进行进一步验证;其中,中0表示UE,1表示SEAF,2表示AUSF,3表示ARPF,(1,0)表示SEAF使用SEAF的私钥和UE的公钥通过DH算法生成的密钥。
认证服务器功能AUSF内的棘轮密钥计算模块304,用于接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较,进行验证,通过DH生成当前的棘轮密钥对得到认证服务器功能AUSF内的棘轮密钥;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥,将所述公钥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=(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥=DH(SK1 ARPF,PK0 AUSF),计算=(RARPF);所述为通过ARPF和AUSF生成的密钥进行加密得到的值;并使用对所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的长期密钥K派生;发送所述随机数RARPF、所述RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的长期密钥K派生、所述以及所述新的根密钥PK1 ARPF到所述认证服务器功能AUSF。
认证凭据存储和处理功能ARPF认证模块306,用于接收所述认证凭据存储和处理功能ARPF的消息时,作DH运算得到密钥=DH(SK0 AUSF,PK1 ARPF),计算=(RAUSF);所述为通过ARPF和AUSF生成的密钥进行加密得到的值;判断与比较是否相等,若与相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的长期密钥K派生得到所述用户永久标识符SUPI以及所述长期密钥K派生KAUSF,产生随机数RAUSF,计算=(RAUSF)、消息认证码MACAUSF=(RAUSF,RUE,RARPF,SNname);所述为通过AUSF和SEAF生成的密钥进行加密得到的值;通过所述长期密钥K派生KAUSF派生锚密钥KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname),使用所述加密所述用户隐藏标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥,生成认证令牌AUTNAUSF=(RAUSF,MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥、所述公钥PK1 ARPF一起发送到安全锚功能SEAF。
认证服务器功能AUSF认证模块307,用于接收所述认证服务器功能AUSF的消息后,运算得到所述棘轮密钥=DH(SK0 SEAF,PK0 AUSF),计算=(RAUSF);所述为通过ARPF和AUSF生成的密钥进行加密得到的值;判断与比较是否相等,若所述与所述相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥得到所述用户隐藏标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算=(RSEAF)、消息认证码MACSEAF=(RSEAF,RAUSF,RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述以及所述公钥PK1 ARPF一起发送给所述用户设备UE。
用户设备UE认证ARPF的认证模块308,用于所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述MAC’ARPF与所述MACARPF是否相等,若所述MAC’ARPF与所述MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥以及密钥,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);KDF为密钥推导函数;所述用户设备UE生成新的的棘轮密钥对执行一次DH棘轮步进生成密钥以及密钥,计算哈希值SRES=(RSEAF,RUE,SNname)、哈希值ARES=(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述SRES以及所述ARES给所述安全锚功能SEAF;所述为通过UE的公钥和SEAF的私钥生成的密钥;所述为通过UE的公钥和AUSF的私钥生成的密钥。
安全锚功能SEAF认证模块309,用于接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥,判断所述SRES*与所述SRES是否相等,若所述SRES*与所述SRES相等,确定所述安全锚功能SEAF认证成功,并将所述SK1 UE以及所述ARES发送给所述认证服务器功能AUSF。
成功身份验证消息发送模块310,用于所述认证服务器功能AUSF接收所述SK1 UE以及所述ARES后,所述认证服务器功能AUSF生成,并判断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= (SUCI,RUE),并将所述用户隐藏标识符SUCI、随机数RUE、所述公钥PK0 UE和所述认证消息MACUE作为认证数据发送给安全锚功能SEAF;为第一次生成的发送消息密钥CK0 UE的单向密钥加密函数;
所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥=DH(SK0 SEAF,PK0 UE),保存棘轮密钥,将接收的所述认证数据和服务标识SNname携带在身份验证数据请求消息中发送给认证服务器功能AUSF进行进一步验证;其中,棘轮密钥中0表示用户设备UE,1表示安全锚功能SEAF,表示安全锚功能SEAF使用安全锚功能SEAF的私钥和用户设备UE的公钥通过DH算法生成的密钥;SK0 SEAF为安全锚功能SEAF的私钥;
接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较以进行验证,通过DH生成当前的棘轮密钥对,并运算得到认证服务器功能AUSF内的棘轮密钥,其中,所述棘轮密钥对包括私钥SK0 AUSF以及公钥PK0 AUSF;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥,将所述公钥PK0 AUSF和接收的所述认证数据和服务标识SNname发送给所述认证凭据存储和处理功能ARPF;其中,SK0 AUSF为认证服务器功能AUSF的私钥;PK0 SEAF为安全锚功能SEAF的公钥;第一棘轮密钥和第二棘轮密钥中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=(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥=DH(SK1 ARPF,PK0 AUSF),计算=(RARPF);所述为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的棘轮密钥进行加密得到的值;并使用棘轮密钥对所述用户永久标识符SUPI以及所述KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的;发送所述随机数RARPF、所述随机数RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的、所述以及所述新的棘轮密钥对中包括的公钥PK1 ARPF到所述认证服务器功能AUSF;其中,棘轮密钥中的2表示认证服务器功能AUSF,3表示认证凭据存储和处理功能ARPF;为第一次生成的发送消息密钥CK1 ARPF的单向密钥加密函数;
接收所述认证凭据存储和处理功能ARPF的消息后,所述认证服务器功能AUSF作DH运算得到密钥=DH(SK0 AUSF, PK1 ARPF),计算=(RARPF);所述为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的密钥进行加密得到的值;判断与比较是否相等,若与相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的得到所述用户永久标识符SUPI以及所述KAUSF,产生随机数RAUSF,计算=(RAUSF)、消息认证码MACAUSF=(RAUSF,RUE,RARPF,SNname);所述为通过认证服务器功能AUSF和安全锚功能SEAF生成的密钥进行加密得到的值;通过所述KAUSF派生锚密钥KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname),使用所述加密所述用户永久标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥,生成认证令牌AUTNAUSF=(RAUSF, MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥、所述公钥PK1 ARPF一起发送到安全锚功能SEAF;其中,KDF为密钥推导函数;为第一次生成的第一棘轮密钥的单向密钥加密函数;
接收所述认证服务器功能AUSF的消息后,所述安全锚功能SEAF运算得到棘轮密钥=DH(SK0 SEAF, PK0 AUSF),计算=(RAUSF);判断与比较是否相等,若所述与所述相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥得到所述用户永久标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算=(RSEAF)、消息认证码MACSEAF=(RSEAF,RAUSF,RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACSEAF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述以及所述公钥PK1 ARPF一起发送给所述用户设备UE;所述为通过安全锚功能SEAF和用户设备UE生成的密钥进行加密得到的值;
所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述消息认证码MAC’ARPF与所述消息认证码MACARPF是否相等,若所述消息认证码MAC’ARPF与所述消息认证码MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥以及密钥,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);所述用户设备UE生成新的棘轮密钥对,执行一次DH棘轮步进生成密钥以及密钥,计算哈希值SRES=(RSEAF,RUE,SNname)、哈希值ARES=(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述哈希值SRES以及所述哈希值ARES给所述安全锚功能SEAF;所述为通过UE的公钥和安全锚功能SEAF的私钥生成的密钥;所述为通过UE的公钥和AUSF的私钥生成的密钥;为第二次生成的密钥的单向密钥加密函数;为第二次生成的密钥的单向密钥加密函数;
接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥,计算加密后的哈希值SRES*,并判断加密后的哈希值SRES*与所述哈希值SRES是否相等,若所述加密后的哈希值SRES*与所述哈希值SRES相等,确定所述安全锚功能SEAF认证成功,并将所述第二次生成的私钥SK1 UE以及所述哈希值ARES发送给所述认证服务器功能AUSF;
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=(SUCI,RUE),并将所述用户隐藏标识符SUCI、随机数RUE、所述公钥PK0 UE和所述认证消息MACUE作为认证数据发送给安全锚功能SEAF;为第一次生成的发送消息密钥CK0 UE的单向密钥加密函数;
所述安全锚功能SEAF接收所述用户设备UE发送的认证数据,计算得到棘轮密钥=DH(SK0 SEAF,PK0 UE),保存棘轮密钥,将接收的所述认证数据和服务标识SNname携带在身份验证数据请求消息中发送给认证服务器功能AUSF进行进一步验证;其中,棘轮密钥中0表示用户设备UE,1表示安全锚功能SEAF,表示安全锚功能SEAF使用安全锚功能SEAF的私钥和用户设备UE的公钥通过DH算法生成的密钥;SK0 SEAF为安全锚功能SEAF的私钥;
接收身份验证数据请求消息后,所述认证服务器功能AUSF将接收的服务标识SNname与期望的网络名称进行比较以进行验证,通过DH生成当前的棘轮密钥对,并运算得到认证服务器功能AUSF内的棘轮密钥,其中,所述棘轮密钥对包括私钥SK0 AUSF以及公钥PK0 AUSF;所述认证服务器功能AUSF内的棘轮密钥包括第一棘轮密钥=DH(SK0 AUSF,PK0 UE)以及第二棘轮密钥=DH(SK0 AUSF,PK0 SEAF);保存认证服务器功能AUSF内的棘轮密钥,将所述公钥PK0 AUSF和接收的所述认证数据和服务标识SNname发送给所述认证凭据存储和处理功能ARPF;其中,SK0 AUSF为认证服务器功能AUSF的私钥;PK0 SEAF为安全锚功能SEAF的公钥;第一棘轮密钥和第二棘轮密钥中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=(RARPF,RUE,SNname),身份验证令牌AUTN=(RARPF,MACARPF);同时作DH运算得到密钥=DH(SK1 ARPF,PK0 AUSF),计算=(RARPF);所述为通过认证凭据存储和处理功能ARPF和认证服务器功能AUSF生成的棘轮密钥进行加密得到的值;并使用棘轮密钥对所述用户永久标识符SUPI以及所述KAUSF加密得到加密后的用户永久标识符SUPI*以及加密后的;发送所述随机数RARPF、所述随机数RUE、所述身份验证令牌AUTN、所述加密后的用户永久标识符SUPI*、所述加密后的、所述以及所述新的棘轮密钥对中包括的公钥PK1 ARPF到所述认证服务器功能AUSF;其中,棘轮密钥中的2表示认证服务器功能AUSF,3表示认证凭据存储和处理功能ARPF;为第一次生成的发送消息密钥CK1 ARPF的单向密钥加密函数;
接收所述认证凭据存储和处理功能ARPF的消息后,所述认证服务器功能AUSF作DH运算得到密钥=DH(SK0 AUSF, PK1 ARPF),计算 =(RARPF);所述为通过认证凭据存储和处理功能ARPF和认证服务器功能生成的密钥进行加密得到的值;判断与比较是否相等,若与相等,确定所述认证凭据存储和处理功能ARPF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的得到所述用户永久标识符SUPI以及所述KAUSF,产生随机数RAUSF,计算=(RAUSF)、消息认证码MACAUSF=(RAUSF,RUE,RARPF,SNname);所述为通过认证服务器功能AUSF和安全锚功能生成的密钥进行加密得到的值;通过所述KAUSF派生锚密钥KSEAF= KDF (KAUSF,RAUSF,RARPF,RUE,SNname),使用所述加密所述用户永久标识符SUPI以及所述锚密钥KSEAF生成所述加密后的用户永久标识符SUPI*以及加密后的锚密钥,生成认证令牌AUTNAUSF=(RAUSF, MACAUSF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RUE、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述、所述加密后的用户永久标识符SUPI*、所述加密后的锚密钥、所述公钥PK1 ARPF一起发送到安全锚功能SEAF;其中,KDF为密钥推导函数;为第一次生成的第一棘轮密钥的单向密钥加密函数;
接收所述认证服务器功能AUSF的消息后,所述安全锚功能SEAF运算得到棘轮密钥=DH(SK0 SEAF, PK0 AUSF),计算=(RAUSF);所述为通过ARPF和AUSF生成的密钥进行加密得到的值;判断与比较是否相等,若所述与所述相等,确定所述认证服务器功能AUSF认证成功,并解密所述加密后的用户永久标识符SUPI*以及所述加密后的锚密钥得到所述用户永久标识符SUPI以及所述锚密钥KSEAF,产生随机数RSEAF,计算=(RSEAF)、消息认证码MACSEAF=(RSEAF,RAUSF, RUE,RARPF,SNname),生成认证令牌AUTNSEAF=(RSEAF,MACSEAF),并将所述随机数RARPF、所述随机数RAUSF、所述随机数RSEAF、所述认证令牌AUTNSEAF、所述认证令牌AUTNAUSF、所述身份验证令牌AUTN、所述以及所述公钥PK1 ARPF一起发送给所述用户设备UE;所述为通过安全锚功能SEAF和用户设备UE生成的密钥进行加密得到的值;
所述用户设备UE接收信息后,所述用户设备UE计算得到新的根密钥RK2 UE和接收消息密钥CK2 UE,检查所述身份验证令牌AUTN,计算得到消息认证码MAC’ARPF;判断所述消息认证码MAC’ARPF与所述消息认证码MACARPF是否相等,若所述消息认证码MAC’ARPF与所述消息认证码MACARPF相等,确定所述用户设备UE成功认证所述认证凭据存储和处理功能ARPF;所述用户设备UE通过运算得到密钥以及密钥,检查所述认证令牌AUTNSEAF以及所述认证令牌AUTNAUSF;所述用户设备UE通过第二次生成的根密钥RK2 UE代替所述长期密钥K派生KAUSF,并得到KSEAF=KDF(KAUSF,RAUSF,RARPF,RUE,SNname);KDF为密钥推导函数;所述用户设备UE生成新的棘轮密钥对, 执行一次DH棘轮步进生成密钥以及密钥,计算哈希值SRES=(RSEAF,RUE,SNname)、哈希值ARES=(RAUSF,RUE,SNname),并由所述用户设备UE发送用户设备第二次生成的私钥SK1 UE、所述哈希值SRES以及所述哈希值ARES给所述安全锚功能SEAF;所述为通过UE的公钥和安全锚功能SEAF的私钥生成的密钥;所述为通过UE的公钥和AUSF的私钥生成的密钥;为第二次生成的密钥的单向密钥加密函数;为第二次生成的密钥的单向密钥加密函数;
接收所述用户设备UE发送的消息后,所述安全锚功能SEAF计算生成棘轮密钥,计算加密后的哈希值SRES*,并判断加密后的哈希值SRES*与所述哈希值SRES是否相等,若所述加密后的哈希值SRES*与所述哈希值SRES相等,确定所述安全锚功能SEAF认证成功,并将所述第二次生成的私钥SK1 UE以及所述哈希值ARES发送给所述认证服务器功能AUSF;
7.根据权利要求6所述的基于DH棘轮算法的5G网络认证系统,其特征在于,所述用户设备UE和所述安全锚功能SEAF共享一个密钥作为一个锚密钥KSEAF。
8.根据权利要求6所述的基于DH棘轮算法的5G网络认证系统,其特征在于,所述用户设备UE、所述安全锚功能SEAF、所述认证服务器功能AUSF以及所述认证凭据存储和处理功能ARPF这四个实体产生了各自的棘轮密钥,上述实体对要发送的信息进行加密后发送。
9.根据权利要求8所述的基于DH棘轮算法的5G网络认证系统,其特征在于,参与认证的每个实体相互认证。
10.根据权利要求6所述的基于DH棘轮算法的5G网络认证系统,其特征在于,每次认证过程中产生不同的棘轮密钥;基于不同的棘轮密钥,使得每次认证过程均不相同。
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)
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)
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)
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 |
-
2021
- 2021-01-20 CN CN202110072503.XA patent/CN112399407B/zh active Active
Patent Citations (2)
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)
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 |