密钥分发和接收方法、密钥管理中心、第一和第二网元与流程

文档序号:12182258阅读:351来源:国知局
密钥分发和接收方法、密钥管理中心、第一和第二网元与流程

本发明涉及移动通信技术领域,尤其涉及一种密钥分发和接收方法、密钥管理中心、第一和第二网元。



背景技术:

现有的移动通信安全架构中,数据由网元到Internet的安全保护都是hop-by-hop形式,即采用分段加密的形式完成保护。而且,在已有2G/3G/4G移动架构中,端到端之间的通信数据也是采用分段加密的方式。虽然分段加密比较灵活,但由于中间节点可以获得通信数据的明文,并不能够抗击通信数据遭到窃听攻击,因此采用分段加密的方式的安全性较差。

例如,请参阅图1,图1为现有技术中4G LTE的协议栈架构的示意图。在图1中,用户网元(英文全称:User Experience,缩写:UE)发送至分组数据网络(英文全称:Packet Data Network,缩写:PDN)网关(英文全称:Gateway,缩写:GW)的数据从UE出发,依次经过基站eNodeB和服务器网关(serving GW)后才到达PDN GW。其中,UE和eNodeB之间采用PDCP安全协议加密保护,eNodeB与serving GW之间,以及serving GW与PDN GW之间都采用IPSec的安全协议进行保护。由于基站处于室外场景,攻击者可以通过攻破基站来搭线窃听,以获取到PDCP协议解密后的明文内容。



技术实现要素:

本发明实施例第一方面提供了一种密钥分发方法,包括:

第一密钥管理中心获取第一网元的应用服务器NAF密钥的信息以及所述第一网元的NAF密钥,所述第一网元的NAF密钥的信息为获取所述第一网元的NAF密钥所需的信息;

所述第一密钥管理中心获取业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完整性保护;

所述第一密钥管理中心采用所述第一网元的NAF密钥对所述业务密钥进 行加密和/或完整性保护,生成第一安全保护参数;

所述第一密钥管理中心执行以下步骤A和步骤B的其中一个:

A、发送第一通用引导架构GBA push消息至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息;

B、发送第一GBA push消息至第二密钥管理中心,以便所述第二密钥管理中心发送所述第一GBA push消息至所述第一网元,或者以便所述第二密钥管理中心发送所述第一GBA push消息至第二网元,再由所述第二网元将所述第一GBA push消息发送至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息。

结合第一方面,在第一方面的第一种可能的实施方式中,所述第一密钥管理中心执行所述步骤A时,所述密钥分发方法还包括:

所述第一密钥管理中心获取第二网元的NAF密钥的信息以及所述第二网元的NAF密钥,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息;

所述第一密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第二安全保护参数;

所述第一密钥管理中心执行以下步骤C、步骤D、步骤E的其中一个:

C、所述第一GBA push消息还包括第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

D、发送第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

E、发送第二GBA push消息至所述第二网元;

其中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息。

结合第一方面或者第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述第一密钥管理中心获取业务密钥,包括:

选择一个随机数,所述业务密钥包括所述随机数;

或者,

获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

或者,

获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括随机数、所述第一网元的NAF密钥和第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

结合第一方面,在第一方面的第三种可能的实施方式中,所述第一密钥管理中心执行所述步骤A时,所述密钥分发方法还包括:

所述第一密钥管理中心接收第二密钥管理中心发送的第二GBA push消息;其中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述第二密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的;

所述第一密钥管理中心执行以下步骤F、步骤G、步骤H的其中一个:

F、所述第一GBA push消息还包括所述第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

G、发送所述第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

H、发送所述第二GBA push消息至所述第二网元。

结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述第一密钥管理中心获取业务密钥,包括:

选择一个随机数,所述业务密钥包括所述随机数;或者,

与所述第二密钥管理中心协商所述业务密钥;或者,

接收所述第二密钥管理中心发送的业务密钥;或者,

获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二 参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数和所述第一网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

结合第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述第一密钥管理中心与所述第二密钥管理中心协商所述业务密钥,包括:

接收所述第二密钥管理中心发送的第二随机数和/或第二网元的NAF密钥;

计算当身份标识、用于指示所述业务密钥的有效期的时间、序列号、所述第一密钥管理中心确定的随机数、所述第一网元的NAF密钥中的至少一个以及所述第二随机数和/或第二网元的NAF密钥为所述预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

或者,

所述第一密钥管理中心与所述第二密钥管理中心协商所述业务密钥,包括:

获取第一随机数;

将所述第一随机数和/或所述第一网元的NAF密钥发送至所述第二密钥管理中心;

接收所述第二密钥管理中心发送的业务密钥,其中,所述业务密钥为所述第二密钥管理中心根据所述第一随机数和/或所述第一网元的NAF密钥确定的;

或者,

所述第一密钥管理中心与所述第二密钥管理中心协商所述业务密钥,包括:

与所述第二密钥管理中心通过DH密钥协商的方法协商所述业务密钥;

或者,

所述第一密钥管理中心与所述第二密钥管理中心协商所述业务密钥,包 括:

与所述第二密钥管理中心通过DH密钥协商得到协商参数;

计算所述协商参数为预置密钥推衍函数的其中一个自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量。

结合第一方面的第三种可能的实施方式,在第一方面的第六种可能的实施方式中,所述第一密钥管理中心获取业务密钥,包括:

获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数、所述第二密钥管理中心确定的随机数、所述第一网元的NAF密钥和所述第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

结合第一方面,在第一方面的第七种可能的实施方式中,所述第二网元和所述第一密钥管理中心之间建立有安全信道;

所述第一密钥管理中心执行所述步骤A时,所述密钥分发方法还包括:

将所述业务密钥通过所述安全信道发送至所述第二网元。

结合第一方面,在第一方面的第八种可能的实施方式中,所述第一GBA push消息中携带有所述第一网元的身份标识。

结合第一方面的第八种可能的实施方式,在第一方面的第九种可能的实施方式中,所述第一GBA push消息包括第一GPI消息,其中,所述第一GPI消息携带有所述第一网元的身份标识;

或者,

所述第一GBA push消息包括第一GPL消息,所述第一GPL消息中携带有所述第一网元的身份标识,或者携带有所述第一网元的身份标识以及所述身份标识的长度信息。

结合第一方面的第二种可能的实施方式、第一方面的第四种可能的实施方式、第一方面的第五种可能的实施方式、第一方面的第六种可能的实施方式和第一方面的第八种可能的实施方式,在第一方面的第十种可能的实施方式中,所述身份标识包括IMSI,GUTI,IMPI,TMSI,TMPI,IMPU,Service ID,session ID,网络ID,链路ID,App ID,网关ID中的至少一个。

结合第一方面,在第一方面的第十一种可能的实施方式中,所述第一密钥管理中心获取所述第一网元的应用服务器NAF密钥,之前还包括:

所述第一密钥管理中心接收发起端发送的通信请求,所述通信请求用于申请用于所述第一网元和第二网元进行数据通信的业务密钥,所述发起端为所述第一网元和所述第二网元中的数据发送端,所述通信请求包括第一网元的身份标识和第二网元的身份标识。

结合第一方面,在第一方面的第十二种可能的实施方式中,所述第一GBA push消息中还包括所述业务密钥的标识信息,

所述标识信息包括用于指示所述业务密钥的有效期的时间、第一网元的身份标识、第二网元的身份标识以及service ID的至少一种;所述service ID用于指示所述业务密钥用于所述service ID对应的业务。

本发明实施例第二方面提供了一种密钥接收方法,包括:

第一网元接收密钥管理中心发送的第一GBA push消息,所述第一GBA push消息携带有所述第一网元的第一安全保护参数和第一NAF密钥的信息;

所述第一网元根据所述第一NAF密钥的信息计算出第一NAF密钥;

所述第一网元根据所述第一NAF密钥对所述第一安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完整性保护。

结合第二方面,在第二方面的第一种可能的实施方式中,所述第一GBA push消息还携带有第二GBA push消息,或者,所述第一网元还接收密钥管理中心发送的第二GBA push消息,所述第二GBA push消息包括所述第二网元的第二安全保护参数和第二NAF密钥的信息;所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的;

所述方法还包括:

将所述第二GBA push消息发送至所述第二网元。

结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实 施方式中,所述第二GBA push消息还携带有所述第二网元的身份标识;

所述将所述第二GBA push消息发送至所述第二网元,包括:

获取所述第二GBA push消息中的所述第二网元的身份标识;

将所述第二GBA push消息发送至所述身份标识所对应的第二网元。

结合第二方面,在第二方面的第三种可能的实施方式中,所述第一网元接收密钥管理中心发送的第一GBA push消息,之前还包括:

所述第一网元向所述密钥管理中心发送通信请求,所述通信请求用于申请所述第一网元和所述第二网元的业务密钥;所述通信请求包括所述第一网元的身份标识、所述第二网元的身份标识和service ID。

本发明实施例第三方面提供了一种密钥接收方法,包括:

第二网元接收第一网元发送的第二GBA push消息,所述第二GBA push消息携带有所述第二网元的第二安全保护参数和第二NAF密钥的信息;

所述第二网元根据所述第二NAF密钥的信息计算第二NAF密钥;

所述第二网元根据所述第二NAF密钥对所述第二安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和所述第二网元通信。

本发明实施例第四方面提供了一种第一密钥管理中心,包括:

第一获取模块,用于获取第一网元的应用服务器NAF密钥的信息以及所述第一网元的NAF密钥,所述第一网元的NAF密钥的信息为获取所述第一网元的NAF密钥所需的信息;

第二获取模块,用于获取业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完整性保护;

第一生成模块,用于采用所述第一网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第一安全保护参数;

第一发送模块,用于执行以下步骤A和步骤B的其中一个:

A、发送第一通用引导架构GBA push消息至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息;

