业务使用实体和提供实体通信密钥协商方法、系统及装置转让专利

申请号 : CN200510103472.0

文献号 : CN1933395B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨艳梅

申请人 : 华为技术有限公司

摘要 :

本发明提供了业务使用实体和提供实体通信密钥协商方法、系统及装置,包括:A1、业务使用实体向业务提供实体发出业务请求消息;B1、业务提供实体收到后向实体认证中心EAC发送携带有所述业务提供实体的身份标识的查询请求消息;C1、EAC根据所述身份标识,查询到所述业务提供实体对应的密钥规定信息;计算出业务使用实体和业务提供实体间加密通信所使用的第一衍生密钥;并发给业务提供实体;D1、业务使用实体使用其保存的所述业务提供实体的密钥规定信息,计算出和第一衍生密钥相同的第二衍生密钥。还相应的提供了协商所述通信密钥的系统。使用本发明实施例,可使通信密钥的生成根据安全需求的不同而不同,以符合业务的安全需求。

权利要求 :

1.一种业务使用实体和提供实体通信密钥协商方法,其特征在于,包括以下步骤:A1、业务使用实体向业务提供实体发出业务请求消息;

B1、业务提供实体收到所述业务请求消息后,向实体认证中心EAC发送查询请求消息,该查询请求消息中携带有所述业务提供实体的身份标识;

C1、EAC根据所述查询请求消息中的业务提供实体的身份标识,查询到所述业务提供实体对应的密钥规定信息;

根据所述密钥规定信息计算出业务使用实体和业务提供实体间加密通信所使用的第一衍生密钥;并将计算出的第一衍生密钥发送给业务提供实体;

D1、业务使用实体使用其保存的所述业务提供实体的密钥规定信息,使用与计算第一衍生密钥相同的方法计算出和第一衍生密钥相同的第二衍生密钥。

2.根据权利要求1所述的方法,其特征在于,步骤B1业务提供实体发送的查询请求消息中还包括有所述业务使用实体的身份标识;

步骤C1之前进一步包括步骤:

EAC收到所述查询请求消息后,根据查询请求消息中的业务使用实体的身份标识和业务提供实体的身份标识,确定业务使用实体和业务提供实体的权限,根据所述权限确定是否执行步骤C1。

3.根据权利要求1所述的方法,其特征在于,步骤C1计算第一衍生密钥的步骤包括:EAC获得业务使用实体所支持的密钥算法;

EAC将所述密钥规定信息与业务使用实体所支持的算法进行匹配,选择出衍生密钥的算法;

使用所选择的算法、业务使用实体与EAC间的共享密钥,计算出符合密钥规定的衍生密钥。

4.根据权利要求3所述的方法,其特征在于,所述计算衍生密钥的参数还包括:业务使用实体的私有身份标识PID、业务提供实体的公开身份标识UID。

5.根据权利要求3所述的方法,其特征在于,所述EAC获得业务使用实体所支持的密钥算法包括:业务使用实体向网络注册时,将所述业务使用实体支持的密钥算法通知EAC;或,业务使用实体与网络签约时,将所述业务使用实体支持的密钥算法保存在实体签约信息数据库ESD中,而后由ESD通知EAC。

6.根据权利要求1所述的方法,其特征在于,步骤D1所述业务使用实体保存的所述业务提供实体的密钥规定信息,是网络侧将所请求的业务提供实体对应的密钥规定信息发送给业务使用实体的。

7.根据权利要求1所述的方法,其特征在于,所述密钥规定信息包括:业务提供实体所要求的计算衍生密钥的算法、业务提供实体所要求的生成的衍生密钥的长度。

8.根据权利要求1所述的方法,其特征在于,所述业务使用实体包括业务使用实体SS或业务使用/提供实体SSP;

所述业务提供实体包括SSP或业务提供实体SP。

9.根据权利要求1或2所述的方法,其特征在于,所述业务使用实体的身份标识包括中间业务请求标识ISR-ID;

业务提供实体的身份标识包括中间业务查询标识IAC-ID。

