CN109041205A - 客户端注册方法、装置及*** - Google Patents

客户端注册方法、装置及*** Download PDF

Info

Publication number
CN109041205A
CN109041205A CN201810969927.4A CN201810969927A CN109041205A CN 109041205 A CN109041205 A CN 109041205A CN 201810969927 A CN201810969927 A CN 201810969927A CN 109041205 A CN109041205 A CN 109041205A
Authority
CN
China
Prior art keywords
key
registrar
user terminal
root key
value
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
CN201810969927.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.)
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
Application filed by Individual filed Critical Individual
Priority to CN201810969927.4A priority Critical patent/CN109041205A/zh
Publication of CN109041205A publication Critical patent/CN109041205A/zh
Priority to PCT/CN2019/074724 priority patent/WO2020037957A1/zh
Priority to CN201910775079.8A priority patent/CN110858968A/zh
Priority to CN201910777127.7A priority patent/CN110858969A/zh
Priority to CN201910774037.2A priority patent/CN111050314B/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent

Landscapes

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

Abstract

本发明公开了一种客户端注册方法、装置及***。所述方法包括:用户终端基于移动用户标识和密钥,以及注册服务器基于相同的移动用户标识和密钥,经过用户终端和注册服务器间的认证与密钥协商,以及通过对移动用户标识的签名验证,为在用户终端中运行的第三方应用客户端的注册提供了安全验证环境,同时还为第三方应用客户端提供第三方用户标识、应用密钥或认证令牌,从而可以为第三方应用客户端实现快捷、安全的身份认证、数据加密等操作,由于无需用户输入帐号、口令或密钥等,极大提升了用户的使用体验。

Description