B、发送第一GBA push消息至第二密钥管理中心,以便所述第二密钥管理中心发送所述第一GBA push消息至所述第一网元,或者以便所述第二密钥 管理中心发送所述第一GBA push消息至第二网元,再由所述第二网元将所述第一GBA push消息发送至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息。

结合第四方面,在第四方面的第一种可能的实施方式中,所述第一发送模块用于执行所述步骤A时,所述第一密钥管理中心还包括:

第三获取模块,用于获取第二网元的NAF密钥的信息以及所述第二网元的NAF密钥,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息;

第二生成模块,用于采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第二安全保护参数;

所述第一发送模块还用于执行以下步骤C、步骤D、步骤E的其中一个:

C、所述第一GBA push消息还包括第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

D、发送第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

E、发送第二GBA push消息至所述第二网元;

其中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息。

结合第四方面或者第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述第二获取模块具体用于选择一个随机数,所述业务密钥包括所述随机数;

或者,

所述第二获取模块具体用于获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

或者,

所述第二获取模块具体用于获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括随机数、所述第一网元的NAF密钥和第二 网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

结合第四方面,在第四方面的第三种可能的实施方式中,所述第一密钥管理中心用于执行所述步骤A时,所述第一密钥管理中心还包括:

第一接收模块,用于接收第二密钥管理中心发送的第二GBA push消息;其中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述第二密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的;

所述第一发送模块还用于执行以下步骤F、步骤G、步骤H的其中一个:

F、所述第一GBA push消息还包括所述第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

G、发送所述第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

H、发送所述第二GBA push消息至所述第二网元。

结合第四方面的第三种可能的实施方式,在第四方面的第四种可能的实施方式中,所述第二获取模块具体用于选择一个随机数,所述业务密钥包括所述随机数;

或者,

所述第二获取模块具体用于与所述第二密钥管理中心协商所述业务密钥;

或者,

所述第二获取模块具体用于接收所述第二密钥管理中心发送的业务密钥;

或者,

所述第二获取模块具体用于获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数和所述第一网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用 于指示所述业务密钥的有效期的时间、序列号中的至少一个。

结合第四方面的第四种可能的实施方式,在第四方面的第五种可能的实施方式中,所述第二获取模块具体用于接收所述第二密钥管理中心发送的第二随机数和/或第二网元的NAF密钥;计算当身份标识、用于指示所述业务密钥的有效期的时间、序列号、所述第一密钥管理中心确定的随机数、所述第一网元的NAF密钥中的至少一个以及所述第二随机数和/或第二网元的NAF密钥为所述预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

或者,

所述第二获取模块具体用于获取第一随机数;将所述第一随机数和/或所述第一网元的NAF密钥发送至所述第二密钥管理中心;接收所述第二密钥管理中心发送的业务密钥,其中,所述业务密钥为所述第二密钥管理中心根据所述第一随机数和/或所述第一网元的NAF密钥确定的;

或者,

所述第二获取模块具体用于与所述第二密钥管理中心通过DH密钥协商的方法协商所述业务密钥;

或者,

所述第二获取模块具体用于与所述第二密钥管理中心通过DH密钥协商得到协商参数;计算所述协商参数为预置密钥推衍函数的其中一个自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量。

结合第四方面的第三种可能的实施方式,在第四方面的第六种可能的实施方式中,所述第二获取模块具体用于获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数、所述第二密钥管理中心确定的随机数、所述第一网元的NAF密钥和所述第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

结合第四方面,在第四方面的第七种可能的实施方式中,所述第二网元和所述第一密钥管理中心之间建立有安全信道;

所述第一发送模块用于执行所述步骤A时,所述第一发送模块还用于将所述业务密钥通过所述安全信道发送至所述第二网元。

结合第四方面,在第四方面的第八种可能的实施方式中,所述第一GBA push消息中携带有所述第一网元的身份标识。

结合第四方面的第八种可能的实施方式,在第四方面的第九种可能的实施方式中,所述第一GBA push消息包括第一GPI消息,其中,所述第一GPI消息携带有所述第一网元的身份标识;

或者,

所述第一GBA push消息包括第一GPL消息,所述第一GPL消息中携带有所述第一网元的身份标识,或者携带有所述第一网元的身份标识以及所述身份标识的长度信息。

结合第四方面的第二种可能的实施方式、第四方面的第四种可能的实施方式、第四方面的第五种可能的实施方式、第四方面的第六种可能的实施方式和第四方面的第八种可能的实施方式,在第四方面的第十种可能的实施方式中,所述身份标识包括IMSI,GUTI,IMPI,TMSI,TMPI,IMPU,Service ID,session ID,网络ID,链路ID,App ID,网关ID中的至少一个。

结合第四方面,在第四方面的第十一种可能的实施方式中,所述第一密钥管理中心还包括:

第二接收模块,用于在所述第一获取模块获取所述第一网元的应用服务器NAF密钥之前,接收发起端发送的通信请求,所述通信请求用于申请用于所述第一网元和第二网元进行数据通信的业务密钥,所述发起端为所述第一网元和所述第二网元中的数据发送端,所述通信请求包括第一网元的身份标识和第二网元的身份标识。

结合第四方面,在第四方面的第十二种可能的实施方式中,所述第一GBA push消息中还包括所述业务密钥的标识信息,

所述标识信息包括用于指示所述业务密钥的有效期的时间、第一网元的身份标识、第二网元的身份标识以及service ID的至少一种;所述service ID用于指示所述业务密钥用于所述service ID对应的业务。

本发明实施例第五方面提供了一种第一网元,包括:

第一接收模块,用于接收密钥管理中心发送的第一GBA push消息,所述第一GBA push消息携带有所述第一网元的第一安全保护参数和第一NAF密钥的信息;

计算模块,用于根据所述第一NAF密钥的信息计算出第一NAF密钥;

解密模块,用于根据所述第一NAF密钥对所述第一安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完整性保护。

结合第五方面,在第五方面的第一种可能的实施方式中,所述第一GBA push消息还携带有第二GBA push消息,或者,所述第一网元包括第二接收模块,用于接收密钥管理中心发送的第二GBA push消息,所述第二GBA push消息包括所述第二网元的第二安全保护参数和第二NAF密钥的信息;所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的;

所述第一网元还包括:

第一发送模块,用于将所述第二GBA push消息发送至所述第二网元。

结合第五方面的第一种可能的实施方式,在第五方面的第二种可能的实施方式中,所述第二GBA push消息还携带有所述第二网元的身份标识;

所述第一发送模块具体用于获取所述第二GBA push消息中的所述第二网元的身份标识;将所述第二GBA push消息发送至所述身份标识所对应的第二网元。

结合第五方面,在第五方面的第三种可能的实施方式中,所述第一网元还包括:

第二发送模块,用于向所述密钥管理中心发送通信请求,所述通信请求用于申请所述第一网元和所述第二网元的业务密钥;所述通信请求包括所述第一网元的身份标识、所述第二网元的身份标识和service ID。

本发明实施例第六方面提供了一种第二网元,包括:

接收模块,用于接收第一网元发送的第二GBA push消息,所述第二GBA push消息携带有所述第二网元的第二安全保护参数和第二NAF密钥的信息;

计算模块,用于根据所述第二NAF密钥的信息计算第二NAF密钥;

解密模块,用于根据所述第二NAF密钥对所述第二安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和所述第二网元通信。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明中,第一密钥管理中心将用于网元之间通信的业务密钥发送至网元,使得网元之间相互发送数据时可以采用该业务密钥对该数据进行保护,避免了该数据在发送过程中遭到窃听攻击;而且,第一密钥管理中心还采用NAF密钥对业务密钥加密后,通过GBA消息发送给网元,其中该GBA消息中还携带有NAF密钥的信息,以便网元根据该NAF密钥的信息生成NAF密钥后采用该NAF密钥从GBA消息中还原出业务密钥,保证了业务密钥的安全。

附图说明

图1为现有技术中4G LTE的协议栈架构的示意图;

图2为本发明实施例提供的通信系统的一个实施例的结构示意图;

图3为图2所示通信系统的密钥分发流程的一个实施例的流程示意图;

图4为本发明实施例提供的通信系统的另一个实施例的结构示意图;

图5为图4所示通信系统的密钥分发流程的一个实施例的流程示意图;

图6为本发明实施例提供的通信系统的另一个实施例的结构示意图;

图7为图6所示通信系统的密钥分发流程的一个实施例的流程示意图;

图8为本发明的密钥分发方法的一个实施例的流程示意图;

图9为本发明的密钥分发方法的另一个实施例的流程示意图;

图10为本发明的密钥分发方法的另一个实施例的流程示意图;

图11为本发明的密钥分发方法的另一个实施例的流程示意图;

图12为本发明的密钥接收方法的一个实施例的流程示意图;

图13为本发明的密钥接收方法的另一个实施例的流程示意图;

图14为本发明的第一密钥管理中心的一个实施例的结构示意图;

图15为本发明的第一密钥管理中心的另一个实施例的结构示意图;

图16为本发明的第一密钥管理中心的另一个实施例的结构示意图;

图17为本发明的第一密钥管理中心的另一个实施例的结构示意图;

图18为本发明的第一密钥管理中心的另一个实施例的结构示意图;

图19为本发明的第一网元的一个实施例的结构示意图;

图20为本发明的第一网元的另一个实施例的结构示意图;

图21为本发明的第二网元的一个实施例的结构示意图;

图22为本发明的第一密钥管理中心的一个实施例的结构示意图;

图23为本发明的第一网元的一个实施例的结构示意图;

图24为本发明的第二网元的一个实施例的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的通信系统。如图2所示,图2为本发明实施例提供的通信系统的一个实施例的结构示意图。通信系统包括密钥管理中心(英文:Key Management System,缩写:KMS)1、网元1、KMS 2和网元2。其中,网元1和网元2可以分别是用户终端(英文:User equipment,缩写:UE)、基站、服务器、网关中的任意一种,或者是其他发送数据时需对数据加密和/或完整性保护的设备,在此不作限制。KMS 1和KMS 2可以属于相同的运营商或者不同的运营商,或者均为Internet中的设备,在此不作限制。

