[go: up one dir, main page]

CN111050322A - 基于gba的客户端注册和密钥共享方法、装置及系统 - Google Patents

基于gba的客户端注册和密钥共享方法、装置及系统 Download PDF

Info

Publication number
CN111050322A
CN111050322A CN201910775078.3A CN201910775078A CN111050322A CN 111050322 A CN111050322 A CN 111050322A CN 201910775078 A CN201910775078 A CN 201910775078A CN 111050322 A CN111050322 A CN 111050322A
Authority
CN
China
Prior art keywords
key
service server
user terminal
user
bsf
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.)
Granted
Application number
CN201910775078.3A
Other languages
English (en)
Other versions
CN111050322B (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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
Priority claimed from PCT/CN2019/074725 external-priority patent/WO2020037958A1/zh
Application filed by Individual filed Critical Individual
Publication of CN111050322A publication Critical patent/CN111050322A/zh
Application granted granted Critical
Publication of CN111050322B publication Critical patent/CN111050322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • 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/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/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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了基于GBA的客户端注册和密钥共享方法、装置及系统,所述方法包括:运行有第三方应用客户端的用户终端基于GBA初始化过程中获取的B‑TID和生成的主密钥,与引导业务服务器BSF进行安全认证;在安全认证成功之后,引导业务服务器BSF为第三方应用客户端提供安全的注册信息和服务,并进而为第三方应用客户端生成用户令牌或应用密钥。本发明解决了第三方应用服务器仿冒恶意请求消耗引导业务服务器BSF和其他第三方应用服务器的计算、存储资源的问题,进而又解决第三方应用客户端能够计算出在同一个用户终端上的其他第三方应用客户端的应用密钥的问题。

Description

基于GBA的客户端注册和密钥共享方法、装置及系统
【技术领域】
本发明涉及通信技术领域和互联网技术领域,尤其涉及一种基于通用引导架构(Generic Bootstrapping Architecture,GBA)的客户端注册和密钥共享方法、装置及系统。
【背景技术】
3GPP规范TS 33.220定义了一种适用于移动网络的通用安全认证机制—通用引导架构(Generic Bootstrapping Architecture,GBA),它属于通用认证架构(GenericAuthentication Architecture,GAA)的一部分。
GBA提供了一种基于认证和密钥协商机制(authentication and key agreement,AKA)在用户终端(user equipment,UE)和网络应用服务器(network applicationfunction,NAF)之间建立应用密钥的通用机制。
GBA架构主要分为GBA初始化和应用密钥协商两个过程:
第一个过程是GBA初始化过程(GBA Bootstrapping):UE和引导业务服务器(bootstrapping server function,BSF)、BSF和归属用户服务器(home subscriberserver,HSS)/归属位置寄存器(home location register,HLR)之间基于AKA机制进行密钥协商,最终UE和BSF协商出一个GBA主密钥Ks,以及产生一个引导事务标识(bootstrappingtransaction identifier,B-TID),并且主密钥Ks和B-TID都分别存储在UE和BSF上。
第二个过程是应用密钥协商过程(Bootstrapping Usage Procedure):UE与NAF协商应用密钥,NAF根据UE发送的应用密钥协商请求,从BSF中获取应用密钥和用户信息,随后UE和NAF之间使用此应用密钥进行认证、消息加密等操作。更具体地,参考图7所示,该应用密钥协商过程包括如下步骤:
1.UE通过Ua接口向NAF发送应用连接请求,且请求消息中携带有B-TID,同时UE采用如下公式生成应用密钥Ks_(ext/int)_NAF。本步骤之前可以事先建立TLS链接,以保证Ua接口的通讯安全。
在“GBA_ME”模式下的计算公式:
Ks_NAF=KDF(Ks,"gba-me",RAND,IMPI,NAF_Id)
或者,在“GBA_U”模式下的计算公式:
Ks_ext_NAF=KDF(Ks,"gba-me",RAND,IMPI,NAF_Id)
Ks_int_NAF=KDF(Ks,"gba-u",RAND,IMPI,NAF_Id)
其中,Ks是GBA初始化过程中生成的主密钥Ks,“gba-me”和“gba-u”是固定字符串,RAND是GBA初始化过程中生成的随机数,IMPI是IP多媒体私有标识(IP MultimediaPrivateIdentity),NAF_Id是NAF的标识,KDF是密钥派生算法的缩写(又称为密钥导出函数)。
NAF_Id由要访问的NAF的FQDN(Fully Qualified Domain Name,完全限定域名)和Ua接口上的协议标识(UaID)连接而成,连接方法可表述为:NAF_Id=FQDN||UaID。
2.NAF收到UE的应用连接请求后,向BSF发出认证请求消息,其中携带B-TID、NAF_Id。
3.由于在第一个过程(即GBA初始化过程)完成后,BSF上已经存储有B-TID,以及存储有该B-TID对应的IMPI、主密钥Ks、Ks密钥有效期、GBA初始化时间、GBA用户安全设置信息(GUSS,GBA User Security Settings)等。
在BSF接收到NAF的认证请求后,BSF根据NAF_Id中的FQDN验证发送方的身份,并根据B-TID查找对应的主密钥Ks。
如果BSF没有查找到对应的主密钥Ks或Ks已经过期,则BSF向NAF返回认证失败应答消息并要求UE重新发起GBA初始化过程。
如果查找到相应的主密钥Ks并且在有效期内,BSF再使用与UE相同的应用密钥计算公式计算出应用密钥Ks_(ext/int)_NAF,然后向NAF服务器返回认证成功应答消息,并根据预先的设置在认证成功应答消息中把Ks_(ext/int)_NAF、Ks_(ext/int)_NAF有效期、GBA初始化时间、以及对应的用户安全设置信息(user security settings,USS)等发给NAF。
4.NAF存储Ks_(ext/int)_NAF和Ks_(ext/int)_NAF有效期信息后,返回认证成功应答消息给UE,这样UE和NAF之间建立了应用密钥Ks_(ext/int)_NAF,可以用于后续的认证、消息加密等操作。
GBA架构在IMS业务中已经得到了一定的应用,例如多媒体广播多播服务(multimedia broadcast/multicast service,MBMS)、安全用户平面定位(secure userplane location,SUPL)等业务。
随着用户终端的智能化(如移动智能手机)以及在互联网技术领域的广泛使用,用户在用户终端上会安装有大量的第三方应用客户端,而第三方应用客户端在使用过程中,通常需要先进行用户的身份认证,并与对应的第三方应用服务器之间协商共享密钥以满足数据加密等方面的需要。如果能将GBA架构应用在此领域,将极大提高安全性和增强用户体验,然而GBA架构的第二个过程即应用密钥协商过程并不能满足这方面的要求,以第三方应用服务器相当于NAF为例说明,其存在如下技术缺陷:
缺陷一:由于第三方应用服务器是由不同的第三方应用服务商提供的,又由于NAF_Id是较容易通过公开途径或者软件逆向获取的参数。第三方应用服务器通过收集第三方应用客户端的应用连接请求中携带的B-TID,然后根据该B-TID以及其他第三方应用服务器的NAF_Id生成应用连接请求,从而可以仿冒其他第三方应用客户端向其他第三方应用服务器发起应用连接,从而会使得BSF进行不必要的应用密钥Ks_(ext/int)_NAF生成计算,以及会使得其他第三方应用服务器存储不必要的应用密钥Ks_(ext/int)_NAF,由此会消耗BSF和其他第三方应用服务器的计算、存储资源。由于每个第三方应用服务器都可以收集B-TID,则收集的B-TID越多,对其他第三方应用服务器的潜在危害越大。
缺陷二:由于用户终端上会安装有大量的第三方应用客户端,它们是由不同的第三方应用服务商提供的,但GBA现有机制中应用密钥Ks_(ext/int)_NAF的计算方法,其中的“gba-me”、“gba-u”是固定的字符串参数,IMPI是在同一用户终端内都相同的固定参数,Ks、RAND是在一个Ks有效期内都相同的参数,NAF_Id是较容易通过公开途径或者软件逆向获取的参数,因此,同一用户终端上的第三方应用客户端能够较容易地计算出其他第三方应用客户端的应用密钥Ks_(ext/int)_NAF,从而来仿冒其他第三方应用客户端的访问。
【发明内容】
本发明的主要目的在于提供一种基于GBA的客户端注册和密钥共享方法、装置及系统,旨在为用户终端中运行的第三方应用客户端提供一种安全的注册方法、装置及系统,解决第三方应用服务器仿冒恶意请求消耗引导业务服务器BSF和其他第三方应用服务器的计算、存储资源的问题,进而又解决第三方应用客户端能够较容易地计算出同一个用户终端上的其他第三方应用客户端的应用密钥的问题,从而更安全有效地让GBA架构应用在互联网技术领域。
为达到上述目的,本发明提供了以下技术方案:
第一方面,提供了一种基于GBA的客户端注册和密钥共享方法,应用于运行有第三方应用客户端的用户终端中,该方法包括:
执行GBA初始化过程,获取B-TID和生成第一主密钥Ks;
基于所述第一主密钥Ks对第一验证信息加密生成第一加密值,所述第一验证信息与引导业务服务器BSF生成的第二验证信息的值相同;
将所述B-TID和所述第一加密值发送给所述引导业务服务器BSF;
接收所述引导业务服务器BSF提供的注册信息和服务,所述注册信息和服务是在所述引导业务服务器BSF验证所述第一加密值有效之后提供的。
优选的,所述用户终端与所述引导业务服务器BSF通过数据网络连接。
优选的,所述数据网络包括因特网、移动互联网。
优选的,所述用户终端通过移动数据连接、WiFi连接或/和WLAN连接接入所述移动互联网。
优选的,所述移动数据包括3G移动数据、4G移动数据、5G移动数据或6G移动数据。
优选的,所述基于所述第一主密钥Ks对第一验证信息加密生成第一加密值包括:
基于所述第一主密钥Ks生成第一认证密钥,其中,所述第一认证密钥的生成方式与所述引导业务服务器BSF生成第二认证密钥的生成方式一致,以使得所述第一认证密钥与所述引导业务服务器BSF生成的所述第二认证密钥的值相同;
生成所述第一验证信息,其中,所述第一验证信息的生成方式与所述引导业务服务器BSF生成所述第二验证信息的生成方式一致,以使得所述第一验证信息与所述引导业务服务器BSF生成的所述第二验证信息的值相同;
基于所述第一认证密钥对所述第一验证信息加密生成第一加密值。
优选的,所述基于所述第一主密钥Ks生成第一认证密钥包括:
将所述第一主密钥Ks作为所述第一认证密钥;或者,
基于包括所述第一主密钥Ks的信息生成所述第一认证密钥。
优选的,所述基于包括所述第一主密钥Ks的信息生成所述第一认证密钥包括:
基于包括所述第一主密钥Ks以及第一固定字符串或/和第一随机字符串或/和第一时间戳或/和所述B-TID或/和NAF_Id的信息生成第一认证密钥,所述第一固定字符串为预先配置的并且与所述引导业务服务器BSF预先配置的第一固定字符串的值相同的字符串,所述第一随机字符串为随机生成的字符串,所述第一时间戳为通过获取当前系统时间生成,所述NAF_Id为所述第三方应用客户端的标识;
若生成所述第一认证密钥的信息包括所述第一随机字符串或/和所述第一时间戳或/和所述NAF_Id,则将所述第一随机字符串或/和所述第一时间戳或/和所述NAF_Id传递给所述引导业务服务器BSF。
优选的,所述生成所述第一验证信息包括:
基于包括第二固定字符串或/和第二随机字符串或/和第二时间戳或/和所述B-TID或/和NAF_Id的信息生成所述第一验证信息,所述第二固定字符串为预先配置的并且与所述引导业务服务器BSF预先配置的第二固定字符串的值相同的字符串,所述第二随机字符串为随机生成的字符串,所述第二时间戳为通过获取当前系统时间生成,所述NAF_Id为所述第三方应用客户端的标识;
若生成所述第一验证信息包括基于所述第二随机字符串或/和所述第二时间戳或/和所述NAF_Id,则将所述第二随机字符串或/和所述第二时间戳或/和所述NAF_Id传递给所述引导业务服务器BSF。
优选的,所述基于包括第二固定字符串或/和第二随机字符串或/和第二时间戳或/和所述B-TID或/和NAF_Id的信息生成所述第一验证信息包括:
将所述第二固定字符串或所述第二随机字符串或所述第二时间戳或所述B-TID或所述NAF_Id中的一种作为所述第一验证信息;或者,
将所述第二固定字符串或所述第二随机字符串或所述第二时间戳或所述B-TID或所述NAF_Id中的一种生成的哈希值作为所述第一验证信息;或者,
将包括所述第二固定字符串或/和所述第二随机字符串或/和所述第二时间戳或/和所述B-TID或/和所述NAF_Id的信息组合拼接后作为所述第一验证信息;或者,
将包括所述第二固定字符串或/和所述第二随机字符串或/和所述第二时间戳或/和所述B-TID或/和所述NAF_Id的信息组合拼接后哈希计算生成的哈希值作为所述第一验证信息。
优选的,所述基于所述第一认证密钥对所述第一验证信息加密生成第一加密值包括:
使用签名加密算法基于所述第一认证密钥对所述第一验证信息签名加密生成所述第一加密值;或者,
使用对称加密算法基于所述第一认证密钥对包括所述第一验证信息的信息对称加密生成所述第一加密值。
优选的,所述方法还包括:
在所述接收所述引导业务服务器BSF提供的注册信息和服务之前,将NAF_Id传递给所述引导业务服务器BSF,所述NAF_Id为所述第三方应用客户端的标识;
所述注册信息和服务为所述引导业务服务器BSF为所述第三方应用客户端提供的注册信息和服务。
优选的,所述将NAF_Id传递给所述引导业务服务器BSF包括:
在所述将所述B-TID和所述第一加密值发送给所述引导业务服务器BSF的过程中,将NAF_Id传递给所述引导业务服务器BSF;或者,
在所述引导业务服务器BSF验证所述第一加密值有效之后,以及在所述接收所述引导业务服务器BSF提供的注册信息和服务之前,将NAF_Id传递给所述引导业务服务器BSF。
优选的,所述接收所述引导业务服务器BSF提供的注册信息和服务包括:
接收所述引导业务服务器BSF传递的第三方用户标识,所述第三方用户标识用于在所述第三方应用客户端中标识用户身份;或/和,
基于所述第一主密钥Ks生成第一应用密钥,所述第一应用密钥的生成方式与所述引导业务服务器BSF生成第二应用密钥的生成方式一致,所述第一应用密钥用于在所述第三方应用客户端中作为应用密钥;或/和,
接收所述引导业务服务器BSF传递的用户令牌,所述用户令牌用于所述第三方应用客户端访问对应第三方应用服务器的认证鉴权。
优选的,所述接收所述引导业务服务器BSF发送的第三方用户标识之后还包括:
基于所述第一主密钥Ks生成第一用户密钥,所述第一用户密钥的生成方式与所述引导业务服务器BSF生成第二用户密钥的生成方式一致,所述第一用户密钥用于在所述第三方应用客户端中作为所述第三方用户标识的密钥。
优选的,所述基于所述第一主密钥Ks生成第一用户密钥包括:
基于包括所述第一主密钥Ks以及第三固定字符串或/和第三随机字符串或/和第三时间戳或/和所述B-TID或/和所述NAF_Id或/和所述第三方用户标识的信息生成第一用户密钥,所述第三固定字符串为预先配置的并且与所述引导业务服务器BSF预先配置的第三固定字符串的值相同的字符串,所述第三随机字符串或/和所述第三时间戳为所述引导业务服务器BSF所传递的。
优选的,所述基于所述第一主密钥Ks生成第一应用密钥包括:
基于所述第一主密钥Ks以及可选参数生成所述第一应用密钥;所述可选参数包括Salt、RAND、IMPI以及NAF_Id中的一个或多个,其中,
Salt是与所述引导业务服务器BSF相同的盐值;
RAND是所述GBA初始化过程中生成的RAND;
IMPI是所述用户终端的IMPI;
NAF_Id是所述NAF_Id;
KDF是与所述引导业务服务器BSF相同的密钥派生算法;
所述可选参数与所述引导业务服务器BSF生成第二应用密钥时的可选参数一致。
优选的,在所述将NAF_Id传递给所述引导业务服务器BSF之后,以及在所述接收所述引导业务服务器BSF提供的注册信息和服务之前,还包括:
向所述引导业务服务器BSF发送经终端用户确认的授权信息。
优选的,所述向所述引导业务服务器BSF发送经终端用户确认的授权信息包括:
接收所述引导业务服务器BSF发送的应用授权请求消息;
显示应用授权验证界面;
接收终端用户在所述应用授权验证界面中输入的授权信息;
若所述授权信息表示确认授权,则向所述引导业务服务器BSF发送应用授权应答消息,所述应用授权应答消息为应用授权确认消息。
第二方面,提供了一种基于GBA的客户端注册和密钥共享方法,应用于引导业务服务器BSF中,所述方法包括:
与用户终端成功执行GBA初始化过程之后,接收所述用户终端发送的B-TID和第一加密值;
根据所述B-TID获取对应的第二主密钥Ks;
基于所述第二主密钥Ks和第二验证信息验证所述第一加密值,所述第二验证信息与所述用户终端生成的第一验证信息的值相同;
若验证所述第一加密值有效,则向所述用户终端提供注册信息和服务。
优选的,所述引导业务服务器BSF与所述用户终端通过数据网络连接。
优选的,所述数据网络包括因特网、移动互联网。
优选的,所述基于所述第二主密钥Ks和第二验证信息验证所述第一加密值包括:
基于所述第二主密钥Ks生成第二认证密钥,其中,所述第二认证密钥的生成方式与所述用户终端生成第一认证密钥的生成方式一致,以使得所述第二认证密钥与所述用户终端生成的所述第一认证密钥的值相同;
生成所述第二验证信息,其中,所述第二验证信息的生成方式与所述用户终端生成第一验证信息的生成方式一致,以使得所述第二验证信息与所述用户终端生成的所述第一验证信息的值相同;
基于所述第二认证密钥和所述第二验证信息验证所述第一加密值。
优选的,所述基于所述第二主密钥Ks生成第二认证密钥包括:
将所述第二主密钥Ks作为所述第二认证密钥;或者,
基于包括所述第二主密钥Ks的信息生成所述第二认证密钥。
优选的,所述基于包括所述第二主密钥Ks的信息生成所述第二认证密钥包括:
基于包括所述第二主密钥Ks以及第一固定字符串或/和第一随机字符串或/和第一时间戳或/和所述B-TID或/和NAF_Id的信息生成第二认证密钥,所述第一固定字符串为预先配置的并且与所述用户终端预先配置的第一固定字符串的值相同的字符串,所述第一随机字符串或/和所述第一时间戳或/和所述NAF_Id为所述用户终端所传递的。
优选的,所述生成第二验证信息包括:
基于第二固定字符串或/和第二随机字符串或/和第二时间戳或/和所述B-TID或/和NAF_Id生成所述第二验证信息,所述第二固定字符串为预先配置的并且与所述用户终端预先配置的第二固定字符串的值相同的字符串,所述第二随机字符串或/和所述第二时间戳或/和所述NAF_Id为所述用户终端所传递的。
优选的,所述基于第二固定字符串或/和第二随机字符串或/和所述B-TID或/和NAF_Id生成所述第二验证信息包括:
将所述第二固定字符串或所述第二随机字符串或所述第二时间戳或所述B-TID或所述NAF_Id中的一种作为所述第二验证信息;或者,
将所述第二固定字符串或所述第二随机字符串或所述第二时间戳或所述B-TID或所述NAF_Id中的一种的哈希值作为所述第二验证信息;或者,
将包括所述第二固定字符串或/和所述第二随机字符串或/和所述第二时间戳或/和所述B-TID或/和所述NAF_Id的信息组合拼接后作为所述第二验证信息;或者,
将包括所述第二固定字符串或/和所述第二随机字符串或/和所述第二时间戳或/和所述B-TID或/和所述NAF_Id的信息组合拼接后哈希计算生成的哈希值作为所述第二验证信息。
优选的,所述基于所述第二认证密钥和所述第二验证信息验证所述第一加密值包括:
若所述用户终端使用签名加密算法生成所述第一加密值,则使用相同的签名加密算法基于所述第二认证密钥和所述第二验证信息验证所述第一加密值;或者,
若所述用户终端使用对称加密算法生成所述第一加密值,则使用相同的对称加密算法基于所述第二认证密钥和所述第二验证信息验证所述第一加密值。
优选的,所述使用相同的签名加密算法基于所述第二认证密钥和所述第二验证信息验证所述第一加密值包括:
使用和所述用户终端相同的签名加密算法,基于所述第二认证密钥对所述第二验证信息签名加密生成第二加密值;
比较所述第二加密值与所述第一加密值是否一致;
若一致,则确定验证所述第一加密值有效。
优选的,所述使用相同的对称加密算法基于所述第二认证密钥和所述第二验证信息验证所述第一加密值包括:
使用和所述用户终端相同的对称加密算法,基于所述第二认证密钥对所述第一加密值解密获得明文,并从所述解密获得的明文中获取第一验证信息;
比较所述第二验证信息与所述第一验证信息是否一致;
若一致,则确定验证所述第一加密值有效。
优选的,所述方法还包括:
在所述向所述用户终端提供注册信息和服务之前,获取所述用户终端传递的NAF_Id,所述NAF_Id为所述用户终端中运行的第三方应用客户端的标识;
所述向所述用户终端提供的注册信息和服务为向所述第三方应用客户端提供的注册信息和服务。
优选的,所述获取所述用户终端传递的NAF_Id包括:
在所述接收所述用户终端发送的B-TID和第一加密值的过程中,接收所述用户终端传递的NAF_Id;或者,
在所述若验证所述第一加密值有效之后,以及在所述向所述用户终端提供注册信息和服务之前,接收所述用户终端传递的NAF_Id。
优选的,所述向所述用户终端提供注册信息和服务包括:
根据所述B-TID和所述NAF_Id获取对应的第三方用户标识,向所述用户终端传递所述第三方用户标识,以使得所述第三方用户标识用于在所述第三方应用客户端中标识用户身份;或/和,
基于所述第二主密钥Ks生成第二应用密钥,所述第二应用密钥的生成方式与所述用户终端生成第一应用密钥的生成方式一致,并且建立所述B-TID和所述NAF_Id与所述第二应用密钥的对应关系;或/和,
生成与所述NAF_Id相关联的用户令牌,并且向所述用户终端传递所述用户令牌,所述用户令牌用于所述第三方应用客户端访问对应第三方应用服务器的认证鉴权。
优选的,所述根据所述B-TID和所述NAF_Id获取对应的第三方用户标识包括:
根据所述B-TID获取对应的IMPI;
根据所述IMPI和所述NAF_Id查找对应的第三方用户标识;
若查找到对应的第三方用户标识,则确定所述查找到的对应的第三方用户标识为所述第三方用户标识;
若没有查找到对应的第三方用户标识,则创建一个唯一的第三方用户标识,确定所述唯一的第三方用户标识为所述第三方用户标识,并且建立所述IMPI和所述NAF_Id与所述唯一的第三方用户标识的对应关系,以使得根据所述IMPI和所述NAF_Id能查找到所述唯一的第三方用户标识。
优选的,在所述根据所述B-TID和所述NAF_Id获取对应的第三方用户标识之后还包括:
基于所述第二主密钥生成第二用户密钥,所述第二用户密钥的生成方式与所述用户终端生成第一用户密钥的生成方式一致;
建立所述第三方用户标识与所述第二用户密钥的对应关系。
优选的,所述基于所述第二主密钥Ks生成第二应用密钥包括:
基于所述第二主密钥Ks以及可选参数生成所述第二应用密钥;所述可选参数包括Salt、RAND、IMPI以及NAF_Id中的一个或多个,其中,
Salt是与所述用户终端相同的盐值;
RAND是所述B-TID对应的RAND;
IMPI是所述B-TID对应的IMPI;
NAF_Id是所述NAF_Id;
KDF是与所述用户终端相同的密钥派生算法;
所述可选参数与所述用户终端生成第一应用密钥时的可选参数一致。
优选的,所述生成与所述NAF_Id相关联的用户令牌包括:
使用随机生成的全局唯一字符串作为所述用户令牌;
建立所述用户令牌与所述NAF_Id的关联关系。
优选的,所述生成与所述NAF_Id相关联的用户令牌还包括:
建立所述用户令牌与所述B-TID对应的IMPI的关联关系,以使得根据所述用户令牌能获取到所述B-TID对应的IMPI;或者,
建立所述用户令牌与唯一用户标识的关联关系,所述唯一用户标识为预先建立的所述B-TID对应的IMPI所对应的唯一用户标识。
优选的,在所述获取所述用户终端传递的NAF_Id和在所述若验证所述第一加密值有效之后,以及在所述向所述用户终端提供注册信息和服务之前,还包括:
获取所述用户终端发送的经终端用户确认的授权信息,若获取到所述用户终端发送的经终端用户确认的授权信息,则执行所述向所述用户终端提供注册信息和服务。
优选的,所述获取所述用户终端发送的经终端用户确认的授权信息包括:
向所述用户终端发送应用授权请求消息;
接收所述用户终端发送的应用授权应答消息;
若所述应用授权应答消息为应用授权确认消息,则执行所述向所述用户终端提供注册信息和服务。
优选的,所述应用授权请求消息包括:
第三方应用名称,所述第三方应用名称是根据所述NAF_Id获取的第三方应用名称;或/和,
移动用户名称,所述移动用户名称是根据所述B-TID获取的移动用户名称。
第三方面,提供一种基于GBA的客户端注册和密钥共享装置,其特征在于,所述装置应用于运行有第三方应用客户端的用户终端中,包括:存储器、处理器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括上述第一方面应用于运行有第三方应用客户端的用户终端中的任一项所述方法。
提供一种基于GBA的客户端注册和密钥共享装置,其特征在于,所述装置应用于引导业务服务器BSF,包括:存储器、处理器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括上述第二方面应用于引导业务服务器BSF中的任一项所述方法。
提供一种基于GBA的客户端注册和密钥共享系统,其特征在于,所述系统包括:用户终端以及引导业务服务器BSF;所述用户终端包括上述应用于运行有第三方应用客户端的用户终端中所述的装置;所述引导业务服务器BSF包括上述应用于引导业务服务器BSF所述的装置。
提供一种存储介质,其特征在于,所述存储介质中存储有程序,所述程序用于实现包括上述第一方面应用于运行有第三方应用客户端的用户终端中的任一项所述方法。
提供一种存储介质,其特征在于,所述存储介质中存储有程序,所述程序用于实现包括上述第二方面应用于引导业务服务器BSF中的任一项所述方法。
综上所述,本发明在GBA初始化过程之后,为在用户终端中运行的第三方应用客户端提供了安全的注册环境,引导业务服务器BSF只为通过验证的用户终端才提供相应的注册信息和服务,包括获取第三方用户标识、生成用户密钥、生成应用密钥和生成用户牌,有效解决了如背景技术中所述的GBA架构应用在互联网技术领域存在的技术缺陷。
【附图说明】
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的基于GBA的客户端注册和密钥共享方法所涉及的一种实施环境结构示意图;
图2为本发明提供的基于GBA的客户端注册和密钥共享方法实施例一的流程示意图;
图3为本发明提供的基于GBA的客户端注册和密钥共享方法实施例二的流程示意图;
图4为本发明提供的基于GBA的客户端注册和密钥共享方法实施例三的流程示意图;
图5为本发明提供的基于GBA的客户端注册和密钥共享方法实施例四的流程示意图;
图6为本发明提供的基于GBA的客户端注册和密钥共享方法实施例五的流程示意图;
图7为GBA应用密钥协商过程的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一、相关名词术语
为了便于理解,对本文中涉及的一些名词作介绍和说明。
NAF_Id:NAF_Id用于唯一地标识第三方应用服务器,以及用于标识该第三方应用服务器对应的第三方应用客户端。NAF_Id可以是完全限定域名(Fully Qualified DomainName,FQDN),也可以是FQDN和Ua接口上的协议标识(UaID)连接而成,也可以是一个字符串。
签名加密算法:指用于加密地核实信息真实性的加密算法,只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明,例如消息认证码(诸如基于哈希的消息认证码HMAC、密码分组链接消息认证码CBC-MAC、伽罗瓦消息认证码GMAC等)、含密钥加密的哈希函数、基于RSA的数字方案(诸如RSA-PSS)、数字签名算法(DSA)和椭圆曲线数字签名算法等。
对称加密算法:指加密和解密使用相同密钥的加密算法,例如三重数据加密标准(Triple Data Encryption Standard,DES)、高级加密标准(Advanced EncryptionStandard,AES)等。
二、实施环境结构示意图
请参考图1,其示出了本发明实施例提供的一种基于GBA的客户端注册和密钥共享方法所涉及的一种实施环境的结构示意图。该实施环境包括引导业务服务器BSF、用户终端、第三方应用客户端。
引导业务服务器BSF:BSF通常由通信运营服务商提供,通过因特网、移动互联网等数据网络与用户终端进行连接以执行GBA初始化过程,以及向用户终端提供注册信息和服务;通过通信运营商网络和专用接口与HSS(Home Subscriber Server,归属用户服务器)或/和HLR(Home Location Register,归属位置寄存器)连接以执行GBA初始化过程;需要说明的是,本申请中的BSF还可以与统一数据管理(unified data management,UDM)连接以执行GBA初始化过程。
用户终端:用户终端通过WLAN、WiFi、移动数据(包括3G/4G/5G/6G移动数据)、LAN、固定宽带等有线或无线方式接入网络并与引导业务服务器BSF进行数据连接,该网络包括因特网、移动互联网等数据网络。用户终端支持GBA功能,通常是智能手机,也可以是智能电视、机顶盒、平板电脑、便携计算机、台式计算机等。
第三方应用客户端:运行在用户终端的操作系统中的应用程序,由第三方应用服务商提供。
可以理解的是,在实际实施环境中,可以包括一个、多个或大量的用户终端,每个用户终端中可以运行一个或多个由不同第三方应用服务商提供的第三方应用客户端,每个第三方应用客户端可以连接访问对应的第三方应用服务器,从而获取对应的第三方应用服务器提供的业务应用数据和服务。
为了简洁,在不影响本发明实施的前提下,实施图中忽略了GBA架构中其他的组件,例如归属用户服务器(Home Subscriber Server,HSS)、归属位置寄存器(HomeLocation Register、HLR)、认证代理功能(Authentication Proxy,AP)、用户归属功能(Subscriber Locator Function,SLF)等,然而,本领域技术人员可理解的是在必要应用场景中已经使用了这些组件。
还需要说明的是,在实际业务应用环境中,还应当有第三方应用服务器。第三方应用服务器相当于GBA架构中的NAF,由第三方应用服务商提供,用于和第三方应用客户端通过网络相连,向第三方应用客户端提供用户提供所需的业务应用数据和服务,例如资讯、购物、社交等;用于和引导业务服务器BSF通过网络相连,向引导业务服务器BSF获取或验证第三方应用客户端提交的验证信息,例如B-TID、应用密钥、用户令牌等信息。
本领域技术人员可以理解,图1中示出的实施环境结构并不构成对实施环境的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
三、实施前提
在实施本发明各实施例之前,用户终端与引导业务服务器BSF已经成功执行完成GBA初始化过程,用户终端上有B-TID及对应的Ks(即第一主密钥Ks)、RAND;引导业务服务器BSF上存储有B-TID及对应的Ks(即第二主密钥Ks)、RAND,并且建立了B-TID与对应的Ks(即第二主密钥Ks)、RAND的对应关系,同时引导业务服务器BSF上存储有B-TID与用户终端的IMPI(IP多媒体私有标识,IP Multimedia Private Identity)的对应关系,即通过B-TID能够查找和获取到对应的IMPI。
四、基于GBA的客户端注册和密钥共享方法实施例一
请参考图2,其示出了本发明提供的基于GBA的客户端注册和密钥共享方法实施例一的流程图,该实施例可用于图1所示的实施环境中。该实施例包括:
用户终端在获取到用于启动基于GBA的客户端注册和密钥共享过程的操作指示之后,启动基于GBA的客户端注册和密钥共享过程,该过程可以包括如下三个子过程和相应的步骤:
第一子过程:用户终端与引导业务服务器BSF基于相同的B-TID和值相同的主密钥Ks生成值相同的认证密钥。具体可以包括:
步骤201.用户终端获取B-TID和第一主密钥Ks。
用户终端获取B-TID和第一主密钥Ks,相对应的,在用户终端与引导业务服务器BSF成功执行GBA初始化过程之后,在引导业务服务器BSF上存储有该B-TID以及与该B-TID对应的第二主密钥Ks。
步骤202.用户终端基于该第一主密钥Ks生成第一认证密钥。
例如,可将该第一主密钥Ks作为第一认证密钥。
又例如,基于包括该第一主密钥Ks以及第一固定字符串(1)或/和第一随机字符串或/和第一时间戳或/和该B-TID或/和NAF_Id的信息生成第一认证密钥;其中,该第一固定字符串(1)为预先配置的并且与引导业务服务器BSF上预先配置的第一固定字符串(2)的值相同的字符串,该第一随机字符串为本地随机生成的字符串,该第一时间戳为通过获取用户终端的当前系统时间生成。具体地,以密钥派生算法公式为例,可以表示为:DK=PBKDF2(passphrase,Salt,c,dkLen),其中:DK是生成的第一认证密钥,PBKDF2是密钥派生算法,passphrase是该第一主密钥Ks并且和第一固定字符串(1)或/和第一随机字符串或/和第一时间戳或/和该B-TID或/和NAF_Id组合拼接的字符串;Salt是盐值,在本例中是一个固定字符串;c是迭代次数;dkLen是密钥输出长度,可以根据使用的加密算法生成符合要求的密钥长度。
NAF_Id是用户终端中运行的第三方应用客户端的标识,例如,在第三方应用客户端软件安装包内已经内置存储并且在安装后存储在配置文件中,用户终端从该配置文件中获取该NAF_Id;或者,由第三方应用客户端向对应的第三方应用服务器发送请求后获得,再由用户终端从该第三方应用客户端获取,或者由第三方应用客户端发送给用户终端。
步骤203.用户终端将该B-TID以及生成第一认证密钥的信息发送给引导业务服务器BSF。
用户终端将该B-TID发送给引导业务服务器BSF,以使得引导业务服务器BSF根据该B-TID能获取到对应的第二主密钥Ks。
为了使得引导业务服务器BSF生成与第一认证密钥的值相同的第二认证密钥,则如果生成第一认证密钥的信息还包括第一随机字符串或/和第一时间戳或/和NAF_Id,则将该第一随机字符串或/和该第一时间戳或/和该NAF_Id发送给引导业务服务器BSF。
相应地,引导业务服务器BSF接收用户终端发送的该B-TID以及该第一随机字符串或/和第一时间戳或/和该NAF_Id。
可以理解,如果上述生成第一认证密钥的信息还包括第一固定字符串(1),由于在引导业务服务器BSF上可以预先配置相同值的第一固定字符串(2),则可以不用将该第一固定字符串(1)发送给引导业务服务器BSF。
步骤204.引导业务服务器BSF根据该B-TID获取第二主密钥Ks。
在引导业务服务器BSF上存储有B-TID和第二主密钥Ks的对应关系。
引导业务服务器BSF根据该B-TID在该对应关系中查找和获取对应的第二主密钥Ks。
步骤205.引导业务服务器BSF基于该第二主密钥Ks生成第二认证密钥。
引导业务服务器BSF使用和用户终端相同的认证密钥生成方式,基于该第二主密钥Ks生成第二认证密钥,相同的认证密钥生成方式包括相同的密钥派生算法公式、相同的输入信息、相同的输入参数、相同的字符串组合拼接方式等,以使得生成的第二认证密钥与用户终端生成的第一认证密钥的值相同。
例如,以使用和步骤202用户终端相同的认证密钥生成方式为例,如果用户终端使用第一主密钥Ks作为第一认证密钥,则引导业务服务器BSF使用该第二主密钥Ks作为第二认证密钥。
又例如,以使用和步骤202用户终端相同的认证密钥生成方式为例,如果用户终端基于包括该第一主密钥Ks以及第一固定字符串(1)或/和第一随机字符串或/和第一时间戳或/和该B-TID或/和NAF_Id生成第一认证密钥,则引导业务服务器BSF基于包括该第二主密钥Ks以及第一固定字符串(2)或/和第一随机字符串或/和第一时间戳或/和该B-TID或/和NAF_Id的信息生成第一认证密钥,并且该第二认证密钥的生成方式与用户终端生成第一认证密钥的生成方式一致;其中,该第一固定字符串(2)为预先配置的并且与用户终端预先配置的第一固定字符串(1)的值相同的字符串,该第一随机字符串或/和第一时间戳或/和NAF_Id为用户终端所发送的。可以理解,如果用户终端生成第一认证密钥还包括其他的输入信息或输入参数,则引导业务服务器BSF生成第二认证密钥也需包括使用相同的输入信息或输入参数,以使得生成的第二认证密钥和用户终端生成的第一认证密钥的值相同。
具体地,以步骤202相对应的示例为例,密钥派生算法公式为:DK=PBKDF2(passphrase,Salt,c,dkLen),其中:DK是生成的第二认证密钥,PBKDF2是与用户终端相同的密钥派生算法,passphrase是该第二主密钥Ks并且和第一固定字符串(2)或/和第一随机字符串或/和第一时间戳或/和该B-TID或/和NAF_Id组合拼接的字符串;Salt是盐值,是一个与用户终端相同的固定字符串;c是与用户终端中相同的迭代次数;dkLen是与用户终端中相同的密钥输出长度。
至此,由于在成功执行GBA初始化过程之后,同一B-TID在用户终端上对应的第一主密钥Ks和在引导业务服务器BSF上对应的第二主密钥Ks的值是相同的,而由于第一认证密钥和第二认证密钥是使用相同的密钥生成方式、基于值相同的主密钥Ks生成的,因此,第一认证密钥和第二认证密钥的值也是相同的。
第二子过程:用户终端与引导业务服务器BSF生成值相同的验证信息。具体可以包括:
步骤206.用户终端生成第一验证信息。
用户终端生成第一验证信息,以使得该第一验证信息用于加密,并且要使得该第一验证信息与引导业务服务器BSF生成的第二验证信息的值相同。
用户终端可以将第二固定字符串(1)或第二随机字符串或第二时间戳或该B-TID或该NAF_Id中的一种作为第一验证信息;或者,用户终端可以将第二固定字符串(1)或第二随机字符串或第二时间戳或该B-TID或该NAF_Id中的一种使用哈希算法进行哈希计算,将生成的哈希值作为第一验证信息;或者,用户终端将包括第二固定字符串(1)或/和第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id的信息组合拼接后生成第一验证信息;或者,用户终端将包括第二固定字符串(1)或/和第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id的信息组合拼接后生成的信息,再使用哈希算法进行哈希计算,将生成的哈希值作为第一验证信息。
其中,该第二固定字符串(1)为预先配置的与引导业务服务器BSF上预先配置的第二固定字符串(2)的值相同的字符串,该第二随机字符串为本地随机生成的字符串,该第二时间戳为通过获取用户终端的当前系统时间生成。
步骤207.用户终端将生成第一验证信息的信息发送给引导业务服务器BSF。
在用户终端生成第一验证信息之后,为了使得引导业务服务器BSF生成与第一验证信息的值相同的第二验证信息,如果生成的第一验证信息还包括第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id,则将该第二随机字符串或/和该第二时间戳或/和该B-TID或/和该NAF_Id发送给引导业务服务器BSF。
相应地,引导业务服务器BSF接收用户终端发送的该第二随机字符串或/和该第二时间戳或/和该B-TID或/和该NAF_Id。
可以理解,如果上述生成第一验证信息的信息还包括第二固定字符串(1),由于在引导业务服务器BSF上可以预先配置相同值的固定字符串(2),则可以不用将该第二固定字符串(1)发送给引导业务服务器BSF。
可以理解,本步骤还可以与上述步骤203合并成一个步骤实施,即用户终端可以将该B-TID以及生成第一认证密钥的信息和生成第一验证信息的信息在一个发送请求中同时发送给引导业务服务器BSF,相应地,则上述引导业务服务器BSF生成第二认证密钥、生成第二验证信息的步骤也在该合并的步骤后实施。
可以理解,如果合并成一个步骤实施,则两个步骤中如果生成第一认证密钥的信息与生成第一验证信息的信息有相同的信息,则可以不用重复发送该相同的信息。
步骤208.引导业务服务器BSF生成第二验证信息。
引导业务服务器BSF生成第二验证信息,并且要使得该生成的第二验证信息的值与用户终端生成的第一验证信息的值相同。
以使用和步骤206相同的验证信息生成方式为例,如果用户终端将第二固定字符串(1)或第二随机字符串或第二时间戳或该B-TID或该NAF_Id中的一种作为第一验证信息,则引导业务服务器BSF将第二固定字符串(2)或第二随机字符串或第二时间戳或该B-TID或该NAF_Id中的一种作为第二验证信息。
以使用和步骤206相同的验证信息生成方式为例,如果用户终端将第二固定字符串(1)或第二随机字符串或第二时间戳或该B-TID或该NAF_Id中的一种的哈希值作为第一验证信息,则引导业务服务器BSF将第二固定字符串(2)或第二随机字符串或第二时间戳或该B-TID或该NAF_Id中相同的一种使用相同的哈希算法进行哈希计算,并将生成的哈希值作为第二验证信息。
以使用和步骤206相同的验证信息生成方式为例,如果用户终端将包括第二固定字符串(1)或/和第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id的信息生成第一验证信息,则引导业务服务器BSF将包括第二固定字符串(2)或/和第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id的信息生成第二验证信息。例如,如果用户终端将第二固定字符串(1)或/和第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id组合拼接后作为第一验证信息,则引导业务服务器BSF将第二固定字符串(2)或/和第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id使用相同的方式组合拼接后作为第二验证信息。
以使用和步骤206相同的验证信息生成方式为例,如果用户终端将包括第二固定字符串(1)或/和第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id的信息组合拼接后哈希计算生成的哈希值作为第一验证信息,则引导业务服务器BSF将包括第二固定字符串(2)或/和第二随机字符串或/和第二时间戳或/和该B-TID或/和该NAF_Id的信息使用相同的方式组合拼接后生成的信息,再使用相同的哈希算法对该组合拼接后的信息进行哈希计算,并将生成的哈希值作为第二验证信息。
其中,该第二固定字符串(2)为预先配置的并且与用户终端上预先配置的第二固定字符串(1)的值相同的字符串,该第二随机字符串或/和该第二时间戳或/和该NAF_Id为用户终端所发送的。
可以理解,如果用户终端生成第一验证信息还包括其他的输入信息,则引导业务服务器BSF生成第二验证信息也需包括使用相同的输入信息,以使得生成的第二验证信息和用户终端生成的第一验证信息的值相同。
至此,由于第二验证信息和第一验证信息是使用相同的验证信息生成方式、基于相同值的信息生成的,因此,第二验证信息和第一验证信息的值也是相同的。
进一步地,如果生成第一验证信息的信息还包括第二时间戳,则引导业务服务器BSF在接收到该第二时间戳之后,将该第二时间戳与引导业务服务器BSF的当前系统时间进行比较,确定两者的时间差是否在预先设定的有效范围内:如果是在有效的范围内,则执行后续步骤;如果不是在有效的范围内,则不执行后续步骤。
第三子过程:用户终端与引导业务服务器BSF基于值相同的认证密钥和值相同的验证信息实现安全认证。具体可以包括:
步骤209.用户终端基于该第一认证密钥对该第一验证信息加密生成第一加密值。
根据上述步骤中生成的第一认证密钥和第一验证信息,用户终端基于该第一认证密钥对该第一验证信息加密生成第一加密值。根据所使用的加密算法,可以包括多种实施方式,至少可以包括:
第一种实施方式,用户终端使用签名加密算法基于该第一认证密钥对该第一验证信息签名加密生成第一加密值。
用户终端使用签名加密算法基于该第一认证密钥对该第一验证信息签名加密计算生成的第一加密值,即为签名值,签名值可以唯一地识别第一验证信息,只有使用相同的签名加密算法、相同值的签名密钥、相同值的待签名信息才可以生成相同的签名值。
例如,以签名加密算法使用哈希消息认证码为例,签名方式可以表示为:Signature=HMAC_SHA256(k,m),其中m是待签名信息即该第一验证信息,k是签名密钥即该第一认证密钥,HMAC_SHA256是签名加密算法,Signature是签名值即第一加密值。
又例如,以签名加密算法使用含密钥加密的哈希函数为例,签名方式可以表示为:Signature=SHA256(k||m),其中m是待签名信息即该第一验证信息,k是签名密钥即该第一认证密钥,“k||m”表示将k和m组合拼接,SHA256是哈希函数,Signature是签名值即第一加密值。
第二种实施方式,用户终端使用对称加密算法基于该第一认证密钥对包括该第一验证信息的信息对称加密生成第一加密值。
用户终端使用对称加密算法基于该第一认证密钥对包括该第一验证信息的信息对称加密生成第一加密值,该第一加密值即为包括该第一验证信息的信息的密文,只有使用相同的对称加密算法、相同值的密钥才可以将该密文解密后得到原来的明文。
例如,以对称加密算法使用AES为例,加密方式可以表示为:s=AES_ENCRYPT(m,k),其中m是明文,该明文是该第一验证信息,或者是包括该第一验证信息的信息,k是加密密钥即该第一认证密钥,AES_ENCRYPT是加密算法,s是加密结果即第一加密值。
上述的包括该第一验证信息的信息,是指在生成的信息中还包括该第一验证信息和其他信息,例如将该第一验证信息和其他信息组合拼接后所生成的信息,对于该其他信息,如非特别说明,在本实施例中并不进行限定。
步骤210.用户终端向引导业务服务器BSF发送安全认证请求,该安全认证请求包括该第一加密值。
用户终端向引导业务服务器BSF发送安全认证请求,该安全认证请求包括该第一加密值,以使得引导业务服务器BSF通过验证该第一加密值而实现对用户终端的安全认证。
相应地,引导业务服务器BSF接收用户终端发送的安全认证请求,并且获取该安全认证请求中包括的该第一加密值。
可以理解,本步骤还可以与上述步骤203或/和步骤207合并成一个步骤实施,即用户终端可以将该第一加密值与该B-TID以及生成第一认证密钥的信息、或/和生成第一验证信息的信息在一个发送请求中同时发送给引导业务服务器BSF,相应地,则引导业务服务器BSF生成第二认证密钥、生成第二验证信息的步骤也在该合并的步骤后实施。
步骤211.引导业务服务器BSF基于该第二认证密钥和该第二验证信息验证该第一加密值。
与用户终端中生成第一加密值可以包括的多种实施方式相对应的,引导业务服务器BSF基于该第二认证密钥和该第二验证信息验证该第一加密值需使用相对应的实施方式,包括:
第一种实施方式,与用户终端使用签名加密算法生成第一加密值的实施方式相对应的,引导业务服务器BSF使用和用户终端相同的签名加密算法,基于该第二认证密钥和该第二验证信息验证该第一加密值。具体可以包括:
步骤211a.引导业务服务器BSF使用和用户终端相同的签名加密算法,基于该第二认证密钥对该第二验证信息签名加密生成第二加密值。
引导业务服务器BSF使用和用户终端相同的签名加密算法基于该第二认证密钥对该第二验证信息签名加密生成签名值,该签名值即为第二加密值。
例如,以签名加密算法使用和步骤209用户终端中相同的哈希消息认证码为例,签名方式可以表示为:Signature=HMAC_SHA256(k,m),其中m是待签名信息即第二验证信息,k是签名密钥即第二认证密钥,HMAC_SHA256是与用户终端相同的哈希消息认证码,Signature是签名值即第二加密值。
又例如,以签名算法使用和步骤209用户终端中相同的含密钥加密的哈希函数为例,签名方式可以表示为:Signature=SHA256(k||m),其中m是待签名信息即第二验证信息,k是签名密钥即第二认证密钥,SHA256是与用户终端相同的哈希函数,Signature是签名值即第二加密值。
至此,由于引导业务服务器BSF使用的是和用户终端相同的签名算法,第二验证信息和第一验证信息是值相同的待签名信息,第二认证密钥和第一认证密钥是值相同的签名密钥,则生成的第二加密值和第一加密值相同。
步骤211b.引导业务服务器BSF比较该第二加密值与该第一加密值是否一致;若一致,则确定验证该第一加密值有效。
引导业务服务器BSF比较该第二加密值和该第一加密值是否一致,并根据比较结果执行相应的操作,包括:
如果比较结果是一致的,则确定验证该第一加密值有效。
如果比较结果是不一致的,则确定验证该第一加密值无效。
第二种实施方式,与用户终端使用对称加密算法生成第一加密值相对应的,引导业务服务器BSF使用和用户终端相同的对称加密算法,基于该第二认证密钥和该第二验证信息验证该第二加密值。具体可以包括:
步骤211i.引导业务服务器BSF使用和用户终端相同的对称加密算法,基于该第二认证密钥对该第一加密值解密获得明文,并从该明文中获取第一验证信息。
引导业务服务器BSF使用和用户终端相同的对称加密算法基于该第二认证密钥对该第一加密值解密,从而获得解密后的明文。
例如,以对称加密算法使用和步骤209用户终端中相同的AES为例,解密方式可以表示为:m=AES_DENCRYPT(s,k),其中m是解密后的结果值,即解密后的明文,k是解密密钥即该第二认证密钥,AES_DENCRYPT是解密算法,s是密文即第一加密值。
由于该明文是第一验证信息或者是包括该第一验证信息的信息,因此,可以从该明文中获取到解密后的第一验证信息。
步骤211i i.引导业务服务器BSF比较该第二验证信息与该第一验证信息是否一致;若一致,则确定验证该第一加密值有效。
引导业务服务器BSF比较该第二验证信息和该解密后的第一验证信息是否一致,并根据比较结果执行相应的操作,包括:
如果比较结果是一致的,则确定验证该第一加密值有效。
如果比较结果是不一致的,则确定验证该第一加密值验证无效。
步骤212.引导业务服务器BSF根据对第一加密值的验证结果确定安全认证是否成功并执行相应的操作。
引导业务服务器BSF根据对该第一加密值的验证结果确定安全认证是否成功,并执行相应的操作,包括:
若确定验证该第一加密值验证有效,则确定安全认证成功。
若确定验证该第一加密值验证无效,则确定安全认证失败。
在确定安全认证成功之后,引导业务服务器BSF可以向向用户终端提供注册信息和服务,还可以保持与用户终端的会话状态以接收用户终端传递的信息,或者为用户终端生成认证令牌等。相应地,用户终端接收引导业务服务器BSF提供的注册信息和服务,或者通过与引导业务服务器BSF保持的会话状态或接收的认证令牌向引导业务服务器BSF传递信息等。
在确定安全认证失败之后,引导业务服务器BSF向用户终端发送注册失败应答消息。相应地,用户终端接收引导业务服务器BSF发送的注册失败应答消息。
综上所述,本实施例提供的方法,主要是基于用户终端中的B-TID和第一主密钥Ks,以及基于引导业务服务器BSF中存储的相同的B-TID和对应的第二主密钥Ks,引导业务服务器BSF通过使用和用户终端相同的加密算法对用户终端进行安全认证,在确定安全认证成功之后,可以为用户终端及用户终端上运行的第三方应用客户端安全地提供相应的注册信息和服务。
五、基于GBA的客户端注册和密钥共享方法实施例二
请参考图3,其示出了本发明提供的基于GBA的客户端注册和密钥共享方法实施例二的流程图,该方法可用于图1所示的实施环境中。作为基于基于GBA的客户端注册和密钥共享方法实施例一提供的更为优选的实施例,本实施例进一步为用户终端中运行的第三方应用客户端提供了注册信息,该注册信息包括第三方用户标识和用户密钥。
为了让引导业务服务器BSF为用户终端中运行的第三方应用客户端提供相应的注册信息和服务,用户终端需将第三方应用客户端对应的NAF_Id传递给引导业务服务器BSF。
具体的,用户终端将NAF_Id传递给引导业务服务器BSF可以包括多种实施方式,例如可以包括:
第一种实施方式,在用户终端向引导业务服务器BSF的安全认证过程中,用户终端将NAF_Id传递给引导业务服务器BSF。
用户终端将该NAF_Id传递给引导业务服务器BSF,可以以一个单独的发送请求将该NAF_Id发送给引导业务服务器BSF,也可以合并在其他的发送请求中将该NAF_Id发送给引导业务服务器BSF。例如,以上述基于GBA的客户端注册和密钥共享方法实施例一为例,可以合并在上述步骤210的安全认证请求中,或者合并在上述步骤203或/和步骤207用户终端发送该B-TID以及生成第一认证密钥的信息、或/和发送生成第一验证信息的信息的步骤中,以使得引导业务服务器BSF在接收到生成第一认证密钥或生成第一验证信息的信息时,同时接收和获取该NAF_Id。
第二种实施方式,在用户终端向引导业务服务器BSF的安全认证成功之后,以及在引导业务服务器BSF向用户终端提供注册信息和服务之前,用户终端通过与引导业务服务器BSF间保持的会话状态或认证令牌将NAF_Id传递给引导业务服务器BSF。
例如,以上述基于GBA的客户端注册和密钥共享方法实施例一为例,在用户终端与引导业务服务器BSF进行安全认证成功之后,用户终端与引导业务服务器BSF间保持会话状态或认证令牌,用户终端通过该会话状态或认证令牌向引导业务服务器BSF传递第三方应用标识。
在用户终端将NAF_Id传递给引导业务服务器BSF、以及引导业务服务器BSF确定安全认证成功之后,引导业务服务器BSF可以为用户终端中运行的第三方应用客户端提供包括第三方用户标识和用户密钥的注册信息,即本实施例的下述步骤应用在基于GBA的客户端注册和密钥共享方法实施例一之后。具体可以包括:
步骤301.引导业务服务器BSF根据B-TID和NAF_Id获取对应的第三方用户标识。
引导业务服务器BSF根据B-TID和NAF_Id获取对应的第三方用户标识,具体可以包括:
步骤301a.引导业务服务器BSF根据该B-TID获取对应的IMPI。
在成功执行GBA初始化过程之后,在引导业务服务器BSF上存储有B-TID与IMPI的对应关系,即根据B-TID能查找和获取对应的IMPI。
引导业务服务器BSF根据该B-TID在该对应关系中查找和获取对应的IMPI。
步骤301b.引导业务服务器BSF根据该IMPI和该NAF_Id查找对应的第三方用户标识。
在引导业务服务器BSF上存储有IMPI和NAF_Id与第三方用户标识的账户对应关系,即根据IMPI和NAF_Id在该账户对应关系中能够查找到对应的第三方用户标识。
引导业务服务器BSF根据该IMPI和该NAF_Id在该账户对应关系中查找对应的第三方用户标识。
如果查找到对应的第三方用户标识,则说明引导业务服务器BSF已经为该IMPI创建了用于该NAF_Id的第三方用户标识,则引导业务服务器BSF获取对应的第三方用户标识,然后执行下述步骤302或步骤303。
如果没有查找到对应的第三方用户标识,则说明引导业务服务器BSF没有为该IMPI创建过用于该NAF_Id的第三方用户标识,则执行下述步骤301c。
步骤301c.引导业务服务器BSF创建一个唯一的第三方用户标识。
引导业务服务器BSF创建一个新用户标识,该新用户标识是引导业务服务器BSF上所有的第三方用户标识中唯一的标识,也可以是在步骤301a所述的账户对应关系中该NAF_Id对应的所有第三方用户标识中唯一的标识,然后将该新用户标识作为第三方用户标识。
步骤301d.引导业务服务器BSF建立和存储该IMPI和该NAF_Id与该第三方用户标识的对应关系。
引导业务服务器BSF在步骤301a所述的账户对应关系中新增该IMPI和该NAF_Id与该第三方用户标识的对应关系,即根据该IMPI和该NAF_Id在该账户对应关系中将能查找和获取到该第三方用户标识。
步骤301b、步骤301c和步骤301d,还可以是,引导业务服务器BSF预先建立有用于该NAF_Id的应用用户关系表,在该应用用户关系表中存储有IMPI与第三方用户标识的一一对应关系。引导业务服务器BSF根据该IMPI在该应用用户关系表中查找第三方用户标识,如果没有查找到第三方用户标识,则创建一个唯一的第三方用户标识,并且在该应用用户关系表中新增该IMPI和该第三方用户标识的一一对应关系,如果查找到第三方用户标识,则获取该第三方用户标识。
步骤301b、步骤301c和步骤301d,还可以是,引导业务服务器BSF预先建立有用于该IMPI的移动用户关系表,在该移动用户关系表中存储有NAF_Id与第三方用户标识的一一对应关系。引导业务服务器BSF根据该NAF_Id在该移动用户关系表中查找第三方用户标识,如果没有查找到第三方用户标识,则创建一个唯一的第三方用户标识,并且在该移动用户关系表中新增该NAF_Id和该第三方用户标识的一一对应关系,如果查找到第三方用户标识,则获取该第三方用户标识。
步骤302.可选的,引导业务服务器BSF基于第二主密钥Ks生成该第三方用户标识对应的第二用户密钥。
生成第二用户密钥,具体可以包括如下步骤:
步骤302a.引导业务服务器BSF基于该第二主密钥Ks生成第二用户密钥。
引导业务服务器BSF基于该第二主密钥Ks生成第二用户密钥。
进一步的,引导业务服务器BSF基于包括该第二主密钥Ks以及第三固定字符串(2)或/和第三随机字符串或/和第三时间戳或/和该B-TID或/和该NAF_Id或/和该第三方用户标识的信息生成第二用户密钥;其中,该第三固定字符串(2)为预先配置的并且与用户终端上预先配置的第三固定字符串(1)的值相同的字符串,该第三随机字符串为本地随机生成的字符串,该第三时间戳为通过获取引导业务服务器BSF的当前系统时间生成。具体地,以密钥派生算法公式为例,可以表示为:DK=PBKDF2(passphrase,Salt,c,dkLen),其中:DK是生成的第二用户密钥,PBKDF2是密钥派生算法,passphrase是该第二主密钥Ks以及第三固定字符串或/和第三随机字符串或/和第三时间戳或/和该B-TID或/和NAF_Id或/和该第三方用户标识组合拼接的字符串;Salt是盐值,在本例中是一个固定字符串;c是迭代次数;dkLen是密钥输出长度,可以根据需要生成符合要求的密钥长度。
步骤302b.引导业务服务器BSF建立该第三方用户标识与该第二用户密钥的对应关系。
引导业务服务器BSF建立该第三方用户标识与该第二用户密钥的对应关系,以使得根据该第三方用户标识在该对应关系中能获取到对应的第二用户密钥。
如果该第三方用户标识是引导业务服务器BSF上所有的第三方用户标识中唯一的标识,则建立该第三方用户标识与该第二用户密钥的对应关系。
如果该第三方用户标识是该NAF_Id对应的所有第三方用户标识中唯一的标识,则建立该第三方用户标识和该NAF_Id与该第二用户密钥的对应关系。
例如,引导业务服务器BSF预先建立有用于该NAF_Id的账户密钥关系表,在该账户密钥关系表中存储有第三方用户标识与该第二用户密钥的一一对应关系。引导业务服务器BSF根据该第三方用户标识在该账户密钥关系表中查找第二用户密钥,如果没有查找到第二用户密钥,则在该账户密钥关系表中新增该第三方用户标识与该第二用户密钥的一一对应关系,如果查找到第二用户密钥,则在该账户密钥关系表中使用本步骤新生成的该第二用户密钥替换该第三方用户标识已有的用户密钥。
以结合步骤301为例,如果在引导业务服务器BSF上预先建立用于该NAF_Id的应用用户关系表,或者如果在引导业务服务器BSF预先建立有用于该IMPI的移动用户关系表,则也可以在该应用用户关系表或移动用户关系表建立及更新该第三方用户标识与该第二用户密钥的一一对应关系,在此不再赘述。
需要说明的是,上述步骤302还可以在下述步骤303之后执行,本发明并不对此进行限定。
至此,引导业务服务器BSF建立了该第三方用户标识与该第二用户密钥的对应关系,引导业务服务器BSF可以本地存储该对应关系,或者将该对应关系同步发送给第三方认证服务器,或者将该对应关系同步发送给对应该NAF_Id的第三方应用服务器,从而使得第三方应用服务器可以基于该对应关系实现对第三方应用客户端的身份认证、数据加密等操作。
步骤303.引导业务服务器BSF将该第三方用户标识传递给用户终端。
引导业务服务器BSF将该第三方用户标识传递给用户终端,例如,在引导业务服务器BSF向用户终端发送的注册成功应答消息中,包括该第三方用户标识。
与步骤302a相对应的,如果生成的第二用户密钥还包括第三随机字符串或/和第三时间戳,则还将该第三随机字符串或/和该第三时间戳传递给用户终端。
步骤304.用户终端接收引导业务服务器BSF传递的该第三方用户标识。
用户终端接收引导业务服务器BSF传递的该第三方用户标识,例如,接收引导业务服务器BSF发送的注册成功应答消息,在该注册成功应答消息中获取该第三方用户标识。
又例如,上述步骤303和304还可以是,用户终端与引导业务服务器BSF进行安全认证成功之后保持有会话状态或认证令牌,用户终端通过该会话状态或认证令牌向引导业务服务器BSF发送获取第三方用户标识的请求,引导业务服务器BSF反馈该第三方用户标识,用户终端接收并获取该第三方用户标识。
在用户终端接收到该第三方用户标识之后,将该第三方用户标识传递给第三方应用客户端。如果实施了上述步骤302,则执行下述步骤305以生成第一用户密钥,并将该生成的第一用户密钥同时发送给对应的第三方应用客户端。
步骤305.可选的,用户终端使用和引导业务服务器BSF相同的用户密钥生成方式,基于第一主密钥Ks生成第一用户密钥。
与上述步骤302相对应的,用户终端使用和引导业务服务器BSF相同的用户密钥生成方式,基于该第一主密钥Ks生成第一用户密钥。
相应的,如果在步骤302中引导业务服务器BSF基于包括该第二主密钥Ks以及第三固定字符串(2)或/和第三随机字符串或/和第三时间戳或/和该B-TID或/和NAF_Id或/和该第三方用户标识的信息生成第二用户密钥,则用户终端基于包括该第一主密钥Ks以及第三固定字符串(1)或/和第三随机字符串或/和第三时间戳或/和该B-TID或/和NAF_Id或/和该第三方用户标识的信息生成第一用户密钥;其中,该第三固定字符串(1)为预先配置的并且与引导业务服务器BSF上预先配置的第三固定字符串(2)的值相同的字符串,该第三随机字符串或/和第三时间戳为引导业务服务器BSF所传递的。具体地,以使用和步骤502引导业务服务器BSF相同的密钥派生算法为例,密钥派生算法公式可以表示为DK=PBKDF2(passphrase,Salt,c,dkLen),其中:DK是生成的第一用户密钥;PBKDF2是与引导业务服务器BSF相同的密钥派生算法;passphrase是该第一主密钥Ks以及第三固定字符串(1)或/和第三随机字符串或/和第三时间戳或/和该B-TID或/和NAF_Id或/和该第三方用户标识组合拼接的字符串,并且组合拼接方式与引导业务服务器BSF一致;Salt是盐值,是一个与引导业务服务器BSF相同的固定字符串;c是与引导业务服务器BSF相同的迭代次数;dkLen是与引导业务服务器BSF相同的密钥输出长度。
至此,由于用户终端上生成的第一主密钥Ks和在引导业务服务器BSF上生成的第二主密钥Ks的值相同,并且由于第一用户密钥和第二用户密钥是使用相同的用户密钥生成方式、基于相同值的主密钥生成的,因此,第一用户密钥和第二用户密钥的值也是相同的。
用户终端将该第三方用户标识和该第一用户密钥传递给该NAF_Id对应的第三方应用客户端,第三方应用客户端将可以根据该第三方用户标识和该第一用户密钥向对应的第三方应用服务器进行身份认证、数据加密等操作;而由于第三方应用服务器与引导业务服务器BSF通过网络相连接,因此第三方应用服务器可以基于引导业务服务器BSF建立的第三方用户标识与第二用户密钥的对应关系实现对第三方应用客户端的身份认证、数据加密等操作。
如上流程,在基于GBA的客户端注册和密钥共享方法实施例一的基础上,本实施例中还进一步在用户终端和引导业务服务器BSF上为用户终端中运行的第三方应用客户端生成了第三方用户标识和用户密钥,不仅具有实施例一具有的效果,带来的效果至少还包括:第一方面,自动为第三方应用客户端获取第三方用户标识和对应的用户密钥,减少了终端用户的输入操作,提升了用户的使用体验;第二方面,用户终端中运行的第三方应用客户端将可以根据获取的第三方用户标识以及生成的用户密钥向对应的第三方应用服务器实现快捷、安全的身份认证、数据加密等操作;第三方面,由于引导业务服务器BSF是在确定用户终端安全认证成功之后,才生成用于第三方应用客户端的第三方用户标识和用户密钥,而不是响应于第三方应用服务器提交的B-TID生成应用密钥,有效解决了背景技术中的缺陷一,即GBA架构的第二个过程应用密钥协商过程中第三方应用服务器仿冒恶意请求消耗引导业务服务器BSF和其他第三方应用服务器的计算、存储资源的问题。
六、基于GBA的客户端注册和密钥共享方法实施例三
请参考图4,其示出了本发明提供的基于GBA的客户端注册和密钥共享方法实施例三的流程图,该方法可用于图1所示的实施环境中。作为基于基于GBA的客户端注册和密钥共享方法实施例一提供的更为优选的实施例,本实施例进一步为用户终端中运行的第三方应用客户端提供了注册信息,该注册信息包括应用密钥。
为了让引导业务服务器BSF为用户终端中运行的第三方应用客户端提供相应的注册信息和服务,则用户终端需将第三方应用客户端对应的NAF_Id传递给引导业务服务器BSF。具体实施方式可以参照上述基于GBA的客户端注册和密钥共享方法实施例二,在此不再赘述。
在用户终端将NAF_Id传递给引导业务服务器BSF、以及引导业务服务器BSF确定安全认证成功之后,引导业务服务器BSF可以为用户终端中运行的第三方应用客户端提供包括应用密钥的注册信息,即本实施例的下述步骤应用在基于GBA的客户端注册和密钥共享方法实施例一之后。具体可以包括:
步骤401.引导业务服务器BSF基于该第二主密钥Ks生成第二应用密钥。
引导业务服务器BSF使用密钥派生算法基于该第二主密钥Ks生成第二应用密钥,进一步的,引导业务服务器BSF使用密钥派生算法基于第二主密钥Ks以及和/或盐值、和/或RAND、和/或IMPI、和/或NAF_Id生成第二应用密钥。
密钥派生算法公式可以表示为:Key=KDF(Ks,Salt,RAND,IMPI,NAF_Id)。其中,Key是第二应用密钥;Ks是该第二主密钥Ks;Salt是盐值,该盐值可以是一个固定字符串,也可以是一个随机值,当是一个随机值时,则引导业务服务器BSF须将该值传递给用户终端;RAND是B-TID对应的RAND;IMPI是B-TID对应的IMPI;NAF_Id是从客户端注册请求中获取的NAF_Id;KDF是密钥派生算法。Ks是必选参数,Salt、RAND、IMPI、NAF_Id是可选参数。
以使用密钥派生算法公式Key=KDF(Ks,"gba-me",RAND,IMPI,NAF_Id)为例,第二应用密钥生成步骤如下:
步骤401a.引导业务服务器BSF根据该B-TID获取对应的IMPI。
在成功执行GBA初始化过程之后,在引导业务服务器BSF上存储有B-TID与IMPI的对应关系,即根据B-TID能查找和获取对应的IMPI。
引导业务服务器BSF根据该B-TID在该对应关系中查找和获取对应的IMPI。
步骤401b.引导业务服务器BSF根据该B-TID获取RAND。
在GBA初始化过程之后,在引导业务服务器BSF上存储有B-TID与RAND的对应关系,即根据B-TID能查找和获取对应的RAND。
引导业务服务器BSF根据该B-TID在该对应关系中查找和获取对应的RAND。
另外,由于B-TID的生成格式为“base64encode(RAND)@BSF_servers_domain_name”,因此,也可以从该B-TID中获取对应的RAND。
步骤401c.引导业务服务器BSF基于该第二主密钥Ks以及"gba-me"、该RAND、该IMPI和该NAF_Id生成第二应用密钥。
引导业务服务器BSF基于该第二主密钥Ks以及"gba-me"、该RAND、该IMPI和该NAF_Id生成第二应用密钥,计算公式为:
Key=KDF(Ks,"gba-me",RAND,IMPI,NAF_Id)
步骤402.引导业务服务器BSF建立该B-TID和该NAF_Id与该第二应用密钥的对应关系。
引导业务服务器BSF建立该B-TID和该NAF_Id与该第二应用密钥的对应关系,以使得根据该B-TID和该NAF_Id能查找到该第二应用密钥。
例如,引导业务服务器BSF预先建立有用于该NAF_Id的账户密钥关系表,在该账户密钥关系表中存储有B-TID和第二应用密钥的一一对应关系。引导业务服务器BSF根据该B-TID在该账户密钥关系表中查找第二应用密钥,如果没有查找到第二应用密钥,则在该账户密钥关系表中新增该B-TID和该第二应用密钥的一一对应关系,如果查找到第二应用密钥,则在该账户密钥关系表中使用本次新生成的该第二应用密钥替换该B-TID已有的第二应用密钥。
需要说明的是,上述步骤401和步骤402还可以在下述步骤403之后执行,本发明并不对此进行限定。
步骤403.引导业务服务器BSF向用户终端发送注册应答消息,该注册应答消息是注册成功应答消息。
与步骤401相对应的,如果生成第二应用密钥的参数还包括Salt盐值,向用户终端发送该注册成功应答消息,还包括该Salt盐值。
步骤404.用户终端接收引导业务服务器BSF发送的注册应答消息并执行相应的操作。
用户终端接收引导业务服务器BSF发送的注册应答消息,该注册应答消息是注册成功应答消息。
用户终端根据该客户端注册应答消息执行相应的操作,包括:
如果该注册应答消息是注册成功应答消息,则执行下述步骤405。
否则,则不执行下述步骤。
步骤405.用户终端使用和引导业务服务器BSF相同的应用密钥生成方式,基于该第一主密钥Ks生成第一应用密钥。
用户终端使用和引导业务服务器BSF相同的应用密钥生成方式,基于该第一主密钥Ks生成第一应用密钥。
以步骤401中引导业务服务器BSF使用的密钥派生算法公式为例:Key=KDF(Ks,Salt,RAND,IMPI,NAF_Id)。其中:Key是第一应用密钥;Ks是该第一主密钥Ks;Salt是与引导业务服务器BSF相同的盐值,如果引导业务服务器BSF的盐值是一个固定字符串,则Salt是一个相同的固定字符串,如果引导业务服务器BSF的盐值是一个随机值,则用户终端接收引导业务服务器BSF传递的该盐值;RAND是GBA初始化过程中生成的RAND;IMPI是该用户终端的IMPI;NAF_Id是该第三方应用客户端对应的NAF_Id;KDF是与引导业务服务器BSF相同的密钥派生算法。Ks是必选参数,Salt、RAND、IMPI、NAF_Id是可选参数,并且选择的可选参数与引导业务服务器BSF一致。
相应地,以步骤401中引导业务服务器BSF使用的密钥派生算法公式Key=KDF(Ks,"gba-me",RAND,IMPI,NAF_Id)为例,第一应用密钥生成步骤如下:
步骤405a.用户终端获取用户终端的IMPI。
用户终端获取用户终端的IMPI,该IMPI与GBA初始化过程中获取的IMPI是相同的IMPI。例如,使用与GBA初始化过程中一致的方法从IP多媒体服务识别模块(ISIM,IPMultimedia Services Identity Module)中获取IMPI。
步骤405b.用户终端获取RAND。
在GBA初始化过程之后,在用户终端上存储有B-TID及对应的RAND,用户终端获取该RAND。
另外,由于B-TID的生成格式为“base64encode(RAND)@BSF_servers_domain_name”,因此,也可以从该B-TID中获取对应的RAND。
步骤405c.用户终端基于第一主密钥Ks以及"gba-me"、该RAND、该IMPI和该NAF_Id生成第一应用密钥。
用户终端基于第一主密钥Ks以及"gba-me"、该RAND、该IMPI和该NAF_Id生成第二应用密钥,计算公式为:
Key=KDF(Ks,"gba-me",RAND,IMPI,NAF_Id)
至此,由于在成功执行GBA初始化过程之后,在用户终端上存储的B-TID及对应的RAND、Ks(即第一主密钥Ks)与引导业务服务器BSF上存储的该B-TID对应的RAND、Ks(即第二主密钥Ks)是相同的,而用户终端上获取的IMPI和引导业务服务器BSF上存储的该B-TID对应的IMPI是相同的,又由于用户终端和引导业务服务器BSF使用的是相同的应用密钥生成方式、相同的NAF_Id、相同的盐值,则生成的第一应用密钥和第二应用密钥的值是相同的。用户终端将该B-TID和第一应用密钥传递给NAF_Id对应的第三方应用客户端,第三方应用客户端基于该B-TID和第一应用密钥,将可以向第三方应用服务器实现快捷、安全的身份认证、数据加密等操作;而由于第三方应用服务器与引导业务服务器BSF通过网络相连接,因此第三方应用服务器可以基于引导业务服务器BSF建立的B-TID和NAF_Id与第二应用密钥的对应关系,从而实现对第三方应用客户端的身份认证、数据加密等操作。
如上流程,在基于GBA的客户端注册和密钥共享方法实施例一的基础上,本实施例中还进一步在用户终端和引导业务服务器BSF上为用户终端中运行的第三方应用客户端生成了应用密钥,不仅具有实施例一具有的效果,带来的效果至少还包括:第一方面,由于引导业务服务器BSF是在确定用户终端安全认证成功之后,才生成用于第三方应用客户端的应用密钥,而不是响应于第三方应用服务器提交的B-TID生成应用密钥,有效解决了背景技术中的缺陷一,即GBA架构的第二个过程应用密钥协商过程中第三方应用服务器仿冒恶意请求消耗引导业务服务器BSF和其他第三方应用服务器的计算、存储资源的问题;第二方面,即使是在同一GBA初始化过程之后为同一第三方应用客户端执行多次提供应用密钥的过程,如果Salt使用的是随机值,则生成的应用密钥也不相同,从而提高安全性;第三方面,可以自动为第三方应用客户端获取应用密钥,该应用密钥将可以用于第三方应用客户端向对应的第三方应用服务器的身份认证、数据加密等操作,减少了终端用户的输入操作,提升了用户的使用体验。
七、基于GBA的客户端注册和密钥共享方法实施例四
请参考图5,其示出了本发明提供的基于GBA的客户端注册和密钥共享方法实施例四的流程图,该方法可用于图1所示的实施环境中。作为基于基于GBA的客户端注册和密钥共享方法实施例一提供的更为优选的实施例,本实施例进一步为用户终端中运行的第三方应用客户端提供了注册信息,该注册信息包括为用户终端中运行的第三方应用客户端生成用户令牌。
为了让引导业务服务器BSF为用户终端中运行的第三方应用客户端提供相应的注册信息和服务,则用户终端需将第三方应用客户端对应的NAF_Id传递给引导业务服务器BSF。具体实施方式可以参照上述基于GBA的客户端注册和密钥共享方法实施例二,在此不再赘述。
在用户终端将NAF_Id传递给引导业务服务器BSF、以及引导业务服务器BSF确定安全认证成功之后,引导业务服务器BSF可以为用户终端中运行的第三方应用客户端提供包括用户令牌的注册信息,即本实施例的下述步骤应用在基于GBA的客户端注册和密钥共享方法实施例一之后。具体可以包括:
步骤501.引导业务服务器BSF生成用户令牌。
引导业务服务器BSF生成用户令牌,该用户令牌是唯一的,并且具有足够的长度和足够的随机性,使得难以被猜测破解。
步骤502.引导业务服务器BSF将该用户令牌与该NAF_Id或/和该B-TID对应的IMPI相关联。
引导业务服务器BSF建立该用户令牌与该NAF_Id的关联关系,引导业务服务器BSF可以本地存储该关联关系,或者将该关联关系同步发送给第三方认证服务器,或者将该关联关系同步发送给该NAF_Id对应的第三方应用服务器。然后,基于该关联关系,如果运行在用户终端的第三方应用客户端有相同的用户令牌,第三方应用服务器将可以根据该关联关系实现对第三方应用客户端的认证,例如,以将该用户令牌同步发送给该NAF_Id对应的第三方应用服务器为例,该第三方应用服务器接收第三方应用客户端发送的包括用户令牌的认证请求,在该关联关系中查找是否有该用户令牌,若有,则认证成功,从而可确定发送该认证请求的发送方是该第三方应用服务器对应的第三方应用客户端;又例如,以将该关联关系同步发送给第三方认证服务器为例,第三方应用服务器在接收到第三方应用客户端发送的包括用户令牌的认证请求之后,将该认证请求转发给第三方认证服务器,由第三方认证服务器根据该关联关系对该认证请求进行验证,从而确定认证是否成功。
进一步的,为了给同一用户提供持续的应用服务,还应当建立该用户令牌与该B-TID对应的IMPI的关联关系,以使得能根据该用户令牌能查找到该B-TID对应的IMPI,从而为同一用户提供持续的服务。例如,以将该关联关系同步发送给该NAF_Id对应的第三方应用服务器为例,该第三方应用服务器接收包括用户令牌的认证请求,根据该用户令牌在该关联关系中查找对应的IMPI,若查找到,则可以向该IMPI关联的用户提供持续的应用服务。获取该B-TID对应的IMPI的实施方式,可以参照上述步骤401a中的实施方式,在此不再赘述。
进一步的,为了不致于在第三方应用服务器上泄露IMPI,还可以预先创建一个与该IMPI对应的唯一用户标识,再建立该用户令牌与该NAF_Id和该唯一用户标识的关联关系,根据该IMPI在该关联关系中获取该唯一用户标识,从而避免用户的IMPI泄露给第三方应用服务器。
需要说明的是,还应当提供清理机制,对于已经失效的用户令牌应当及时清理相应的关联关系,例如在用户令牌验证一次后删除该用户令牌相应的关联关系,或者给用户令牌设定一个有效期,依据有效期及时删除已过有效期的用户令牌相应的关联关系。具体清理机制在此不赘述。
步骤503.引导业务服务器BSF向用户终端发送注册应答消息,该注册应答消息是注册成功应答消息,并且包括该用户令牌。
步骤504.用户终端接收引导业务服务器BSF发送的注册应答消息并执行相应的操作。
用户终端接收引导业务服务器BSF发送的注册应答消息,该注册应答消息是注册成功应答消息。
用户终端根据该注册应答消息执行相应的操作,包括:
如果该注册应答消息是注册成功应答消息,则获取该注册成功应答消息中的用户令牌,并且将该用户令牌传递给NAF_Id对应的第三方应用客户端,第三方应用客户端基于该用户令牌,将可以向第三方应用服务器实现认证鉴权。
否则,则结束本流程。
如上实施例过程,为用户终端中运行的第三方应用客户端生成了用户令牌。带来的效果包括:第一方面,自动为第三方应用客户端获取用户令牌,减少了终端用户的输入操作,提升了用户的使用体验;第二方面,该用户令牌将可以用于第三方应用客户端向对应的第三方应用服务器的认证鉴权,从而提升用户的使用体验;第三方面,在用于认证鉴权时,该用户令牌由于不需要进行加密计算等操作,因此,更适用于一些轻量级的应用客户端(如基于HTML5、JavaScript的客户端程序);第四方面,由于引导业务服务器BSF是在确定用户终端安全认证成功之后,才生成用于第三方应用客户端的用户令牌,而不是响应于第三方应用服务器提交的B-TID生成应用密钥,有效解决了背景技术中的缺陷一。
八、基于GBA的客户端注册和密钥共享方法实施例五
请参考图6,其示出了本发明提供的基于GBA的客户端注册和密钥共享方法实施例五的流程图,该方法可用于图1所示的实施环境中。作为基于基于GBA的客户端注册和密钥共享方法实施例二提供的更为优选的实施例,本实施例还进一步实现了终端用户的授权确认过程。
该方法的下述步骤在基于GBA的客户端注册和密钥共享方法实施例二的基础上,应用在用户终端将NAF_Id传递给引导业务服务器BSF、以及引导业务服务器BSF确定安全认证成功之后,以及应用在引导业务服务器BSF为用户终端中运行的第三方应用客户端提供包括第三方用户标识和用户密钥的注册信息的过程之前(即步骤301之前),具体包括如下几个步骤:
步骤a.引导业务服务器BSF向用户终端发送应用授权请求消息。
该应用授权请求消息中可以包括:
或/和第三方应用名称,该名称是用于识别第三方应用客户端和第三方应用服务器的名称,在引导业务服务器BSF上预先存储有NAF_Id和第三方应用名称的对应关系,引导业务服务器BSF根据NAF_Id在该对应关系中查找和获取对应的第三方应用名称。
或/和移动用户名称,该名称是用于识别移动用户的名称,在引导业务服务器BSF上预先存储有IMPI和移动用户名称的对应关系,引导业务服务器BSF根据IMPI在该对应关系中查找和获取对应的移动用户名称。IMPI由引导业务服务器BSF根据B-TID获取:在GBA初始化过程之后,在引导业务服务器BSF上存储有B-TID与IMPI的对应关系,即根据B-TID能查找和获取对应的IMPI,引导业务服务器BSF根据该B-TID在该对应关系中查找和获取对应的IMPI。
相应地,用户终端接收引导业务服务器BSF发送的应用授权请求消息。
步骤b.用户终端显示应用授权验证界面。
用户终端接收到引导业务服务器BSF发送的应用授权请求消息之后,调用并显示应用授权验证界面,以询问终端用户是否同意向该第三方应用授权。
在显示的应用授权验证界面上,可以显示应用授权请求消息中所包括的第三方应用名称或/和移动用户名称,具体为:
第三方应用名称,即将要授权的第三方应用客户端和第三方应用服务器的名称;
移动用户名称,即将要授权的移动用户名称。
在显示应用授权验证界面之后,终端用户可以输入表示确认授权或者表示取消授权的授权信息。
可选地,在显示的应用授权验证界面上,还可以包括安全验证码输入框,以询问终端用户输入安全验证码。该安全验证码用于进一步地验证终端用户的授权,相应地,在引导业务服务器BSF上预先存储有B-TID和安全验证码的对应关系。
步骤c.用户终端接收终端用户在应用授权验证界面中输入的授权信息。
用户根据显示的应用授权验证界面,在该界面中输入(包括触发)表示确认授权或取消授权的授权信息。相应地,用户终端接收用户在应用授权验证界面中输入的授权信息。
步骤d.用户终端向引导业务服务器BSF发送应用授权应答消息,该应用授权应答消息是应用授权确认消息或者是应用授权取消消息。
用户终端根据终端用户输入的授权信息执行相应的操作,包括:
如果授权信息是表示确认授权的授权信息,则用户终端向引导业务服务器BSF发送的应用授权应答消息是应用授权确认消息。
可选地,如果在显示的应用授权验证界面上还包括安全验证码输入框,并且用户终端接收的终端用户输入的授权消息中包括安全验证码,则用户终端向引导业务服务器BSF发送的应用授权确认消息中还包括该安全验证码。
如果授权信息是表示取消授权的授权信息,则用户终端向引导业务服务器BSF发送的应用授权应答消息是应用授权取消消息。
步骤e.引导业务服务器BSF接收用户终端发送的应用授权应答消息并执行相应的操作。
引导业务服务器BSF接收用户终端发送的应用授权应答消息,该应用授权应答消息是表示确认授权或者是表示取消授权的应用授权应答消息。
引导业务服务器BSF根据该应用授权应答消息执行相应的操作,包括:
如果该应用授权应答消息是应用授权确认消息,则继续执行后续步骤,即继续执行引导业务服务器BSF向用户终端提供为第三方应用客户端提供的注册信息和服务的过程。
可选地,在引导业务服务器BSF上预先存储有B-TID和安全验证码的对应关系,如果在引导业务服务器BSF接收的应用授权确认消息中包括安全验证码,则引导业务服务器BSF根据B-TID在该对应关系中查找和获取对应的安全验证码,并且比较两个安全验证码是否一致:如果一致,则继续执行后续步骤;如果不一致,则结束流程,不执行后续步骤。
如果该应用授权应答消息是应用授权取消消息,则结束流程,不执行后续步骤。
本实施例提供的方法,在基于GBA的客户端注册和密钥共享方法实施例一的基础上,增加了让终端用户验证授权的过程,通过增加这一过程,可以更加确认客户端注册信息的提供得到了终端用户的授权许可,避免由于误操作等原因给非必要的第三方应用客户端进行了授权,从而能够有效解决背景技术中的缺陷二即GBA架构中同一用户终端上的第三方应用客户端能够较容易地计算出其他第三方应用客户端应用密钥的问题。
本实施例还可以与基于GBA的客户端注册和密钥共享方法实施例三组成一个新的实施例,即将本实施例的方法步骤应用在用户终端将NAF_Id传递给引导业务服务器BSF、以及引导业务服务器BSF确定安全认证成功之后,以及应用在引导业务服务器BSF为用户终端中运行的第三方应用客户端提供包括应用密钥的过程之前(即步骤401之前),具体过程不赘述。
本实施例还可以与基于GBA的客户端注册和密钥共享方法实施例四组成一个新的实施例,即将本实施例的方法步骤应用在用户终端将NAF_Id传递给引导业务服务器BSF、以及引导业务服务器BSF确定安全认证成功之后,以及应用在引导业务服务器BSF为用户终端中运行的第三方应用客户端提供包括用户令牌的过程之前(即步骤501之前),具体过程不赘述。
需要说明的是,在本文中,术语“包括”、“包含”、“传递”、“发送”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者系统不仅包括那些要素,而且还可以包括没有明确列出的其他要素,或者是还可以包括为这种过程、方法、产品或者系统所固有的要素。
术语“第一”、“第二”、“第三”等(如果存在)仅用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解,这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
可以以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、装置和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.基于GBA的客户端注册和密钥共享方法,其特征在于,应用于运行有第三方应用客户端的用户终端中,所述方法包括:
执行GBA初始化过程,获取B-TID和生成第一主密钥Ks;
基于所述第一主密钥Ks对第一验证信息加密生成第一加密值,所述第一验证信息与引导业务服务器BSF生成的第二验证信息的值相同;
将所述B-TID和所述第一加密值发送给所述引导业务服务器BSF;
接收所述引导业务服务器BSF提供的注册信息和服务,所述注册信息和服务是在所述引导业务服务器BSF验证所述第一加密值有效之后提供的。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一主密钥Ks对第一验证信息加密生成第一加密值包括:
基于所述第一主密钥Ks生成第一认证密钥,其中,所述第一认证密钥的生成方式与所述引导业务服务器BSF生成第二认证密钥的生成方式一致,以使得所述第一认证密钥与所述引导业务服务器BSF生成的所述第二认证密钥的值相同;
生成所述第一验证信息,其中,所述第一验证信息的生成方式与所述引导业务服务器BSF生成所述第二验证信息的生成方式一致,以使得所述第一验证信息与所述引导业务服务器BSF生成的所述第二验证信息的值相同;
基于所述第一认证密钥对所述第一验证信息加密生成第一加密值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述接收所述引导业务服务器BSF提供的注册信息和服务之前,将NAF_Id传递给所述引导业务服务器BSF,所述NAF_Id为所述第三方应用客户端的标识;
所述注册信息和服务为所述引导业务服务器BSF为所述第三方应用客户端提供的注册信息和服务。
4.基于GBA的客户端注册和密钥共享方法,其特征在于,应用于引导业务服务器BSF中,所述方法包括:
与用户终端成功执行GBA初始化过程之后,接收所述用户终端发送的B-TID和第一加密值;
根据所述B-TID获取对应的第二主密钥Ks;
基于所述第二主密钥Ks和第二验证信息验证所述第一加密值,所述第二验证信息与所述用户终端生成的第一验证信息的值相同;
若验证所述第一加密值有效,则向所述用户终端提供注册信息和服务。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第二主密钥Ks和第二验证信息验证所述第一加密值包括:
基于所述第二主密钥Ks生成第二认证密钥,其中,所述第二认证密钥的生成方式与所述用户终端生成第一认证密钥的生成方式一致,以使得所述第二认证密钥与所述用户终端生成的所述第一认证密钥的值相同;
生成所述第二验证信息,其中,所述第二验证信息的生成方式与所述用户终端生成第一验证信息的生成方式一致,以使得所述第二验证信息与所述用户终端生成的所述第一验证信息的值相同;
基于所述第二认证密钥和所述第二验证信息验证所述第一加密值。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述向所述用户终端提供注册信息和服务之前,获取所述用户终端传递的NAF_Id,所述NAF_Id为所述用户终端中运行的第三方应用客户端的标识;
所述向所述用户终端提供的注册信息和服务为向所述第三方应用客户端提供的注册信息和服务。
7.基于GBA的客户端注册和密钥共享装置,其特征在于,所述装置应用于运行有第三方应用客户端的用户终端中,包括:存储器、处理器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括权利要求1至3中任一项所述的方法。
8.基于GBA的客户端注册和密钥共享装置,其特征在于,所述装置应用于引导业务服务器BSF,包括:存储器、处理器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括权利要求4至7中任一项所述的方法。
9.基于GBA的客户端注册和密钥共享系统,其特征在于,所述系统包括:用户终端以及引导业务服务器BSF;
所述用户终端包括如权利要求7所述的装置;
所述引导业务服务器BSF包括如权利要求8所述的装置。
10.一种存储介质,其特征在于,所述存储介质中存储有程序,所述程序用于实现包括权利要求1至3中任一项所述的方法;或/和,所述程序用于实现包括权利要求4至7中任一项所述的方法。
CN201910775078.3A 2018-08-23 2019-08-22 基于gba的客户端注册和密钥共享方法、装置及系统 Active CN111050322B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN2018109782125 2018-08-23
CN201810978212.5A CN109121135A (zh) 2018-08-23 2018-08-23 基于gba的客户端注册和密钥共享方法、装置及系统
CNPCT/CN2019/074725 2019-02-04
PCT/CN2019/074725 WO2020037958A1 (zh) 2018-08-23 2019-02-04 基于gba的客户端注册和密钥共享方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111050322A true CN111050322A (zh) 2020-04-21
CN111050322B CN111050322B (zh) 2023-06-30

Family

ID=64860912

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810978212.5A Pending CN109121135A (zh) 2018-08-23 2018-08-23 基于gba的客户端注册和密钥共享方法、装置及系统
CN201910775078.3A Active CN111050322B (zh) 2018-08-23 2019-08-22 基于gba的客户端注册和密钥共享方法、装置及系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201810978212.5A Pending CN109121135A (zh) 2018-08-23 2018-08-23 基于gba的客户端注册和密钥共享方法、装置及系统

Country Status (1)

Country Link
CN (2) CN109121135A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113518349A (zh) * 2020-10-23 2021-10-19 中国移动通信有限公司研究院 业务管理方法、装置、系统及存储介质
CN113992367A (zh) * 2021-10-18 2022-01-28 四川托普信息技术职业学院 一种数据加密传输系统及其方法
CN118659930A (zh) * 2024-08-19 2024-09-17 中国第一汽车股份有限公司 应用的身份认证方法、装置、存储介质和车辆
US12490093B2 (en) 2021-03-22 2025-12-02 China Mobile Communication Co., Ltd Research Institute Configuration method and apparatus for terminal device, and communication device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020037958A1 (zh) * 2018-08-23 2020-02-27 刘高峰 基于gba的客户端注册和密钥共享方法、装置及系统
WO2020249861A1 (en) * 2019-06-08 2020-12-17 Nokia Technologies Oy Communication security between user equipment and third-party application using communication network-based key
CN111327583B (zh) * 2019-08-22 2022-03-04 刘高峰 一种身份认证方法、智能设备及认证服务器
CN115336377B (zh) * 2020-04-24 2024-11-29 Oppo广东移动通信有限公司 多媒体广播组播服务认证方法、装置、设备及存储介质
CN113518348B (zh) * 2020-06-30 2023-05-09 中国移动通信有限公司研究院 业务处理方法、装置、系统及存储介质
CN114584289B (zh) * 2020-12-01 2024-09-27 中国电信股份有限公司 生成密钥的方法及相关设备
CN112436939B (zh) * 2020-12-11 2022-05-03 杭州海康威视数字技术股份有限公司 一种秘钥协商方法、装置、系统及电子设备
CN115884181A (zh) * 2022-11-29 2023-03-31 中移互联网有限公司 基于5g消息的应用登录方法、装置、设备以及存储介质
CN118233087A (zh) * 2022-12-21 2024-06-21 中国移动通信有限公司研究院 标识处理方法、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060205388A1 (en) * 2005-02-04 2006-09-14 James Semple Secure bootstrapping for wireless communications
CN102264069A (zh) * 2010-05-28 2011-11-30 中国移动通信集团公司 基于通用引导架构的认证控制方法、装置及系统
CN102413464A (zh) * 2011-11-24 2012-04-11 杭州东信北邮信息技术有限公司 基于gba的电信能力开放平台密钥协商系统和方法
US20130152208A1 (en) * 2011-12-09 2013-06-13 Verizon Patent And Licensing Inc. Security key management based on service packaging

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060205388A1 (en) * 2005-02-04 2006-09-14 James Semple Secure bootstrapping for wireless communications
CN102264069A (zh) * 2010-05-28 2011-11-30 中国移动通信集团公司 基于通用引导架构的认证控制方法、装置及系统
CN102413464A (zh) * 2011-11-24 2012-04-11 杭州东信北邮信息技术有限公司 基于gba的电信能力开放平台密钥协商系统和方法
US20130152208A1 (en) * 2011-12-09 2013-06-13 Verizon Patent And Licensing Inc. Security key management based on service packaging

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"\"COM13-LS147-Y2722\"" *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113518349A (zh) * 2020-10-23 2021-10-19 中国移动通信有限公司研究院 业务管理方法、装置、系统及存储介质
US12490093B2 (en) 2021-03-22 2025-12-02 China Mobile Communication Co., Ltd Research Institute Configuration method and apparatus for terminal device, and communication device
CN113992367A (zh) * 2021-10-18 2022-01-28 四川托普信息技术职业学院 一种数据加密传输系统及其方法
CN118659930A (zh) * 2024-08-19 2024-09-17 中国第一汽车股份有限公司 应用的身份认证方法、装置、存储介质和车辆
CN118659930B (zh) * 2024-08-19 2024-12-27 中国第一汽车股份有限公司 应用的身份认证方法、装置、存储介质和车辆

Also Published As

Publication number Publication date
CN109121135A (zh) 2019-01-01
CN111050322B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN111050322B (zh) 基于gba的客户端注册和密钥共享方法、装置及系统
CN111050314B (zh) 客户端注册方法、装置及系统
CN111327582B (zh) 一种基于OAuth协议的授权方法、装置及系统
US8522025B2 (en) Authenticating an application
CN101616410B (zh) 一种蜂窝移动通信网络的接入方法和系统
US10411884B2 (en) Secure bootstrapping architecture method based on password-based digest authentication
JP4741664B2 (ja) 認証及びプライバシーに対する方法及び装置
CN105554747B (zh) 无线网络连接方法、装置及系统
CN112566119B (zh) 终端认证方法、装置、计算机设备及存储介质
WO2017028593A1 (zh) 网络接入设备接入无线网络接入点的方法、网络接入设备、应用程序服务器和非易失性计算机可读存储介质
KR20080089500A (ko) 모바일 네트워크를 기반으로 하는 엔드 투 엔드 통신에서의 인증을 위한 방법, 시스템 및 인증 센터
CN108353279B (zh) 一种认证方法和认证系统
CN109075973B (zh) 一种使用基于id的密码术进行网络和服务统一认证的方法
CN102547701A (zh) 认证方法、无线接入点和认证服务器
CN111327583A (zh) 一种身份认证方法、智能设备及认证服务器
CN106788989A (zh) 一种建立安全加密信道的方法及设备
CN104683343B (zh) 一种终端快速登录WiFi热点的方法
EP1982547B1 (en) Method and system for recursive authentication in a mobile network
CN117729056B (zh) 一种设备身份认证方法和系统
US8726023B2 (en) Authentication using GAA functionality for unidirectional network connections
WO2023241176A1 (zh) 通信方法、装置、设备、存储介质及程序产品
EP1933498A1 (en) Method, system and device for negotiating about cipher key shared by ue and external equipment
US20080137859A1 (en) Public key passing
WO2017197968A1 (zh) 一种数据传输方法及装置
CN115362664A (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