10.根据权利要求9所述的方法,其特征在于,所述ISR-ID和IAC-ID的获得步骤包括:业务使用实体和业务提供实体分别与实体认证中心EAC进行双向认证,分别产生与EAC的共享密钥;

EAC分别为业务使用实体和业务提供实体分配ISR-ID和IAC-ID。

11.一种业务使用实体和提供实体通信密钥协商系统,其特征在于,该系统包括:第一存储模块,存储有业务提供实体的密钥规定信息;

第二存储模块,存储有业务使用实体所支持的密钥算法;

第一密钥计算模块,用于计算业务使用实体和业务提供实体间加密通信所使用的第一衍生密钥;

实体认证中心EAC,与所述第一、第二存储模块、第一密钥计算模块相连,用于收到业务使用实体的业务请求时,分别从所述第一存储模块、第二存储模块读取所请求业务对应的业务提供实体的密钥规定信息和所述业务使用实体所支持的密钥算法,并提供给第一密钥计算模块,并接收第一密钥计算模块计算出的第一衍生密钥,提供给业务提供实体;

业务使用实体包括第三存储模块,存储有所订购业务对应的业务提供实体的密钥规定信息;还包括第二密钥计算模块,用于根据第三存储模块记录的密钥规定信息和该业务使用实体所支持的密钥算法生成与第一衍生密钥相同的第二衍生密钥。

12.根据权利要求11所述的系统,其特征在于,所述第一、第二存储模块位于ESD中;

所述第一密钥计算模块位于EAC中。

13.一种实体认证中心EAC服务器,其特征在于,所述EAC服务器包括:接收携带业务提供实体身份标识和业务使用实体的身份标识的查询请求消息,根据所述查询请求消息中的所述业务使用实体的身份标识和所述业务提供实体的身份标识,确定所述业务使用实体和所述业务提供实体的权限,当确定所述业务使用实体和所述业务提供实体有权限后,根据所述业务提供实体的身份标识查询所述业务提供实体对应的密钥规定信息的模块;

获得所述业务使用实体所支持的密钥算法,将所述密钥规定信息与业务使用实体所支持的算法进行匹配,选择出衍生密钥的算法,使用所选择的算法、业务使用实体与EAC间的共享密钥,计算出符合所述密钥规定信息的第一衍生密钥的模块;

向所述业务提供实体发送所述第一衍生密钥的模块。

14.一种业务使用实体和提供实体通信密钥协商方法,其特征在于,包括:EAC接收携带业务提供实体身份标识和业务使用实体的身份标识的查询请求消息,EAC收到所述查询请求消息后,根据所述查询请求消息中的所述业务使用实体的身份标识和所述业务提供实体的身份标识,确定所述业务使用实体和所述业务提供实体的权限,当确定所述业务使用实体和业务提供实体有权限后,根据所述业务提供实体身份标识查询所述业务提供实体对应的密钥规定信息;

所述EAC获得所述业务使用实体所支持的密钥算法;

所述EAC将所述密钥规定信息与业务使用实体所支持的算法进行匹配,选择出衍生密钥的算法;

所述EAC使用所选择的算法、业务使用实体与EAC间的共享密钥,计算出符合所述密钥规定信息的第一衍生密钥,向所述业务提供实体发送所述第一衍生密钥.

15.如权利要求14所述的方法,其特征在于,所述EAC获得业务使用实体所支持的密钥算法包括:EAC根据业务使用实体向网络注册时发来的通知,获取所述业务使用实体支持的密钥算法;或EAC根据ESD的通知获取所述业务使用实体支持的密钥算法,所述业务使用实体支持的密钥算法由业务使用实体与网络签约时保存在所述ESD。

说明书 :

技术领域

本发明涉及3GPP通用鉴权框架(GAA)技术领域,特别是指一种业务使用实体和提供实体通信密钥协商方法、系统及装置。

背景技术