本发明中,网元1向网元2发送通信数据时,采用业务密钥或利用业务密钥推衍后得到的密钥对该通信数据进行保护后再发送给网元2,其中,对通信数据进行保护包括采用该业务密钥或利用业务密钥推衍后得到的密钥对该通信数据进行加密和/或完整性保护。网元2根据该业务密钥或利用业务密钥推衍后得到的密钥对接收到的通信数据还原。因此,在网元1发送通信数据前,网元1和网元2需从KMS获取到业务密钥。

请参阅图3,图3为图2所示通信系统的密钥分发流程的一个实施例的流程示意图。如图3所示,本实施例中的密钥分发流程包括:

S31、网元1向KMS1发送通信请求。

本实施例中,通信请求用于申请网元1和网元2进行数据通信的业务密钥。其中,网元1为数据的发送端,网元2为数据的接收端,该通信请求包括网元1的身份标识和网元2的身份标识。为描述清楚,本文中所提到的身份标识可以包括:国际移动用户识别码(英文:International Mobile Subscriber Identity,缩写:IMSI),全球唯一临时UE标识(英文:Globally Unique Temporary UE Identity,缩写:GUTI),IP多媒体私有标识(英文:IP Multimedia Private Identity,缩写:IMPI),临时移动台标识符(英文:Temporary Mobile Station Identity,缩写:TMSI),IP多媒体私有标识(英文:IP Multimedia Private Identity,缩写:TMPI),IP多媒体公共标识(英文:IP Multimedia Public Identity,缩写:IMPU),Service ID,session ID,网络ID,链路ID,App ID,网关ID中的至少一个。当网元为服务器时,该网元的身份标识还可以包括server ID。

S32、KMS1获取业务密钥。

KMS1接收到网元1的通信请求后,获取业务密钥。

业务密钥的应用包括但不限于以下两种情况,第一种,网元1和网元2分别接收到业务密钥K后,采用相同的方法根据该业务密钥K生成业务密钥K′,网元1采用该业务密钥K′对网元1和网元2的通信数据保护,网元2采用该业务密钥K′对接收到的通信数据进行还原;第二种,网元1接收到业务密钥K后,直接采用该业务密钥K对网元1和网元2的通信数据保护,网元2直接采用该业务密钥K对接收到的通信数据进行还原。

下面对KMS1获取业务密钥的方法进行举例说明。

在业务密钥的应用为第一种情况中,获取业务密钥K的方法包括:

获取第一参数集合和第二参数集合,所述业务密钥K包括所述第一参数集合和所述第二参数集合。

其中,第一参数集合包括KMS1确定的随机数、KMS2确定的随机数、网元1的应用服务器(英文:Network Application Function,缩写:NAF)密钥(详见步骤S32)和网元2的NAF密钥(详见步骤S32)中的至少一个;第二参数集合包括身份标识、用于指示所述业务密钥K的有效期的时间、序列号中的至少一个。

具体的,网元1和网元2内分别存有预置密钥推衍函数,网元1和网元2接收到第一参数集合和第二参数集合后,分别根据预置密钥推衍函数以及所述业务密钥K推衍得到密钥K′。当然,网元1和网元2也可以采用其他方法利用业务密钥K推衍得到密钥K′,在此不作限制。

在业务密钥的应用为第二种情况中,获取业务密钥K的方法举例如下:

举例一、KMS1选择一个随机数,所述业务密钥K为所述随机数。

举例二、KMS1获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥K为所述因变量。

其中,第一参数集合包括网元1的NAF密钥和KMS1确定的随机数中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥K的有效期的时间、序列号中的至少一个。

举例来说,K=KDF(key,ID),或者,K=KDF(key,time),或者,K=KDF(key,ID,time),或者,K=KDF(key,SN),或者,K=KDF(key,ID,SN)。其中,K为业务密钥,KDF()为密钥推衍函数,key包括网元1的NAF密钥和KMS1确定的随机数中的至少一个,SN为网元1和网元2进行通信的序列号,或者为网元1与KMS1进行通信的序列号,time为业务密钥的有效期,ID为身份标识。

本实施例中,当第一参数集合包括网元1的NAF密钥时,步骤S32在步骤S34之后执行。当第一参数集合不包括网元1的NAF密钥时,步骤S32和 步骤S34没有一定的先后顺序,该两个步骤可以同时执行,也可以一前一后执行,在此不作限制。

举例三、KMS1与所述KMS2协商所述业务密钥K。

KMS1和KMS2协商业务密钥K的方法有多种。下面对其中的几种进行举例说明:

例一、KMS2获取第二随机数和/或第二网元的NAF密钥,并将第二随机数和/或第二网元的NAF密钥发送之KMS1。KMS1接收KMS2发送的第二随机数和/或第二网元的NAF密钥。

KMS1计算当身份标识、用于指示所述业务密钥的有效期的时间、序列号、KMS1确定的随机数、所述第一网元的NAF密钥中的至少一个以及所述第二随机数和/或第二网元的NAF密钥为所述预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥为所述因变量。

举例来说,K=KDF(key,ID),或者,K=KDF(key,time),或者,K=KDF(key,SN),或者,K=KDF(key1,key2),其中,key和key2均包括所述第二随机数和/或第二网元的NAF密钥,ID为身边标识集合,time为所述业务密钥的有效期,SN为网元1和网元2进行通信的序列号,或者为网元1与KMS1进行通信的序列号,或者为网元2与KMS2进行通信的序列号,key1包括KMS1确定的随机数和/或第一网元的NAF密钥。

例二、KMS1选择一个随机数,称为第一随机数。KMS1将该第一随机数和/或所述第一网元的NAF密钥发送至KMS2。KMS2根据该第一随机数和/或所述第一网元的NAF密钥获取业务密钥。其中,KMS2获取业务密钥的方法可以参考例一中KMS1获取业务密钥的方法,在此不再赘述。

例三、KMS1和KMS2通过DH密钥协商的方法协商所述业务密钥。

DH密钥协商的方法为现有技术,在此不再赘述。

例四、KMS1和KMS2通过DH密钥协商的方法得到协商参数,KMS1计算该协商参数为预置密钥推衍函数的其中一个自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量。

KMS1内设置有预置密钥推衍函数。在获取该预置密钥推衍函数的自变量时,将通过DH密钥协商的方法得到的协商参数作为其中一个自变量,该 预置密钥推衍函数的其他自变量在此不做限定,例如,该其他自变量可以是KMS1确定的随机数。

确定预置密钥推衍函数的所有自变量后,计算该预置密钥推衍函数的因变量,所述业务密钥包括该因变量。

本实施例中,当第一参数集合包括网元1的NAF密钥时,步骤S32在步骤S34之后执行。当第一参数集合不包括网元1的NAF密钥时,步骤S32和步骤S34没有一定的先后顺序,该两个步骤可以同时执行,也可以一前一后执行,在此不作限制。

S33、KMS1将业务密钥、网元1的身份标识和网元2的身份标识发送至KMS2。

需注意的是,步骤S33和步骤S34-35之间没有必然的先后顺序。

S34、KMS1获取网元1的NAF密钥的信息以及网元1的NAF密钥。

KMS1接收到网元1发送的通信请求后,判断该通信请求中所包含的网元1的身份标识和网元2的身份标识是否都包括预置参数。

若网元1的身份标识和网元2的身份标识都包括预置参数,则KMS1生成第一GPI请求。

若网元1的身份标识包括预置参数,而网元2的身份标识不包括预置参数,则KMS1返回错误指示给网元1,其中该错误指示包括网元2的身份标识。网元1接收到KMS1发送的错误指示后,将网元1的身份标识和网元2的预置参数发送至KMS1。KMS1根据该网元1的身份标识和网元2的预置参数生成第一GPI请求。

若网元2的身份标识包括预置参数,而网元1的身份标识不包括预置参数,则KMS1返回错误指示给网元1,其中该错误指示包括网元1的身份标识。网元1接收到KMS1发送的错误指示后,将网元1的预置参数和网元2的身份标识发送至KMS1。KMS1根据该网元1的预置参数和网元2的身份标识生成第一GPI请求。

或者,若网元1的身份标识和网元2的身份标识中的至少一个不包括预置参数时,KMS1返回错误指示给网元1。网元1接收到错误指示时,将网元1的预置参数和网元2的预置参数发送至KMS1。KMS1根据该网元1的预置 参数和网元2的预置参数生成第一GPI请求。

其中,所述预置参数可以是IMPI、IMSI或者其他参数,在此不作限制。

本实施例中,生成GPI请求的方法为现有技术,在此不再赘述。

KMS1向第一BSF发送第一GPI请求后,接收第一BSF发送的GPI 1和网元1的NAF密钥,其中,该GPI 1中携带有网元1的NAF密钥的信息,该网元1的NAF密钥的信息为获取网元1的NAF密钥所需的信息。本实施例中第一BSF获取GPI 1和网元1的NAF密钥的方法为现有技术,在此不再赘述。

S35、KMS1采用网元1的NAF密钥对业务密钥进行加密和/或完整性保护,生成网元1的安全保护参数。

KMS1可以采用加密算法进行加密,如AES加密算法;可以采用完整性保护算法进行完整性保护,如HMAC算法。在此不作限制。

S36、KMS2获取网元2的NAF密钥的信息以及网元2的NAF密钥。

KMS2接收到KMS1发送的网元1的身份标识和网元2的身份标识后,生成第二GPI请求。其中,KMS 2生成第二GPI请求的方法可参考步骤S34中KMS 1生成第一GPI请求的方法,在此不再赘述。

