CN111865603A - 认证方法、认证装置和认证系统 - Google Patents

认证方法、认证装置和认证系统 Download PDF

Info

Publication number
CN111865603A
CN111865603A CN202010516832.4A CN202010516832A CN111865603A CN 111865603 A CN111865603 A CN 111865603A CN 202010516832 A CN202010516832 A CN 202010516832A CN 111865603 A CN111865603 A CN 111865603A
Authority
CN
China
Prior art keywords
user
identifier
identification
authentication
identity
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.)
Pending
Application number
CN202010516832.4A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010516832.4A priority Critical patent/CN111865603A/zh
Publication of CN111865603A publication Critical patent/CN111865603A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Abstract

本发明公开了一种认证方法、认证装置和认证系统,属于通信领域,以满足业务对于认证灵活性的需求。所述认证方法包括:第一用户设备向第二用户设备发送第一随机参数;所述第二用户设备获取第一用户标识、第二用户标识和第二随机参数,并根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征,并将所述第二认证特征发往所述第一用户设备;所述第一用户设备验证所述第二认证特征的正确性,生成第一认证特征,并将所述第一认证特征发往所述第二用户设备;所述第二用户设备验证所述第一认证特征的正确性。本发明用于终端间的认证。

Description

认证方法、认证装置和认证系统
技术领域
本发明涉及通信领域,特别涉及一种认证方法、认证装置和认证系统。
背景技术
未来的移动通信网络中,包括各种各样的业务,每个业务对于安全都会有不同的需求。未来的移动通信网络会存在密钥中心,密钥中心能够控制和管理密钥的生成和分发,从而满足业务对于安全的需求。
但是,沿用2G/3G/4G的安全保护模式会存在以下问题:所有根密钥都存储在核心节点-归属用户服务器(HOME SUBSCRIBER SERVER,HSS)上,不能满足业务对于认证灵活性的需求;海量设备的认证如果都需要HSS的参与,则会增加系统复杂度。
因此,鉴于未来业务对安全的需求,需要设计一种更灵活的认证方式,满足业务对于认证灵活性的需求。
发明内容
本发明实施例提供了一种认证方法、认证装置和认证系统,以满足业务对于认证灵活性的需求。
第一方面,提供一种认证方法,所述方法包括:
第一用户设备向第二用户设备发送第一随机参数;
所述第二用户设备获取第一用户标识、第二用户标识和第二随机参数,并根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征,并将所述第二认证特征发往所述第一用户设备;
所述第一用户设备验证所述第二认证特征的正确性,生成第一认证特征,并将所述第一认证特征发往所述第二用户设备;
所述第二用户设备验证所述第一认证特征的正确性。
本发明实施例提供的在两个用户设备之间执行认证的方法,在认证过程中,无需HSS的介入,能够满足业务对于认证灵活性的需求。
在本发明实施例中,第一用户设备和第二用户设备可以为各种终端设备,包括但不限于,手机、电脑、智能电视、智能冰箱等等。
在本发明实施例中,所述第二用户设备获取第一用户标识、第二用户标识和第二随机参数可通过各种不同方式,一种获取方式是:所述第二用户设备接收来自所述第一用户设备的第一用户标识、第二用户标识,并随机生成第二随机参数。另一种获取方式是,第二用户设备预先获取第一用户标识、第二用户标识,例如在密钥分发阶段获取第一用户标识、第二用户标识,并随机生成第二随机参数。
在本发明实施例中,所述认证特征可以为消息认证码(MESSAGE AUTHENTICATIONCODE,MAC)、加密文本或者数字签名。下面分别对这三种情况进行进一步说明。
在一种情况下,所述认证特征为MAC,此时,在生成第二MAC之后,所述认证方法还可包括:
所述第二用户设备将第一随机参数和第二随机参数发往所述第一用户设备;
所述第一用户设备生成第一认证特征包括:所述第一用户设备根据第一随机参数和第二随机参数,生成所述第一MAC。
所述第一用户设备通过接收第一随机参数和第二随机参数,可据此方便地计算出第一MAC。
在所述认证特征为MAC的情况下,相应地,所述生成第二MAC可包括:
根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_COM和/或会话密钥K_SESSION;
根据通信共享密钥K_COM或会话密钥K_SESSION、第一随机参数和第二随机参数,生成第二MAC。
其中:
K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第二MAC=MAC(K_COM或K_SESSION,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取。
在所述认证特征为MAC的情况下,相应地,所述生成所述第一MAC可包括:
所述第一用户设备获取所述第一用户标识、所述第二用户标识,并根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_COM和/或会话密钥K_SESSION;
根据通信共享密钥K_COM或会话密钥K_SESSION、第一随机参数和第二随机参数,生成第一MAC;
其中:
K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第一MAC=MAC(K_COM或K_SESSION,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第一用户设备预先获取。
上述方式提供了一种全新的MAC生成方式,能够利用生成的MAC进行用户设备之间的认证。
在另一种情况下,所述认证特征为加密文本,所述根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征可包括:
利用第一用户标识、通信共享密钥K_COM或会话密钥K_SESSION对所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数进行加密,以生成第二加密文本;
所述第一用户设备验证所述第二认证特征的正确性包括:所述第一用户设备采用第一用户密钥、通信共享密钥K_COM或会话密钥K_SESSION解密第二加密文本,以得到第一随机参数和第二随机参数,并确定解密得到的第一随机参数与之前向所述第二用户设备发送的第一随机参数是否相同,若相同,则验证成功;
其中,加密时采用的密钥与解密时采用的密钥对应;
K_COM=E(XH(ID1),H(ID2))或者K_COM=H(E(XH(ID1),H(ID2));或者K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项))。
上述验证第二加密文本的方式,通过将解密出的第一随机参数和之前发往第二用户设备的第一随机参数进行匹配,可以验证第一随机参数是否进行了改变,从而更好地对第二用户设备进行认证。
在所述认证特征为加密文本的情况下,相应地,所述生成第一认证特征包括:
所述第一用户设备获取所述第一用户标识、所述第二用户标识,并采用第一用户标识、通信共享密钥K_COM或会话密钥K_SESSION对所述第一用户标识、所述第二用户标识和第二随机参数进行加密,以生成第一加密文本;
所述第二用户设备验证所述第一认证特征的正确性包括:
所述第二用户设备采用第一用户密钥、通信共享密钥K_COM或会话密钥K_SESSION解密第一加密文本,以得到第二随机参数,并确定解密得到的第二随机参数与之前加密的第二随机参数是否相同,若相同,则验证成功。
上述验证第一加密文本的方式,通过将解密出的第二随机参数和之前发往第一用户设备的第二随机参数进行匹配,可以验证第二随机参数是否进行了改变,从而更好地对第一用户设备进行认证。
在所述认证特征为加密文本的情况下,可选地,所述第一用户设备向第二用户设备发送的第一随机参数为经加密的第一随机参数。相应地,所述认证方法还可包括:所述第二用户设备对经加密的第一随机参数进行解密,以得到第一随机参数。
其中,加密方式可包括基于通信共享密钥K_COM的加密和基于身份标识的加密。通过对第一随机参数进行加密,能够更好地保证第一随机参数的安全性。
在另一种情况下,所述认证特征为数字签名,相应地,在生成第二数字签名之后,所述方法还可包括:
所述第二用户设备将第一随机参数和第二随机参数发往所述第一用户设备;
所述第一用户设备生成第一认证特征包括:所述第一用户设备根据第一随机参数和第二随机参数,生成所述第一数字签名。
在所述认证特征为数字签名的情况下,可选地,所述生成第二认证特征可包括:
第二数字签名=SIGN(SK_ID2,(第一随机参数,第二随机参数,的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
在所述认证特征为数字签名的情况下,所述生成第一认证特征可包括:
第一数字签名=SIGN(SK_ID1,(第一随机参数,第二随机参数,的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
其中,SK_ID1为第一用户密钥,SK_ID2为第二用户密钥。会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识可由所述第二用户设备预先获取。
以上提供了一种全新的数字签名生成方式,能够方便后续进行基于数字签名的相互认证。
在所述认证特征为数字签名的情况下,可选地,在所述第二用户设备验证所述第一认证特征的正确性之后,所述认证方法还可包括:
利用通信共享密钥K_COM或会话密钥K_SESSION对所述第一用户设备和所述第二用户设备之间的会话通信进行加密;
其中,K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取。
通过通信共享密钥K_COM或会话密钥K_SESSION对会话通信进行加密,能够更好地确保两终端间会话的安全性。
第二方面,提供另一种认证方法,所述方法包括:
第一用户设备向第二用户设备发送第一随机参数;
所述第一用户设备接收来自所述第二用户设备的第二认证特征;
所述第一用户设备验证所述第二认证特征的正确性,生成第一认证特征,并将所述第一认证特征发往所述第二用户设备。
在一种情况下,所述认证特征为消息认证码(MAC),此时,在生成第一认证特征之前,所述方法还包括:
所述第一用户设备接收来自所述第二用户设备的第一随机参数和第二随机参数;
相应地,所述生成第一认证特征包括:
所述第一用户设备获取所述第一用户标识、所述第二用户标识,并根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_COM和/或会话密钥K_SESSION;
所述第一用户设备根据通信共享密钥K_COM或会话密钥K_SESSION、第一随机参数和第二随机参数,生成第一MAC;
其中:
K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第一MAC=MAC(K_COM或K_SESSION,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第一用户设备预先获取,或者从所述第一用户设备处接收。
在一种情况下,所述认证特征为加密文本,此时,所述第一用户设备验证所述第二认证特征的正确性包括:
所述第一用户设备采用第一用户密钥、通信共享密钥K_COM或会话密钥K_SESSION解密第二加密文本,以得到第一随机参数和第二随机参数,并确定解密得到的第一随机参数与之前向所述第二用户设备发送的第一随机参数是否相同,若相同,则验证成功;
其中,K_COM=E(XH(ID1),H(ID2))或者K_COM=H(E(XH(ID1),H(ID2));或者K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项))。
在所述认证特征为加密文本的情况下,所述生成第一认证特征包括:
所述第一用户设备获取所述第一用户标识、所述第二用户标识,并采用第一用户标识、通信共享密钥K_COM或会话密钥K_SESSION对所述第一用户标识、所述第二用户标识和第二随机参数进行加密,以生成第一加密文本。
在一种情况下,所述认证特征为数字签名,此时,在生成第一认证特征之前,所述方法还包括:
所述第一用户设备接收来自所述第二用户设备的第一随机参数和第二随机参数;
所述生成第一认证特征包括:根据第一随机参数、第二随机参数和第一用户密钥计算第一数字签名;
其中,第一数字签名=SIGN(SK_ID1,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取,或者从所述第一用户设备处接收。
第三方面,提供一种认证方法,所述方法包括:
第二用户设备接收来自第一用户设备的第一随机参数;
所述第二用户设备获取第一用户标识、第二用户标识和第二随机参数,根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征,并将所述第二认证特征发往所述第一用户设备;
所述第二用户设备接收来自所述第一用户设备的第一认证特征;
所述第二用户设备验证所述第一认证特征的正确性。
在一种情况下,所述认证特征为消息认证码(MAC),此时,在生成第二MAC之后,所述方法还包括:
所述第二用户设备将第一随机参数和第二随机参数发往所述第一用户设备。
在所述认证特征为消息认证码的情况下,所述生成第二MAC包括:
根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_COM和/或会话密钥K_SESSION;
根据通信共享密钥K_COM或会话密钥K_SESSION、第一随机参数和第二随机参数,生成第二MAC;
其中,K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第二MAC=MAC(K_COM或K_SESSION,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取,或者从所述第一用户设备处接收。
在一种情况下,所述认证特征为加密文本,此情况下,所述根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征包括:
利用第一用户标识、通信共享密钥K_COM或会话密钥K_SESSION对所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数进行加密,以生成第二加密文本;
所述认证特征为加密文本的情况下,所述第二用户设备验证所述第一认证特征的正确性可包括:
所述第二用户设备采用第一用户密钥、通信共享密钥K_COM或会话密钥K_SESSION解密第一加密文本,以得到第二随机参数,并确定解密得到的第二随机参数与之前加密的第二随机参数是否相同,若相同,则验证成功;
其中,K_COM=E(XH(ID1),H(ID2))或者K_COM=H(E(XH(ID1),H(ID2));或者K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项))
在一种情况下,所述认证特征为数字签名,此情况下,所述生成第二认证特征包括:
第二数字签名=SIGN(SK_ID2,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
在所述认证特征为数字签名的情况下,在生成第二数字签名之后,所述方法还包括:所述第二用户设备将第一随机参数和第二随机参数发往所述第一用户设备。
第四方面,提供一种认证装置,所述认证装置包括:
发送模块,用于向第二用户设备发送第一随机参数;
接收模块,用于接收来自所述第二用户设备的第二认证特征;
处理模块,用于验证所述第二认证特征的正确性,生成第一认证特征;
所述发送模块,还用于将所述第一认证特征发往所述第二用户设备。
在一种情况下,所述认证特征为消息认证码,此情况下,在生成第一认证特征之前,所述接收模块还用于:接收来自所述第二用户设备的第一随机参数和第二随机参数;
所述处理模块具体用于:获取所述第一用户标识、所述第二用户标识,并根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_COM和/或会话密钥K_SESSION;根据通信共享密钥K_COM或会话密钥K_SESSION、第一随机参数和第二随机参数,生成第一MAC;
其中:
K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第一MAC=MAC(K_COM或K_SESSION,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第一用户设备预先获取,或者从所述第一用户设备处接收。
在一种情况下,所述认证特征为加密文本,此情况下,所述处理模块具体用于:
采用第一用户密钥、通信共享密钥K_COM或会话密钥K_SESSION解密第二加密文本,以得到第一随机参数和第二随机参数,并确定解密得到的第一随机参数与之前向所述第二用户设备发送的第一随机参数是否相同,若相同,则验证成功;
其中,K_COM=E(XH(ID1),H(ID2))或者K_COM=H(E(XH(ID1),H(ID2));或者K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项))。
在认证特征为加密文本的情况下,所述处理模块具体用于:
获取所述第一用户标识、所述第二用户标识,并采用第一用户标识、通信共享密钥K_COM或会话密钥K_SESSION对所述第一用户标识、所述第二用户标识和第二随机参数进行加密,以生成第一加密文本。
在一种情况下,所述认证特征为数字签名,此情况下,所述接收模块还用于:所述第一用户设备接收来自所述第二用户设备的第一随机参数和第二随机参数;
所述处理模块具体用于:根据第一随机参数、第二随机参数和第一用户密钥计算第一数字签名;
其中,第一数字签名=SIGN(SK_ID1,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取,或者从所述第一用户设备处接收。
第五方面,提供一种认证装置,其特征在于,所述认证装置包括:
接收模块,用于接收来自第一用户设备的第一随机参数;
处理模块,用于获取第一用户标识、第二用户标识和第二随机参数,根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征,并将所述第二认证特征发往所述第一用户设备;
所述接收模块,还用于接收来自所述第一用户设备的第一认证特征;
所述处理模块,还用于验证所述第一认证特征的正确性。
在一种情况下,所述认证特征为消息认证码,所述认证装置还包括发送模块,用于:
在处理模块生成第二MAC之后,将第一随机参数和第二随机参数发往所述第一用户设备。
在所述认证特征为消息认证码的情况下,所述处理模块具体用于:
根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_com和/或会话密钥K_session;
根据通信共享密钥K_com或会话密钥K_session、第一随机参数和第二随机参数,生成第二MAC;
其中,K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为Hash()算法或HMAC()算法;
K_session=KDF(K_com,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第二MAC=MAC(K_com或K_session,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取,或者从所述第一用户设备处接收。
在一种情况下,所述认证特征为加密文本,所述处理模块具体用于:
利用第一用户标识、通信共享密钥K_com或会话密钥K_session对所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数进行加密,以生成第二加密文本;
验证所述第一认证特征的正确性包括:
采用第一用户密钥、通信共享密钥K_com或会话密钥K_session解密第一加密文本,以得到第二随机参数,并确定解密得到的第二随机参数与之前加密的第二随机参数是否相同,若相同,则验证成功;
其中,K_com=e(xH(ID1),H(ID2))或者K_com=H(e(xH(ID1),H(ID2));或者K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为Hash()算法或HMAC()算法;
K_session=KDF(K_com,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项))
在一种情况下,所述认证特征为数字签名,
所述处理模块具体用于:以如下方式生成第二数字签名:
第二数字签名=Sign(SK_ID2,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
在处理模块生成第二数字签名之后,所述认证装置还包括发送模块,用于:将第一随机参数和第二随机参数发往所述第一用户设备。
第六方面,提供一种认证系统,包括上面第四方面所述的第一种认证装置和第五方面所述的第二种认证装置。
本发明实施例提供的认证方法、认证装置和认证系统,通过MAC、加密文本或者数字签名的方式来在两个终端设备之间执行认证,在认证过程中,无需HSS的介入,能够满足业务对于认证灵活性的需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的通信系统的架构图;
图2是本发明实施例提供的一种基于运营商KMS的密钥分发方法的流程图;
图3是本发明实施例提供的一种基于运营商KMS的密钥分发方法的流程图;
图4是本发明实施例提供的一种基于运营商KMS的密钥分发方法的流程图;
图5是本发明实施例提供的一种基于运营商KMS的密钥分发方法的流程图;
图6是本发明实施例提供的一种基于第三方KMS的密钥分发方法的流程图;
图7是本发明实施例提供的一种基于第三方KMS的密钥分发方法的流程图;
图8A是本发明实施例提供的三轮认证方法的流程图;
图8B是本发明实施例提供的一种基于MAC完成相互认证的三轮认证方法的示意图;
图9是本发明实施例提供的一种基于加密完成相互认证的三轮认证方法的示意图;
图10是本发明实施例提供的一种基于签名完成相互认证的三轮认证方法的示意图;
图11是本发明实施例提供的一种基于MAC完成相互认证的两轮认证方法的示意图;
图12是本发明实施例提供的一种基于签名完成相互认证的两轮认证方法的示意图;
图13是本发明实施例提供的一种认证设备的结构框图;
图14是本发明实施例提供的另一种认证设备的结构框图;
图15是本发明实施例提供的一种终端的结构示意图;
图16是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的通信系统的架构图。参照图1,本发明实施例提供的密钥分发系统可包括UE 101、通信网元102和HSS 103,其中通信网元102和HSS 103为属于运营商网络中的设备,所述通信网元102例如可以为认证中心、控制节点等。如图1所示,本发明实施例提供的密钥分发系统还可包括密钥管理中心(Key Management System,KMS)104,KMS 104发挥生成、分发和管理用户私钥的功能。其中,在本发明实施例中,KMS 104可以作为一个功能模块集成到各种网络设备中,例如集成到通信网元102、HSS 103中等,也可以作为一个独立的网络设备。在KMS 104作为独立的网络设备时,可以部署在运营商外部,也可以设置在运营商网络之外,KMS 104可以与运营商网络的网络设备(例如通信网元102、HSS103)有接口。还可能,KMS直接与UE 101有接口,此时KMS不需要通过运营商网络即可直接向UE 101分发密钥。在本发明实施例提供的密钥分发系统中,UE 101首先会与通信网元102以及HSS 103进行通信,以完成AKA入网认证。在AKA入网认证成功后,再进行密钥分发。
本发明实施例提供的密钥分发方法可包括基于运营商KMS的密钥分发方法和基于第三方KMS的密钥分发方法。其中,在基于运营商KMS的密钥分发方法中,KMS属于运营商的网元,在基于第三方KMS的密钥分发方法中,KMS也可能是由第三方来进行控制。
在本发明实施例中,基于运营商KMS的密钥分发方法可包括如下几种情形:1)KMS部署在通信网元中,并由通信网元来分发私钥;2)KMS部署在HSS中,并由HSS来分发私钥;3)KMS独立于通信网元部署,但与通信网元有接口,由KMS生成用户私钥,并由通信网元向UE分发用户私钥;4)KMS独立于HSS部署,但与HSS有接口,由KMS生成用户私钥,并由通信网元向UE分发用户私钥。
在本发明实施例中,基于第三方KMS的密钥分发方法可包括如下几种情形:1)KMS作为独立网元部署,KMS将来自UE的消息认证码(Message Authentication Code,MAC)发往运营商网元进行验证,并在运营商网元验证通过后分发用户私钥;2)KMS作为独立网元部署,KMS将来自UE的令牌(token)发往运营商网元进行验证,并在运营商网元验证通过后分发用户私钥。
下面首先对本发明实施例提供的基于运营商KMS的密钥分发方法进行描述。图2是本发明实施例提供的一种基于运营商KMS的密钥分发方法的流程图。在图2所示基于运营商KMS的密钥分发方法中,KMS部署在通信网元中,由通信网元生成用户私钥(SK_ID1),并在UE认证通过后向UE分发用户私钥。
参照图2,本发明实施例提供的基于运营商KMS的密钥分发方法可包括:
201、UE向通信网元发起请求,该请求中可携带IMSI、用户标识(ID1)和指示符(indicator)。可选地,该请求中可只携带IMSI和指示符。
在本发明实施例中,通信网元可以为认证中心或者控制节点,但都包括KMS功能模块。该请求可以具体为用户标识请求(User Identity Request),当然还可以为各种自定义的请求。本发明实施例对具体的请求名称不做限定,只要求请求中携带IMSI、用户标识ID1和指示符即可。
其中,用户标识中的用户可以为一个行业用户、一个公司,也可以为一个终端用户或者一个终端。用户标识可以为以下任一种:行业用户标识、业务标识、公司的标识以及个人用户的标识。个人用户的标识例如可以为国际移动电话设备识别码(IMEI)、国际移动用户识别码(IMSI)、IP多媒体私有标识(IP Multimedia Private Identity,IMPI)、临时移动用户识别码(Temporary Mobile Subscriber Identity,TMSI)、IP多媒体公用识别码(IPMultimedia Public Identity,IMPU)、介质访问控制(Medium Access Control,MAC)地址、IP地址、手机号码和GUTI、服务标识(service ID)、用户的应用程序标识(用户App ID)、设备ID。在用户标识为个人用户的标识且该个人用户的标识为IMSI的情况下,该请求中可只携带IMSI和指示符。在该个人用户的标识不为IMSI的情况下,该请求中可携带IMSI、用户标识(ID1)和指示符,或者该请求中可携带IMSI和指示符。
其中,指示符(Indicator)用来向网络指示此请求用来发起AKA认证和获取基于身份的私钥。
202、通信网元接收UE发送的请求,并通过消息向HSS发送来自UE的所述IMSI。通信网元获取到来自UE的请求后,即可根据指示符获知后续需要进行密钥分发。
其中,本步骤中通信网元向HSS发送的所述消息中还可包括步骤201中的所述指示符。
203、HSS接收所述IMSI,执行以下操作:计算认证向量(Authentication Vector,AV),其中AV=(RAND,AUTN,XRES,Kasme)。其中,RAND为认证随机数,XRES为响应值,AUTN为认证值,KASME为认证后的共享密钥。
若步骤202中的所述消息包含指示符,HSS可根据指示符获知需要进行密钥分发。同时,可选地,HSS在生成AV的过程中,HSS可将AUTN中认证管理域(AuthenticationManagement Field,AMF)参数的第X比特设置为1,这里1≤X≤7。这样一来,通信网元后续可通过此参数来判断对UE的认证流程是否包含基于身份的密钥分发。当然,本步骤中,HSS也可以不对AMF参数进行置位操作,即不对AMF参数中的比特进行设置。这样,通信网元仍可在步骤202中确定接收的消息中是否含有指示符来判断对UE的认证流程是否包含基于身份的密钥分发。
若HSS从通信网元接收的消息中不存在指示符(indicator),此时,HSS可不对AMF中的比特置位,按照传统AKA的方式执行认证。
204、HSS在生成AV之后,向通信网元发送AV。可选地,HSS还可向通信网元发送指示符。
由上述步骤201~204可知,通信网元可向HSS发送指示符或者不向HSS发送指示符;HSS在接收到来自通信网元的指示符后,可对AMF参数中的比特进行设置,并可选择向通信网元发送指示符或者不向通信网元发送指示符。
205、通信网元接收到来自HSS的AV之后,向UE发送RAND和AUTN。
206、UE验证AUTN,并在验证正确后计算RES作为给通信网元的回应。
207、UE通过消息向通信网元发送RES。
208、通信网元接收到RES之后,验证RES与AV中XRES是否相同。若相同,则验证成功;若不同,则返回认证失败。通信网元在验证成功时,通信网元采用基于身份的算法生成用户私钥(SK_ID1)。
通信网元计算SK_ID1时所采用的标识可能为以下几种:1)用户标识(ID1);2)运营商标识||用户标识,(ID||ID1),其中,||为级联的形式,表示运营商标识和用户标识连接在一块作为一个标识。运营商标识可能为公共陆地移动网络标识(PLMN ID),服务网络标识(servingnetwork ID),本地运营商网络标识等;3)运营商标识||用户标识||时间(ID||ID1||time),或用户标识||时间(ID1||time)的形式。
这里需要指出的是,在UE向通信网元发送的请求中只携带IMSI和指示符且此IMSI不作为个人用户的标识的情况下,在通信网元验证成功后,此时UE可向通信网元发送用户标识。这样,通信网元在接收到此用户标识后,即可根据此用户标识,生成用户私钥(SK_ID1)。
209、通信网元向UE发送SK_ID1。其中,作为一种可选方式,本步骤中,通信网元还可向UE发送SK_ID1和GPK,其中GPK为全局公钥。
210、UE向通信网元发送响应。其中,本步骤为可选步骤,在本发明实施例中UE也可以不向通信网元发送响应。
本发明实施例提供的基于运营商KMS(部署在通信网元内部)的密钥分发方法,通过UE向通信网元发送指示符,通信网元可据此获知UE的认证流程需要包含基于身份的密钥分发,在通信网元对UE认证通过时,即可向UE分发私钥。而且,这种基于运营商KMS的密钥分发方法由于将KMS部署在运营商的通信网元中,对UE认证通过后不用运营商进行进一步验证,即可向UE分发私钥,节省了通信开销。
图3是本发明实施例提供的一种基于运营商KMS的密钥分发方法的流程图。在图3所示基于运营商KMS的密钥分发方法中,KMS部署在HSS中,由HSS生成用户私钥(SK_ID1),并在UE认证通过后向UE分发用户私钥。
参照图3,本发明实施例提供的基于运营商KMS的密钥分发方法可包括:
301、UE向通信网元发起请求,该请求中可携带IMSI、用户标识(ID1)和指示符(indicator)。可选地,该请求中可只携带IMSI和指示符。在本发明实施例中,该请求可以具体为用户标识请求(User Identity Request),当然还可以为各种自定义的请求。本发明实施例对具体的请求名称不做限定,只要求请求中携带IMSI、用户标识ID1和指示符即可。
用户标识和指示符的描述可以参考步骤201下的相应内容。
302、通信网元接收UE发送的请求,并通过消息向HSS发送来自UE的所述IMSI、所述指示符和所述用户标识。通信网元获取到来自UE的请求后,即可根据指示符获知后续需要进行密钥分发。
其中,本步骤中通信网元向HSS发送的所述消息中可只包括所述IMSI和所述用户标识。在这种情况下,HSS可根据自身存储的UE的信息,确定是否需要基于身份的密钥分发。
303、HSS接收所述IMSI和所述指示符,执行以下操作:计算认证向量(AuthenticationVector,AV),其中AV=(RAND,AUTN,XRES,Kasme),KMS采用基于身份的算法生成用户私钥(SK_ID1)。
其中,RAND为认证随机数,XRES为响应值,AUTN为认证值,KASME为认证后的共享密钥。
KMS计算SK_ID1时所采用的标识可能为以下几种:1)用户标识(ID1);2)运营商标识||用户标识,(ID||ID1),其中运营商标识可能为公共陆地移动网络标识(PLMN ID),服务网络标识(serving network ID),本地运营商网络标识等;3)运营商标识||用户标识||时间(ID||ID1||time),或用户标识||时间(ID1||time)的形式。
可选地,HSS在接收到指示符后,在生成AV的过程中,HSS可将AUTN中AMF参数的第X比特设置为1,这里1≤X≤7。这样一来,通信网元后续可通过此参数来判断对UE的认证流程是否包含基于身份的密钥分发。当然,本步骤中,HSS也可以不对AMF参数进行置位操作,即不对AMF参数中的比特进行设置,而是向通信网元发送指示符。这样,通信网元后续仍可通过确定接收的消息中是否含有指示符来判断对UE的认证流程是否包含基于身份的密钥分发。
若HSS接收的消息中不存在指示符(indicator),则表明对UE的认证流程不包含基于身份的密钥分发。此时,HSS按照传统AKA的方式执行认证。
由上述步骤301~303可知,通信网元可向HSS发送指示符,而HSS在不进行置位操作时可向通信网元发送指示符,HSS在进行置位操作后,可向或不向通信网元发送指示符。
304、HSS在生成AV和用户私钥(SK_ID1)之后,通过消息向通信网元发送AV和用户私钥(SK_ID1)。可选地,还可向通信网元发送GPK。
305、通信网元接收到来自HSS的AV和用户私钥(SK_ID1)之后,向UE发送RAND和AUTN。
306、UE在接收到RAND和AUTN后,验证AUTN,并在验证正确后计算RES作为给通信网元的回应。
307、UE通过消息向通信网元发送RES。
308、通信网元接收到RES之后,验证RES与AV中XRES是否相同。若相同,则验证成功;若不同,则返回认证失败。
309、通信网元在验证成功后,通过消息向UE发送SK_ID1。其中,作为一种可选方式,本步骤中,通信网元还可向UE发送SK_ID1和GPK,其中GPK为全局公钥。
这里需要指出的是,在UE向通信网元发送的请求中只携带IMSI和指示符且此IMSI不作为个人用户的标识的情况下,通信网元在验证成功后,此时UE可向通信网元发送用户标识。这样,通信网元在接收到此用户标识后,即可根据此用户标识,生成用户私钥(SK_ID1),并向UE发送SK_ID1。
310、UE向通信网元发送响应。其中,本步骤为可选步骤,在本发明实施例中UE也可以不向通信网元发送响应。
本发明实施例提供的基于运营商KMS的密钥分发方法,通过UE向通信网元发送指示符,通信网元可据此获知UE的认证流程需要包含基于身份的密钥分发,在通信网元对UE认证通过时,即可向UE分发私钥。而且,这种基于运营商KMS的密钥分发方法由于将KMS部署在运营商的HSS中,对UE认证通过后不用运营商进行进一步验证,即可向UE分发私钥,节省了通信开销。
图4是本发明实施例提供的一种基于运营商KMS的密钥分发方法的流程图。在图4所示基于运营商KMS的密钥分发方法中,KMS独立于通信网元部署,但与通信网元有接口,由KMS生成用户私钥(SK_ID1),并在UE认证通过后由通信网元向UE分发用户私钥。在图4所示实施例中,AKA认证成功之后,通信网元会向KMS发起获得用户私钥的请求。
参照图4,本发明实施例提供的基于运营商KMS的密钥分发方法可包括:
401、UE1向通信网元发起请求,该请求中可携带IMSI、用户标识(ID1)和指示符(indicator)。可选地,该请求中可只携带IMSI和指示符。在本发明实施例中,该请求可以具体为用户标识请求(User Identity Request),当然还可以为各种自定义的请求。本发明实施例对具体的请求名称不做限定,只要求请求中携带IMSI、用户标识(ID1)和指示符即可。
用户标识和指示符的描述可以参考步骤201下面的内容。
402、通信网元接收UE发送的请求,并通过消息向HSS发送来自UE的所述IMSI,可选地,通信网元还可向HSS发送所述指示符。通信网元获取到来自UE的请求后,即可根据指示符获知后续需要进行密钥分发。
403、HSS接收所述IMSI,执行以下操作:计算认证向量(Authentication Vector,AV),其中AV=(RAND,AUTN,XRES,Kasme)。其中,RAND为认证随机数,XRES为响应值,AUTH为认证值,KASME为认证后的共享密钥。
若步骤402中通信网元向HSS发送所述指示符,HSS可根据指示符获知需要进行密钥分发。同时,可选地,HSS在生成AV的过程中,HSS可将AUTN中AMF参数的第X比特设置为1,这里1≤X≤7。这样一来,通信网元后续可通过此参数来判断对UE的认证流程是否包含基于身份的密钥分发。当然,本步骤中,HSS也可以不对AMF参数进行置位操作,即不对AMF参数中的比特进行设置。这样,通信网元后续仍可在步骤404中确定接收的消息中是否含有指示符来判断对UE的认证流程是否包含基于身份的密钥分发。
若HSS从通信网元接收的消息中不存在指示符(indicator),则HSS不对AMF中的比特置位。
404、HSS在生成AV之后,通过消息向通信网元发送AV。可选地,HSS还可向通信网元发送指示符。
由上述步骤401~404可知,通信网元可向HSS发送指示符或者不向HSS发送指示符;HSS在接收到来自通信网元的指示符后,可对AMF参数中的比特进行设置,并可选择向通信网元发送指示符或者不向通信网元发送指示符。
405、通信网元接收到来自HSS的AV之后,向UE发送RAND和AUTN。
406、UE验证AUTN,并在验证正确后计算RES作为给通信网元的回应。
407、UE通过消息向通信网元发送RES。
408、通信网元接收到RES之后,验证RES与AV中XRES是否相同。若相同,则验证成功;若不同,则返回认证失败。
409、通信网元在验证成功时,向KMS发送用户标识(ID1)。其中,此用户标识可以来自于步骤401中的用户标识,也可以来自于UE在得知通信网元验证成功后随即发送过来的用户标识。
410、KMS采用基于身份的算法生成用户私钥(SK_ID1)。
KMS计算SK_ID1时所采用的标识可能为以下几种:1)用户标识(ID1);2)运营商标识||用户标识,(ID||ID1),其中运营商标识可能为公共陆地移动网络标识(PLMN ID),服务网络标识(serving network ID),,本地运营商网络标识等;3)运营商标识||用户标识||时间(ID||ID1||time),或用户标识||时间(ID1||time)的形式。
411、KMS向通信网元发送用户私钥(SK_ID1)。其中,作为一种可选方式,本步骤中,KMS还可向通信网元发送SK_ID1和GPK,其中GPK为全局公钥。
412、通信网元在接收到用户私钥(SK_ID1)后,向UE发送用户私钥(SK_ID1)。当然,在通信网元在接收到用户私钥(SK_ID1)和GPK的情况下,向UE发送用户私钥(SK_ID1)和GPK。
413、UE在接收到用户私钥(SK_ID1),或用户私钥(SK_ID1)和GPK后,向通信网元发送响应。其中,本步骤为可选步骤,在本发明实施例中UE也可以不向通信网元发送响应。
这里需要指出的是,在本发明实施例中,可选地,在步骤401中,用户向通信网元发送的该请求可只携带IMSI和指示符(indicator)。相应地,在步骤407之后,即AKA认证成功之后,UE可向通信网元发送用户标识,以请求基于身份的用户私钥。
本发明实施例提供的基于运营商KMS的密钥分发方法,通过UE向通信网元发送指示符,通信网元可据此获知UE的认证流程需要包含基于身份的密钥分发,在通信网元对UE认证通过时,即可向KMS请求用户私钥,并在获得KMS生成的用户私钥后分发给UE。而且,这种基于运营商KMS的密钥分发方法由于将KMS部署在运营商网络中,因而UE在认证通过后不用运营商进行进一步验证,可由通信网元直接向UE分发用户私钥,节省了通信开销。
图5是本发明实施例提供的一种基于运营商KMS的密钥分发方法的流程图。在图5所示基于运营商KMS的密钥分发方法中,KMS独立于HSS部署,但与HSS有接口,由KMS生成用户私钥,并由通信网元向UE分发用户私钥。
参照图5,本发明实施例提供的基于运营商KMS的密钥分发方法可包括:
501、UE向通信网元发起请求,该请求中可携带IMSI、用户标识(ID1)和指示符(indicator)。在本发明实施例中,该请求可以具体为用户标识请求(User IdentityRequest),当然还可以为各种自定义的请求。本发明实施例对具体的请求名称不做限定,只要求请求中携带IMSI、用户标识ID1和指示符即可。
用户标识和指示符的描述可以参考步骤201下的相应内容。
502、通信网元接收UE发送的请求,并通过消息向HSS发送来自UE的所述IMSI、所述用户标识和所述指示符。
503、HSS接收所述IMSI、所述用户标识和所述指示符,执行以下操作:计算认证向量(Authentication Vector,AV),其中AV=(RAND,AUTN,XRES,Kasme),其中,RAND为认证随机数,XRES为响应值,AUTH为认证值,KASME为认证后的共享密钥。
可选地,HSS在接收到指示符后,在生成AV的过程中,HSS可将AUTN中AMF参数的第X比特设置为1,这里1≤X≤7。这样一来,通信网元后续可通过此参数来判断对UE的认证流程是否包含基于身份的密钥分发。当然,本步骤中,HSS也可以不对AMF参数进行置位操作,即不对AMF参数中的比特进行设置,而是向通信网元发送指示符。这样,通信网元后续仍可通过确定接收的消息中是否含有指示符来判断对UE的认证流程是否包含基于身份的密钥分发。
若HSS接收的消息中不存在指示符(indicator),则表明对UE的认证流程不包含基于身份的密钥分发。此时,HSS按照传统AKA的方式执行认证。
504、HSS通过消息向KMS发送用户标识(ID1)。
505、KMS在接收到来自HSS的用户标识(ID1)之后,采用基于身份的算法生成用户私钥(SK_ID1)。KMS计算SK_ID1时所采用的标识可能为以下几种:1)用户标识(ID1);2)运营商标识||用户标识,(ID||ID1),其中运营商标识可能为公共陆地移动网络标识(PLMNID),服务网络标识(serving network ID),本地运营商网络标识等;3)运营商标识||用户标识||时间(ID||ID1||time),或用户标识||时间(ID1||time)的形式。
506、KMS向HSS发送用户私钥(SK_ID1)。可选地,KMS可发送用户私钥(SK_ID1)和GPK。
507、HSS在获得AV和用户私钥(SK_ID1)之后,通过消息向通信网元发送AV和用户私钥(SK_ID1)。可选地,还可向通信网元发送GPK。
508、通信网元接收到来自HSS的AV、用户私钥(SK_ID1)之后,向UE发送RAND和AUTN。
509、UE在接收到RAND和AUTN后,验证AUTN,并在验证正确后计算RES作为给通信网元的回应。
510、UE通过消息向通信网元发送RES。
511、通信网元接收到RES之后,验证RES与AV中XRES是否相同。若相同,则验证成功;若不同,则返回认证失败。
512、通信网元在验证成功后,通过消息向UE发送SK_ID1。其中,作为一种可选方式,本步骤中,通信网元可向UE发送SK_ID1和GPK,其中GPK为全局公钥。
513、UE向通信网元发送响应。其中,本步骤为可选步骤,在本发明实施例中UE也可以不向通信网元发送响应。
这里指出的是,在图5所示实施例中,通信网元可向HSS发送指示符,而HSS在不进行置位操作时可向通信网元发送指示符,HSS在进行置位操作后,可向或不向通信网元发送指示符。
本发明实施例提供的基于运营商KMS的密钥分发方法,通过UE向通信网元发送指示符,通信网元可据此获知UE的认证流程需要包含基于身份的密钥分发;通信网元通过HSS向KMS请求用户私钥,并在获得KMS生成的用户私钥后,在通信网元对UE认证通过时,分发给UE。而且,这种基于运营商KMS的密钥分发方法由于将KMS部署在运营商网络中,因而UE在认证通过后不用运营商进行进一步验证,可由通信网元直接向UE分发用户私钥,节省了通信开销。
针对图2-图5所述的流程中,还可能包括以下流程。UE利用传统AKA等方式,与核心网建立了安全的链接之后,向KMS发送密钥请求,其中带有用户标识。KMS获得此标识后,采用上述方式生成密钥SK_ID1,并发送SK_ID1至UE。
下面对本发明实施例提供的基于第三方KMS的密钥分发方法进行描述。图6是本发明实施例提供的一种基于第三方KMS的密钥分发方法的流程图。在图6所示基于第三方KMS的密钥分发方法中,KMS作为独立网元部署,KMS将来自UE的消息认证码(MessageAuthentication Code,MAC)发往运营商网元进行验证,并在运营商网元验证通过后向UE分发用户私钥。
参照图6,本发明实施例提供的基于第三方KMS的密钥分发方法可包括:
601、UE向通信网元发送IMSI。
602、通信网元向HSS发送IMSI。
603、HSS生成认证向量(AV),其中,AV=(RAND,AUTN,XRES,Kasme)。RAND为认证随机数,XRES为响应值,AUTH为认证值,KASME为认证后的共享密钥。
604、HSS在生成AV之后,向通信网元发送AV。
605、通信网元接收到来自HSS的AV之后,向UE发送RAND和AUTN。
606、UE验证AUTN,并在验证正确后计算RES作为给通信网元的回应。
607、UE通过消息向通信网元发送RES。
608、通信网元接收到RES之后,验证RES与AV中XRES是否相同。若相同,则验证成功;若不同,则返回认证失败。
609、UE基于AKA认证后的共享密钥(包括但不限于Kasme、CK、IK中的至少一项)计算消息认证码MAC1,并基于共享密钥(包括但不限于Kasme、CK、IK中的至少一项)计算K,其中K为保护密钥。计算公式举例如下,MAC1=MAC((Kasme,CK,或者ID的至少一项),(用户标识和参数1的至少一项)),K=KDF((Kasme,CK,或者ID的至少一项),(用户标识和参数1的至少一项),第三方KMS标识);
用户标识的描述参考步骤201下的相应内容。
参数1可以一个随机参数,例如nonce、序列号(Sequence number,SQN)、连接标识(connection ID)、新参数(fresh parameter),随机数(random number)等。
610、UE1向第三方KMS发送用户标识、MAC1和参数1。
611、第三方KMS向密钥分发中心(Key Distribution Center,KDC)发送用户标识、MAC1和参数1。
612、KDC向HSS或通信网元发送用户标识、MAC1和参数1。
613、HSS或通信网元验证MAC1,验证成功后,可随机生成或者根据共享密钥(包括但不限于Kasme、CK、IK中的至少一项)推衍得出K,例如K=KDF((Kasme,CK,或者IK的至少一项),(第三方KMS标识,用户标识和参数1的至少一项))。
若HSS或通信网元采用CK和/或IK验证MAC1,要求HSS或通信网元在AKA过程中接收到CK和/或IK。
614、HSS/通信网元向KDC发送K。
615、KDC向第三方KMS发送K。
616、第三方KMS采用基于身份的算法生成用户私钥(SK_ID1),并采用K加密SK_ID1和GPK。
KMS计算SK_ID1时所采用的标识可能为以下几种:1)用户标识(ID1);2)运营商标识||用户标识,(ID||ID1),其中运营商标识可能为公共陆地移动网络标识(PLMN ID),服务网络标识(serving network ID),本地运营商网络标识等;3)运营商标识||用户标识||时间(ID||ID1||time),或用户标识||时间(ID1||time)的形式。
617、第三方KMS向UE发送加密后的SK_ID1和GPK;
618、UE利用K进行解密,获得SK_ID1和GPK。
这里需要指出的是,在图6所示的实施例中,也可以没有KDC。这样,第三方KMS可以直接向HSS/通信网元发送用户标识、MAC1和参数1。同时,可选地,UE在步骤609中可以不计算K,而是在步骤617之后计算K。
本发明实施例提供的基于第三方KMS的密钥分发方法,KMS作为独立网元部署,KMS将来自UE的MAC发往运营商网元进行验证,并在运营商网元验证通过后生成用户私钥并向UE分发。这种基于第三方KMS的密钥分发方法由于UE在AKA认证通过后还要经过运营商进行进一步验证,因而可以提高通信的安全性。
图7是本发明实施例提供的一种基于第三方KMS的密钥分发方法的流程图。在图7所示基于第三方KMS的密钥分发方法中,KMS作为独立网元部署,KMS将来自UE的令牌(token)发往运营商网元进行验证,并在运营商网元验证通过后分发用户私钥。在图7所示实施例中,HSS与第三方KMS共享密钥K1。
参照图7,本发明实施例提供的基于第三方KMS的密钥分发方法可包括:
701、UE向通信网元发起请求,该请求中可携带IMSI和指示符(indicator)。可选地,该请求中还可携带用户标识(ID1)。在本发明实施例中,该请求可以具体为用户标识请求(User Identity Request),当然还可以为各种自定义的请求。本发明实施例对具体的请求名称不做限定,只要求请求中携带相应内容即可。
用户标识和指示符的描述可以参考步骤201下的相应内容。
702、通信网元接收UE发送的请求,并通过消息向HSS发送来自UE的所述IMSI和所述指示符。可选地,通信网元还可向HSS发送用户标识。
703、HSS接收所述IMSI和所述指示符,执行以下操作:计算认证向量(Authentication Vector,AV)并计算令牌(token)和K2。可选地,HSS还可接收用户标识。
通信网元和HSS可根据指示符获知后续需要进行密钥分发。
其中,K2可随机生成或者采用用户根密钥,或者Kasme,或者CK,或者IK推衍得到,AV=(RAND,AUTN,XRES,Kasme),令牌(token)=Enc(K1,MAC(K1,(ID1,第三方KMS标识,网络ID的至少一项),K2),即令牌为采用密钥K1对MAC(K1,(ID1,第三方KMS标识,网络标识的至少一项)和K2的加密。其中,MAC(K1,(ID1,第三方KMS ID,网络ID的至少一项)),即MAC为采用密钥K1对ID1,第三方KMS标识,网络标识的认证性保护,可用于第三方KMS验证消息的正确性,K1为HSS与第三方KMS之间的共享密钥。K2用于加密UE与第三方KMS之间进行的通信,以确保安全性。其中,RAND为认证随机数,XRES为响应值,AUTN为认证值,KASME为认证后的共享密钥。
可选地,HSS在接收到指示符后,在生成AV的过程中,HSS可将AUTN中AMF参数的第X比特设置为1,这里1≤X≤7。这样一来,通信网元后续可通过此参数来判断对UE的认证流程是否包含基于身份的密钥分发。当然,本步骤中,HSS也可以不对AMF参数进行置位操作,即不对AMF参数中的比特进行设置,而是向通信网元发送指示符。这样,通信网元后续仍可通过确定接收的消息中是否含有指示符来判断对UE的认证流程是否包含基于身份的密钥分发。
若HSS接收的消息中不存在指示符(indicator),则表明对UE的认证流程不包含基于身份的密钥分发。此时,HSS按照传统AKA的方式执行认证。
704、HSS在生成AV、令牌(token)和K2之后,通过消息向通信网元发送AV、令牌(token)和K2。
由上述步骤701~703可知,通信网元可向HSS发送指示符,而HSS在不进行置位操作时可向通信网元发送指示符,HSS在进行置位操作后,可向或不向通信网元发送指示符。
705、通信网元接收到来自HSS的AV、令牌(token)和K2之后,向UE发送RAND和AUTN。
706、UE在接收到RAND和AUTN后,验证AUTN,并在验证正确后计算RES作为给通信网元的回应。
707、UE通过消息向通信网元发送RES。
708、通信网元接收到RES之后,验证RES与AV中XRES是否相同。若相同,则验证成功;若不同,则返回认证失败。
709、通信网元在验证成功后,通过消息向UE发送令牌(token)和K2。
710、UE向通信网元发送响应。其中,本步骤为可选步骤,在本发明实施例中UE也可以不向通信网元发送响应。
711、UE发起请求,向第三方KMS发送用户标识、运营商网络标识和令牌。
712、第三方KMS利用运营商网络标识进行检索得到共享密钥K1,并利用共享密钥K1解密令牌获得MAC(K1,ID1,第三方KMS ID,网络ID)和K2。之后,利用K1验证MAC的正确性。
713、在MAC验证正确时,第三方KMS采用基于身份的算法生成用户私钥(SK_ID1),并采用K2加密SK_ID1和GPK,。
KMS计算SK_ID1时所采用的标识可能为以下几种:1)用户标识(ID1);2)运营商标识||用户标识,(ID||ID1),其中运营商标识可能为公共陆地移动网络标识(PLMN ID),服务网络标识(serving network ID),本地运营商网络标识等;3)运营商ID||ID1||time,或ID1||time的形式。
714、第三方KMS向UE发送加密后的SK_ID1和GPK。
715、UE利用K2进行解密,获得SK_ID1和GPK。
本发明实施例提供的基于第三方KMS的密钥分发方法,KMS作为独立网元部署,在AKA认证成功后,UE向第三方KMS,KMS将来自UE的MAC发往运营商网元进行验证,并在运营商网元验证通过后生成用户私钥并向UE分发。这种基于第三方KMS的密钥分发方法由于UE在AKA认证通过后还要经过运营商进行进一步验证,因而可以提高通信的安全性。
针对上述所有实施例,也可能UE发送的消息中不带有指示符,HSS可以通过IMSI或者用户标识,从自己的数据库中判定此UE是否需要基于身份的密钥分发。若判定不需要基于身份的分发,则HSS执行传统AKA的操作。若判定需要基于身份的密钥分发,则再执行与之前上述所有实施例相同的动作,包括但不限于:HSS对AMF做置位操作,仅向通信网元发送AV,以使通信网元可以通过所述置位操作判定是否需要执行基于身份的密钥分发;又或者HSS向通信网元发送指示符2,通知所述通信网元需要执行基于身份的密钥分发。
本发明实施例提供的认证方法可包括三轮认证方法和两轮认证方法。其中,三轮和两轮标识的是通信设备之间消息传递的次数。三轮认证方法可包括如下方式:基于MAC完成相互认证、基于加密完成相互认证以及基于签名完成相互认证。两轮认证方法可包括如下方式:基于MAC完成相互认证以及基于签名完成相互认证。
下面首先对本发明实施例提供的基于三轮认证流程的认证方法进行描述。
在下文的各个实施例中,会话标识用于标识此次会话,其可以随机选择,也可以根据之前的会话标识推衍得到,例如之前会话标识加1而得到。Nonce1可随机选择,以体现新鲜性。服务标识为UE1与UE2之间的业务的标识。
在下文的各个实施例中,第一用户标识和第二用户标识均可适用步骤201下的相应描述。
图8A是本发明实施例提供的一种三轮认证方法的流程图。参照图8A,本发明实施例提供的三轮认证方法可包括:
800、第一用户设备向第二用户设备发送第一随机参数;
900、所述第二用户设备获取第一用户标识、第二用户标识和第二随机参数,并根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征,并将所述第二认证特征发往所述第一用户设备;
1000、所述第一用户设备验证所述第二认证特征的正确性,生成第一认证特征,并将所述第一认证特征发往所述第二用户设备;
1100、所述第二用户设备验证所述第一认证特征的正确性。
本发明实施例提供的认证方法,通过MAC、加密文本或者数字签名的方式来在两个终端设备之间执行认证,在认证过程中,无需HSS的介入,能够满足业务对于认证灵活性的需求。
下面参照图8B-图12来对本发明实施例提供的认证方法进行进一步阐释。图11-12是基于两轮认证流程的认证方法的示意图。
图8B是本发明实施例提供的一种基于MAC完成相互认证的三轮认证方法的流程图。在图8B所示实施例中,UE1可具有第一用户标识(ID1)、第一用户密钥(SK_ID1)和全局公钥(GPK),UE2可具有第二用户标识(ID2)、第二用户密钥(SK_ID2)和全局公钥(GPK)。
参照图8B,本发明实施例提供的基于三轮认证流程的认证方法可包括:
801、UE1向UE2发送会话标识(session ID)、第一随机参数(Nonce1)、第一用户标识(ID1),和服务标识(service ID),可能还包括第二用户标识(ID2)。
802、UE2基于GPK、ID2、SK_ID2和ID1计算通信共享密钥K_com。其中,GPK和SK_ID2可在密钥分发阶段预先获取。
计算公式有以下两种可能性:
1)K_com=e(xH(ID1),H(ID2)),或者K_com=H(e(xH(ID1),H(ID2))。
具体地,若用户1和用户2希望进行安全的通信,各自参数如下:用户1的身份为ID1,其基于身份的私钥为SK_ID1=xH(ID1);用户2的身份为ID2,其基于身份的私钥为SK_ID2=xH(ID2)。不需要通过消息交互,用户1和用户2就可以计算出双方唯一的共享密钥K_com=e(xH(ID1),H(ID2))。
2)K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),此时密钥K绑定了参数1。参数1可以为服务标识、切片ID、链路ID、连接标识(connection ID)、会话标识(Session ID)、服务网络标识(serving network ID)、公共陆地移动网络标识(PLMN ID)、ID 1和ID2的至少一项;其中H()算法可以为Hash()算法,也可能为HMAC()算法。
803、UE2随机选择第二随机参数(nonce2),利用通信共享密钥K_com推衍出会话密钥K_session,并基于K_com或K_session计算第二消息认证码(MAC2)。
其中,K_session=KDF(K_com,(会话标识,nonce1,nonce2,服务标识,第一用户标识,第二用户标识中的至少一项)),MAC2=MAC(K_com或K_session,(nonce1,nonce2的至少一项),(会话标识,第一用户标识,第二用户标识,服务标识,切片标识,链路标识,连接标识,服务网络标识,PLMN ID的至少一项))。
804、UE2向UE1发送会话标识,nonce1,nonce2,MAC2。可选地,UE2还可向UE1发送服务标识和ID2。
805、UE1基于GPK、ID1、SK_ID1和ID2采用与UE2相同的参数输入生成出共享密钥K_com,利用与UE2相同的参数输入推衍出K_session。UE1利用K_com或K_session验证MAC2的正确性。若验证成功,则计算MAC1,若验证不成功,则不计算MAC1。验证成功即表明消息未被篡改。
其中,MAC1=MAC(K_com或K_session,(nonce1,nonce2的至少一项),(会话标识、ID1、ID2、服务标识、切片ID、链路ID、连接标识、服务网络标识、PLMN ID中的至少一项))。
其中,验证MAC2的正确性所采用的密钥与步骤803中计算MAC2采用的密钥相同。
806、UE1向UE2发送MAC1;
807、UE2采用K_com或K_session验证MAC1的正确性。
在图8所示实施例中,MAC(包括MAC1和MAC2)的计算方式可以基于K_com或者K_session。但不管是基于哪一种,计算MAC和验证MAC必须用的同一个密钥。
本发明实施例提供的基于三轮认证流程的认证方法,UE1利用K_com或K_session对来自UE2的MAC2进行验证,之后UE2利用K_com或K_session对来自UE1的MAC进行验证。如此可基于MAC完成相互认证,满足业务对于认证灵活性的需求。
图9是本发明实施例提供的一种基于加密完成相互认证的三轮认证方法的流程图。在图9所示实施例中,UE1可具有第一用户标识(ID1)、第一用户密钥(SK_ID1)和全局公钥(GPK),UE2可具有第二用户标识(ID2)、第二用户密钥(SK_ID2)和全局公钥(GPK)。在图9所示实施例中,UE1和UE2通过计算各自的加密文本来向对方证明自己的认证性。
参照图9,本发明实施例提供的基于三轮认证流程的认证方法可包括:
901、UE1向UE2发送会话标识(session ID)、第一用户标识(ID1)、服务标识(service ID)、En(ID2,Nonce1),可能还包括第二用户标识(ID2)。
其中对于En(ID2,Nonce1)加密方式有两种可能性:基于共享密钥K加密,此时需要UE1先生成共享密钥K_com;基于身份的加密,利用ID2加密nonce1。
902、UE2基于GPK,ID2,SK_ID2和ID1计算出共享密钥K_com。计算公式有以下两种可能性:
1)K_com=e(xH(ID1),H(ID2))或者K_com=H(e(xH(ID1),H(ID2))。
具体地,若用户1和用户2希望进行安全的通信,各自参数如下:用户1的身份为ID1,其基于身份的私钥为SK_ID1=xH(ID1);用户2的身份为ID2,其基于身份的私钥为SK_ID2=xH(ID2)。不需要通过消息交互,用户1和用户2就可以计算出双方唯一的共享密钥K_com=e(xH(ID1),H(ID2))。
2)K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),此时密钥K绑定了参数1;参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;其中H()算法可以为Hash()算法,也可能为HMAC()算法。
903、UE2获取nonce1并随机选择nonce2,基于nonce1和nonce2计算第二加密文本(ciphertext2)。其中,ciphertext2=En(ID1,ID2,nonce1,nonce2)。
其中,若En(ID2,Nonce1)为基于共享密钥K_com加密,此时UE2需要先生成共享密钥K_com,再解密出nonce1。若En(ID2,Nonce1)为基于身份ID2的加密,则UE2利用SK_ID2解密出nonce1。
可选地,本步骤903中,UE2还可利用共享密钥K_com推衍出会话密钥K_session=KDF(K_com,(会话标识、nonce1、nonce2、服务标识、ID1、ID2中的至少一项))。
加密得到第二加密文本(ciphertext2)的可能性包括:基于共享密钥K_com加密ID1,ID2,nonce1,nonce2得到第二加密文本(ciphertext2);基于身份的加密,利用ID1加密ID1,ID2,nonce1,nonce2得到第二加密文本(ciphertext2);基于会话密钥K_session加密ID1,ID2,nonce1,nonce2得到第二加密文本(ciphertext2)。
904、UE2向UE1发送第一用户标识(ID1),第二用户标识(ID2)和第二加密文本(ciphertext2);
905、UE1接收ID1,ID2,第二加密文本(ciphertext2)之后,解密第二加密文本(ciphertext2)得出nonce 1和第二随机参数,并验证nonce 1。在验证成功时,UE1生成第一加密文本(ciphertext1),其中ciphertext1=En(ID1,ID2,nonce2)。
其中,在解密ciphertext2时,若ciphertext2为基于共享密钥K加密,此时需要UE1先生成共享密钥K_com,再解密出nonce1和nonce2。若ciphertext2为基于身份的加密,UE1利用SK_ID1解密出nonce1和nonce2。若ciphertext2为基于共享密钥K_session的加密,此时需要UE1先生成共享密钥K_com,在生成K_session,进而解密出nonce1和nonce2。
UE1在解密得到nonce1和nonce2之后,判断nonce1与步骤901中加密的nonce1是否相同。若相同,则验证成功,生成第一加密文本(ciphertext1)。若不相同,则验证失败,可不生成第一加密文本。
可选地,UE1可基于GPK,ID1,SK_ID1和ID2采用与UE2相同的参数输入生成出共享密钥K_com,然后利用与UE2相同的参数输入推衍出K_session;
加密得到ciphertext1的可能性包括:基于共享密钥K_com加密ID1,ID2,nonce2得到第一加密文本(ciphertext1);基于身份的加密,利用ID2加密ID1,ID2,nonce2得到第一加密文本(ciphertext1);基于会话密钥K_session加密ID1,ID2,nonce2得到第一加密文本(ciphertext1)。
906、UE1向UE2发送第一加密文本(ciphertext1)。
907、UE2利用SK_ID2或者K_com或者K_session对第一加密文本进行解密,解密出nonce2,并判断解密出的nonce2与步骤903中加密的nonce2是否相同。若相同,则认证UE1成功。
需要指出的是,在图9所示实施例中,步骤901中nonce 1也可以不需要加密,直接由UE1发送给UE2。可选地,步骤906中,nonce2也可以不加密由UE1直接发送给UE2。
本发明实施例提供的基于三轮认证流程的认证方法,UE1利用共享密钥K_com或SK_ID1对来自UE2的第二加密文本(ciphertext2)进行验证,之后UE2利用SK_ID2或者共享密钥K_com对来自UE1的第一加密文本(ciphertext1)进行验证。如此可基于加密完成相互认证,满足业务对于认证灵活性的需求。
图10是本发明实施例提供的一种基于签名完成相互认证的三轮认证方法的流程图。在图10所示实施例中,UE1可具有第一用户标识(ID1)、第一用户密钥(SK_ID1)和全局公钥(GPK),UE2可具有第一用户标识(ID2)、第二用户密钥(SK_ID2)和全局公钥(GPK)。在图10所示实施例中,UE1和UE2通过各自的数字签名来向对方证明自己的认证性。
本实施例与图8所示实施例的不同之处在于,本实施例采用数字签名的方式来替代图8所示实施例中的MAC。
参照图10,本发明实施例提供的基于三轮认证流程的认证方法可包括:
1001、UE1向UE2发送会话标识(session ID)、Nonce1、ID1、服务标识(serviceID),可能还包括第二用户标识(ID2)。
1002、UE2获取nonce1并随机选择nonce2。UE2可以采用与上述实施例相同的方式计算出K_com,并推衍出K_session=KDF((K_com,nonce1,nonce2的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))。
1003、UE2基于第二用户密钥(SK_ID2)计算第二数字签名(signature2),signature2=Sign(SK_ID2,(nonce1,nonce2的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识的至少一项))。
1004、UE2发送nonce1,nonce2和第二数字签名(signature2)至UE1,可能还包括ID1和ID2的至少一项。
1005、UE1基于第二用户标识(ID2)验证第二数字签名(signature2)的正确性。并在验证正确时,UE基于第一用户密钥(SK_ID1)计算第一数字签名(signature1),Signature1=Sign(SK_ID1,(nonce1,nonce2的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识的至少一项))。若验证不正确,则可不计算第一数字签名。
同时,UE1可采用相同的方式计算得到K_com和K_session。
1006、UE1发送第一数字签名(signature1)至UE2。
1007、UE2基于第一用户标识(ID1)验证第一数字签名(signature1)的正确性。验证成功后,UE1与UE2共享K_session。并且,UE1和UE2之间的通信会话可利用K_session进行加密,以保证安全性。
本发明实施例提供的基于三轮认证流程的认证方法,UE1基于ID2验证第二数字签名(Signature2)的正确性,UE2基于ID1验证第一数字签名(Signature1)的正确性。如此可基于数字签名完成相互认证,满足业务对于认证灵活性的需求。
下面对本发明实施例提供的基于两轮认证流程的认证方法进行描述。
图11是本发明实施例提供的一种基于MAC完成相互认证的两轮认证方法的流程图。在图11所示实施例中,UE1可具有第一用户标识(ID1)、第一用户密钥(SK_ID1)和全局公钥(GPK),UE2可具有第二用户标识(ID2)、第二用户密钥(SK_ID2)和全局公钥(GPK)。
图11所示实施例与图8所示实施例的认证流程大体类似。不同之处在于:UE2在接收到UE1的第一条消息之后,就可验证UE1的合法性。而图8所示三轮认证中,UE2都是在接收到UE1的第二条消息之后,才验证UE1的合法性。
参照图11,本发明实施例提供的基于两轮认证流程的认证方法可包括:
1101、UE1生成共享密钥K_com。
计算公式有以下两种可能性:
1)K_com=e(xH(ID1),H(ID2)),或者K_com=H(e(xH(ID1),H(ID2))。
具体地,若用户1和用户2希望进行安全的通信,各自参数如下:用户1的身份为ID1,其基于身份的私钥为SK_ID1=s H(ID1);用户2的身份为ID2,其基于身份的私钥为SK_ID2=sH(ID2)。不需要通过消息交互,用户1和用户2就可以计算出双方唯一的共享密钥K=e(xH(ID1),H(ID2))。
2)K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),此时密钥K绑定了参数1。参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;其中H()算法可以为Hash()算法,也可能为HMAC()算法。
1102、UE1随机选择nonce1,利用K_com计算MAC1。
其中,MAC1=MAC(K_com,nonce1,(会话标识、ID1、ID2、服务标识,切片ID、链路ID、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项))。
1103、UE1向UE2发送会话标识、Nonce1、第一用户标识、第二用户标识和MAC1。
1104、UE2生成K_com。
计算公式有以下两种可能性:
1)K_com=e(xH(ID1),H(ID2)),或者K_com=H(e(xH(ID1),H(ID2))。
具体地,若用户1和用户2希望进行安全的通信,各自参数如下:用户1的身份为ID1,其基于身份的私钥为SK_ID1=s H(ID1);用户2的身份为ID2,其基于身份的私钥为SK_ID2=sH(ID2)。不需要通过消息交互,用户1和用户2就可以计算出双方唯一的共享密钥K=e(xH(ID1),H(ID2))。
2)K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),此时密钥K绑定了参数1。参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;其中H()算法可以为Hash()算法,也可能为HMAC()算法。
1105、UE2验证MAC1的正确性,并在验证正确时根据随机选择nonce2和K_com计算MAC2。
其中MAC2=MAC(K_com,nonce1,nonce2,(会话标识、ID1、ID2、服务标识,切片ID、链路ID、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项))。
1106、UE2向UE1发送nonce1、nonce2、第一用户标识、第二用户标识、MAC2。
1107、UE1验证MAC2的正确性,并推衍会话密钥K_session=KDF(K_com,(会话标识、nonce1、nonce2、服务标识、ID1、ID2中的至少一项))。
1108、UE2推衍会话密钥K_session=KDF(K_com,(会话标识、nonce1、nonce2、服务标识、ID1,ID2的至少一项))。
可选地,步骤1108的动作的执行位置可调整,可以在步骤1104后的任何一步来完成。
可选地,在步骤1101或1102中,UE1可进一步计算得到K_session,此时K_session的推衍中不包含nonce2参数;之后UE1可基于K_session计算得到MAC1。相应的,UE2计算得到K_com和K_session,利用K_session验证MAC1的正确性,验证成功后基于K_session计算得到MAC2,并发送MAC2至UE1,以使UE1验证MAC2的认证性。从而完成双方的相互认证。
本发明实施例提供的基于两轮认证流程的认证方法,UE2利用K_com或K_session对来自UE1的MAC进行验证,之后UE1利用K_com或K_session对来自UE2的MAC2进行验证。如此可基于MAC完成相互认证,满足业务对于认证灵活性的需求。
图12是本发明实施例提供的一种基于签名完成相互认证的两轮认证方法的流程图。在图12所示实施例中,UE1可具有第一用户标识(ID1)、第一用户密钥(SK_ID1)和全局公钥(GPK),UE2可具有第二用户标识(ID2)、第二用户密钥(SK_ID2)和全局公钥(GPK)。
图12所示实施例与图11所示实施例的认证流程大体类似。不同之处在于:本实施例采用数字签名的方式来替代图11所示实施例中的MAC。
参照图12,本发明实施例提供的基于两轮认证流程的认证方法可包括:
1201、UE1采用上述实施例相同的方式生成K_com。
1202、UE1随机选择nonce1,并利用SK_ID1计算第一数字签名(signature1)。其中,signature1=Sign(SK_ID1,(nonce1、会话标识、ID1、ID2、服务标识、切片ID、链路ID、连接标识、会话标识、服务网络标识、PLMN ID的至少一项))。
1203、UE1向UE2发送会话标识、Nonce1、ID1、ID2和第一数字签名(signature1)。
1204、UE2采用相同方式生成K_com。
1205、UE2利用ID1验证第一数字签名(signature1)的正确性,验证成功后利用SK_ID2计算第二数字签名(signature2),signature2=Sign(SK_ID2,(nonce1,nonce2,的至少一项),(会话标识、ID1、ID2、服务标识、切片ID、链路ID、连接标识、服务网络标识、PLMN ID的至少一项))。
1206、UE2向UE1发送Nonce1、nonce2、第一用户标识、第二用户标识、第二数字签名(signature2)。
1207、UE1验证第二数字签名(signature2)的正确性,并推衍会话密钥K_session=KDF(K_com,(会话标识、nonce1、nonce2、服务标识、ID1、ID2中的至少一项))。
1208、UE2推衍会话密钥K_session=KDF(K_com,(会话标识、nonce1,nonce2,服务标识、ID1、ID2的至少一项))。
可选地,步骤1208中推衍会话密钥K_session可以在步骤1204后的任何一步来完成。
可选地,在步骤1201或1202中,UE1可进一步计算得到K_session,此时K_session的推衍中不包含nonce2参数。相应的,UE2计算得到K_com,并以与UE1相同的方式计算出K_session。
本发明实施例提供的基于两轮认证流程的认证方法,UE2基于ID1验证第一数字签名(Signature1)的正确性,UE1基于ID2验证第二数字签名(Signature2)的正确性。如此可基于数字签名完成相互认证,满足业务对于认证灵活性的需求。
需要指出的是,上述实施例中都是基于会话的方式,在发送的消息中添加会话标识(session ID),并且在密钥推衍和认证中也添加参数会话标识。上述方式也支持切片,流(flow)和承载的模式,即在在发送的消息中添加切片ID、流标识或者承载ID,并且在密钥推衍和认证中也添加切片ID、流标识或者承载ID参数。
图13是本发明实施例提供的一种认证装置的结构框图。参照图13,所述认证装置1300包括发送模块1301、接收模块1302和处理模块1303。其中:
发送模块1301,用于向第二用户设备发送第一随机参数;
接收模块1302,用于接收来自所述第二用户设备的第二认证特征;
处理模块1303,用于验证所述第二认证特征的正确性,生成第一认证特征;
所述发送模块1301,还用于将所述第一认证特征发往所述第二用户设备。
在一种情况下,所述认证特征为消息认证码,此情况下,在生成第一认证特征之前,所述接收模块1302还用于:接收来自所述第二用户设备的第一随机参数和第二随机参数;
所述处理模块1303具体用于:获取所述第一用户标识、所述第二用户标识,并根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_com和/或会话密钥K_session;根据通信共享密钥K_com或会话密钥K_session、第一随机参数和第二随机参数,生成第一MAC;
其中:
K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为Hash()算法或HMAC()算法;
K_session=KDF(K_com,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第一MAC=MAC(K_com或K_session,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第一用户设备预先获取,或者从所述第一用户设备处接收。
在一种情况下,所述认证特征为加密文本,此情况下,所述处理模块1303具体用于:
采用第一用户密钥、通信共享密钥K_com或会话密钥K_session解密第二加密文本,以得到第一随机参数和第二随机参数,并确定解密得到的第一随机参数与之前向所述第二用户设备发送的第一随机参数是否相同,若相同,则验证成功;
其中,K_com=e(xH(ID1),H(ID2))或者K_com=H(e(xH(ID1),H(ID2));或者K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为Hash()算法或HMAC()算法;
K_session=KDF(K_com,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项))。
在认证特征为加密文本的情况下,所述处理模块1303具体用于:
获取所述第一用户标识、所述第二用户标识,并采用第一用户标识、通信共享密钥K_com或会话密钥K_session对所述第一用户标识、所述第二用户标识和第二随机参数进行加密,以生成第一加密文本。
在一种情况下,所述认证特征为数字签名,此情况下,所述接收模块1302还用于:接收来自所述第二用户设备的第一随机参数和第二随机参数;
所述处理模块1303具体用于:根据第一随机参数、第二随机参数和第一用户密钥计算第一数字签名;
其中,第一数字签名=Sign(SK_ID2,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取,或者从所述第一用户设备处接收。
本发明实施例提供的认证装置,通过MAC、加密文本或者数字签名的方式来在两个终端设备之间执行认证,在认证过程中,无需HSS的介入,能够满足业务对于认证灵活性的需求。
图14是本发明实施例提供的一种认证装置的结构框图。参照图14,所述认证装置1400包括发送模块1401、接收模块1402和处理模块1403。其中:
接收模块1402,用于接收来自第一用户设备的第一随机参数;
处理模块1403,用于获取第一用户标识、第二用户标识和第二随机参数,根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征,并将所述第二认证特征发往所述第一用户设备;
所述接收模块1402,还用于接收来自所述第一用户设备的第一认证特征;
所述处理模块1403,还用于验证所述第一认证特征的正确性。
在一种情况下,所述认证特征为消息认证码,所述发送模块1401用于:
在处理模块1403生成第二MAC之后,将第一随机参数和第二随机参数发往所述第一用户设备。
在所述认证特征为消息认证码的情况下,所述处理模块1403具体用于:
根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_com和/或会话密钥K_session;
根据通信共享密钥K_com或会话密钥K_session、第一随机参数和第二随机参数,生成第二MAC;
其中,K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为Hash()算法或HMAC()算法;
K_session=KDF(K_com,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第二MAC=MAC(K_com或K_session,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取,或者从所述第一用户设备处接收。
在一种情况下,所述认证特征为加密文本,所述处理模块1403具体用于:
利用第一用户标识、通信共享密钥K_com或会话密钥K_session对所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数进行加密,以生成第二加密文本;
验证所述第一认证特征的正确性包括:
采用第一用户密钥、通信共享密钥K_com或会话密钥K_session解密第一加密文本,以得到第二随机参数,并确定解密得到的第二随机参数与之前加密的第二随机参数是否相同,若相同,则验证成功;
其中,K_com=e(xH(ID1),H(ID2))或者K_com=H(e(xH(ID1),H(ID2));或者K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为Hash()算法或HMAC()算法;
K_session=KDF(K_com,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项))
在一种情况下,所述认证特征为数字签名,
所述处理模块1403具体用于:以如下方式生成第二数字签名:
第二数字签名=Sign(SK_ID2,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
在处理模块1403生成第二数字签名之后,所述发送模块1401,用于:将第一随机参数和第二随机参数发往所述第一用户设备。
本发明实施例提供的认证装置,通过MAC、加密文本或者数字签名的方式来在两个终端设备之间执行认证,在认证过程中,无需HSS的介入,能够满足业务对于认证灵活性的需求。
图15是本发明实施例提供的一种终端设备的结构示意图。参照图15,本发明实施例提供的终端1500可包括:至少一个处理器1501、存储器1502、通信接口1503和总线。处理器1501、存储器1502和通信接口1503通过总线连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器1502用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器1502可以为高速RAM存储器,也可能为非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1501通过读取存储器1502中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
向第二用户设备发送第一随机参数;
接收来自所述第二用户设备的第二认证特征;
验证所述第二认证特征的正确性,生成第一认证特征,并将所述第一认证特征发往所述第二用户设备。
在一种情况下,所述认证特征为消息认证码MAC,处理器1501通过读取存储器1502中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
在生成第一认证特征之前,接收来自所述第二用户设备的第一随机参数和第二随机参数;
获取所述第一用户标识、所述第二用户标识,并根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_com和/或会话密钥K_session;
根据通信共享密钥K_com或会话密钥K_session、第一随机参数和第二随机参数,生成第一MAC;
其中:
K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为Hash()算法或HMAC()算法;
K_session=KDF(K_com,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第一MAC=MAC(K_com或K_session,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第一用户设备预先获取,或者从所述第二用户设备处接收。
在另一种情况下,所述认证特征为加密文本,处理器1501通过读取存储器1502中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
采用第一用户密钥、通信共享密钥K_com或会话密钥K_session解密第二加密文本,以得到第一随机参数和第二随机参数,并确定解密得到的第一随机参数与之前向所述第二用户设备发送的第一随机参数是否相同,若相同,则验证成功;
其中,K_com=e(xH(ID1),H(ID2))或者K_com=H(e(xH(ID1),H(ID2));或者K_com=H(e(xH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为Hash()算法或HMAC()算法;
K_session=KDF(K_com,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
在所述认证特征为加密文本的情况下,处理器1501读取可执行程序代码,以用于:获取所述第一用户标识、所述第二用户标识,并采用第一用户标识、通信共享密钥K_com或会话密钥K_session对所述第一用户标识、所述第二用户标识和第二随机参数进行加密,以生成第一加密文本。
在另一种情况下,所述认证特征为数字签名,处理器1501通过读取存储器1502中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:在生成第一认证特征之前,接收来自所述第二用户设备的第一随机参数和第二随机参数;
根据第一随机参数、第二随机参数和第一用户密钥计算第一数字签名;
其中,第一数字签名=SIGN(SK_ID1,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取,或者从所述第一用户设备处接收。
本发明实施例提供的终端,通过MAC、加密文本或者数字签名的方式来在两个终端设备之间执行认证,在认证过程中,无需HSS的介入,能够满足业务对于认证灵活性的需求。
图16是本发明实施例提供的一种终端设备的结构示意图。参照图16,本发明实施例提供的终端1600可包括:至少一个处理器1601、存储器1602、通信接口1603和总线。处理器1601、存储器1602和通信接口1603通过总线连接并完成相互间的通信。所述总线可以是工业标准体系结构(INDUSTRY STANDARD ARCHITECTURE,简称为ISA)总线、外部设备互连(PERIPHERAL COMPONENT,简称为PCI)总线或扩展工业标准体系结构(EXTENDED INDUSTRYSTANDARD ARCHITECTURE,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器1602用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器1602可以为高速RAM存储器,也可能为非易失性存储器(NON-VOLATILE MEMORY),例如至少一个磁盘存储器。
处理器1601通过读取存储器1602中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
接收来自第一用户设备的第一随机参数;
获取第一用户标识、第二用户标识和第二随机参数,根据所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数,生成第二认证特征,并将所述第二认证特征发往所述第一用户设备;
接收来自所述第一用户设备的第一认证特征;
验证所述第一认证特征的正确性。
在一种情况下,所述认证特征为消息认证码(MAC),处理器1601通过读取存储器1602中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
根据所述第一用户标识、所述第二用户标识生成通信共享密钥K_COM和/或会话密钥K_SESSION;
根据通信共享密钥K_COM或会话密钥K_SESSION、第一随机参数和第二随机参数,生成第二MAC;
其中,K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项));
第二MAC=MAC(K_COM或K_SESSION,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项))
其中,会话标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识由所述第二用户设备预先获取,或者从所述第一用户设备处接收。
其中,在生成第二MAC之后,可将第一随机参数和第二随机参数发往所述第一用户设备。
在另一种情况下,所述认证特征为加密文本,处理器1601通过读取存储器1602中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
利用第一用户标识、通信共享密钥K_COM或会话密钥K_SESSION对所述第一用户标识、所述第二用户标识、第一随机参数和第二随机参数进行加密,以生成第二加密文本;
采用第一用户密钥、通信共享密钥K_COM或会话密钥K_SESSION解密第一加密文本,以得到第二随机参数,并确定解密得到的第二随机参数与之前加密的第二随机参数是否相同,若相同,则验证成功;
其中,K_COM=E(XH(ID1),H(ID2))或者K_COM=H(E(XH(ID1),H(ID2));或者K_COM=H(E(XH(ID1),H(ID2))^{H(参数1)}),其中,参数1可以为服务标识、切片标识、链路标识、连接标识、会话标识、服务网络标识、公共陆地移动网络标识、第一用户标识和第二用户标识中的至少一项;H()算法为HASH()算法或HMAC()算法;
K_SESSION=KDF(K_COM,(会话标识,第一随机参数,第二随机参数,服务标识,第一用户标识,第二用户标识中的至少一项))
在另一种情况下,所述认证特征为数字签名,处理器1601通过读取存储器1602中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
第二数字签名=SIGN(SK_ID2,(第一随机参数,第二随机参数的至少一项),(会话标识、第一用户标识、第二用户标识、服务标识、切片标识、链路标识、连接标识、服务网络标识、公共陆地移动网络标识中的至少一项));
在生成第二数字签名之后,将第一随机参数和第二随机参数发往所述第一用户设备。
本发明实施例提供的终端,通过MAC、加密文本或者数字签名的方式来在两个终端设备之间执行认证,在认证过程中,无需HSS的介入,能够满足业务对于认证灵活性的需求。
需要指出的是,本发明实施例提供的认证系统可包括图15所示的终端和图16所示的终端。图15和16中所示的终端可以为前文中提到的用户设备,终端实施例和认证方法实施例的相关内容可相互参照。
需要说明的是:上述实施例提供的认证装置仅以上述包括的模块为例举例说明,实际应用中,可以根据需要增加或减少一或多个模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的认证装置和认证方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种认证方法,其特征在于,所述方法包括:
通信网元接收用户设备UE发送的请求,其中,所述请求包括第一标识;
响应于所述请求,所述通信网元向归属用户服务器HSS发送所述第一标识;
所述通信网元接收发送HSS发送的认证向量,所述认证向量包括认证随机数RAND,第一响应值XRES以及认证值AUTN;
所述通信网元向所述UE发送所述RAND和AUTN;
所述通信网元接收所述UE发送的第二响应值RES;
所述通信网元判断所述XRES与所述RES是否相同;
若书XRES与所述RES相同,所述通信网元向密钥管理中心KMS发送第二标识;
所述KMS生成与所述第二标识对应的用户私钥;
所述KMS向所述通信网元发送所述用户私钥;以及
所述通信网元向所述UE发送所述用户私钥。
2.根据权利要求1所述的方法,其特征在于,所述KMS生成与所述第二标识对应的用户私钥,包括:
所述KMS利用所述第二标识生成所述用户私钥。
3.根据权利要求1所述的方法,其特征在于,所述KMS生成与所述第二标识对应的用户私钥,包括:
所述KMS利用运营商标识和所述第二标识生成所述用户私钥。
4.根据权利要求3所述的方法,其特征在于,所述运营商标识为公共陆地移动网络标识(PLMN ID),服务网络标识(serving network ID)或本地运营商网络标识。
5.根据权利要求3或4所述的方法,其特征在于,所述第二标识为以下任一种:行业用户标识、业务标识、公司的标识以及个人用户的标识。
6.根据权利要求1至5任一所述的方法,其特征在于,所述请求中还包括指示符,所述指示符用于指示获取与所述第二标识对应的私钥。
7.一种认证方法,其特征在于,所述方法包括:
用户设备UE向通信网元发送请求;其中,所述请求包括第一标识和第二标识;所述第一标识为国际移动用户识别码;所述第二标识为以下任一种:行业用户标识、业务标识、公司的标识以及个人用户的标识;
所述UE接收认证随机数RAND以及及认证值AUTN;
所述UE验证所述AUTN;
若验证所述AUTN成功,所述UE计算第一响应值RES,并向所述通信网元发送所述RES;
所述UE接收与所述第二标识对应用户私钥。
8.根据权利要求7所述的方法,其特征在于,所述用户私钥是根据所述第二私钥生成的。
9.根据权利要求7所述的方法,其特征在于,所述用户私钥是根据运营商标识和所述第二标识生成的。
10.根据权利要求9所述的方法,其特征在于,所述运营商标识为公共陆地移动网络标识(PLMN ID),服务网络标识(serving network ID)或本地运营商网络标识。
11.根据权利要求7至10任一所述的方法,其特征在于,所述请求中还包括指示符,所述指示符用于指示获取与所述第二标识对应的私钥。
12.一种通信装置,其特征在于,所述装置包括:
发送模块,用于向通信网元发送请求;其中,所述请求包括第一标识和第二标识;所述第一标识为国际移动用户识别码;所述第二标识为以下任一种:行业用户标识、业务标识、公司的标识以及个人用户的标识;
接收模块,用于接收认证随机数RAND以及及认证值AUTN;
处理模块,用于验证所述AUTN;若验证所述AUTN成功,所述UE计算第一响应值RES;
所述发送模块,还用于向所述通信网元发送所述RES;
所述接收模块,用于接收与所述第二标识对应用户私钥。
13.根据权利要求12所述的通信装置,其特征在于,所述用户私钥是根据所述第二私钥生成的。
14.根据权利要求12所述的装置,其特征在于,所述用户私钥是根据运营商标识和所述第二标识生成的。
15.根据权利要求14所述的方法,其特征在于,所述运营商标识为公共陆地移动网络标识(PLMN ID),服务网络标识(serving network ID)或本地运营商网络标识。
16.根据权利要求12至15任一所述的方法,其特征在于,所述请求中还包括指示符,所述指示符用于指示获取与所述第二标识对应的私钥。
CN202010516832.4A 2016-09-05 2016-09-05 认证方法、认证装置和认证系统 Pending CN111865603A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010516832.4A CN111865603A (zh) 2016-09-05 2016-09-05 认证方法、认证装置和认证系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010516832.4A CN111865603A (zh) 2016-09-05 2016-09-05 认证方法、认证装置和认证系统
CN201610803439.7A CN107800539B (zh) 2016-09-05 2016-09-05 认证方法、认证装置和认证系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201610803439.7A Division CN107800539B (zh) 2016-09-05 2016-09-05 认证方法、认证装置和认证系统

Publications (1)

Publication Number Publication Date
CN111865603A true CN111865603A (zh) 2020-10-30

Family

ID=61299942

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010516832.4A Pending CN111865603A (zh) 2016-09-05 2016-09-05 认证方法、认证装置和认证系统
CN201610803439.7A Active CN107800539B (zh) 2016-09-05 2016-09-05 认证方法、认证装置和认证系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610803439.7A Active CN107800539B (zh) 2016-09-05 2016-09-05 认证方法、认证装置和认证系统

Country Status (4)

Country Link
US (2) US10742418B2 (zh)
EP (1) EP3493462B1 (zh)
CN (2) CN111865603A (zh)
WO (1) WO2018040758A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865603A (zh) * 2016-09-05 2020-10-30 华为技术有限公司 认证方法、认证装置和认证系统
CN108012267B (zh) * 2016-10-31 2022-05-24 华为技术有限公司 一种网络认证方法、相关设备及系统
CN108024294B (zh) * 2016-11-02 2020-08-07 中兴通讯股份有限公司 切换方法及装置
CN109511115B (zh) * 2017-09-14 2020-09-29 华为技术有限公司 一种授权方法和网元
CN108809643B (zh) * 2018-07-11 2021-04-27 飞天诚信科技股份有限公司 一种设备与云端协商密钥的方法、系统及设备
CN109448195B (zh) * 2018-12-12 2021-10-08 无锡车联天下信息技术有限公司 车辆虚拟钥匙的认证方法及装置
CN111669276B (zh) * 2019-03-07 2022-04-22 华为技术有限公司 一种网络验证方法、装置及系统
EP3758322A1 (fr) * 2019-06-25 2020-12-30 Gemalto Sa Procédé et système de génération de clés de chiffrement pour données de transaction ou de connexion
EP4028871A4 (en) * 2019-09-11 2023-10-11 ARRIS Enterprises LLC PASSPHASE AND POLICY-BASED DEVICE-INDEPENDENT AUTHENTICATION
US11528608B2 (en) * 2019-09-25 2022-12-13 Verizon Patent And Licensing Inc. Service definition for private networks based on enhanced PLMN identifiers
US11856057B2 (en) * 2020-04-02 2023-12-26 International Business Machines Corporation Preservation of channel metadata
CN112383917A (zh) * 2020-10-21 2021-02-19 华北电力大学 一种基于商密算法的北斗安全通信方法和系统
CN112738048B (zh) * 2020-12-24 2023-04-25 中国农业银行股份有限公司 会话数据的传输方法及装置
CN112738101B (zh) * 2020-12-28 2023-04-07 中国农业银行股份有限公司 一种报文处理方法及装置
US11743039B2 (en) * 2021-04-20 2023-08-29 Coinbase Il Rd Ltd. System and method for data encryption using key derivation
CN113783867B (zh) * 2021-09-07 2023-07-25 福建天泉教育科技有限公司 一种请求认证方法及终端
CN113839786B (zh) * 2021-10-29 2023-06-09 郑州信大捷安信息技术股份有限公司 一种基于sm9密钥算法的密钥分发方法和系统
CN116074028A (zh) * 2021-11-02 2023-05-05 华为技术有限公司 加密流量的访问控制方法、装置及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445574B1 (ko) * 2001-12-19 2004-08-25 한국전자통신연구원 대화형 영 지식 증명을 이용한 패스워드 기반의 인증 및키 교환 프로토콜 설계 방법
DE102004013658B3 (de) * 2004-03-19 2005-12-08 Siemens Ag Protokollerweiterung einer Signalisierungsnachricht
ES2316993T3 (es) * 2004-06-25 2009-04-16 Telecom Italia S.P.A. Procedimiento y sistema para proteger la informacion intercambiada durante una comunicacion entre usuarios.
CN101946455B (zh) * 2008-02-21 2012-09-05 上海贝尔股份有限公司 用于异构网络的一次通过认证机制和系统
KR101528855B1 (ko) * 2008-03-04 2015-06-15 삼성전자주식회사 홈 네트워크에서 인증 정보를 관리하는 방법 및 그 장치
US8595501B2 (en) * 2008-05-09 2013-11-26 Qualcomm Incorporated Network helper for authentication between a token and verifiers
US8510558B2 (en) * 2009-02-17 2013-08-13 Alcatel Lucent Identity based authenticated key agreement protocol
CN101719895A (zh) * 2009-06-26 2010-06-02 中兴通讯股份有限公司 一种实现网络安全通信的数据处理方法和系统
US9037112B2 (en) * 2010-03-15 2015-05-19 Samsung Electronics Co., Ltd. Method and system for secured remote provisioning of a universal integrated circuit card of a user equipment
US8683564B2 (en) * 2010-06-27 2014-03-25 King Saud University One-time password authentication with infinite nested hash claims
US8799656B2 (en) * 2010-07-26 2014-08-05 Intel Corporation Methods for anonymous authentication and key agreement
WO2012112124A1 (en) * 2011-02-15 2012-08-23 Agency For Science, Technology And Research Communication terminal and method for performing communication
WO2013062459A2 (en) * 2011-10-26 2013-05-02 Mopper Ab Method and arrangement for authorizing a user
US9154302B2 (en) 2012-01-25 2015-10-06 CertiVox Ltd. System and method for secure two-factor authenticated ID-based key exchange and remote login using an insecure token and simple second-factor such as a PIN number
CN102624528A (zh) * 2012-03-02 2012-08-01 中国人民解放军总参谋部第六十一研究所 一种基于身份的认证密钥协商方法
US9871785B1 (en) * 2013-03-14 2018-01-16 EMC IP Holding Company LLC Forward secure one-time authentication tokens with embedded time hints
US9439072B2 (en) * 2013-11-08 2016-09-06 Teamblind Inc. System and method for authentication
CN103634115A (zh) * 2013-11-26 2014-03-12 常州大学 基于身份的认证密钥协商协议产生方法
US9813400B2 (en) * 2014-11-07 2017-11-07 Probaris Technologies, Inc. Computer-implemented systems and methods of device based, internet-centric, authentication
CN111865603A (zh) * 2016-09-05 2020-10-30 华为技术有限公司 认证方法、认证装置和认证系统
US10887295B2 (en) * 2016-10-26 2021-01-05 Futurewei Technologies, Inc. System and method for massive IoT group authentication

Also Published As

Publication number Publication date
WO2018040758A1 (zh) 2018-03-08
EP3493462B1 (en) 2020-09-30
EP3493462A4 (en) 2019-06-05
US11228442B2 (en) 2022-01-18
US20200344063A1 (en) 2020-10-29
EP3493462A1 (en) 2019-06-05
US20190199532A1 (en) 2019-06-27
US10742418B2 (en) 2020-08-11
CN107800539A (zh) 2018-03-13
CN107800539B (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN107800539B (zh) 认证方法、认证装置和认证系统
US11240218B2 (en) Key distribution and authentication method and system, and apparatus
EP3493502B1 (en) Supplying an iot-device with an authentication key
CN109428875B (zh) 基于服务化架构的发现方法及装置
EP3432532B1 (en) Key distribution and authentication method, apparatus and system
CN109428874B (zh) 基于服务化架构的注册方法及装置
US8122250B2 (en) Authentication in data communication
KR101485230B1 (ko) 안전한 멀티 uim 인증 및 키 교환
EP2039199B1 (en) User equipment credential system
KR20190139203A (ko) 서버와 사용자 장비 사이의 통신을 관리하기 위한 방법
CN101931955B (zh) 认证方法、装置及系统
US11044084B2 (en) Method for unified network and service authentication based on ID-based cryptography
CN101102186B (zh) 通用鉴权框架推送业务实现方法
CN111641498B (zh) 密钥的确定方法及装置
CN108809903B (zh) 一种认证方法、装置及系统
EP3472969B1 (en) A key generation and distribution method based on identity-based cryptography
US8855604B2 (en) Roaming authentication method for a GSM system
CN110536289A (zh) 密钥发放方法及其装置、移动终端、通信设备和存储介质
CN111770496B (zh) 一种5g-aka鉴权的方法、统一数据管理网元及用户设备
CN111432404B (zh) 信息处理方法及装置
WO2018126750A1 (zh) 一种密钥传递方法及装置
CN116390088A (zh) 开环传输下终端的安全认证方法、装置、电子设备及介质
KR20150135715A (ko) 이동통신 시스템에서 사용자의 프라이버시를 보호하는 장치 및 방법
KR20130062965A (ko) 무선 네트워크 접속 인증 방법 및 그 시스템

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