客户端注册方法、装置及***
技术领域
本发明涉及通信技术领域和互联网技术领域,尤其涉及客户端注册方法、装置及***。
背景技术
用于3G以上网络的全球用户识别模块(USIM,Universal Subscriber IdentityModule)和用于IMS网络的IP多媒体服务识别模块(ISIM,IPMultimedia ServicesIdentity Module),是通信运营商用于鉴别签约用户的身份、符合3GPP标准规范的IC集成电路设备。
eSIM作为一种嵌入式SIM卡,实质上是将SIM卡上的用户数据和加密信息由原来存储在物理SIM卡转移到用户终端设备本身的另一个硬件载体上;软SIM是通过纯软件方式代替物理SIM卡实现SIM的功能,同样安全地存储有用户数据和加密信息。
无论是哪一种SIM卡类型,SIM卡里都存储有签约用户的身份标识和加密信息,为了表述方便,对于上述存储有移动蜂窝网络签约用户的身份标识和加密信息的模块统称为“用户识别模块SIM卡”。相应地,归属用户服务器HSS(Home Subscriber Server,归属用户服务器)是移动蜂窝网络的用户认证***,里面存储了用户识别模块SIM卡中对应的签约用户的身份标识和加密信息。
随着智能终端(如移动智能手机)的广泛使用,用户在智能终端上会安装有大量的第三方应用客户端,而第三方应用客户端在使用时,往往需要获取终端用户的必要信息之后才能正常使用,而这些必要的信息通常是需要终端用户手工输入或预先配置的,例如输入账号及相应的口令、预先配置密钥等,但这些操作都较为烦琐和影响用户的使用体验。
发明内容
本发明的主要目的在于提供一种客户端注册的方法、装置及***,旨在提供一种为用户终端中运行的第三方应用客户端能安全、自动地获取注册信息的方法、装置及***,从而能为第三方应用客户端自动获取包括账号、应用密钥、认证令牌等在内的注册信息,进而解决现有第三方应用客户端在注册账号、协商共享密钥、获取认证令牌、用户身份认证等过程中较为烦琐从而影响用户使用体验的技术问题。
为实现上述目的,本发明提供一种客户端注册方法,应用于运行有第三方应用客户端的用户终端中,所述方法包括:
生成第一待签名信息,所述第一待签名信息包括移动用户标识,并且所述第一待签名信息的生成方式与注册服务器生成第二待签名信息的生成方式一致;
生成第一请求签名值,所述第一请求签名值是基于第一签名密钥对第一待签名信息计算生成的;
向所述注册服务器发送客户端注册请求,所述客户端注册请求包括所述移动用户标识和所述第一请求签名值;
接收所述注册服务器发送的注册成功应答消息。
此外,为实现上述目的,本发明还提供一种客户端注册方法,应用于注册服务器中,所述方法包括:
接收用户终端发送的客户端注册请求,所述客户端注册请求包括移动用户标识和第一请求签名值;
生成第二待签名信息,所述第二待签名信息包括所述移动用户标识,并且所述第二待签名信息的生成方式与所述用户终端生成第一待签名信息的生成方式一致;
根据所述移动用户标识获取第二签名密钥;
根据所述第二签名密钥和所述第二待签名信息验证所述第一请求签名值是否有效;
在验证所述第一请求签名值有效时,向所述用户终端发送注册成功应答消息。
此外,为实现上述目的,本发明还提供一种客户端注册装置,所述客户端注册装置应用于运行有第三方应用客户端的用户终端中,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端注册程序,所述客户端注册程序被所述处理器执行时实现上述的客户端注册方法的步骤。
此外,为实现上述目的,本发明还提供一种客户端注册装置,所述客户端注册装置应用于注册服务器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端注册程序,所述客户端注册程序被所述处理器执行时实现上述的客户端注册方法的步骤。
此外,为实现上述目的,本发明还提供一种客户端注册***,所述客户端注册***包括:用户终端以及注册服务器;
所述用户终端包括上述的客户端注册装置;
所述注册服务器包括上述的客户端注册装置。
本发明实现了为在用户终端中运行的第三方应用客户端提供了安全的注册环境,进而能为第三方应用客户端自动获取包括账号、应用密钥、认证令牌等在内的注册信息,进而解决现有第三方应用客户端在注册账号、协商共享密钥、获取认证令牌、用户身份认证等过程中较为烦琐从而影响用户使用体验的技术问题,整个过程不需要用户输入或仅少量输入信息,提升了用户的使用体验。
附图说明
图1是本发明实施例提供的客户端注册方法所涉及的一种实施环境的结构示意图;
图2是本发明客户端注册方法第一实施例的流程示意图;
图3是本发明客户端注册方法第二实施例的流程示意图;
图4是本发明客户端注册方法第三实施例的流程示意图;
图5是本发明客户端注册方法第四实施例的流程示意图;
图6是本发明客户端注册方法第五实施例的流程示意图;
图7是本发明一个实施例提供的根密钥协商过程的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
一、实施环境结构示意图
请参考图1,其示出了本发明实施例提供的客户端注册方法所涉及的一种实施环境的结构示意图。该实施环境包括注册服务器、用户终端、第三方应用客户端。
注册服务器:和用户终端通过网络相连,用于接收并执行用户终端的根密钥协商请求、以及接收并执行用户终端的客户端注册请求;和归属用户服务器HSS(HomeSubscriber Server,归属用户服务器)通过网络相连,用于向归属用户服务器HSS发送移动用户认证请求和获取请求结果。注册服务器通常由通信运营服务商提供。
用户终端:用户终端通过WLAN(包括wifi)、蜂窝移动数据、LAN、固定宽带等有线或无线方式接入网络并与注册服务器进行数据连接。用户终端是可***、内嵌或者外部连接有用户识别模块SIM卡并且支持对用户识别模块SIM卡读取的智能终端设备,通常是智能手机,也可以是智能电视、机顶盒、平板电脑、便携计算机、台式计算机等。
第三方应用客户端:运行在用户终端的操作***中的应用程序,由第三方应用服务商提供。可以理解的是,用户终端中可以运行多个由不同第三方应用服务商提供的第三方应用客户端,每个第三方应用客户端可以连接访问对应的第三方应用服务器,从而获取所需服务和数据。
需要说明的是,在实际业务实施环境中,还应当有第三方应用服务器。第三方应用服务器由第三方应用服务商提供,用于和第三方应用客户端通过网络相连,向用户提供所需的应用服务,例如资讯、购物、社交等;用于和注册服务器通过网络相连,向注册服务器获取或验证第三方应用客户端的注册信息,例如第三方用户标识、应用密钥、认证令牌等信息。
本领域技术人员可以理解,图1中示出的实施环境结构并不构成对实施环境的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
二、相关名词术语
为了便于理解,对本文中涉及的一些名词作介绍和说明。
移动用户标识:用于唯一识别用户识别模块SIM卡的标识,移动用户标识是IMSI(国际移动用户识别码,International Mobile Subscriber Identification Number),或者IMPI(IP多媒体私有标识,IP Multimedia Private Identity)。
第三方应用标识:第三方应用标识用于唯一地标识第三方应用客户端,以及用于标识该第三方应用客户端对应的第三方应用服务器。
三、客户端注册流程实施例一
请参考图2,其示出了本发明一个实施例提供的客户端注册的流程图,该方法可用于图1所示的实施环境中。该方法可以包括如下几个步骤:
步骤101,用户终端启动客户端注册流程。
用户终端在获取到用于启动客户端注册的操作指示之后启动客户端注册流程。
步骤102,用户终端获取移动用户标识和第一根密钥。
用户终端获取移动用户标识和第一根密钥,在注册服务器上存储有该移动用户标识以及和该移动用户标识对应的第二根密钥。
步骤103,用户终端基于该第一根密钥生成第一签名密钥。
例如,可将该第一根密钥作为第一签名密钥。
又例如,使用密钥派生算法基于该第一根密钥生成第一签名密钥。具体地,密钥派生算法公式可以表述为DK=PBKDF2(passphrase,Salt,c,dkLen),其中:DK是生成的第一签名密钥,PBKDF2是密钥派生算法,passphrase是该第一根密钥并且或/和该移动用户标识组合拼接的字符串;Salt是盐值,在本例中是一个固定字符串;c是迭代次数;dlLen是密钥输出长度。
步骤104,用户终端生成第一待签名信息,该第一待签名信息包括该移动用户标识。
可选地,为了防止重放攻击,该第一待签名信息还可以包括时间戳,该时间戳通过获取用户终端的当前***时间生成,即该第一待签名信息是该移动用户标识和该时间戳的组合拼接。
步骤105,用户终端使用签名算法基于该第一签名密钥对该第一待签名信息计算生成第一请求签名值。
生成的第一请求签名值可以唯一地识别第一待签名信息,只有使用相同的签名算法、相同的待签名信息、相同的签名密钥才可以生成相同的签名值。
例如,签名算法可以表述为Signature=HMAC_SHA256(k,m),其中m是待签名信息即该第一待签名信息,k是签名密钥即该第一签名密钥,HMAC_SHA256是签名算法,Signature是签名值即第一请求签名值。
步骤106,用户终端向注册服务器发送客户端注册请求,该客户端注册请求包括该移动用户标识和该第一请求签名值。
可选地,如果在步骤104中生成的待签名信息包括时间戳,则该客户端注册请求中还包括该时间戳。
相应地,注册服务器接收用户终端发送的客户端注册请求,并且获取该客户端注册请求中的移动用户标识、第一请求签名值和时间戳。
步骤107,可选的,注册服务器确定客户端注册请求的有效性。
如果在步骤106中客户端注册请求中还包括时间戳,则将该时间戳与注册服务器的当前***时间进行比较,确定两者的时间差是否在预先设定的有效范围内:
如果是在有效的范围内,则执行下述步骤108;
如果不是在有效的范围内,则向用户终端发送客户端注册应答消息,该客户端注册应答消息是注册失败应答消息,然后执行下述步骤114。
步骤108,注册服务器根据该移动用户标识获取第二根密钥。
在注册服务器上存储有移动用户标识和第二根密钥的对应关系。
注册服务器根据该移动用户标识在该对应关系中查找和获取对应的第二根密钥。
步骤109,注册服务器使用和用户终端相同的签名密钥生成方式,基于该第二根密钥生成第二签名密钥。
例如,以使用和步骤103用户终端相同的签名密钥生成方式为例,如果用户终端使用第一根密钥作为第一签名密钥,则注册服务器使用该第二根密钥作为第二签名密钥。
又例如,以使用和步骤103用户终端相同的签名密钥生成方式为例,如果用户终端使用密钥派生算法基于第一根密钥生成第一签名密钥,则注册服务器使用相同的密钥派生算法基于第二根密钥生成第二签名密钥。具体地,以步骤103相对应的示例为例,密钥派生算法公式为DK=PBKDF2(passphrase,Salt,c,dkLen)为例,其中:DK是生成的第二签名密钥,PBKDF2是与用户终端相同的密钥派生算法,passphrase是该第二根密钥并且或/和该移动用户标识组合拼接的字符串,并且组合拼接方式与用户终端一致;Salt是盐值,是一个与用户终端相同的固定字符串;c是与用户终端中相同的迭代次数;dlLen是与用户终端中相同的密钥输出长度。
至此,由于同一移动用户标识在用户终端上对应的第一根密钥和在注册服务器上对应的第二根密钥的值是相同的,而由于第一签名密钥和第二签名密钥是使用相同的签名密钥生成方式、基于值相同的根密钥生成的,因此,第一签名密钥和第二签名密钥的值也是相同的。
步骤110,注册服务器生成第二待签名信息,该第二待签名信息包括该移动用户标识。
注册服务器生成第二待签名信息,该第二待签名信息包括该移动用户标识,该第二待签名信息的生成方式与用户终端生成第一待签名信息的生成方式一致。
可选地,如果在步骤106中客户端注册请求中还包括时间戳,则第二待签名信息还包括该时间戳,即第二待签名信息是该移动用户标识和该时间戳的组合拼接,并且与用户终端使用相同的组合拼接方式,从而能生成相同的待签名信息。
步骤111,注册服务器使用和用户终端相同的签名算法,基于该第二签名密钥对该第二待签名信息计算生成第二请求签名值。
例如,以使用和步骤105用户终端相同的签名算法为例,签名算法可以表述为Signature=HMAC_SHA256(k,m),其中m是待签名信息即第二待签名信息,k是签名密钥即第二签名密钥,HMAC_SHA256是与用户终端相同的签名算法,Signature是签名值即第二请求签名值。
至此,由于注册服务器使用的是和用户终端相同的签名算法,第二待签名信息和第一待签名信息是相同的待签名信息,第二签名密钥和第一签名密钥是相同的签名密钥,则生成的第二请求签名值和第一请求签名值应当相同。
步骤112,注册服务器比较该第二请求签名值和该第一请求签名值是否一致并执行相应的操作。
注册服务器比较该第二请求签名值和该第一请求签名值是否一致,并根据比较结果执行相应的操作,包括:
如果比较结果是一致的,则确定第一请求签名值有效,执行下述步骤113。
如果比较结果是不一致的,则确定第一请求签名值无效,注册服务器向用户终端发送客户端注册应答消息,该客户端注册应答消息是注册失败应答消息,然后执行下述步骤114。
步骤113,注册服务器向用户终端发送客户端注册应答消息,该客户端注册应答消息是注册成功应答消息。
至此,上述过程,主要是基于用户终端中的移动用户标识和第一根密钥,以及基于注册服务器中存储的相同的移动用户标识和第二根密钥,注册服务器通过使用和用户终端相同的签名算法对移动用户标识进行验证,在验证通过之后,可以为用户终端及用户终端上运行的第三方应用客户端安全地提供相应的注册数据和服务,并向用户终端返回注册成功应答消息。
步骤114,用户终端接收注册服务器发送的客户端注册应答消息并执行相应的操作。
用户终端接收注册服务器发送的客户端注册应答消息,该客户端注册应答消息是注册成功应答消息或者是注册失败应答消息。
用户终端根据该客户端注册应答消息执行相应的操作,包括:
如果客户端注册应答消息是注册成功应答消息,则用户终端确定注册过程成功,并根据需要获取所需注册数据和服务。
如果客户端注册应答消息是注册失败应答消息,则用户终端确定注册过程失败。
综上所述,本实施例提供的方法,为用户终端及在用户终端中运行的第三方应用客户端的注册提供了安全验证环境,在注册过程成功之后,用户终端及运行在用户终端中的第三方应用客户端将可以向注册服务器获取相应的注册数据和服务,整个过程不需要用户输入注册信息,提升了用户的使用体验。
在实施本实施例之前,需要完成根密钥协商过程,以基于用户识别模块SIM卡中存储的移动用户标识和密钥、以及基于归属用户服务器HSS中存储的相同的移动用户标识和密钥,经过用户终端和注册服务器间的认证和协商,在不交换密钥的前提下,用户终端和注册服务器各自都为同一移动用户标识生成值相同的根密钥。即在完成根密钥协商过程之后,在用户终端中生成有第一根密钥,在注册服务器生成有第二根密钥并且存储有移动用户标识和第二根密钥的对应关系。根密钥协商过程的具体过程可参见下述图7所示实施例中的介绍和说明。
四、客户端注册过程实施例二
请参考图3,其示出了本发明另一个实施例提供的客户端注册的流程图,该方法可用于图1所示的实施环境中。作为基于实施例一提供的更为优选地实施例,本实施例还进一步为用户终端中运行的第三方应用客户端提供了第三方用户标识。该方法可以包括如下几个步骤:
步骤201,用户终端启动客户端注册流程。
用户终端在获取到用于启动客户端注册的操作指示之后启动客户端注册流程。
步骤202,用户终端获取移动用户标识和第一根密钥。
用户终端获取移动用户标识和第一根密钥,在注册服务器上存储有该移动用户标识以及和该移动用户标识对应的第二根密钥。
步骤203,用户终端获取第三方应用客户端对应的第三方应用标识。
该第三方应用标识在第三方应用客户端的软件安装包内已经内置存储并且在安装后存储在配置文件中,或者由第三方应用客户端向第三方应用服务器发送请求后获得。
用户终端获取第三方应用标识的方式可以是:
例如,第三方应用客户端向用户终端发送启动客户端注册的操作指示,在该操作指示中包括有第三方应用标识,用户终端从该操作指示中获取该第三方应用标识。
又例如,用户终端从第三方应用客户端对应的配置文件中获取第三方应用标识。
步骤204,用户终端基于该第一根密钥生成第一签名密钥。
例如,可将该第一根密钥作为第一签名密钥。
又例如,使用密钥派生算法基于该第一根密钥生成第一签名密钥。具体地,密钥派生算法公式可以表述为DK=PBKDF2(passphrase,Salt,c,dkLen),其中:DK是生成的第一签名密钥,PBKDF2是密钥派生算法,passphrase是该第一根密钥并且或/和该第三方应用标识或/和该移动用户标识组合拼接的字符串;Salt是盐值,在本例中是一个固定字符串;c是迭代次数;dlLen是密钥输出长度。
步骤205,用户终端生成第一待签名信息,该第一待签名信息包括该移动用户标识。
可选地,为了防止重放攻击,该第一待签名信息还可以包括时间戳,该时间戳通过获取用户终端的当前***时间生成,即该第一待签名信息是该移动用户标识和该时间戳的组合拼接。
步骤206,用户终端使用签名算法基于该第一签名密钥对该第一待签名信息计算生成第一请求签名值。
生成的第一请求签名值可以唯一地识别第一待签名信息,只有使用相同的签名算法、相同的待签名信息、相同的签名密钥才可以生成相同的签名值。
例如,签名算法可以表述为Signature=HMAC_SHA256(k,m),其中m是待签名信息即第一待签名信息,k是签名密钥即第一签名密钥,HMAC_SHA256是签名算法,Signature是签名值即第一请求签名值。
步骤207,用户终端向注册服务器发送客户端注册请求,该客户端注册请求包括该移动用户标识、该第三方应用标识以及该第一请求签名值。
可选地,如果在步骤205中生成的待签名信息包括时间戳,则该客户端注册请求中还包括该时间戳。
相应地,注册服务器接收用户终端发送的客户端注册请求,并且获取该客户端注册请求中的移动用户标识、第一请求签名值和时间戳。
步骤208,可选的,注册服务器确定客户端注册请求的有效性。
如果在步骤207中客户端注册请求中还包括时间戳,则将该时间戳与注册服务器的当前***时间进行比较,确定两者的时间差是否在预先设定的有效范围内:
如果是在有效的范围内,则执行下述步骤209;
如果不是在有效的范围内,则向用户终端发送客户端注册应答消息,该客户端注册应答消息是注册失败应答消息,然后执行下述步骤218。
步骤209,注册服务器根据该移动用户标识获取第二根密钥。
在注册服务器上存储有移动用户标识和第二根密钥的对应关系。
注册服务器根据该移动用户标识在该对应关系中查找和获取对应的第二根密钥。
步骤210,注册服务器使用和用户终端相同的签名密钥生成方式,基于该第二根密钥生成第二签名密钥。
例如,以使用和步骤204用户终端相同的签名密钥生成方式为例,如果用户终端使用第一根密钥作为第一签名密钥,则注册服务器使用该第二根密钥作为第二签名密钥。
又例如,以使用和步骤204用户终端相同的签名密钥生成方式为例,如果用户终端使用密钥派生算法基于第一根密钥生成第一签名密钥,则注册服务器使用相同的密钥派生算法基于第二根密钥生成第二签名密钥。具体地,以步骤204相对应的示例为例,密钥派生算法公式为DK=PBKDF2(passphrase,Salt,c,dkLen)为例,其中:DK是生成的第二签名密钥,PBKDF2是与用户终端相同的密钥派生算法,passphrase是该第二根密钥并且或/和该第三方应用标识或/和该移动用户标识组合拼接的字符串,并且组合拼接方式与用户终端一致;Salt是盐值,是一个与用户终端相同的固定字符串;c是与用户终端中相同的迭代次数;dlLen是与用户终端中相同的密钥输出长度。
步骤211,注册服务器生成第二待签名信息,该第二待签名信息包括该移动用户标识。
注册服务器生成第二待签名信息,该第二待签名信息包括该移动用户标识,该第二待签名信息的生成方式与用户终端生成第一待签名信息的生成方式一致。
可选地,如果在步骤207中客户端注册请求中还包括时间戳,则第二待签名信息还包括该时间戳,即第二待签名信息是移动用户标识和该时间戳的组合拼接,并且与用户终端使用相同的组合拼接方式,从而能生成相同的待签名信息。
步骤212,注册服务器使用和用户终端相同的签名算法,基于该第二签名密钥对该第二待签名信息计算生成第二请求签名值。
例如,以使用和步骤206用户终端相同的签名算法为例,签名算法可以表述为Signature=HMAC_SHA256(k,m),其中m是待签名信息即第二待签名信息,k是签名密钥即第二签名密钥,HMAC_SHA256是与用户终端相同的签名算法,Signature是签名值即第二请求签名值。
步骤213,注册服务器比较该第二请求签名值和该第一请求签名值是否一致并执行相应的操作。
注册服务器比较该第二请求签名值和该第一请求签名值是否一致,并根据比较结果执行相应的操作,包括:
如果比较结果是一致的,则确定第一请求签名值有效,执行下述步骤214。
如果比较结果是不一致的,则确定第一请求签名值无效,注册服务器向用户终端发送客户端注册应答消息,该客户端注册应答消息是注册失败应答消息,然后执行下述步骤218。
步骤214,注册服务器根据该移动用户标识和该第三方应用标识查找对应的第三方用户标识。
在注册服务器上存储有移动用户标识和第三方应用标识与第三方用户标识的账户对应关系,即根据第三方应用标识和移动用户标识在该账户对应关系中能够查找和获取对应的第三方用户标识。
注册服务器根据该第三方应用标识和该移动用户标识在该账户对应关系中查找和获取对应的第三方用户标识。
如果查找到对应的第三方用户标识,则说明注册服务器已经为该移动用户标识创建了用于该第三方应用标识的第三方用户标识,则注册服务器获取对应的第三方用户标识,然后执行下述步骤215。
如果没有查找到对应的第三方用户标识,则说明注册服务器没有为该移动用户标识创建过用于该第三方应用标识的第三方用户标识,则执行下述步骤217。
步骤215,注册服务器创建一个唯一的第三方用户标识。
注册服务器创建一个新用户标识,该新用户标识是注册服务器上所有的第三方用户标识中唯一的标识,也可以是在步骤214所述的账户对应关系中该第三方应用标识对应的所有第三方用户标识中唯一的标识,然后将该新用户标识作为第三方用户标识。
步骤216,注册服务器建立和存储该移动用户标识和该第三方应用标识与该第三方用户标识的对应关系。
注册服务器在步骤214所述的账户对应关系中新增该移动用户标识和该第三方应用标识与该第三方用户标识的对应关系,即根据该移动用户标识和该第三方应用标识在该账户对应关系中将能查找和获取到该第三方用户标识。
步骤214、步骤215和步骤216,还可以是,注册服务器预先建立有用于该第三方应用标识的应用用户关系表,在该应用用户关系表中存储有移动用户标识和第三方用户标识的一一对应关系。注册服务器根据该移动用户标识在该应用用户关系表中查找第三方用户标识,如果没有查找到第三方用户标识,则创建一个唯一的第三方用户标识,并且在该应用用户关系表中新增该移动用户标识和该第三方用户标识的一一对应关系,如果查找到第三方用户标识,则获取该第三方用户标识。
步骤214、步骤215和步骤216,还可以是,注册服务器预先建立有用于该移动用户标识的移动用户关系表,在该移动用户关系表中存储有第三方应用标识和第三方用户标识的一一对应关系。注册服务器根据该第三方应用标识在该移动用户关系表中查找第三方用户标识,如果没有查找到第三方用户标识,则创建一个唯一的第三方用户标识,并且在该移动用户关系表中新增该第三方应用标识和该第三方用户标识的一一对应关系,如果查找到第三方用户标识,则获取该第三方用户标识。
步骤217,注册服务器向用户终端发送客户端注册应答消息,该客户端注册应答消息是注册成功应答消息,并且包括该第三方用户标识。
步骤218,用户终端接收注册服务器发送的客户端注册应答消息并执行相应的操作。
用户终端接收注册服务器发送的客户端注册应答消息,该客户端注册应答消息是注册成功应答消息或者是注册失败应答消息。
用户终端根据该客户端注册应答消息执行相应的操作,包括:
如果客户端注册应答消息是注册成功应答消息,则获取该注册成功应答消息中的第三方用户标识,并且将该第三方用户标识发送给第三方应用标识对应的第三方应用客户端。
如果客户端注册应答消息是注册失败应答消息,则结束本流程,或者用户终端将该注册失败应答消息发送给第三方应用客户端之后结束本流程。
如上过程,在实施例一的基础上,本实施例中还进一步为用户终端中运行的第三方应用客户端生成或获取了第三方用户标识。不仅具有实施例一具有的效果,带来的效果至少还包括:第一方面,自动为第三方应用客户端获取第三方用户标识,减少了终端用户的输入操作,提升了用户的使用体验;第二方面,只要是同一用户识别模块SIM卡,即使是更换到其他的用户终端上,只要是相同的第三方应用客户端,也能为其自动获取相同的第三方应用标识;第三方面,第三方应用客户端对应的第三方应用服务器,将只能获取与其有关的第三方应用标识,而不能获取移动用户标识,从而能够有效地保护用户的隐私不被泄露。
五、客户端注册过程实施例三
请参考图4,其示出了本发明另一个实施例提供的客户端注册的流程图,该方法可用于图1所示的实施环境中。作为基于实施例二提供的更为优选地实施例,本实施例还进一步为用户终端中运行的第三方应用客户端生成了应用密钥。该方法可以包括如下几个步骤:
步骤301至316与实施例二步骤201至216相同或者相似,不再赘述。
步骤317,注册服务器基于该第二根密钥生成第二应用密钥。
例如,使用密钥派生算法基于第二根密钥生成第二应用密钥。具体地,密钥派生算法公式可以表述为DK=PBKDF2(passphrase,Salt,c,dkLen),其中:DK是生成的第二应用密钥;PBKDF2是密钥派生算法;passphrase是该第二根密钥并且或/和该第三方应用标识或/和该第三方用户标识组合拼接的字符串;Salt是盐值,在本例中是一个固定字符串;c是迭代次数;dlLen是密钥输出长度。
步骤318,注册服务器建立该第三方用户标识与该第二应用密钥的对应关系。
如果该第三方用户标识是注册服务器上所有的第三方用户标识中唯一的标识,则建立该第三方用户标识与该第二应用密钥的对应关系。
如果该第三方用户标识是该第三方应用标识对应的所有第三方用户标识中唯一的标识,则建立该第三方用户标识和该第三方应用标识与该第二应用密钥的对应关系。
至此,注册服务器建立了该第三方用户标识和该第二应用密钥的对应关系,注册服务器可以本地存储该对应关系,或者将该对应关系同步发送给第三方认证服务器,或者将该对应关系同步发送给对应该第三方应用标识的第三方应用服务器。然后,基于该对应关系,如果运行在用户终端的第三方应用客户端有相同的第三方用户标识和与该第二应用密钥的值相同的应用密钥,将可以实现对第三方应用客户端的身份认证、数据加密等操作。
以注册服务器本地存储该对应关系为例,注册服务器预先建立有用于该第三方应用标识的账户密钥关系表,在该账户密钥关系表中存储有第三方用户标识和第二应用密钥的一一对应关系。注册服务器根据该第三方用户标识在该账户密钥关系表中查找第二应用密钥,如果没有查找到第二应用密钥,则在该账户密钥关系表中新增该第三方用户标识和该第二应用密钥的一一对应关系,如果查找到应用密钥,则在该账户密钥关系表中使用本次新生成的该第二应用密钥替换该第三方用户标识已有的应用密钥。
步骤319,注册服务器向用户终端发送客户端注册应答消息,该客户端注册应答消息是注册成功应答消息,并且包括该第三方用户标识。
需要说明的是,上述步骤317和步骤318还可以在步骤319注册服务器向用户终端发送客户端注册应答消息之后执行,本发明并不对此进行限定。
步骤320,用户终端接收注册服务器发送的客户端注册应答消息并执行相应的操作。
用户终端接收注册服务器发送的客户端注册应答消息,该客户端注册应答消息是注册成功应答消息或者是注册失败应答消息。
用户终端根据该客户端注册应答消息执行相应的操作,包括:
如果客户端注册应答消息是注册成功应答消息,则获取该注册成功应答消息中的第三方用户标识,然后执行下述步骤321。
如果客户端注册应答消息是注册失败应答消息,则结束本流程,或者用户终端将该注册失败应答消息发送给第三方应用客户端之后结束本流程,不执行下述步骤。
步骤321,用户终端使用和注册服务器相同的应用密钥生成方式,基于该第一根密钥生成第一应用密钥。
例如,以使用和步骤317注册服务器相同的密钥派生算法为例。具体地,密钥派生算法公式可以表述为DK=PBKDF2(passphrase,Salt,c,dkLen),其中:DK是生成的第一应用密钥;PBKDF2是与注册服务器相同的密钥派生算法;passphrase是第一根密钥并且或/和第三方应用标识或/和第三方用户标识组合拼接的字符串,并且组合拼接方式与注册服务器一致;Salt是盐值,是一个与注册服务器相同的固定字符串;c是与注册服务器相同的迭代次数;dlLen是与注册服务器相同的密钥输出长度。
至此,由于在根密钥协商过程之后,在用户终端上生成的第一根密钥和在注册服务器上生成的第二根密钥是相同的,而由于第一应用密钥和第二应用密钥是使用相同的应用密钥生成方式、基于相同的根密钥生成的,因此,第一应用密钥和第二应用密钥的值也是相同的。
用户终端将该第三方用户标识和该第一应用密钥发送给该第三方应用标识对应的第三方应用客户端,第三方应用客户端将可以根据该第三方用户标识和该第一应用密钥向第三方应用服务器进行身份认证、数据加密等操作。
如上过程,在实施例二获取了第三方用户标识的基础上,本实施例还进一步为第三方应用客户端生成了应用密钥,不仅具有实施例二具有的效果,带来的效果至少还包括:第一方面,自动为第三方应用客户端生成了应用密钥,减少了终端用户的输入操作,提升了用户的使用体验;第二方面,用户终端中运行的第三方应用客户端将可以根据获取的第三方用户标识以及生成的应用密钥实现快捷、安全的身份认证、数据加密等操作。
六、客户端注册过程实施例四
请参考图5,其示出了本发明另一个实施例提供的客户端注册的流程图,该方法可用于图1所示的实施环境中。作为基于实施例二提供的更为优选地实施例,本实施例还进一步为用户终端中运行的第三方应用客户端生成了认证令牌。该方法可以包括如下几个步骤:
步骤401至413与实施例二步骤201至213相同或者相似,不再赘述。
步骤414,注册服务器为该第三方应用标识生成认证令牌。
注册服务器为该第三方应用标识生成认证令牌,该认证令牌是唯一的,并且具有足够的长度和足够的随机性,使得难以被猜测破解。
步骤415,注册服务器建立该认证令牌与该第三方应用标识的关联关系。
至此,注册服务器建立了该认证令牌与该第三方应用标识的关联关系,注册服务器可以本地存储该关联关系,或者将该关联关系同步发送给第三方认证服务器,或者将该认证令牌同步发送给该第三方应用标识对应的第三方应用服务器。然后,基于该关联关系,如果运行在用户终端的第三方应用客户端有相同的认证令牌,第三方应用服务器将可以实现对第三方应用客户端的身份认证。
步骤414和步骤415,还可以是,注册服务器预先建立有认证令牌与第三方应用标识的用户令牌关系表,在该用户令牌关系表中存储有认证令牌和移动用户标识的对应关系。注册服务器在该用户令牌关系表中新增该认证令牌和该移动用户标识的对应关系。
需要说明的是,还应当提供清理机制,对于已经失效的认证令牌应当及时清理相应的对应关系,例如在认证令牌验证一次后删除该认证令牌相应的对应关系,或者给认证令牌设定一个有效期,依据有效期及时删除已过有效期的认证令牌相应的对应关系。具体清理机制在此不赘述。
还需要说明的是,为了给同一用户提供持续的应用服务,还应当建立该认证令牌与该移动用户标识的对应关系,能根据认证令牌查找出移动用户标识,从而为同一用户提供持续的服务。进一步的,为了不致于在第三方应用服务器上泄露移动用户标识,还可以创建一个该移动用户标识和该第三方应用标识对应的、唯一的用户标识,再建立该认证令牌与该用户标识的对应关系,从而保护用户的隐私。具体机制在此不赘述。
步骤416,注册服务器向用户终端发送客户端注册应答消息,该客户端注册应答消息是注册成功应答消息,并且包括该认证令牌。
步骤417,用户终端接收注册服务器发送的客户端注册应答消息并执行相应的操作。
用户终端接收注册服务器发送的客户端注册应答消息,该客户端注册应答消息是注册成功应答消息或者是注册失败应答消息。
用户终端根据该客户端注册应答消息执行相应的操作,包括:
如果该客户端注册应答消息是注册成功应答消息,则获取该注册成功应答消息中的认证令牌,并且将该认证令牌传递给第三方应用标识对应的第三方应用客户端以用于认证鉴权,然后结束本流程。
如果该客户端注册应答消息是注册失败应答消息,则结束本流程,或者用户终端将该注册失败应答消息传递给第三方应用客户端之后结束本流程。
如上过程,在实施例一的基础上,本实施例中还进一步为移动用户标识对应的第三方应用标识生成了认证令牌。不仅具有实施例一具有的效果,带来的效果至少还包括:第一方面,自动为第三方应用客户端获取认证令牌,减少了终端用户的输入操作,提升了用户的使用体验;第二方面,该认证令牌将可以用于第三方应用客户端向对应的第三方应用服务器的认证鉴权,从而提升用户的使用体验;第三方面,在用于认证鉴权时,该认证令牌由于不需要进行加密计算等操作,因此,更适用于一些轻量级的应用客户端(如基于浏览器的网页应用)。
七、客户端注册过程实施例五
请参考图6,其示出了本发明另一个实施例提供的客户端注册的流程图,该方法可用于图1所示的实施环境中。作为基于实施例二提供的更为优选地实施例,本实施例中还进一步实现了终端用户的授权确认过程。该方法的下述步骤应用在实施例二的步骤213在确定第一请求签名值有效之后和步骤214之前,包括如下几个步骤:
步骤a,注册服务器向用户终端发送应用授权请求消息。
该应用授权请求消息中可以包括:
或/和第三方应用名称,该名称是用于识别第三方应用客户端和第三方应用服务器的名称,在注册服务器上预先存储有第三方应用标识和第三方应用名称的对应关系,注册服务器根据第三方应用标识在该对应关系中查找和获取对应的第三方应用名称。
或/和移动用户名称,该名称是用于识别移动用户的名称,在注册服务器上预先存储有移动用户标识和移动用户名称的对应关系,注册服务器根据移动用户标识在该对应关系中查找和获取对应的移动用户名称。
相应地,用户终端接收注册服务器发送的应用授权请求消息。
步骤b,用户终端显示应用授权验证界面。
用户终端接收到注册服务器发送的应用授权请求消息之后,调用并显示应用授权验证界面,以询问终端用户是否同意向该第三方应用授权。
在显示的应用授权验证界面上,可以包括:
或/和第三方应用名称,即将要授权的第三方应用客户端和第三方应用服务器的名称;
或/和移动用户名称,即将要授权的移动用户名称。
在显示应用授权验证界面之后,终端用户可以输入授权信息:同意授权或者取消授权。
可选地,在显示的应用授权验证界面上,还可以包括安全验证码输入框,以询问终端用户输入安全验证码。该安全验证码用于进一步地验证终端用户的授权,相应地,在注册服务器上预先存储有移动用户标识和安全验证码的对应关系。
步骤c,用户终端接收终端用户在应用授权验证界面中输入的授权信息。
步骤d,用户终端向注册服务器发送应用授权应答消息,该应用授权应答消息是应用授权确认消息或者是应用授权取消消息。
用户终端根据终端用户输入的授权信息执行相应的操作,包括:
如果授权信息包括同意授权,则用户终端向注册服务器发送的应用授权应答消息是应用授权确认消息。
可选地,如果在显示的应用授权验证界面上还包括安全验证码输入框,并且用户终端接收的终端用户输入的授权消息中包括安全验证码,则用户终端向注册服务器发送的应用授权确认消息中还包括该安全验证码。
如果授权信息包括取消授权,则用户终端向注册服务器发送的应用授权应答消息是应用授权取消消息。
步骤e,注册服务器接收用户终端发送的应用授权应答消息并执行相应的操作。
注册服务器接收用户终端发送的应用授权应答消息,该应用授权应答消息是应用授权确认消息或者是应用授权取消消息。
注册服务器根据该应用授权应答消息执行相应的操作,包括:
如果该应用授权应答消息是应用授权确认消息,则继续执行后续步骤。
可选地,在注册服务器上预先存储有移动用户标识和安全验证码的对应关系,如果在注册服务器接收的应用授权确认消息中包括安全验证码,则注册服务器根据移动用户标识在该对应关系中查找和获取对应的安全验证码,并且比较两个安全验证码是否一致:如果一致,则继续执行后续步骤;如果不一致,则结束流程,不执行后续步骤。
如果该应用授权应答消息是应用授权取消消息,则结束流程,不执行后续步骤。
本实施例提供的方法,在实施例二的基础上,增加了让终端用户验证授权的过程,通过增加这一过程,可以更加确认客户端注册过程得到了终端用户的许可,避免由于误操作等原因给非必要的第三方应用客户端进行了授权。
本实施例还可以与实施例三组成一个新的实施例,即将本实施例的方法步骤应用在实例三的步骤313在确定第一请求签名值有效之后和步骤314之前,具体过程不赘述。
本实施例还可以与实施例四组成一个新的实施例,即将本实施例的方法步骤应用在实例四的步骤413在确定第一请求签名值有效之后和步骤414之前,具体过程不赘述。
八、根密钥协商过程实施例
请参考图7,其示出了本发明一个实施例提供的根密钥协商过程的流程图,该方法可用于图1所示的实施环境中。该方法可以包括如下几个步骤:
步骤501,用户终端启动根密钥协商过程。
在获取到用于根密钥协商的操作指示之后,用户终端启动根密钥协商过程。
步骤502,用户终端获取移动用户标识。
该移动用户标识是用于唯一识别用户识别模块SIM卡的标识,该移动用户标识是IMSI或者IMPI。该移动用户标识和客户端注册流程中获取的移动用户标识是同一标识。
例如,以使用的用户识别模块SIM卡是USIM卡为例,在USIM上获取的移动用户标识是IMSI,用户终端通过操作***上的API获取IMSI(例如Android***上使用getSubscriberId方法),或者用户终端通过APDU命令读取USIM卡的EFimsi值。
又例如,以使用的用户识别模块SIM卡是ISIM卡为例,在ISIM卡上获取的移动用户标识是IMPI,用户终端通过APDU命令读取ISIM卡的EFimpi值。
步骤503,用户终端向注册服务器发送根密钥协商请求,该根密钥协商请求中包括该移动用户标识。
相应地,注册服务器接收用户终端发送的根密钥协商请求。
步骤504,注册服务器向归属用户服务器HSS发送认证请求消息,该认证请求消息中包括该移动用户标识。
以移动用户标识是IMSI为例,可以通过向归属用户服务器HSS的SWx接口发送Multimedia-Auth-Request认证请求消息,该Multimedia-Auth-Request认证请求消息中包括该移动用户标识。
以移动用户标识是IMPI为例,可以通过向归属用户服务器HSS的Cx或SWx接口发送Multimedia-Auth-Request认证请求消息,该Multimedia-Auth-Request认证请求消息中包括该移动用户标识。
进一步地,为了同时支持IMSI和IMPI类型的移动用户标识,注册服务器还可以对移动用户标识的类型进行判断,然后再向归属用户服务器HSS的Cx或SWx接口发送Multimedia-Auth-Request认证请求消息。移动用户标识类型的一个判断方式是结合移动用户标识的字段结构来判断,例如,IMSI是总长度不超过15位的***数字(例如234150999999999),IMPI是符合IETF RFC 2486规范特点的网络标识(例如[email protected])。
步骤505,注册服务器接收归属用户服务器HSS反馈的认证应答消息。
在归属用户服务器HSS接收注册服务器的认证请求消息之后,归属用户服务器HSS向注册服务器返回Multimedia-Auth-Answer认证应答消息。在Multimedia-Auth-Answer认证应答消息中包括SIP-Auth-Data-Item属性值对(AVP:Attribute Value Pair),该SIP-Auth-Data-Item属性值对中包括SIP-Authenticate、SIP-Authorization、Confidentiality-Key、Integrity-Key属性值对。
步骤506,注册服务器从该认证应答消息中获取随机数RAND、鉴权令牌AUTN、期望响应值XRES、第二加密密钥CK或/和第二完整性密钥IK。
注册服务器对Multimedia-Auth-Answer认证应答消息进行解析,从中获取SIP-Auth-Data-Item属性值对,然后从SIP-Auth-Data-Item属性值对中的SIP-Authenticate属性值对获取随机数RAND和鉴权令牌AUTN,从SIP-Authorization属性值对获取期望响应值XRES,从Confidentiality-Key属性值对获取第二加密密钥CK或/和从Integrity-Key属性值对获取第二完整性密钥IK。
步骤507,注册服务器向用户终端发送根密钥协商挑战消息,该根密钥协商挑战消息包括该随机数RAND、该鉴权令牌AUTN。
注册服务器保留期望响应值XRES、第二加密密钥CK或/和第二完整性密钥IK。
相应地,用户终端接收注册服务器发送的根密钥协商挑战消息。
步骤508,用户终端向用户识别模块SIM卡发送认证鉴权请求,该认证鉴权请求包括该随机数RAND和该鉴权令牌AUTN。
用户终端向用户识别模块SIM卡发送认证鉴权请求(例如通过APDU命令AUTHENTICATE),传递参数为该随机数RAND和该鉴权令牌AUTN。
步骤509,用户终端接收用户识别模块SIM卡的返回值,该返回值包括期望响应值RES、第一加密密钥CK、第一完整性密钥IK。
在用户识别模块SIM卡接收到用户终端发送的认证鉴权请求之后,用户识别模块SIM卡经过鉴权计算后向用户终端发送返回值,该返回值包括期望响应值RES、第一加密密钥CK、第一完整性密钥IK,用户终端接收该返回值。
步骤510,用户终端向注册服务器发送根密钥挑战应答消息,该根密钥挑战应答消息包括该期望响应值RES。
可选地,为了进一步保护期望响应值RES的安全,避免在传输过程中被泄露,还可以使用哈希算法(例如SHA256)对期望响应值RES进行哈希计算,只发送期望响应值RES经哈希计算后的哈希值,而不发送期望响应值RES明文。
相应地,注册服务器接收用户终端发送的期望响应值RES或哈希值。
步骤511,注册服务器比较该期望响应值XRES和该期望响应值RES是否一致。
注册服务器将在本地保留的期望响应值XRES和从用户终端返回的根密钥挑战应答消息中获取的期望响应值RES进行比较,并且根据比较结果执行相应的操作,包括:
如果比较结果是一致的,则执行下述步骤512;
如果比较结果是不一致的,则向用户终端发送根密钥协商应答消息,该根密钥协商应答消息是根密钥协商失败应答消息,并执行下述步骤515。
可选地,如上述步骤510所述,如果注册服务器接收的是对期望响应值RES经哈希计算后的哈希值,则注册服务器使用相同的哈希算法对期望响应值RES进行哈希计算生成哈希值,并且将两个哈希值进行比较。
步骤512,注册服务器基于该第二加密密钥CK或/和该第二完整性密钥IK生成第二根密钥。
例如,第二根密钥是该第二加密密钥CK或该第二完整性密钥IK,或者,第二根密钥是该第二加密密钥CK或/和该第二完整性密钥IK或/和固定字符串的拼接,或者该第二根密钥是使用哈希算法(例如SHA256)对拼接后的明文进行哈希计算后生成的值。
步骤513,注册服务器建立该移动用户标识与该第二根密钥的对应关系。
在注册服务器上建立该移动用户标识与该第二根密钥的对应关系,注册服务器将能够根据移动用户标识在该对应关系中查找和获取对应的第二根密钥。
如果注册服务器上已经存储有该移动用户标识和第二根密钥的对应关系,则使用本次生成的该第二根密钥替换以前存储的第二根密钥。
需要说明的是,上述步骤512和步骤513还可以在步骤514即注册服务器向用户终端发送根密钥协商成功应答消息之后执行,本发明并不对此进行限定。
步骤514,注册服务器向用户终端发送根密钥协商应答消息,该根密钥协商应答消息是根密钥协商成功应答消息。
步骤515,用户终端接收注册服务器发送的根密钥协商应答消息并执行相应的操作。
用户终端接收注册服务器发送的根密钥协商应答消息,该根密钥协商应答消息是根密钥协商成功应答消息或根密钥协商失败应答消息。
用户终端根据该根密钥协商应答消息执行相应的操作,包括:
如果该根密钥协商应答消息是根密钥协商成功应答消息,则用户终端执行下述步骤516。
如果该根密钥协商应答消息是根密钥协商失败应答消息,则不执行下述步骤,结束本次根密钥协商流程。
步骤516,用户终端使用和注册服务器相同的根密钥生成方式,基于该第一加密密钥CK或/和该第一完整性密钥IK生成第一根密钥。
例如,和注册服务器上根密钥生成方式相对应的,如果第二根密钥是第二加密密钥CK或第二完整性密钥IK,则第一根密钥是该第一加密密钥CK或该第一完整性密钥IK;如果第二根密钥是第二加密密钥CK或/和第二完整性密钥IK或/和固定字符串的拼接,则第一根密钥是该第一加密密钥CK或/和该第一完整性密钥IK或/和相同固定字符串的拼接;如果第二根密钥是使用哈希算法(例如SHA256)对拼接后的明文进行哈希计算后生成的值,则第一根密钥是使用相同的哈希算法(例如SHA256)对拼接后的明文进行哈希计算后生成的值。
至此,由于上述过程是基于AKA机制(Authentication and Key Agreement,认证与密钥协商)实现的,用户终端上获取的第一加密密钥CK、第一完整性密钥IK和注册服务器上获取的第二加密密钥CK、第二完整性密钥IK相同,又由于根密钥的生成方式一致,因此,在用户终端上生成的第一根密钥和注册服务器上生成的第二根密钥的值相同。
通过本实施例提供的方法,用户终端基于用户识别模块SIM卡中存储的移动用户标识和密钥、以及注册服务器基于归属用户服务器HSS中存储的相同的移动用户标识和密钥,经过用户终端和注册服务器间的认证与密钥协商过程,在不交换根密钥的情况下,用户终端和注册服务器各自都为同一移动用户标识生成了值相同的根密钥。
此外,为实现上述目的,本发明还提供一种客户端注册装置,所述客户端注册装置应用于运行有第三方应用客户端的用户终端中,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端注册程序,所述客户端注册程序被所述处理器执行时实现上述的客户端注册方法的步骤。
此外,为实现上述目的,本发明还提供一种客户端注册装置,所述客户端注册装置应用于注册服务器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端注册程序,所述客户端注册程序被所述处理器执行时实现上述的客户端注册方法的步骤。
此外,为实现上述目的,本发明还提供一种客户端注册***,所述客户端注册***包括:用户终端以及注册服务器;
所述用户终端包括上述的客户端注册装置;
所述注册服务器包括上述的客户端注册装置。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (26)