KMS2向第二BSF发送第二GPI请求后,接收第二BSF发送的GPI 2和网元2的NAF密钥,其中,该GPI 2中携带有网元2的NAF密钥的信息,该网元2的NAF密钥的信息为获取网元2的NAF密钥所需的信息。本实施例中第二BSF获取GPI 2、网元2的NAF密钥、网元2的NAF密钥的信息的方法为现有技术,在此不再赘述。

需注意的是,第一BSF和第二BSF可以为同一个BSF,也可以为不同的BSF,在此不作限制。

S37、KMS2采用网元2的NAF密钥对业务密钥进行加密和/或完整性保护,生成网元2的安全保护参数。

具体解释可参考步骤S35的解释说明,在此不再赘述。

需注意的是,步骤S36-37与步骤S34-35、38、310-311、314之间没有必然的先后顺序。

S38、KMS1发送GBA push消息1至网元1。

GBA push消息1中携带有网元1的安全保护参数和网元1的NAF密钥的信息。

本实施例中,KMS1发送GBA push消息1的方法包括两种。第一种是KMS1先发送GPI 1至网元1,再发送push message至网元1。其中,GPI 1中携带有网元1的NAF密钥的信息,该push message中携带有网元1的安全保护参数。

第二种是KMS1发送第一GPL消息至网元1,其中该第一GPL消息中同时携带有GPI 1和网元1的安全保护参数。

可选的,本实施例中,GBA push消息1中还携带有网元1的身份标识,以便网元1确认该GBA push消息1是发送至该网元1的。具体的,在上述第一种发送GBA push消息1的方法中,网元1的身份标识携带在GPI 1中发送至网元1。在上述第二种发送GBA push消息1的方法中,网元1的身份标识携带在第一GPL消息中发送至网元1。

进一步,可选的,在上述第二种发送GBA push消息1的方法中,第一GPL消息还可以携带有网元1的身份标识的长度信息。当然,在网元1的身份标识为固定长度的情况下,第一GPL消息中也可以不携带有网元1的身份标识的长度信息。

S39、KMS2发送GBA push消息2至网元2。

GBA push消息2中携带有网元2的安全保护参数和网元2的NAF密钥的信息。

KMS2发送GBA push消息2的方法参考步骤38中KMS1发送GBA push消息1的方法,在此不再赘述。

S310、网元1根据GBA push消息1获取网元1的安全保护参数和网元1的NAF密钥的信息。

在GBA push消息1包括GPI 1和push message的情况中,网元1接收到GPI 1后,根据该GPI 1和网元1的身份标识获取网元1的NAF密钥的信息。网元1接收到push message后,从push message获取到网元1的安全保护参数。

在GBA push消息1包括第一GPL消息的情况中,网元1接收到第一GPL 消息后,从GPL消息中分别获取网元1的NAF密钥的信息和网元1的安全保护参数。

S311、网元1根据网元1的NAF密钥的信息计算网元1的NAF密钥。

本实施例中,网元1的NAF密钥的信息以及网元1计算出网元1的NAF密钥的方法为现有技术,在此不再赘述。

S312、网元1根据网元1的安全保护参数和网元1的NAF密钥获取业务密钥。

由于网元1的安全保护参数是采用网元1的NAF密钥对业务密钥进行加密和/或完整性保护得到的,网元1可根据该网元1的安全保护参数和网元1的NAF密钥还原出业务密钥。

S313、网元2根据GBA push消息2获取网元2的安全保护参数和网元2的NAF密钥的信息。

具体解释可参考步骤S310的解释说明,在此不再赘述。

S314、网元2根据网元2的NAF密钥的信息计算网元2的NAF密钥。

本实施例中,网元2的NAF密钥的信息以及网元2计算出的网元2的NAF密钥的方法为现有技术,在此不再赘述。

S315、网元2根据网元2的安全保护参数和网元2的NAF密钥获取业务密钥。

具体解释可参考步骤S312的解释说明,在此不再赘述。

本发明中,网元1和网元2分别获取到业务密钥后,对该业务密钥的使用方法有多种。

例如,网元1采用业务密钥对第一通信数据进行保护,生成第二通信数据,并发送至网元2。具体的,网元1可以直接采用业务密钥对第一通信数据进行加密和/或完整性保护生成第二通信数据。或者,网元1根据业务密钥K采用预制方法生成业务密钥K′,再采用该业务密钥K′对第一通信数据进行加密和/或完整性保护生成第二通信数据,并发送至网元2。

网元2接收第二通信数据,并根据业务密钥还原出第一通信数据。具体的,若网元1是根据业务密钥对第一通信数据进行加密和/或完整性保护生成第二通信数据,那么网元2直接采用业务密钥对第二通信数据还原出第一通 信数据。若网元1是根据业务密钥K对第一通信数据进行加密和/或完整性保护生成第二通信数据,那么网元2根据业务密钥K采用与网元1相同的预置方法生成业务密钥K′,再采用该业务密钥K′将第二通信数据还原为第一通信数据。

当然,网元1和网元2对业务密钥的使用还可以是其他方法,在此不作限制。

上面结合图3对密钥分发流程的一个实施例进行了描述。本实施例中,KMS1发送GBA push消息1至网元1,KMS2发送GBA push消息2至网元2。

可选的,在本发明一些可能实施方式中,KMS 2将GBA push消息2发送至KMS 1。KMS1发送GBA push消息1至网元1时,该GBA push消息1中还携带有GBA push消息2。这样,KMS2不需要发送GBA push消息2至网元2,而是网元1在接收到GBA push消息1后,从GBA消息1中获取到GBA push消息2,并将GBA push消息2发送至网元2。

可选的,在本发明一些可能实施方式中,KMS 2将GBA push消息2发送至KMS 1。KMS1发送GBA push消息1和GBA push消息2至网元1,也即GBA消息2并不是放在GBA消息1内。网元1在接收到GBA push消息1和GBA push消息2后,将GBA push消息2发送之网元2。

可选的,在本发明一些可能实施方式中,KMS2将GBA push消息2发送至KMS1,由KMS1将GBA push消息1和GBA push消息2分别发送至网元1和网元2。

可选的,在本发明一些可能实施方式中,KMS 1将GBA push消息1发送至KMS 2。KMS2发送GBA push消息2至网元2时,该GBA push消息2中还携带有GBA push消息1。这样,KMS1不需要发送GBA push消息1至网元1,而是网元2在接收到GBA push消息2后,从GBA消息2中获取到GBA push消息1,并将GBA push消息1发送至网元1。

可选的,在本发明一些可能实施方式中,KMS 1将GBA push消息1发送至KMS 2。KMS2发送GBA push消息1和GBA push消息2至网元2,也即GBA消息1并不是放在GBA消息2内。网元2在接收到GBA push消息1和GBA push消息2后,将GBA push消息1发送之网元1。

可选的,在本发明一些可能实施方式中,KMS 1将GBA push消息1发送至KMS 2,由KMS 2将GBA push消息1和GBA push消息2分别发送至网元1和网元2。

其中,上面所描述道的几种可能的实施方式中,在一个GBA push消息携带有另一个GBA push消息发送至一个网元的情况中,或者将两个GBA push消息发送至同一个网元的情况中,每个GBA push消息中还携带有所要发送至的网元的身份标识,以使得接收到两个GBA push消息的网元能够从中确定出发送给自己的GBA push消息,并将另一个GBA push消息转发至该GBA push消息中所包含的身份标识对应的网元。具体的,该身份标识添加在GPI中或者添加在GPL消息中。另外,在GPL中添加此身份标识时,也可能同时添加一个长度标识,用来指示此身份标识的长度信息。

本实施例的步骤S31之后,也即在KMS 1接收到网元1发送的通信请求后才开始执行步骤S32以及步骤S32后的流程。可选的,在本发明一些可能实施方式中,在步骤S31中业务服务器向KMS 1发送通信请求,该通信请求用于申请网元1和网元2进行数据通信,且申请用于网元1和网元2进行数据通信的业务密钥,其中,该通信请求包括网元1的身份标识和网元2的身份标识。

可选的,在本发明一些可能实施方式中,KMS1内存有网元1的身份标识和网元2的身份标识,KMS 1根据业务需求或者其他需求主动发起步骤S32以及步骤S32之后的流程,也即不需要步骤S31。

可选的,在本发明一些可能实施方式中,GBA push消息1和GBA push消息2中还分别包括业务密钥的标识信息,其中,所述标识信息包括用于指示业务密钥的有效期的时间、网元1的身份标识、网元2的身份标识以及service ID的至少一种;所述service ID用于指示业务密钥用于所述service ID对应的业务。

如图4所示,图4为本发明实施例提供的通信系统的另一个实施例的结构示意图。通信系统包括密钥管理中心(英文:Key Management System,缩写:KMS)40、网元41和网元42。其中,网元41和网元42可以分别是用户终端(英文:User equipment,缩写:UE)、基站、服务器、网关中的任意 一种,或者是其他发送数据时需对数据加密和/或完整性保护的设备,在此不作限制。

请参阅图5,图5为图4所示通信系统的密钥分发流程的一个实施例的流程示意图。

如图5所示,本实施例中的密钥分发流程包括:

S51、网元41向KMS 40发送通信请求。

具体解释请参考图3所示实施例中步骤S31的解释,在此不再赘述。

S52、KMS 40获取业务密钥。

具体解释请参考图3所示实施例中步骤S32的解释,在此不再赘述。

S53、KMS 40获取网元41的NAF密钥的信息、网元41的NAF密钥、网元42的NAF密钥的信息和网元42的NAF密钥。

KMS 40获取网元41的NAF密钥的信息和网元41的NAF密钥的方法具体参考图3所示实施例中步骤S33的解释,在此不再赘述。

KMS 40获取网元42的NAF密钥的信息和网元42的NAF密钥的方法具体参考图3所示实施例中步骤S36的解释,在此不再赘述。