图1示出了3GPP通用鉴权框架(GAA)结构示意图。GAA中包括业务使用实体(SS)、业务提供实体(SP)、业务使用/提供实体(SSP,既可以使用业务又可以提供业务的实体)、实体认证中心(EAC,EntityAuthentication Center)和实体签约信息数据库(ESD,Entity SubscriptionDatabase)。本文中,若不作特别说明,业务使用实体可以是SS或SSP,是使用业务的实体;业务提供实体可以为SP和SSP,是提供业务的实体。
当业务实体(可以是SS、SSP或是SP)与其他实体进行通信之前,首先会作为认证请求实体向EAC发起认证请求,该认证请求中会携带业务实体的身份标识。
EAC收到所述认证请求后,根据存储的本地策略和该业务实体的签约信息,选择一种认证方式,并将认证方式返回给认证请求实体。
之后,认证请求实体与EAC按照所述的认证方式进行之间的双向认证。当认证通过后,作为认证请求实体的业务实体和EAC会产生一个共享密钥,并且EAC将会根据该业务实体的签约信息为其分配临时身份标识和相应的有效期。如果业务实体是SS,则所分配的临时身份标识为中间业务请求标识(ISR-ID),且本文将SS与EAC的共享密钥称为Kss;如果业务实体是SP,则所分配的临时身份标识为中间业务查询标识(IAC-ID),且将SP与EAC的共享密钥称为Ksp;如果业务实体是SSP,则所分配的临时身份标识包括ISR-ID和IAC-ID,且将SSP与EAC的共享密钥称为Kssp。
然后,EAC将分配的临时身份标识以及有效期返回给认证请求实体,此后,该认证请求实体与EAC之间的通信可以采用上述与EAC生成的共享密钥进行加密保护。
在此之后,当某个业务使用实体(SS或SSP)发起与业务提供实体(SP或SSP)的通信时,将根据业务使用实体(SS或SSP)与EAC之间协商的共享密钥(Kss或Kssp)生成衍生密钥加密所述通信。衍生密钥生成过程包括以下步骤:
业务使用实体向业务提供实体发起业务请求消息,该业务请求消息中携带有业务使用实体的ISR-ID。
业务提供实体收到请求以后,如果该实体已经完成到EAC的认证过程并获得了IAC-ID,则业务提供实体向EAC发送查询请求消息,去查询所述业务使用实体的认证情况,该查询请求消息中携带有所述业务使用实体的ISR-ID以及所述业务提供实体的IAC-ID。
EAC收到查询请求后,首先根据业务使用实体的ISR-ID以及业务提供实体的IAC-ID分别查询两个实体的权限。
确定权限后,EAC根这两个实体的相关信息,计算出业务使用实体和业务提供实体之间加密通信的衍生密钥.为了便于描述,当业务提供实体为SSP时,该衍生密钥记做K-SSP;当业务提供实体为SP时,该衍生密钥记做K-SP.在计算衍生密钥时,所使用的参数包括业务使用实体的私有身份标识(PID)、业务提供实体的公开身份标识(UID).
EAC将计算出的衍生密钥发送给业务提供实体,其中,该发送过程由业务提供实体与EAC之间的共享密钥进行加密保护。
另一方面,业务使用实体也由相同的参数和相同的算法计算出相同的衍生密钥来。
之后,业务使用实体与业务提供实体便可利用所述衍生密钥进行相互认证以及加密之间的通信。
由于GAA框架适用的范围很广,可以适用于各种不同业务使用实体接入业务提供实体的过程中,而不同的业务提供实体可能有不同的安全级别需求,不同安全需求可能要求不同业务使用实体和业务提供实体之间的衍生密钥或其生成时采用的加密算法或密钥长度可能都有所不同(比如有的要求采用64bit即可,但有的却要求256bit)。而目前的衍生密钥的生成机制并未考虑这些因素,可能导致计算出的密钥不符合业务所需的安全需求。

发明内容