1.一种客户端注册方法,其特征在于,应用于运行有第三方应用客户端的用户终端中,所述方法包括:
生成第一待签名信息,所述第一待签名信息包括移动用户标识,并且所述第一待签名信息的生成方式与注册服务器生成第二待签名信息的生成方式一致;
生成第一请求签名值,所述第一请求签名值是基于第一签名密钥对第一待签名信息计算生成的;
向所述注册服务器发送客户端注册请求,所述客户端注册请求包括所述移动用户标识和所述第一请求签名值;
接收所述注册服务器发送的注册成功应答消息。
2.根据权利要求1所述的方法,其特征在于,所述客户端注册请求还包括第三方应用标识,所述第三方应用标识是所述第三方应用客户端对应的第三方应用标识。
3.根据权利要求1和权利要求2所述的方法,其特征在于,所述注册成功应答消息还包括第三方用户标识。
4.根据权利要求3所述的方法,其特征在于,所述接收所述注册服务器发送的注册成功应答消息的步骤之后,还包括:
生成第一应用密钥,所述第一应用密钥是基于第一根密钥生成的。
5.根据权利要求1和权利要求2所述的方法,其特征在于,所述注册成功应答消息包括认证令牌。
6.根据权利要求2至权利要求5任一项所述的方法,其特征在于,在所述向所述注册服务器发送客户端注册请求之后,以及在接收所述注册服务器发送的注册成功应答消息之前,还包括:
接收所述注册服务器发送的应用授权请求消息;
显示应用授权验证界面;
接收终端用户在所述应用授权验证界面中输入的授权信息;
如果所述授权信息包括确认授权信息,则向所述注册服务器发送应用授权应答消息,所述应用授权应答消息是应用授权确认消息。
7.根据权利要求1所述的方法,其特征在于,所述生成第一请求签名值的步骤之前,所述方法还包括:
获取第一根密钥,所述第一根密钥与所述注册服务器上存储的所述移动用户标识对应的第二根密钥的值相同;
生成第一签名密钥,所述第一签名密钥是基于所述第一根密钥生成的。
8.根据权利要求4或权利要求7所述的方法,其特征在于,所述第一根密钥是由所述用户终端和所述注册服务器基于认证与密钥协商AKA机制生成的。
9.根据权利要求8所述的方法,其特征在于,所述由所述用户终端和所述注册服务器基于所述AKA机制生成的,包括:
从用户识别模块SIM卡获取所述移动用户标识;
向所述注册服务器发送根密钥协商请求,所述根密钥协商请求包括所述移动用户标识;
接收所述注册服务器发送的根密钥协商挑战消息,所述根密钥协商挑战消息包括随机数RAND和鉴权令牌AUTN;
向所述用户识别模块SIM卡发送鉴权请求,所述鉴权请求包括所述随机数RAND和所述鉴权令牌AUTN;
接收所述用户识别模块SIM卡的返回值,所述返回值包括期望响应值RES、第一加密密钥CK和第一完整性密钥IK;
向所述注册服务器发送根密钥挑战应答消息,所述根密钥挑战应答消息包括所述期望响应值RES;
接收所述注册服务器发送的根密钥协商成功应答消息,所述根密钥协商成功应答消息是在所述注册服务器验证所述根密钥挑战应答消息中的所述期望响应值RES有效之后生成并反馈的;
基于所述第一加密密钥CK或/和所述第一完整性密钥IK生成所述第一根密钥,并且所述第一根密钥的生成方式与所述注册服务器生成第二根密钥的生成方式一致。
10.根据权利要求9所述的方法,其特征在于,包括:
所述用户识别模块SIM卡是全球用户识别模块USIM,所述移动用户标识是国际移动用户识别码IMSI;
或者,
所述用户识别模块SIM卡是IP多媒体服务识别模块ISIM,所述移动用户标识是IP多媒体私有标识IMPI。
11.一种客户端注册方法,其特征在于,应用于注册服务器中,所述方法包括:
接收用户终端发送的客户端注册请求,所述客户端注册请求包括移动用户标识和第一请求签名值;
生成第二待签名信息,所述第二待签名信息包括所述移动用户标识,并且所述第二待签名信息的生成方式与所述用户终端生成第一待签名信息的生成方式一致;
根据所述移动用户标识获取第二签名密钥;
根据所述第二签名密钥和所述第二待签名信息验证所述第一请求签名值是否有效;
在验证所述第一请求签名值有效时,向所述用户终端发送注册成功应答消息。
12.根据权利要求11所述的方法,其特征在于,所述客户端注册请求还包括第三方应用标识。
13.根据权利要求11和权利要求12所述的方法,其特征在于,所述注册成功应答消息还包括第三方用户标识。
14.根据权利要求12所述的方法,其特征在于,所述方法还包括:
根据所述移动用户标识和所述第三方应用标识查找对应的第三方用户标识;
如果查找到对应的第三方用户标识,则获取查找到的对应的第三方用户标识;
如果没有查找到对应的第三方用户标识,则创建一个唯一的第三方用户标识,并建立和存储所述移动用户标识和所述第三方应用标识与所述第三方用户标识的对应关系。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在验证所述第一请求签名值有效时,生成第二应用密钥,所述第二应用密钥是基于第二根密钥生成的,并且所述第二应用密钥的生成方式与所述用户终端生成第一应用密钥的生成方式一致;
建立所述第三方用户标识与所述第二应用密钥的对应关系。
16.根据权利要求11和权利要求12所述的方法,其特征在于,所述注册成功应答消息还包括认证令牌。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
为所述第三方应用标识生成认证令牌;
建立所述认证令牌和所述第三方应用标识的关联关系。
18.根据权利要求12至16中任一项所述的方法,其特征在于,所述在验证所述第一请求签名值有效时,向所述用户终端发送注册成功应答消息,还包括:
在验证所述第一请求签名值有效时,向所述用户终端发送应用授权请求消息;
接收所述用户终端发送的应用授权应答消息;
如果所述应用授权应答消息是应用授权确认消息,则向所述用户终端发送所述注册成功应答消息。
19.根据权利要求11所述的方法,其特征在于,所述根据所述移动用户标识获取第二签名密钥的步骤包括:
根据所述移动用户标识获取对应的第二根密钥,所述第二根密钥与所述用户终端的第一根密钥的值相同;
生成第二签名密钥,所述第二签名密钥是基于所述第二根密钥生成的,并且所述第二签名密钥的生成方式与所述用户终端生成第一签名密钥的生成方式一致。
20.根据权利要求11所述的方法,其特征在于,所述根据所述第二签名密钥和所述第二待签名信息验证所述第一请求签名值是否有效的步骤包括:
生成第二请求签名值,所述第二请求签名值是基于所述第二签名密钥对第二待签名信息计算生成的,并且所述第二请求签名值的生成方式与所述用户终端生成第一请求签名值的生成方式一致;
比较所述第一请求签名值和所述第二请求签名值,如果所述第一请求签名值和所述第二请求签名值是一致的,则确定所述第一请求签名值有效。
21.根据权利要求15或权利要求19所述的方法,其特征在于,所述第二根密钥是由所述注册服务器和所述用户终端基于认证与密钥协商AKA机制生成的。
22.根据权利要求21所述的方法,其特征在于,所述第二根密钥是由所述注册服务器和所述用户终端基于AKA机制生成的,包括:
接收所述用户终端发送的根密钥协商请求,所述根密钥协商请求包括所述移动用户标识;
向归属用户服务器HSS发送认证请求消息,所述认证请求消息包括所述移动用户标识;
接收所述归属用户服务器HSS反馈的认证应答消息,所述认证应答消息中包括SIP-Auth-Data-Item属性值对;
从所述SIP-Auth-Data-Item属性值对中获取随机数RAND、鉴权令牌AUTN、期望响应值XRES以及第二加密密钥CK或/和第二完整性密钥IK;
向所述用户终端发送根密钥协商挑战消息,所述根密钥协商挑战消息包括所述随机数RAND和所述鉴权令牌AUTN;
接收所述用户终端发送的根密钥挑战应答消息,所述根密钥挑战应答消息包括期望响应值RES;
比较所述期望响应值XRES和所述期望响应值RES是否一致,如果一致,则确定期望响应值RES有效,并且:
基于所述第二加密密钥CK或/和所述第二完整性密钥IK生成所述第二根密钥,并且所述第二根密钥的生成方式与所述用户终端生成所述第一根密钥的生成方式一致;
建立所述移动用户标识与所述第二根密钥的对应关系,如果所述移动用户标识已经有对应的根密钥,则使用所述第二根密钥替换已有的根密钥;
向所述用户终端发送根密钥协商成功应答消息。
23.根据权利要求11所述的方法,其特征在于,所述移动用户标识是国际移动用户识别码IMSI或者是IP多媒体私有标识IMPI。
24.一种客户端注册装置,其特征在于,所述客户端注册装置应用于运行有第三方应用客户端的用户终端中,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端注册程序,所述客户端注册程序被所述处理器执行时实现如权利要求1至10中任一项所述的客户端注册方法的步骤。
25.一种客户端注册装置,其特征在于,所述客户端注册装置应用于注册服务器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客户端注册程序,所述客户端注册程序被所述处理器执行时实现如权利要求11至23中任一项所述的客户端注册方法的步骤。
26.一种客户端注册***,其特征在于,所述客户端注册***包括:用户终端以及注册服务器;
所述用户终端包括如权利要求24所述的客户端注册装置;
所述注册服务器包括如权利要求25所述的客户端注册装置。
CN201810969927.4A 2018-08-23 2018-08-23 客户端注册方法、装置及*** Pending CN109041205A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201810969927.4A CN109041205A (zh) 2018-08-23 2018-08-23 客户端注册方法、装置及***
PCT/CN2019/074724 WO2020037957A1 (zh) 2018-08-23 2019-02-04 客户端注册方法、装置及***
CN201910775079.8A CN110858968A (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***
CN201910777127.7A CN110858969A (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***
CN201910774037.2A CN111050314B (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810969927.4A CN109041205A (zh) 2018-08-23 2018-08-23 客户端注册方法、装置及***

Publications (1)

Publication Number Publication Date
CN109041205A true CN109041205A (zh) 2018-12-18

Family

ID=64627198

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201810969927.4A Pending CN109041205A (zh) 2018-08-23 2018-08-23 客户端注册方法、装置及***
CN201910777127.7A Pending CN110858969A (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***
CN201910774037.2A Active CN111050314B (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***
CN201910775079.8A Pending CN110858968A (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN201910777127.7A Pending CN110858969A (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***
CN201910774037.2A Active CN111050314B (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***
CN201910775079.8A Pending CN110858968A (zh) 2018-08-23 2019-08-22 客户端注册方法、装置及***

Country Status (1)

Country Link
CN (4) CN109041205A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020037957A1 (zh) * 2018-08-23 2020-02-27 刘高峰 客户端注册方法、装置及***
CN111327583A (zh) * 2019-08-22 2020-06-23 刘高峰 一种身份认证方法、智能设备及认证服务器
CN111327416A (zh) * 2019-12-13 2020-06-23 刘高峰 一种物联网设备接入方法、装置和物联网平台
CN111327582A (zh) * 2019-08-22 2020-06-23 刘高峰 一种基于OAuth协议的授权方法、装置及***
CN112118243A (zh) * 2020-09-09 2020-12-22 中国联合网络通信集团有限公司 身份认证方法及***,和互联网应用登录方法及***
CN112689283A (zh) * 2020-12-15 2021-04-20 青海大学 一种密钥保护和协商方法、***和存储介质
WO2024012517A1 (zh) * 2022-07-14 2024-01-18 蔚来汽车科技(安徽)有限公司 端到端的数据传输方法、设备和介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110611719B (zh) * 2019-10-16 2022-04-19 四川虹美智能科技有限公司 一种消息推送方法、服务器和***
CN114268953B (zh) * 2020-09-14 2023-08-15 ***通信集团重庆有限公司 一种基站认证方法、查询节点、***及设备
CN117546499A (zh) * 2020-12-22 2024-02-09 华为技术有限公司 一种标识符的注册方法和实现注册方法的节点
CN113806798B (zh) * 2021-08-13 2023-07-14 苏州浪潮智能科技有限公司 一种用户端验证方法、***、设备以及介质
CN114338173B (zh) * 2021-12-29 2023-01-24 渔翁信息技术股份有限公司 一种账户注册方法、***、设备及计算机可读存储介质
CN114584971A (zh) * 2022-02-15 2022-06-03 北京快乐茄信息技术有限公司 账号注册方法及装置、电子设备及存储介质
CN115001841A (zh) * 2022-06-23 2022-09-02 北京瑞莱智慧科技有限公司 一种身份认证方法、装置及存储介质
CN115208702B (zh) * 2022-09-16 2022-12-30 国网江西省电力有限公司电力科学研究院 一种物联网设备认证与密钥协商方法
CN117556411B (zh) * 2024-01-10 2024-05-10 鼎铉商用密码测评技术(深圳)有限公司 密码的生成方法、密码的生成设备以及可读存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384120C (zh) * 2004-09-30 2008-04-23 华为技术有限公司 Ip多媒体子***中对终端用户标识模块进行鉴权的方法
CN100544249C (zh) * 2004-10-29 2009-09-23 大唐移动通信设备有限公司 移动通信用户认证与密钥协商方法
CN1859087A (zh) * 2005-12-30 2006-11-08 华为技术有限公司 一种客户端和服务器密钥协商方法及其***
US8428586B2 (en) * 2006-05-19 2013-04-23 Research In Motion Limited System and method for facilitating accelerated network selection in a radio network environment
CN101197673B (zh) * 2006-12-05 2011-08-10 中兴通讯股份有限公司 固定网络接入ims双向认证及密钥分发方法
CN101488945B (zh) * 2008-01-14 2012-09-19 北京大唐高鸿数据网络技术有限公司 一种面向会话初始化协议的鉴权方法
WO2010028681A1 (en) * 2008-09-09 2010-03-18 Telefonaktiebolaget Lm Ericsson (Publ) Authentication in a communication network
CN101635823B (zh) * 2009-08-27 2011-09-21 中兴通讯股份有限公司 一种终端对视频会议数据进行加密的方法及***
CN102196436B (zh) * 2010-03-11 2014-12-17 华为技术有限公司 安全认证方法、装置及***
CN102196426B (zh) * 2010-03-19 2014-11-05 ***通信集团公司 一种接入ims网络的方法、装置和***
CN102413464B (zh) * 2011-11-24 2014-07-09 杭州东信北邮信息技术有限公司 基于gba的电信能力开放平台密钥协商***和方法
CN104125565A (zh) * 2013-04-23 2014-10-29 中兴通讯股份有限公司 一种基于oma dm实现终端认证的方法、终端及服务器
CN103259795B (zh) * 2013-05-14 2016-12-28 百度在线网络技术(北京)有限公司 执行自动注册登录的方法、移动终端以及服务器
WO2015042668A2 (en) * 2013-09-06 2015-04-02 Lin.K N.V. Mobile authentication method and system for providing authenticated access to internet-supported services and applications
CN106161032B (zh) * 2015-04-24 2019-03-19 华为技术有限公司 一种身份认证的方法及装置
CN106534050A (zh) * 2015-09-11 2017-03-22 中移(杭州)信息技术有限公司 一种实现虚拟专用网络密钥协商的方法和装置
CN107454045B (zh) * 2016-06-01 2020-09-11 宇龙计算机通信科技(深圳)有限公司 一种用户ims注册认证的方法、装置及***
WO2018053271A1 (en) * 2016-09-16 2018-03-22 Idac Holdings, Inc. Unified authentication framework
CN108401275A (zh) * 2017-02-06 2018-08-14 财团法人工业技术研究院 用户设备注册方法、网络控制器与网络通信***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020037957A1 (zh) * 2018-08-23 2020-02-27 刘高峰 客户端注册方法、装置及***
CN111327583A (zh) * 2019-08-22 2020-06-23 刘高峰 一种身份认证方法、智能设备及认证服务器
CN111327582A (zh) * 2019-08-22 2020-06-23 刘高峰 一种基于OAuth协议的授权方法、装置及***
CN111327583B (zh) * 2019-08-22 2022-03-04 刘高峰 一种身份认证方法、智能设备及认证服务器
CN111327416A (zh) * 2019-12-13 2020-06-23 刘高峰 一种物联网设备接入方法、装置和物联网平台
CN112118243A (zh) * 2020-09-09 2020-12-22 中国联合网络通信集团有限公司 身份认证方法及***,和互联网应用登录方法及***
CN112118243B (zh) * 2020-09-09 2023-04-07 中国联合网络通信集团有限公司 身份认证方法及***,和互联网应用登录方法及***
CN112689283A (zh) * 2020-12-15 2021-04-20 青海大学 一种密钥保护和协商方法、***和存储介质
WO2024012517A1 (zh) * 2022-07-14 2024-01-18 蔚来汽车科技(安徽)有限公司 端到端的数据传输方法、设备和介质

Also Published As

Publication number Publication date
CN111050314A (zh) 2020-04-21
CN110858969A (zh) 2020-03-03
CN111050314B (zh) 2023-06-30
CN110858968A (zh) 2020-03-03

Similar Documents

Publication Publication Date Title
CN109041205A (zh) 客户端注册方法、装置及***
CN111327582B (zh) 一种基于OAuth协议的授权方法、装置及***
US10284555B2 (en) User equipment credential system
KR102018971B1 (ko) 네트워크 액세스 디바이스가 무선 네트워크 액세스 포인트를 액세스하게 하기 위한 방법, 네트워크 액세스 디바이스, 애플리케이션 서버 및 비휘발성 컴퓨터 판독가능 저장 매체
US10880291B2 (en) Mobile identity for single sign-on (SSO) in enterprise networks
US9015819B2 (en) Method and system for single sign-on
US20120284786A1 (en) System and method for providing access credentials
CN111050322B (zh) 基于gba的客户端注册和密钥共享方法、装置及***
US20050135622A1 (en) Upper layer security based on lower layer keying
US20110145575A1 (en) Secure Bootstrapping Architecture Method Based on Password-Based Digest Authentication
CN101406021A (zh) 基于sim的认证
KR20060049882A (ko) 무선 근거리 네트워크 관계용 디바이스 및 방법과, 이에대응하는 제품
CN101426190A (zh) 一种服务访问认证方法和***
CN101986598A (zh) 认证方法、服务器及***
CN112235799B (zh) 终端设备入网鉴权方法及***
CN102014385A (zh) 移动终端的认证方法及移动终端
JP5165725B2 (ja) モバイル機器を認証する方法及び装置
CN105721403B (zh) 用于提供无线网络资源的方法、设备及***
Vargic et al. Provisioning of VoIP services for mobile subscribers using WiFi access network
KR102024376B1 (ko) 사물 인터넷 장치의 부트스트랩 방법
CN117915322A (zh) 一种基于密钥完整性检测的切片二次认证方法及***
WO2020037957A1 (zh) 客户端注册方法、装置及***
JP6591051B2 (ja) ローカルネットワークにおいて加入者を認証する方法
Thagadur Prakash Enhancements to Secure Bootstrapping of Smart Appliances
KR101532117B1 (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181218

WD01 Invention patent application deemed withdrawn after publication