S54、KMS 40采用网元41的NAF密钥对业务密钥进行加密和/或完整性保护,生成网元41的安全保护参数;采用网元42的NAF密钥对业务密钥进行加密和/或完整性保护,生成网元42的安全保护参数。

具体解释请参考图3所示实施例中步骤S34和步骤S35的解释,在此不再赘述。

S55、KMS 40发送GBA push消息1至网元41。

具体解释请参考图3所示实施例中步骤S38的解释,在此不再赘述。

S56、KMS 40发送GBA push消息2至网元42。

具体解释请参考图3所示实施例中步骤S39的解释,在此不再赘述。

需注意的是,步骤S55和步骤S56之间没有必然的先后顺序。

S57、网元41根据GBA push消息1获取网元41的安全保护参数和网元41的NAF密钥的信息。

S58、网元41根据网元41的NAF密钥的信息计算网元41的NAF密钥。

S59、网元41根据网元41的安全保护参数和网元41的NAF密钥获取业 务密钥。

S510、网元42根据GBA push消息2获取网元42的安全保护参数和网元42的NAF密钥的信息。

S511、网元42根据网元42的NAF密钥的信息计算网元42的NAF密钥。

S512、网元42根据网元42的安全保护参数和网元42的NAF密钥获取业务密钥。

需注意的是,步骤S57-59和步骤S510-512之间没有必然的先后顺序。

步骤S57至步骤S512的解释可参考图3所示实施例中步骤S310至步骤S315的解释,在此不再赘述。

上面结合图5对密钥分发流程的另一个实施例进行了描述。本实施例中,KMS 40发送GBA push消息1至网元41,发送GBA push消息2至网元42。

实际应用中,还可以是KMS 40发送GBA push消息1至网元41时,该GBA push消息1中还携带有GBA push消息2。这样,KMS 40不需要发送GBA push消息2至网元42,而是网元41在接收到GBA push消息1后,从GBA消息1中获取到GBA push消息2,并将GBA push消息2发送至网元42。

或者,还可以是KMS40发送GBA push消息1和GBA push消息2至网元41,也即GBA消息2并不是放在GBA消息1内。网元41在接收到GBA push消息1和GBA push消息2后,将GBA push消息2发送之网元42。

或者,还可以是KMS 40发送GBA push消息2至网元42时,该GBA push消息2中还携带有GBA push 1。这样,KMS 40不需要发送GBA push消息1至网元41,而是网元42在接收到GBA push消息2后,从GBA消息2中获取到GBA push消息1,并将GBA push消息1发送至网元41。

或者,还可以是KMS 40发送GBA push消息1和GBA push消息2至网元42,也即GBA消息1并不是放在GBA消息2内。网元42在接收到GBA push消息1和GBA push消息2后,将GBA push消息1发送之网元41。

其中,上面所描述道的几种可能的实施方式中,在一个GBA push消息携带有另一个GBA push消息发送至一个网元的情况中,或者将两个GBA push消息发送至同一个网元的情况中,每个GBA push消息中还携带有所要发送至的网元的身份标识,以使得接收到两个GBA push消息的网元能够从中确定出 发送给自己的GBA push消息,并将另一个GBA push消息转发至该GBA push消息中所包含的身份标识对应的网元。具体的,该身份标识添加在GPI中或者添加在GPL消息中。另外,在GPL中添加此身份标识时,也可能同时添加一个长度标识,用来指示此身份标识的长度信息。

本实施例的步骤S51之后,也即在KMS 40接收到网元41发送的通信请求后才开始执行步骤S52以及步骤S52后的流程。实际应用中,在步骤S51中,还可以是业务服务器向KMS 40发送通信请求,该通信请求用于申请网元41和网元42进行数据通信,且申请用于网元41和网元42进行数据通信的业务密钥,其中,该通信请求包括网元41的身份标识和网元42的身份标识。

或者,还可以是KMS 40内存有网元41的身份标识和网元42的身份标识,KMS 40根据业务需求或者其他需求主动发起步骤S52以及步骤S52之后的流程,也即不需要步骤S51。

可选的,在本发明一些可能实施方式中,GBA push消息1和GBA push消息2中还分别包括业务密钥的标识信息,其中,所述标识信息包括用于指示业务密钥的有效期的时间、网元41的身份标识、网元42的身份标识以及service ID的至少一种;所述service ID用于指示业务密钥用于所述service ID对应的业务。

如图6所示,图6为本发明实施例提供的通信系统的另一个实施例的结构示意图。通信系统包括密钥管理中心(英文:Key Management System,缩写:KMS)60、网元61和网元62。其中,网元61是用户终端(英文:User equipment,缩写:UE)、基站、服务器、网关中的任意一种,或者是其他发送数据时需对数据加密和/或完整性保护的设备,在此不作限制。网元62和KMS 60之间建立有安全信道。具体的,KMS 60可以是属于第一运营商,网元62为属于该第一运营商的核心网网元,例如核心网内的网关、服务器或者网络管理网元,或者,该网元62也可以是因特网(Internet)内的网元,在此不作限制。

请参阅图7,图7为图6所示通信系统的密钥分发流程的一个实施例的流程示意图。

如图7所示,本实施例中的密钥分发流程包括:

S71、网元61或者网元62向KMS 60发送通信请求。

具体解释请参考图3所示实施例中步骤S31的解释,在此不再赘述。图7以网元61为数据发起端为例。

S72、KMS 60获取业务密钥。

具体解释请参考图3所示实施例中步骤S32的解释,在此不再赘述。

S73、KMS 60获取网元61的NAF密钥的信息和网元61的NAF密钥。

具体解释请参考图3所示实施例中步骤S33的解释,在此不再赘述。

S74、KMS 60采用网元61的NAF密钥对业务密钥进行加密和/或完整性保护,生成网元61的安全保护参数。

具体解释请参考图3所示实施例中步骤S34的解释,在此不再赘述。

S75、KMS 60发送GBA push消息1至网元61。

具体解释请参考图3所示实施例中步骤S38的解释,在此不再赘述。

S76、KMS 60发送所述业务密钥至网元62。

本实施例中,由于网元62和KMS 60之间建立有安全信道,因此KMS 60无需对业务密钥进行加密和/或完整性保护,而是直接发送至网元62。

需注意的是,步骤S75和步骤S74-76之间没有一定的先后顺序。

S77、网元61根据GBA push消息1获取网元61的安全保护参数和网元61的NAF密钥的信息。

S78、网元61根据网元61的NAF密钥的信息计算网元61的NAF密钥。

S79、网元61根据网元61的安全保护参数和网元61的NAF密钥获取业务密钥。

本实施例中,在步骤S71之后,也即在KMS 60接收到网元61发送的通信请求后才开始执行步骤S72以及步骤S72后的流程。实际应用中,在步骤S71中,还可以是业务服务器向KMS 60发送通信请求,该通信请求用于申请网元61和网元62进行数据通信,且申请用于网元61和网元62进行数据通信的业务密钥,其中,该通信请求包括网元61的身份标识和网元62的身份标识。

或者,还可以是KMS 60内存有网元61的身份标识和网元62的身份标 识,KMS 60根据业务需求或者其他需求主动发起步骤S72以及步骤S72之后的流程,也即不需要步骤S71。

可选的,在本发明一些可能实施方式中,GBA push消息1和GBA push消息2中还分别包括业务密钥的标识信息,其中,所述标识信息包括用于指示业务密钥的有效期的时间、网元61的身份标识、网元62的身份标识以及service ID的至少一种;所述service ID用于指示业务密钥用于所述service ID对应的业务。

可选的,图6所示的通信系统中还包括KMS 64。相对应的,在图7所示的密钥分发流程中的步骤S72中,KMS 60还将业务密钥发送至KMS 64;步骤S77改为KMS 64发送所述业务密钥至网元62。

或者,步骤S71改为:网元62向KMS 64发送通信请求;步骤S72改为:KMS 64获取业务密钥,并将业务密钥发送至KMS 60;步骤S77改为KMS 64发送所述业务密钥至网元62。

上面通过图2、图5和图7对本发明的通信系统的三个实施例以及各通信系统中的工作流程的各个实施例进行了描述。下面对本发明中的密钥分发方法进行描述。

请参阅图8,本发明的密钥分发方法的一个实施例,包括:

801、第一密钥管理中心获取第一网元的NAF密钥的信息以及所述第一网元的NAF密钥,所述第一网元的NAF密钥的信息为获取所述第一网元的NAF密钥所需的信息。

本实施例中,第一密钥管理中心可以是图2所示通信系统中的KMS 1,第一网元可以是图3所示通信系统中的网元1。

或者,第一密钥管理中心可以是图2所示通信系统中的KMS 2,第一网元可以是图3所示通信系统中的网元2。

或者,第一密钥管理中心可以是图4所示通信系统中的KMS 40,第一网元可以是图3所示通信系统中的网元41或网元42。

或者,第一密钥管理中心可以是图6所示通信系统中的KMS 60,第一网元可以是图3所示通信系统中的网元61。在此不作限制。

802、所述第一密钥管理中心获取业务密钥,所述业务密钥用于所述第一 网元和第二网元通信时对通信数据的保护。

803、所述第一密钥管理中心采用所述第一网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第一安全保护参数。

804、发送第一通用引导架构GBA push消息至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息。

本实施例中,第一密钥管理中心将用于网元之间通信的业务密钥发送至网元,使得网元之间相互发送数据时可以采用该业务密钥对该数据进行保护,避免了该数据在发送过程中遭到窃听攻击;而且,第一密钥管理中心还采用NAF密钥对业务密钥加密后,通过GBA消息发送给网元,其中该GBA消息中还携带有NAF密钥的信息,以便网元根据该NAF密钥的信息生成NAF密钥后采用该NAF密钥从GBA消息中还原出业务密钥,保证了业务密钥的安全。