有鉴于此,本发明实施例的主要目的在于提供了一种业务使用实体和提供实体通信密钥协商方法、系统及装置,以使通信密钥的生成可根据安全需求的不同而不同,从而以符合业务所需的安全需求。
本发明实施例提供的业务使用实体和业务提供实体通信密钥协商的方法,包括以下步骤:
A1、业务使用实体向业务提供实体发出业务请求消息;
B1、业务提供实体收到所述业务请求消息后,向实体认证中心EAC发送查询请求消息,该查询请求消息中携带有所述业务提供实体的身份标识;
C1、EAC根据所述查询请求消息中的业务提供实体的身份标识,查询到所述业务提供实体对应的密钥规定信息;
根据所述密钥规定信息计算出业务使用实体和业务提供实体间加密通信所使用的第一衍生密钥;并将计算出的第一衍生密钥发送给业务提供实体;
D1、业务使用实体使用其保存的所述业务提供实体的密钥规定信息,使用与计算第一衍生密钥相同的方法计算出和第一衍生密钥相同的第二衍生密钥。
可选的,步骤B1业务提供实体发送的查询请求消息中还包括有所述业务使用实体的身份标识;步骤C1之前进一步包括步骤:EAC收到所述查询请求消息后,根据查询请求消息中的业务使用实体的身份标识和业务提供实体的身份标识,确定业务使用实体和业务提供实体的权限,根据所述权限确定是否执行步骤C1。
可选的,步骤C1计算第一衍生密钥的步骤包括:EAC获得业务使用实体所支持的密钥算法;EAC将所述密钥规定信息与业务使用实体所支持的算法进行匹配,选择出衍生密钥的算法;使用所选择的算法、业务使用实体与EAC间的共享密钥,计算出符合所述密钥规定信息的衍生密钥。
可选的,计算所述衍生密钥的参数还包括:业务使用实体的私有身份标识PID、业务提供实体的公开身份标识UID。
可选的,所述EAC获得业务使用实体所支持的密钥算法包括:业务使用实体向网络注册时,将所述业务使用实体支持的密钥算法通知EAC;或,业务使用实体与网络签约时,将所述业务使用实体支持的密钥算法保存在ESD中,而后由ESD通知EAC。
可选的,步骤D1所述业务使用实体保存的所述业务提供实体的密钥规定信息,是网络侧将所请求的业务提供实体对应的密钥规定信息发送给业务使用实体的。
可选的,所述密钥规定信息包括:业务提供实体所要求的计算衍生密钥的算法、业务提供实体所要求的生成的衍生密钥的长度。
可选的,所述业务使用实体包括业务使用实体SS或业务使用/提供实体SSP;所述业务提供实体包括SSP或业务提供实体SP。
可选的,所述业务使用实体的身份标识包括中间业务请求标识ISR-ID;业务提供实体的身份标识包括中间业务查询标识IAC-ID。
其中,所述ISR-ID和IAC-ID的获得步骤包括:业务使用实体和业务提供实体分别与实体认证中心EAC进行双向认证,分别产生与EAC的共享密钥;EAC分别为业务使用实体和业务提供实体分配ISR-ID和IAC-ID。
本发明实施例还提供了一种业务使用实体和业务提供实体通信密钥协商系统,包括:
第一存储模块,存储有业务提供实体的密钥规定信息;
第二存储模块,存储有业务使用实体所支持的密钥算法;
第一密钥计算模块,用于计算业务使用实体和业务提供实体间加密通信所使用的第一衍生密钥;
实体认证中心EAC,与所述第一、第二存储模块、密钥计算模块相连,用于收到业务使用实体的业务请求时,分别从所述第一存储模块、第二存储模块读取所请求业务对应的业务提供实体的密钥规定信息和所述业务使用实体所支持的密钥算法,并提供给第一密钥计算模块,并接收第一密钥计算模块计算出的第一衍生密钥,提供给业务提供实体;
业务使用实体包括第三存储模块,存储有所订购业务对应的业务提供实体的密钥规定信息;还包括第二密钥计算模块,用于根据第三存储模块记录的密钥规定信息和该业务使用实体所支持的密钥算法生成与第一衍生密钥相同的第二衍生密钥。
可选的,所述第一、第二存储模块位于ESD中;所述第一密钥计算模块位于EAC中。
一种实体认证中心EAC服务器,所述EAC服务器包括:
接收携带业务提供实体身份标识和业务使用实体的身份标识的查询请求消息,根据所述查询请求消息中的所述业务使用实体的身份标识和所述业务提供实体的身份标识,确定所述业务使用实体和所述业务提供实体的权限,当确定所述业务使用实体和所述业务提供实体有权限后,根据所述业务提供实体的身份标识查询所述业务提供实体对应的密钥规定信息的模块;
获得所述业务使用实体所支持的密钥算法,将所述密钥规定信息与业务使用实体所支持的算法进行匹配,选择出衍生密钥的算法,使用所选择的算法、业务使用实体与EAC间的共享密钥,计算出符合所述密钥规定信息的第一衍生密钥的模块;
向所述业务提供实体发送所述第一衍生密钥的模块。
一种业务使用实体和提供实体通信密钥协商方法,包括:
EAC接收携带业务提供实体身份标识和业务使用实体的身份标识的查询请求消息,EAC收到所述查询请求消息后,根据所述查询请求消息中的所述业务使用实体的身份标识和所述业务提供实体的身份标识,确定所述业务使用实体和所述业务提供实体的权限,当确定所述业务使用实体和业务提供实体有权限后,根据所述业务提供实体身份标识查询所述业务提供实体对应的密钥规定信息;
所述EAC获得所述业务使用实体所支持的密钥算法;
所述EAC将所述密钥规定信息与业务使用实体所支持的算法进行匹配,选择出衍生密钥的算法;
所述EAC使用所选择的算法、业务使用实体与EAC间的共享密钥,计算出符合所述密钥规定信息的第一衍生密钥,向所述业务提供实体发送所述第一衍生密钥。
由上述可以看出,本发明实施例使用GAA框架协商业务使用实体和业务提供实体之间的衍生密钥时,可以根据业务提供实体的安全需求,以及业务使用实体所支持的密钥算法,计算出符合要求的密钥。具体来说,使得在业务使用实体和EAC生成衍生密钥时,能够根据不同的业务的安全需求,包括密钥长度、生成衍生密钥的算法、业务使用实体所支持的算法,来选用相应的算法计算出符合要求的衍生密钥。
总的来说,本发明实施例使得业务通信更具有安全性,密钥选择更加灵活。另一方面,提供了多种密钥算法,使得GAA框架的应用范围更加广泛。

附图说明

图1为GAA框架示意图。
图2为本发明实施例衍生密钥协商流程图。
图3为本发明实施例协商业务使用实体和业务提供实体之间通信密钥系统的结构图。

具体实施方式

本发明实施例针对每种业务的安全需求设置不同的密钥规定信息,密钥规定信息包括计算衍生密钥的算法、要生成的衍生密钥的长度等。密钥规定信息可以与所对应的业务一起保存在ESD中,也可以在ESD单独设置一个数据库用来专门保存各种业务的密钥规定信息,或者当用户订购某业务后,密钥规定信息保存到用户的订购信息中。ESD中还可保存有每个业务使用实体自身所支持的密钥算法。相应地,业务使用实体保存有其所订购的业务的安全需求信息,包括所述密钥规定信息。
业务实体与EAC进行之间的双向认证,并和EAC产生共享密钥,且EAC为业务实体分配了临时身份标识后,当业务使用实体(SS或SSP)发起与业务提供实体(SP或SSP)之间的通信时,将根据业务使用实体(SS或SSP)与EAC之间协商的共享密钥(Kss或Kssp)生成衍生密钥加密所述业务使用实体与业务提供实体之间的通信。参见图2示出的本发明实施例衍生密钥的协商方法,包括以下步骤:
步骤201:业务使用实体向业务提供实体发出业务请求消息,该业务请求消息中携带有业务使用实体的临时身份标识ISR-ID。
步骤202:业务提供实体收到业务请求消息后,业务提供实体向EAC发送查询请求消息,去查询所述业务使用实体的认证情况,该查询请求消息中携带有所述业务使用实体的ISR-ID以及代表有查询权限的所述业务提供实体的临时身份标识IAC-ID.
步骤203:EAC收到查询请求后,首先根据业务使用实体的ISR-ID以及业务提供实体的IAC-ID分别确定两个实体的权限,当确定有权限后,执行步骤204。具体来说,包括:
首先,EAC判断IAC-ID、ISR-ID的有效性,即确定是否在有效期内;
然后,EAC到ESD查询ISR-ID对应的业务使用实体的订购信息中是否含有业务提供实体的标识信息,以判断所述业务使用实体是否已经签约了所述业务提供实体的业务;
当判断在有效期内,且已经签约了,则表示有权限执行后续的步骤。
步骤204:计算业务使用实体和业务提供实体之间加密通信的衍生密钥,包括:
首先,EAC在ESD保存的业务使用实体的订购信息里找到所订购业务的密钥规定信息。而所订购的业务信息中包括所述业务的密钥规定信息,包括密钥算法以及密钥长度;EAC还要从该订购信息里找到业务使用实体所支持的密钥算法。这里说明的是,业务使用实体所支持的密钥算法可以是在业务使用实体向网络注册(如开机时)时,通知EAC的,也可以是与网络签约时,保存在ESD里的,而后由ESD通知EAC的。
然后,EAC将所述密钥规定信息与业务使用实体所支持的算法进行匹配(包括要使用的算法,计算出的衍生密钥的长度等),选择出衍生密钥的计算方法,该算法可表示为KSx。
然后,使用所选择的计算方法、业务使用实体与EAC间的共享密钥,计算出衍生密钥;其中,计算衍生密钥的参数还包括业务使用实体的私有身份标识(PID)、业务提供实体的公开身份标识(UID)。该衍生密钥计算方法可表示为:K-SSP/SP=KSx(Kss/Kssp,UID,PID,etc)。
步骤205:EAC将计算出的衍生密钥通过查询响应消息发送给业务提供实体,其中,该发送过程由业务提供实体与EAC之间的共享密钥进行加密保护。业务提供实体收到后使用所述共享密钥解密获得所述衍生密钥。
步骤206:另一方面,业务使用实体在本地查找保存的所订购业务的密钥规定信息。并且使用与EAC同样的原则匹配本地所支持的算法选择出同样的密钥算法,再采用同样的输入参数计算出相同的衍生密钥。
这里需要说明的是,业务使用实体保存的所订购的业务的密钥规定信息可以是在业务使用实体向业务提供实体请求业务时,网络侧将该业务提供实体所提供业务对应的密钥规定信息发送给业务使用实体的,也可以是网络以其他方式下发给业务使用实体的,比如短信方式等。
步骤207:之后,业务使用实体与业务提供实体便可利用所述衍生密钥进行相互认证以及加密之间的通信。该衍生密钥相当于业务使用实体和业务提供实体建立的共享密钥。
相应的,本发明实施例还提供了一种协商业务使用实体和业务提供实体之间通信密钥的系统,包括:
第一存储模块,存储有业务提供实体的密钥规定信息;
第二存储模块,存储有业务使用实体所支持的密钥算法;
第一密钥计算模块,用于计算业务使用实体和业务提供实体间加密通信所使用的第一衍生密钥;
实体认证中心EAC,与所述第一、第二存储模块、密钥计算模块相连,用于收到业务使用实体的业务请求时,分别从所述第一存储模块、第二存储模块读取所请求业务对应的业务提供实体的密钥规定信息和所述业务使用实体所支持的密钥算法,并提供给第一密钥计算模块,并接收第一密钥计算模块计算出的第一衍生密钥,提供给业务提供实体;
业务使用实体包括第三存储模块,存储有所订购业务对应的业务提供实体的密钥规定信息;还包括第二密钥计算模块,用于根据第三存储模块记录的密钥规定信息和该业务使用实体所支持的密钥算法生成与第一衍生密钥相同的第二衍生密钥。
其中,所述第一、第二存储模块可以位于ESD中;所述第一密钥计算模块可以位于EAC中。
由上面实施例可以看出,本发明实施例使用GAA框架协商业务使用实体和业务提供实体之间的衍生密钥时,可以根据业务提供实体的安全需求,以及业务使用实体所支持的密钥算法,计算出符合要求的密钥。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。