可选的,在上述图8对应的实施例的基础上,本发明实施例提供的密钥分发方法的第一个可选实施例中,所述方法还包括步骤805、806,以及步骤807-1、807-2和807-3中的一个:

805、所述第一密钥管理中心获取第二网元的NAF密钥的信息以及所述第二网元的NAF密钥,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息。

本实施例中,所述第一密钥管理中心具体为图4所示通信系统中的KMS40。第一网元为图4所示通信系统中的网元41和网元42中的其中一个,第二网元为另外一个。

806、所述第一密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第二安全保护参数。

807-1、所述第一GBA push消息还包括第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元。

807-2、发送第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元。

807-3、发送第二GBA push消息至所述第二网元。

其中,在步骤807-1、807-2和807-3中,第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息。

可选的,如图9所示,在上述图8中步骤801-804对应的实施例的基础上,本发明实施例提供的密钥分发方法的第二个可选实施例中,所述方法还包括步骤901,以及步骤902-1、步骤902-2、步骤902-3的其中一个:

901、所述第一密钥管理中心接收第二密钥管理中心发送的第二GBA push消息。

本实施例中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息,所述第二安全保护参数为所述第二密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的。

本实施例中,第一密钥管理中心是图3所示通信系统中的KMS 1,第一网元是图3所示通信系统中的网元1,第二密钥管理中心是图3所示通信系统中的KMS 2,第二网元是图3所示通信系统中的网元2。

或者,

第一密钥管理中心是图3所示通信系统中的KMS 2,第一网元是图3所示通信系统中的网元2,第二密钥管理中心是图3所示通信系统中的KMS 1,第二网元是图3所示通信系统中的网元1。

902-1、所述第一GBA push消息还包括第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元。

902-2、发送所述第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元。

902-3、发送所述第二GBA push消息至所述第二网元。

其中,在步骤902-1、902-2和902-3中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息。

可选的,在上述图9对应的实施例的基础上,本发明实施例提供的密钥分发方法的第三个可选实施例中,步骤802中的获取业务密钥,包括:

选择一个随机数,所述业务密钥包括所述随机数;或者,

与所述第二密钥管理中心协商所述业务密钥;或者,

接收所述第二密钥管理中心发送的业务密钥;或者,

获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数和所述第一网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

可选的,在本发明实施例提供的密钥分发方法的第三个可选实施例的基础上,本发明实施例提供的密钥分发方法的第四个可选实施例中,所述第一密钥管理中心与所述第二密钥管理中心协商所述业务密钥,包括:

接收所述第二密钥管理中心发送的第二随机数和/或第二网元的NAF密钥;

计算当身份标识、用于指示所述业务密钥的有效期的时间、序列号、所述第一密钥管理中心确定的随机数、所述第一网元的NAF密钥中的至少一个以及所述第二随机数和/或第二网元的NAF密钥为所述预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量。

可选的,在本发明实施例提供的密钥分发方法的第三个可选实施例的基础上,本发明实施例提供的密钥分发方法的第五个可选实施例中,所述第一密钥管理中心与所述第二密钥管理中心协商所述业务密钥,包括:

获取第一随机数;

将所述第一随机数和/或所述第一网元的NAF密钥发送至所述第二密钥管理中心;

接收所述第二密钥管理中心发送的业务密钥,其中,所述业务密钥为所述第二密钥管理中心根据所述第一随机数和/或所述第一网元的NAF密钥确定的。

可选的,在本发明实施例提供的密钥分发方法的第三个可选实施例的基础上,本发明实施例提供的密钥分发方法的第六个可选实施例中,所述第一密钥管理中心与所述第二密钥管理中心协商所述业务密钥,包括:

与所述第二密钥管理中心通过DH密钥协商的方法协商所述业务密钥。

可选的,在本发明实施例提供的密钥分发方法的第三个可选实施例的基础上,本发明实施例提供的密钥分发方法的第七个可选实施例中,所述第一密钥管理中心与所述第二密钥管理中心协商所述业务密钥,包括:

与所述第二密钥管理中心通过DH密钥协商得到协商参数;

计算所述协商参数为预置密钥推衍函数的其中一个自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量。

可选的,在上述图9对应的实施例的基础上,本发明实施例提供的密钥分发方法的第八个可选实施例中,所述第一密钥管理中心获取业务密钥,包括:

获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数、所述第二密钥管理中心确定的随机数、所述第一网元的NAF密钥和所述第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

可选的,在上述图8中步骤801-804对应的实施例的基础上,如图10所示,本发明实施例提供的密钥分发方法的第九个可选实施例中,所述第二网元和所述第一密钥管理中心之间建立有安全信道。

所述方法还包括以下步骤:

1001、将所述业务密钥通过所述安全信道发送至所述第二网元。

本实施例中,第一密钥管理中心可以为图6所示通信系统中的KMS 60,第二网元为图6所示通信系统中的网元62。

本发明图8中步骤801-804对应的实施例或可选实施例可以参阅图3、图5和图7所示实施例的描述说明进行理解,此处不做过多赘述。

请参阅图11,本发明的密钥分发方法的另一个实施例,包括:

1101、第一密钥管理中心获取第一网元的NAF密钥的信息以及所述第一网元的NAF密钥,所述第一网元的NAF密钥的信息为获取所述第一网元的NAF密钥所需的信息。

具体解释请参考图8所示实施例中步骤801的解释,在此不再赘述。

1102、所述第一密钥管理中心获取业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的保护。

1103、所述第一密钥管理中心采用所述第一网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第一安全保护参数。

1104、所述第一密钥管理中心发送第一GBA push消息至第二密钥管理中心。

本实施例中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息。

所述第一密钥管理中心发送第一GBA push消息至第二密钥管理中心后,所述第二密钥管理中心发送所述第一GBA push消息至所述第一网元,或者,所述第二密钥管理中心发送所述第一GBA push消息至第二网元,再由所述第二网元将所述第一GBA push消息发送至所述第一网元。

可选的,在上述图8中步骤801-804或图11对应的实施例的基础上,本发明实施例提供的密钥分发方法的第十个可选实施例中,步骤802或步骤1102中的第一密钥管理中心获取业务密钥,包括:

选择一个随机数,所述业务密钥包括所述随机数;或者,

获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;或者,

获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括随机数、所述第一网元的NAF密钥和第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

可选的,在上述图8中步骤801-804或图11对应的实施例的基础上,本发明实施例提供的密钥分发方法的第十一个可选实施例中,所述第一GBA push消息中携带有所述第一网元的身份标识。

可选的,在上述图8中步骤801-804或图11对应的实施例的基础上,本 发明实施例提供的密钥分发方法的第十二个可选实施例中,所述第一GBA push消息包括第一GPI消息,其中,所述第一GPI消息携带有所述第一网元的身份标识;

或者,

所述第一GBA push消息包括第一GPL消息,所述第一GPL消息中携带有所述第一网元的身份标识,或者携带有所述第一网元的身份标识以及所述身份标识的长度信息。

可选的,在上述图8中步骤801-804或图11对应的实施例的基础上,本发明实施例提供的密钥分发方法的第十三个可选实施例中,所述身份标识包括IMSI,GUTI,IMPI,TMSI,TMPI,IMPU,Service ID,session ID,网络ID,链路ID,App ID,网关ID中的至少一个。

可选的,在上述图8中步骤801-804或图11对应的实施例的基础上,本发明实施例提供的密钥分发方法的第十四个可选实施例中,所述方法在步骤801或者步骤1101之前还包括:

所述第一密钥管理中心接收发起端发送的通信请求,所述通信请求用于申请用于所述第一网元和第二网元进行数据通信的业务密钥,所述发起端为所述第一网元和所述第二网元中的数据发送端,所述通信请求包括第一网元的身份标识和第二网元的身份标识。

可选的,在上述图8中步骤801-804或图11对应的实施例的基础上,本发明实施例提供的密钥分发方法的第十五个可选实施例中,所述GBA push消息中还包括所述业务密钥的标识信息,

所述标识信息包括用于指示所述业务密钥的有效期的时间、第一网元的身份标识、第二网元的身份标识以及service ID的至少一种;所述service ID用于指示所述业务密钥用于所述service ID对应的业务。

请参阅图12,本发明的密钥接收方法的一个实施例,包括:

1201、第一网元接收密钥管理中心发送的第一GBA push消息。

所述第一GBA push消息携带有所述第一网元的第一安全保护参数和第一NAF密钥的信息。

本实施例中,第一网元可以是图3所示通信系统中的网元1或者网元2, 或者是图4所示通信系统中的网元41或者网元42,或者是图6所示通信系统中的网元61。

1202、所述第一网元根据所述第一NAF密钥的信息计算出第一NAF密钥。

1203、所述第一网元根据所述第一NAF密钥对所述第一安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完整性保护。

可选的,在上述图12对应的实施例的基础上,本发明实施例提供的密钥接收方法的第一个可选实施例中,所述第一GBA push消息还携带有第二GBA push消息,或者,所述第一网元还接收密钥管理中心发送的第二GBA push消息,所述第二GBA push消息包括所述第二网元的第二安全保护参数和第二NAF密钥的信息;所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的;

所述方法还包括:

1204、将所述第二GBA push消息发送至所述第二网元。

可选的,在本发明实施例提供的密钥接收方法的第一个可选实施例的基础上,本发明实施例提供的密钥接收方法的第二个可选实施例中,所述第二GBA push消息还携带有所述第二网元的身份标识;

步骤1204将所述第二GBA push消息发送至所述第二网元,具体包括:

获取所述第二GBA push消息中的所述第二网元的身份标识;

将所述第二GBA push消息发送至所述身份标识所对应的第二网元。

可选的,在上述图12对应的实施例的基础上,本发明实施例提供的密钥接收方法的第三个可选实施例中,在步骤1201所述第一网元接收密钥管理中心发送的第一GBA push消息,之前还包括:

1205、所述第一网元向所述密钥管理中心发送通信请求,所述通信请求用于申请所述第一网元和所述第二网元的业务密钥;所述通信请求包括所述第一网元的身份标识、所述第二网元的身份标识和service ID。

本发明图12对应的实施例或可选实施例可以参阅图3、图5和图7所示 实施例的描述说明进行理解,此处不做过多赘述。

请参阅图13,本发明的密钥接收方法的另一个实施例,包括:

1301、第二网元接收第一网元发送的第二GBA push消息,所述第二GBA push消息携带有所述第二网元的第二安全保护参数和第二NAF密钥的信息。

本实施例中,第二网元可以是图3所示通信系统中的网元1或者网元2,或者是图4所示通信系统中的网元41或者网元42,或者是图6所示通信系统中的网元61。

1302、所述第二网元根据所述第二NAF密钥的信息计算第二NAF密钥。

1303、所述第二网元根据所述第二NAF密钥对所述第二安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和所述第二网元通信。

本发明图13对应的实施例或可选实施例可以参阅图3、图5和图7所示实施例的描述说明进行理解,此处不做过多赘述。

上面对本发明实施例中的密钥分发方法和密钥接收方法进行了描述,下面对本发明实施例中的第一密钥管理中心进行描述。

请参阅图14,图14为本发明的第一密钥管理中心的一个实施例的结构示意图。本实施例中,第一密钥管理中心1400包括:

第一获取模块1401,用于获取第一网元的应用服务器NAF密钥的信息以及所述第一网元的NAF密钥,所述第一网元的NAF密钥的信息为获取所述第一网元的NAF密钥所需的信息;

第二获取模块1402,用于获取业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完整性保护;

第一生成模块1403,用于采用所述第一网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第一安全保护参数;

第一发送模块1404,用于发送第一通用引导架构GBA push消息至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息。

本实施例中,第一密钥管理中心将用于网元之间通信的业务密钥发送至网元,使得网元之间相互发送数据时可以采用该业务密钥对该数据进行保护, 避免了该数据在发送过程中遭到窃听攻击;而且,第一密钥管理中心还采用NAF密钥对业务密钥加密后,通过GBA消息发送给网元,其中该GBA消息中还携带有NAF密钥的信息,以便网元根据该NAF密钥的信息生成NAF密钥后采用该NAF密钥从GBA消息中还原出业务密钥,保证了业务密钥的安全。

如图15所示,在本发明的一些可能的实施方式中,所述第一密钥管理中心1500还包括:

第三获取模块1501,用于获取第二网元的NAF密钥的信息以及所述第二网元的NAF密钥,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息;

第二生成模块1502,用于采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第二安全保护参数;

所述第一发送模块1404还用于执行以下步骤C、步骤D、步骤E的其中一个:

C、所述第一GBA push消息还包括第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

D、发送第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

E、发送第二GBA push消息至所述第二网元;

其中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息。

在图14所示实施例的基础上,在本发明的一些可能的实施方式中,如图16所示,所述第一密钥管理中心还包括:

第一接收模块1601,用于接收第二密钥管理中心发送的第二GBA push消息。

其中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述第二密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护 生成的。

所述第一发送模块1404还用于执行以下步骤F、步骤G、步骤H的其中一个:

F、所述第一GBA push消息还包括所述第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

G、发送所述第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

H、发送所述第二GBA push消息至所述第二网元。

在图16所示实施例的基础上,在本发明的一些可能的实施方式中,所述第二获取模块1402具体用于选择一个随机数,所述业务密钥包括所述随机数;

或者,

所述第二获取模块1402具体用于与所述第二密钥管理中心协商所述业务密钥;

或者,

所述第二获取模块1402具体用于接收所述第二密钥管理中心发送的业务密钥;

或者,

所述第二获取模块1402具体用于获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数和所述第一网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

进一步,在本发明的一些可能的实施方式中,所述第二获取模块具体1402用于接收所述第二密钥管理中心发送的第二随机数和/或第二网元的NAF密钥;计算当身份标识、用于指示所述业务密钥的有效期的时间、序列号、所述第一密钥管理中心确定的随机数、所述第一网元的NAF密钥中的至少一个以及所述第二随机数和/或第二网元的NAF密钥为所述预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

或者,

所述第二获取模块1402具体用于获取第一随机数;将所述第一随机数和/或所述第一网元的NAF密钥发送至所述第二密钥管理中心;接收所述第二密钥管理中心发送的业务密钥,其中,所述业务密钥为所述第二密钥管理中心根据所述第一随机数和/或所述第一网元的NAF密钥确定的;

或者,

所述第二获取模块1402具体用于与所述第二密钥管理中心通过DH密钥协商的方法协商所述业务密钥;

或者,

所述第二获取模块1402具体用于与所述第二密钥管理中心通过DH密钥协商得到协商参数;计算所述协商参数为预置密钥推衍函数的其中一个自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量。

在图16所示实施例的基础上,在本发明的一些可能的实施方式中,所述第二获取模块1402具体用于获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数、所述第二密钥管理中心确定的随机数、所述第一网元的NAF密钥和所述第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

在图14所示实施例的基础上,在本发明的一些可能的实施方式中,所述第二网元和所述第一密钥管理中心之间建立有安全信道;

所述第一发送模块还用于将所述业务密钥通过所述安全信道发送至所述第二网元。

请参阅图17,图17为本发明的第一密钥管理中心的一个实施例的结构示意图。本实施例中,第一密钥管理中心1700包括:

第一获取模块1401,用于获取第一网元的应用服务器NAF密钥的信息以及所述第一网元的NAF密钥,所述第一网元的NAF密钥的信息为获取所述第一网元的NAF密钥所需的信息;

第二获取模块1402,用于获取业务密钥,所述业务密钥用于所述第一网 元和第二网元通信时对通信数据的加密和/或完整性保护;

第一生成模块1403,用于采用所述第一网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第一安全保护参数;

第一发送模块1701,用于发送第一GBA push消息至第二密钥管理中心,以便所述第二密钥管理中心发送所述第一GBA push消息至所述第一网元,或者以便所述第二密钥管理中心发送所述第一GBA push消息至第二网元,再由所述第二网元将所述第一GBA push消息发送至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息。

在图14、图15或图17所示实施例的基础上,在本发明的一些可能的实施方式中,所述第二获取模块1402具体用于选择一个随机数,所述业务密钥包括所述随机数;

或者,

所述第二获取模块1402具体用于获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

或者,

所述第二获取模块1402具体用于获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括随机数、所述第一网元的NAF密钥和第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

在图14或图17所示实施例的基础上,在本发明的一些可能的实施方式中,所述第一GBA push消息中携带有所述第一网元的身份标识。

进一步,可选的,所述第一GBA push消息包括第一GPI消息,其中,所述第一GPI消息携带有所述第一网元的身份标识;

或者,

所述第一GBA push消息包括第一GPL消息,所述第一GPL消息中携带有所述第一网元的身份标识,或者携带有所述第一网元的身份标识以及所述 身份标识的长度信息。

在本发明的一些可能的实施方式中,所述身份标识包括IMSI,GUTI,IMPI,TMSI,TMPI,IMPU,Service ID,session ID,网络ID,链路ID,App ID,网关ID中的至少一个。

在图14或图17所示实施例的基础上,在本发明的一些可能的实施方式中,如图18所示,所述第一密钥管理中心还包括:

第二接收模块1801,用于在所述第一获取模块1401获取所述第一网元的应用服务器NAF密钥之前,接收发起端发送的通信请求;

其中,所述通信请求用于申请用于所述第一网元和第二网元进行数据通信的业务密钥,所述发起端为所述第一网元和所述第二网元中的数据发送端,所述通信请求包括第一网元的身份标识和第二网元的身份标识。

在图14或图17所示实施例的基础上,在本发明的一些可能的实施方式中,所述第一GBA push消息中还包括所述业务密钥的标识信息,

所述标识信息包括用于指示所述业务密钥的有效期的时间、第一网元的身份标识、第二网元的身份标识以及service ID的至少一种;所述service ID用于指示所述业务密钥用于所述service ID对应的业务。

对第一密钥管理中心的解释说明可参考对密钥分发方法中各实施例的解释说明,在此不再赘述。

上面对本发明实施例中的第一密钥管理中心进行了描述,下面对本发明实施例中的第一网元和第二网元进行描述。

请参阅图19,图19为本发明的第一网元的一个实施例的结构示意图。本实施例中,第一网元1900包括:

第一接收模块1901,用于接收密钥管理中心发送的第一GBA push消息,所述第一GBA push消息携带有所述第一网元的第一安全保护参数和第一NAF密钥的信息。

计算模块1902,用于根据所述第一NAF密钥的信息计算出第一NAF密钥。

解密模块1903,用于根据所述第一NAF密钥对所述第一安全保护参数解 密,获得业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完整性保护。

在本发明的一些可能的实施方式中,所述第一GBA push消息还携带有第二GBA push消息,所述第一网元还包括:

第一发送模块1904,用于将所述第二GBA push消息发送至所述第二网元。

在本发明的一些可能的实施方式中,所述第一网元还包括:

第二接收模块1905,用于接收密钥管理中心发送的第二GBA push消息;

其中,所述第二GBA push消息包括所述第二网元的第二安全保护参数和第二NAF密钥的信息;所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的。

第一发送模块1904,用于将所述第二GBA push消息发送至所述第二网元。

进一步,可选的,所述第二GBApush消息还携带有所述第二网元的身份标识;

所述第一发送模块具体用于获取所述第二GBA push消息中的所述第二网元的身份标识;将所述第二GBA push消息发送至所述身份标识所对应的第二网元。

如图20所示,在本发明的一些可能的实施方式中,所述第一网元还包括:

第二发送模块2001,用于向所述密钥管理中心发送通信请求,所述通信请求用于申请所述第一网元和所述第二网元的业务密钥;所述通信请求包括所述第一网元的身份标识、所述第二网元的身份标识和service ID。

请参阅图21,图21为本发明的第二网元的一个实施例的结构示意图。本实施例中,第二网元2100包括:

接收模块2101,用于接收第一网元发送的第二GBA push消息,所述第二GBA push消息携带有所述第二网元的第二安全保护参数和第二NAF密钥的信息。

计算模块2102,用于根据所述第二NAF密钥的信息计算第二NAF密钥。

解密模块2103,用于根据所述第二NAF密钥对所述第二安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和所述第二网元通信。

对第一网元和第二网元的解释说明可参考对密钥接收方法的各实施例的解释说明,在此不再赘述。

上面从单元化功能实体的角度对本发明实施例中的第一密钥管理中心、第一网元和第二网元进行了描述,下面从硬件处理的角度对本发明实施例中的第一密钥管理中心、第一网元和第二网元进行描述。

请参阅图22,图22为本发明的第一密钥管理中心的一个实施例的结构示意图。本实施例中,第一密钥管理中心2200包括:

处理器2201,以及耦合到所述处理器2201的存储器2202;其中,所述处理器2201读取所述存储器2202中存储的计算机程序用于执行以下操作:

获取第一网元的应用服务器NAF密钥的信息以及所述第一网元的NAF密钥,所述第一网元的NAF密钥的信息为获取所述第一网元的NAF密钥所需的信息;

获取业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完整性保护;

采用所述第一网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第一安全保护参数;

执行以下步骤A和步骤B的其中一个:

A、发送第一通用引导架构GBA push消息至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息;

B、发送第一GBA push消息至第二密钥管理中心,以便所述第二密钥管理中心发送所述第一GBA push消息至所述第一网元,或者以便所述第二密钥管理中心发送所述第一GBA push消息至第二网元,再由所述第二网元将所述第一GBA push消息发送至所述第一网元,其中,所述第一GBA push消息携带有所述第一安全保护参数和所述第一网元的NAF密钥的信息。

在本发明的第一个可能的实施方式中,所述处理器2201执行所述步骤A, 时,所述处理器2201还执行以下操作:

获取第二网元的NAF密钥的信息以及所述第二网元的NAF密钥,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息;

采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护,生成第二安全保护参数;

执行以下步骤C、步骤D、步骤E的其中一个:

C、所述第一GBA push消息还包括第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

D、发送第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

E、发送第二GBA push消息至所述第二网元;

其中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息。

在图22所示实施例的基础上,或者在本发明的第一个可能的实施方式的基础上,在本发明的一些可能的实施方式中,所述获取业务密钥,包括:

选择一个随机数,所述业务密钥包括所述随机数;

或者,

获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

或者,

获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括随机数、所述第一网元的NAF密钥和第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

在图22所示实施例的基础上,在本发明的第二个可能的实施方式中,所述处理器2201执行所述步骤A时,所述处理器2201还执行以下步骤:

所述第一密钥管理中心接收第二密钥管理中心发送的第二GBA push消 息;其中,所述第二GBA push消息携带有所述第二安全保护参数和所述第二网元的NAF密钥的信息,所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述第二密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的;

执行以下步骤F、步骤G、步骤H的其中一个:

F、所述第一GBA push消息还包括所述第二GBA push消息,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

G、发送所述第二GBA push消息至所述第一网元,以便所述第一网元将所述第二GBA push消息发送至所述第二网元;

H、发送所述第二GBA push消息至所述第二网元。

进一步,可选的,所述获取业务密钥,包括:

选择一个随机数,所述业务密钥包括所述随机数;或者,

与所述第二密钥管理中心协商所述业务密钥;或者,

接收所述第二密钥管理中心发送的业务密钥;或者,

获取第一参数集合和第二参数集合,计算所述第一参数集合和所述第二参数集合为预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数和所述第一网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

进一步,可选的,所述与所述第二密钥管理中心协商所述业务密钥,包括:

接收所述第二密钥管理中心发送的第二随机数和/或第二网元的NAF密钥;

计算当身份标识、用于指示所述业务密钥的有效期的时间、序列号、所述第一密钥管理中心确定的随机数、所述第一网元的NAF密钥中的至少一个以及所述第二随机数和/或第二网元的NAF密钥为所述预置密钥推衍函数的自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量。

或者,进一步,可选的,

所述与所述第二密钥管理中心协商所述业务密钥,包括:

获取第一随机数;

将所述第一随机数和/或所述第一网元的NAF密钥发送至所述第二密钥管理中心;

接收所述第二密钥管理中心发送的业务密钥,其中,所述业务密钥为所述第二密钥管理中心根据所述第一随机数和/或所述第一网元的NAF密钥确定的。

或者,进一步,可选的,

所述与所述第二密钥管理中心协商所述业务密钥,包括:

与所述第二密钥管理中心通过DH密钥协商的方法协商所述业务密钥。

或者,进一步,可选的,

所述与所述第二密钥管理中心协商所述业务密钥,包括:

与所述第二密钥管理中心通过DH密钥协商得到协商参数;

计算所述协商参数为预置密钥推衍函数的其中一个自变量时所述预置密钥推衍函数的因变量,所述业务密钥包括所述因变量。

在本发明的第二个可能的实施方式的基础上,本发明的第三个可能的实施方式,所述获取业务密钥,包括:

获取第一参数集合和第二参数集合,所述业务密钥包括所述第一参数集合和所述第二参数集合;

其中,所述第一参数集合包括所述第一密钥管理中心确定的随机数、所述第二密钥管理中心确定的随机数、所述第一网元的NAF密钥和所述第二网元的NAF密钥中的至少一个,所述第二参数集合包括身份标识、用于指示所述业务密钥的有效期的时间、序列号中的至少一个。

在本发明的第四个可能的实施方式中,所述第二网元和所述第一密钥管理中心之间建立有安全信道;

所述第一密钥管理中心执行所述步骤A时,所述密钥分发方法还包括:

将所述业务密钥通过所述安全信道发送至所述第二网元。

在本发明的第五个可能的实施方式中,所述第一GBA push消息中携带有 所述第一网元的身份标识。

进一步,可选的,所述第一GBA push消息包括第一GPI消息,其中,所述第一GPI消息携带有所述第一网元的身份标识;

或者,

所述第一GBA push消息包括第一GPL消息,所述第一GPL消息中携带有所述第一网元的身份标识,或者携带有所述第一网元的身份标识以及所述身份标识的长度信息。

可选的,所述身份标识包括IMSI,GUTI,IMPI,TMSI,TMPI,IMPU,Service ID,session ID,网络ID,链路ID,App ID,网关ID中的至少一个。

可选的,所述第一密钥管理中心获取所述第一网元的应用服务器NAF密钥,之前还包括:

所述第一密钥管理中心接收发起端发送的通信请求,所述通信请求用于申请用于所述第一网元和第二网元进行数据通信的业务密钥,所述发起端为所述第一网元和所述第二网元中的数据发送端,所述通信请求包括第一网元的身份标识和第二网元的身份标识。

可选的,所述第一GBA push消息中还包括所述业务密钥的标识信息,

所述标识信息包括用于指示所述业务密钥的有效期的时间、第一网元的身份标识、第二网元的身份标识以及service ID的至少一种;所述service ID用于指示所述业务密钥用于所述service ID对应的业务。

请参阅图23,图23为本发明的第一网元的一个实施例的结构示意图。本实施例中,第一网元2300包括:

处理器2301,以及耦合到所述处理器2301的存储器2302;其中,所述处理器2301读取所述存储器2302中存储的计算机程序用于执行以下操作:

接收密钥管理中心发送的第一GBA push消息,所述第一GBA push消息携带有所述第一网元的第一安全保护参数和第一NAF密钥的信息;

根据所述第一NAF密钥的信息计算出第一NAF密钥;

根据所述第一NAF密钥对所述第一安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和第二网元通信时对通信数据的加密和/或完 整性保护。

可选的,所述第一GBA push消息还携带有第二GBA push消息,

所述处理器2301还用于执行:

将所述第二GBA push消息发送至所述第二网元。

可选的,所述处理器2301还用于执行:

接收密钥管理中心发送的第二GBA push消息;

其中,所述第二GBA push消息包括所述第二网元的第二安全保护参数和第二NAF密钥的信息;所述第二网元的NAF密钥的信息为获取所述第二网元的NAF密钥所需的信息,所述第二安全保护参数为所述密钥管理中心采用所述第二网元的NAF密钥对所述业务密钥进行加密和/或完整性保护生成的;

将所述第二GBA push消息发送至所述第二网元。

进一步,可选的,所述第二GBA push消息还携带有所述第二网元的身份标识;

所述将所述第二GBA push消息发送至所述第二网元,包括:

获取所述第二GBA push消息中的所述第二网元的身份标识;

将所述第二GBA push消息发送至所述身份标识所对应的第二网元。

可选的,所述第一网元接收密钥管理中心发送的第一GBA push消息,之前还包括:

所述第一网元向所述密钥管理中心发送通信请求,所述通信请求用于申请所述第一网元和所述第二网元的业务密钥;所述通信请求包括所述第一网元的身份标识、所述第二网元的身份标识和service ID。

请参阅图24,图24为本发明的第二网元的一个实施例的结构示意图。本实施例中,第二网元2400包括:

处理器2401,以及耦合到所述处理器2401的存储器2402;其中,所述处理器2401读取所述存储器2402中存储的计算机程序用于执行以下操作:

接收第一网元发送的第二GBA push消息,所述第二GBA push消息携带有所述第二网元的第二安全保护参数和第二NAF密钥的信息;

根据所述第二NAF密钥的信息计算第二NAF密钥;

根据所述第二NAF密钥对所述第二安全保护参数解密,获得业务密钥,所述业务密钥用于所述第一网元和所述第二网元通信。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1