密钥的确定方法及装置、存储介质、电子装置与流程

文档序号:20010582发布日期:2020-02-22 04:04阅读:233来源:国知局
密钥的确定方法及装置、存储介质、电子装置与流程

本发明涉及通信领域,具体而言,涉及一种密钥的确定方法及装置、存储介质、电子装置。



背景技术:

第三代合作伙伴计划(3rdgenerationpartnershipproject,简称为3gpp)提出了一种接入层(accessstratum,简称为as)与非接入层(nonaccessstratum,简称为nas)切换使得密钥同步的方案,但现有技术中存在着终端与网络的密钥不匹配,导致无法进行正常通讯的问题。

针对上述技术问题,相关技术中并未剔除有效的解决方案。



技术实现要素:

本发明实施例提供了一种密钥的确定方法及装置、存储介质、电子装置,以至少解决相关技术中终端与网络的密钥不匹配,导致无法进行正常通讯的问题。

根据本发明的一个实施例,提供了一种密钥的确定方法,包括:向目标接入管理功能(accessmanagementfunction,简称为amf)发送第二核心网密钥和密钥改变指示,以指示所述目标amf根据所述密钥改变指示通知终端确定密钥;其中,所述密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;所述第二核心网密钥用于生成所述密钥;所述密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

根据本发明的另一个实施例,提供了一种密钥的确定方法,包括:接收源amf发送的第二核心网密钥和密钥改变指示,其中,所述第二核心网密钥用于生成所述密钥,所述密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;根据所述密钥改变指示通知终端确定密钥。

根据本发明的另一个实施例,提供了一种密钥的确定装置,包括:发送模块,用于向目标接入管理功能amf发送第二核心网密钥和密钥改变指示,以指示所述目标amf根据所述密钥改变指示通知终端确定密钥;其中,所述密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;所述第二核心网密钥用于生成所述密钥;所述密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

根据本发明的另一个实施例,提供了一种密钥的确定装置,包括:接收模块,用于接收源amf发送的第二核心网密钥和密钥改变指示,其中,所述密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;确定模块,用于根据所述密钥改变指示确定第一无线接入密钥,其中,所述第二核心网密钥用于生成所述密钥,所述密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,由于源amf向目标amf发送第二核心网密钥和密钥改变指示,以指示目标amf将密钥改变指示通知给终端;使得终端可以基于密钥改变指示确定密钥,实现密钥同步,因此,可以解决终端与网络的密钥不匹配,导致无法进行正常通讯的问题,达到有效同步终端与网络之间的密钥的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种密钥的确定方法的移动终端的硬件结构框图;

图2是根据本发明实施例的密钥的确定方法的流程图(一);

图3是根据本发明实施例的密钥的确定方法的流程图(二);

图4是相关技术中的密钥同步流程图(一);

图5是相关技术中的密钥同步流程图(二);

图6是本实施例切换时as层与nas层密钥同步的流程图(一);

图7是本实施例切换时as层与nas层密钥同步的流程图(二);

图8是本实施例多接入移动更新时as层与nas层密钥同步的方案;

图9是本实施例中多接入移动更新时as层与nas层密钥同步的方案;

图10是根据本发明实施例的密钥的确定装置的结构框图(一);

图11是根据本发明实施例的密钥的确定装置的结构框图(二)。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种密钥的确定方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的密钥的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种密钥的确定方法,图2是根据本发明实施例的密钥的确定方法的流程图(一),如图2所示,该流程包括如下步骤:

步骤s202,向目标接入管理功能amf发送第二核心网密钥和密钥改变指示,以指示目标amf根据密钥改变指示通知终端确定密钥;

其中,密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;第二核心网密钥用于生成密钥,密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

通过上述步骤,由于源amf向目标amf发送第二核心网密钥和密钥改变指示,以指示目标amf将密钥改变指示通知给终端;使得终端可以基于密钥改变指示确定密钥,实现密钥同步,因此,可以解决终端与网络的密钥不匹配,导致无法进行正常通讯的问题,达到有效同步终端与网络之间的密钥的效果。

可选地,上述步骤的执行主体可以为源amf等,但不限于此。

优选地,密钥改变指示包括以下之一:第一as密钥改变指示,第一接入层as密钥改变指示和第一nas密钥改变指示,密钥同步指示,其中,密钥同步指示与第一接入层as密钥改变指示的作用相同。

需要说明的是,源amf在向目标amf发送密钥改变指示之前,终端ue通过源基站enb与源amf建立了数据连接,以实现终端与源afm之间的通信。

在一个可选的实施例中,源afm在向目标amf发送密钥改变指示之前,可以向终端发送第一安全模式命令消息(securitymodecommand消息),用于激活第二核心网密钥。

需要说明的是,在没有第一核心网密钥的情况下,第二核心网密钥就是首次生成的。在存在第一核心网密钥的情况下,第二核心网密钥基于第一核心网密钥派生。

可选地,第一安全模式命令消息中包括第一派生参数(例如上行nas信令计数值ulnascount);源afm接收终端发送的第一安全模式完成消息,其中,第一安全模式完成消息是终端基于第一派生参数派生出nas信令保护密钥之后确定的;源afm基于第一派生参数和使用的第一核心网密钥派生出第二核心网密钥;源afm通过第二核心网密钥激活nas信令保护密钥。激活nas信令保护密钥之后,即不需要向目标afm发送nas密钥改变指示,以免造成重复激活。例如:终端ue收到携带第一派生参数的第一安全模式命令消息,根据第一派生参数,使用正在使用的第一核心网密钥kamf派生出新核心网密钥kamf*(第二核心网密钥),然后再基于kamf*派生出nas信令保护密钥,终端ue向源amf发送第一安全模式完成,比如securitymodecomplete消息,源amf收到第一安全模式完成消息,也基于kamf*派生出nas信令保护密钥,从而完成新的nas信令保护密钥的激活。

在一个可选的实施例中,在切换场景下,不一定发生了安全模式命令过程,此时需要采用即有nas密钥改变指示也有as密钥改变指示的方式。即通过以下方式向目标amf发送密钥改变指示:源amf接收第一无线网元(例如源基站)发送的第一切换请求(切换请求的目的是将终端切换到新的基站上去),其中,第一切换请求用于请求切换密钥;源amf基于第一切换请求向目标amf发送第一创建终端上下文请求消息,第一创建终端上下文请求消息携带密钥改变指示,其中,第一创建终端上下文请求消息中包括第二核心网密钥、终端的上下文、密钥同步指示和第一as密钥改变指示,第一创建终端上下文请求消息还携带无线密钥,无线密钥基于第二核心网密钥生成,无线密钥为接入层as密钥,或用于生成接入层as密钥。例如:源amf向目标amf发送第一创建终端上下文请求消息(比如createuecontextrequest消息),消息中携带有源amf基于正在使用的核心网密钥kamf派生出的新核心网密钥kamf*(第二核心网密钥),ue上下文,还携带密钥同步指示;密钥同步指示通过特定字段keysyncind来指示,还可以通过第一创建终端上下文请求消息中不携带密钥改变指示,且ue上下文中的下一个链接计数(nextchaincount,ncc)值为0来指示密钥同步指示;如果源amf在该第一创建终端上下文请求消息中携带的是源amf正在使用的核心网密钥kamf,则该请求中不携带密钥同步指示(此场景中ncc>0)。

可选地,目标amf收到密钥同步指示之后,基于新核心网密钥kamf*派生出新无线接入密钥kgnb*,然后向目标基站发送切换请求(handoverrequest消息),携带新无线接入密钥kgnb*,as密钥派生改变指示(比如nsci);如果目标amf没收到密钥同步指示,则目标amf会基于ue上下文中的nh派生kgnb*,向目标gnb发送的切换请求中也不会携带as密钥派生改变指示。

可选地,目标基站基于kgnb*派生无线连接保护密钥,目标基站向目标amf发送切换响应(例如handoverresponse消息);由于目标基站收到了as密钥派生改变指示,因此切换响应中还携带as密钥派生改变指示(例如keychangeindicator)。

在一个可选的实施例中,在注册更新的场景下,源amf接收目标amf发送的第一终端上下文传输请求,然后向目标amf发送第一终端上下文传输响应消息,携带所述密钥改变指示,第一终端上下文传输响应消息中包括第二核心网密钥。第一终端上下文传输响应消息还携带无线密钥,无线密钥基于第二核心网密钥生成,无线密钥为接入层as密钥,或用于生成接入层as密钥。通过源基站向终端发送切换命令(例如handovercommand消息),其中,切换命令中包括第一as密钥改变指示(例如as密钥派生改变指示keychangeindicator),以指示终端在第一as密钥改变指示的指示下确定密钥。ue收到第一as密钥改变指示,不再基于已有的无线密钥信息派生新无线接入密钥kgnb*,而是基于新的kamf*派生新无线接入密钥kgnb*,再基于kgnb*派生出无线连接保护密钥,ue向目标基站发送切换完成消息(例如handovercomplete消息)。

在一个可选的实施例中,当密钥改变指示包括第一接入层as密钥改变指示时,第一接入层as密钥改变指示用于指示目标amf通知终端依据核心网密钥确定接入层as密钥;当密钥改变指示包括第一非接入层nas密钥改变指示时,第一非接入层nas密钥改变指示用于指示目标amf通知终端依据核心网密钥确定非接入层nas密钥。

可选地,如果ue没有收到as密钥派生改变指示,将基于已有的无线密钥信息(即ue上下文中的nh)派生kgnb*。

可选地,目标基站将与终端ue启用新的基于kgnb*的as安全,从而使得nas安全和as安全都是基于kamf*派生,以实现同步。

可选地,目标基站向目标amf发送切换通知(例如handovernotification消息)。

在本实施例中提供了一种密钥的确定方法,图3是根据本发明实施例的密钥的确定方法的流程图(二),如图3所示,该流程包括如下步骤:

步骤s302,接收源amf发送的第二核心网密钥和密钥改变指示,其中,密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;

步骤s304,根据密钥改变指示通知终端确定密钥,其中,第二核心网密钥用于生成密钥,密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

通过上述步骤,由于目标amf将密钥改变指示通知给终端,使得终端可以基于密钥改变指示确定密钥,实现密钥同步,因此,可以解决终端与网络的密钥不匹配,导致无法进行正常通讯的问题,达到有效同步终端与网络之间的密钥的效果。

可选地,上述步骤的执行主体可以为目标amf等,但不限于此。

优选地,密钥改变指示包括以下之一:第一as密钥改变指示,第一接入层as密钥改变指示和第一nas密钥改变指示,密钥同步指示。

需要说明的是,源amf在向目标amf发送密钥改变指示之前,终端ue通过源基站enb与源amf建立了数据连接,以实现终端与源afm之间的通信。

在一个可选的实施例中,目标amf通过以下方式接收源amf发送的密钥改变指示:接收源amf发送的第一创建终端上下文请求消息,携带密钥改变指示,其中,第一创建终端上下文请求消息中包括第二核心网密钥,其中,第二核心网密钥是源amf基于第一派生参数和使用的第一核心网密钥确定的;根据第二核心网密钥派生出第一无线接入密钥;可选地,第一创建终端上下文请求消息还携带无线密钥,无线密钥基于第二核心网密钥生成,无线密钥为接入层as密钥,目标amf将无线密钥传递给第二无线网元,以指示第二无线网元基于无线密钥生成接入层as密钥。例如:源amf向目标amf发送第一创建终端上下文请求消息(比如createuecontextrequest消息),消息中携带有源amf基于正在使用的核心网密钥kamf派生出的新核心网密钥kamf*(第二核心网密钥),ue上下文,还携带密钥同步指示;密钥同步指示通过特定字段keysyncind来指示,还可以通过第一创建终端上下文请求消息中不携带密钥改变指示,且ue上下文中的下一个链接计数(nextchaincount,ncc)值为0来指示密钥同步指示;如果源amf在该第一创建终端上下文请求消息中携带的是源amf正在使用的核心网密钥kamf,则该请求中不携带密钥同步指示(此场景中ncc>0)。

在一个可选的实施例中,在接收源amf发送的密钥改变指示之前,向源amf发送第一终端上下文传输请求消息;接收源amf发送的第一终端上下文传输响应消息,携带密钥改变指示,其中,第一终端上下文传输响应消息中包括第二核心网密钥。可选地,第一终端上下文传输响应消息携带无线密钥,无线密钥为接入层as密钥,基于第二核心网密钥生成,目标amf将无线密钥传递给第二无线网元(例如目标基站),以指示第二无线网元基于无线密钥生成接入层as密钥。

在一个可选的实施例中,会采用将相关信息采用透明传输的机制,即将相关信息放在一个容器中,容器通过消息携带,密钥改变指示传输到终端。在目标基站切换场景或n3iwf注册更新场景下,当接收到的密钥改变指示包括第一接入层as密钥改变指示时,向第三无线网元(例如目标基站)发送第二接入层as密钥改变指示,第二接入层as密钥改变指示用于指示第三无线网元通知终端依据核心网密钥确定接入层as密钥;

在目标基站切换或源基站注册更新的场景下,当接收到的密钥改变指示包括第一非接入层nas密钥改变指示时,通过第三无线网元向终端发送第二非接入层nas密钥改变指示,第二非接入层nas密钥改变指示用于指示终端依据核心网密钥确定非接入层nas密钥。

可选地,目标amf向源amf发送第二创建终端上下文响应消息(例如createuecontextresponse消息),携带as密钥派生改变指示(keychangeindicator)和派生参数,还可携带第一nas密钥改变指示。

可选地,ue收到nas密钥改变指示或派生参数,使用正在使用的核心网密钥kamf和收到的派生参数派生出新核心网密钥kamf*,然后再基于kamf*派生出nas信令保护密钥,ue收到as密钥派生改变指示,不再基于已有的无线密钥信息派生新无线接入密钥kgnb*,而是基于新的kamf*派生新无线接入密钥kgnb*,再基于kgnb*派生出无线连接保护密钥,ue向目标基站发送切换完成,比如发送handovercomplete消息。因此,目标基站和amf将与终端ue启用新的基于kgnb*的as安全和基于kamf*的nas安全,而kgnb*也基于kamf*派生,从而使得nas安全和as安全都是基于kamf*派生,以实现同步。

可选地,目标基站向目标amf发送切换通知(例如:handovernotification消息)。

为更好的理解本发明,下面针对具体实施例对本发明进行详细说明:

图4是相关技术中的密钥同步流程图(一),如图4所示,具体包括以下内容:

s401:终端ue通过源基站与源amf建立了数据连接;

s402:源基站向源amf发送切换要求,比如发送handoverrequired消息;

s403:源amf向目标amf发送创建终端上下文请求,比如发送createuecontextrequest消息,源amf可以在该请求中携带正在使用的核心网密钥kamf、ue上下文,此时该请求不携带密钥改变指示。本实施例为源amf在携带有源amf基于正在使用的核心网密钥kamf派生出的核心网密钥kamf*(新密钥)、ue上下文,此时该请求还携带密钥改变指示,比如keyamfchangeind;

s404:目标amf收到密钥改变指示,得知收到的核心网密钥是新密钥,于是基于新核心网密钥kamf*派生出nas信令保护密钥和新无线接入密钥kgnb*,然后向目标gnb发送切换请求,比如发送handoverrequest消息,携带新无线接入密钥kgnb*,nas密钥改变指示(比如k_amf_change_flag),as密钥派生改变指示(比如nsci),目标amf基于切换过程,判断kamf*的派生参数为下行nas信令计数值(dlnascount),于是还携带ue上下文中的dlnascount;

如果目标amf没有收到密钥改变指示,则目标amf不派生新的nas信令保护密钥,并基于下一跳(nexthop,nh)派生新无线接入密钥kgnb*,而非基于收到的核心网密钥派生新无线接入密钥,向目标gnb发送的切换请求中只携带kgnb*。

s405:目标基站基于kgnb*派生无线连接保护密钥,目标基站向目标amf发送切换响应,比如发送handoverresponse消息,携带核心网密钥派生参数(dlnascount),nas密钥改变指示(k_amf_change_flag),as密钥派生改变指示(例如keychangeindicator);

s406:目标amf向源amf发送创建终端上下文响应,比如发送createuecontextresponse消息,携带核心网密钥派生参数(dlnascount),nas密钥改变指示(k_amf_change_flag),as密钥派生改变指示(keychangeindicator);

s407:源amf通过源基站向ue发送切换命令,比如发送handovercommand消息,携带核心网密钥派生参数dlnascount,nas密钥改变指示k_amf_change_flag,as密钥派生改变指示keychangeindicator;

s408:ue收到nas密钥改变指示,根据核心网密钥派生参数,使用正在使用的核心网密钥kamf派生出新核心网密钥kamf*,然后再基于kamf*派生出nas信令保护密钥,ue收到as密钥派生改变指示,不再基于已有的无线密钥信息派生新无线接入密钥kgnb*,而是基于新的kamf*派生新无线接入密钥kgnb*,再基于kgnb*派生出无线连接保护密钥,ue向目标基站发送切换完成,比如发送handovercomplete消息;

s409:目标基站向目标amf发送切换通知,比如发送handovernotification消息。

至此,ue完成切换,并且和目标基站、目标amf互相使用新的密钥保护通讯。

图5是相关技术中的密钥同步流程图(二),如图5所示,具体包括以下内容:

s501:终端ue通过源基站与源amf建立了数据连接;

s502:源amf决定激活新的密钥集合(含nas密钥和as密钥),于是基于正在使用的核心网密钥kamf派生出的新密钥kamf*,源amf先激活新的nas信令保护密钥,即向终端ue发送安全模式命令,比如发送securitymodecommand消息,消息携带派生参数,比如上行nas信令计数值(ulnascount);

s503:终端ue收到携带派生参数的安全模式命令消息,根据派生参数,使用正在使用的核心网密钥kamf派生出新核心网密钥kamf*,然后再基于kamf*派生出nas信令保护密钥,终端ue向源amf发送安全模式完成,比如发送securitymodecomplete消息,源amf收到安全模式完成,也基于kamf*派生出nas信令保护密钥,从而完成新的nas信令保护密钥的激活,源amf尚未来得及触发新as保护密钥的激活即收到后续的来自源gnb的切换请求;

s504~s511:与图4的s402~s409相同。

从以上方法中可以看出,在amf执行密钥更新的过程中如果发生切换,ue将会先基于kamf派生出kamf*,然后在收到切换命令后,因其中携带有nas密钥改变指示,于是再基于kamf*和dlnascount派生出kamf**,而后nas密钥和as密钥都基于kamf**派生,而网络中目标amf的nas密钥基于kamf*派生,目标gnb的无线密钥也基于kamf*派生,导致ue和网络的密钥不匹配,无法正常通讯。

针对相关技术中的问题,本实施例提供了一种接入层与非接入层密钥同步的方法和装置,使得ue和网络的nas密钥和as密钥能够在切换过程中正常同步。

图6是本实施例切换时as层与nas层密钥同步的流程图(一),如图6所示,包括以下步骤:

s601~s604,与图5中的步骤s501~s504相同;

本实施例中,步骤603~604不一定携带派生参数,比如在步骤603前执行了认证过程。

s605:源amf向目标amf发送创建终端上下文请求,比如发送createuecontextrequest消息,携带有源amf的新核心网密钥kamf*(可以基于正在使用的核心网密钥kamf派生,也可以是认证过程中重新生成的),ue上下文,还携带密钥同步指示,比如通过特定字段keysyncind来指示,还可以通过消息中不携带密钥改变指示,且ue上下文中的下一个链接计数(nextchaincount,ncc)值为0来指示;

可选地,源amf还可以基于kamf*计算出新的无线密钥,比如nh,通过该消息携带发送给目标amf。

如果源amf在该请求中携带的是源amf正在使用的核心网密钥kamf,则该请求中不携带密钥同步指示(此场景中ncc>0)。

s606:目标amf收到密钥同步指示,于是基于新核心网密钥kamf*派生出新无线密钥kgnb*,然后向目标gnb发送切换请求,比如发送handoverrequest消息,携带新无线接入密钥kgnb*,as密钥派生改变指示(比如nsci);

可选地,目标amf不计算kgnb*,而是直接将接收到的来自源amf的无线密钥作为kgnb*通过切换请求发送给目标gnb。目标amf可能会基于其他判断条件决定更新非接入层密钥,比如目标amf决定修改加密好完保算法,区别于现有技术,此操作与密钥同步指示无关,现有技术的指示要求目标amf必须基于指示同时更新接入层密钥和非接入层密钥。

如果目标amf没收到密钥同步指示,则目标amf会基于ue上下文中的nh派生kgnb*,向目标gnb发送的切换请求中也不会携带as密钥派生改变指示。

s607:目标gnb基于kgnb*派生接入层as密钥,目标基站向目标amf发送切换响应,比如发送handoverresponse消息,此实施例中,目标gnb收到了as密钥派生改变指示,因此切换响应中还携带as密钥派生改变指示(比如keychangeindicator);

s608:目标amf向源amf发送创建终端上下文响应,比如发送createuecontextresponse消息,携带收到的as密钥派生改变指示keychangeindicator;

s609:源amf通过源基站向ue发送切换命令,比如发送handovercommand消息,携带收到的as密钥派生改变指示keychangeindicator;

s610:ue收到as密钥改变指示,不再基于已有的无线密钥信息派生新无线密钥kgnb*,而是基于新的kamf*派生新无线密钥kgnb*,再基于kgnb*派生出接入层as密钥,ue向目标基站发送切换完成,比如发送handovercomplete消息;

如果ue没有收到as密钥派生改变指示,将基于已有的无线密钥信息(即ue上下文中的nh)派生kgnb*。

至此,目标基站将与终端ue启用新的基于kgnb*的as安全,从而使得nas安全和as安全都是基于kamf*派生,以实现同步。

s611:目标基站向目标amf发送切换通知,比如发送handovernotification消息。

图7是本实施例切换时as层与nas层密钥同步的流程图(二),如图7所示,包括以下步骤:

s701~s702:与图5的步骤s501~s502相同;

s703:源amf向目标amf发送创建终端上下文请求,比如发送createuecontextrequest消息,此实施例中,该请求携带有源amf基于正在使用的核心网密钥kamf派生出的新核心网密钥kamf*,ue上下文,还携带nas密钥改变指示,比如keyamfchangeind(作用与现有技术有区别,现有技术的作用是指示nas密钥改变和as密钥改变),as密钥改变指示,比如通过特定字段keyaschangeind来指示,还可以通过ue上下文中的下一个链接计数(nextchaincount,ncc)值为0来指示;

可选地,源amf还可以基于kamf*计算出新的无线密钥,比如nh,通过该消息携带发送给目标amf。

s704:目标amf收到nas密钥改变指示,于是基于新核心网密钥kamf*派生出非接入层nas密钥,目标amf收到as密钥改变指示,于是基于新核心网密钥kamf*派生出新无线密钥kgnb*,而非基于ue上下文中的无线密钥信息(即nh)派生kgnb*,然后向目标gnb发送切换请求,比如发送handoverrequest消息,携带新无线密钥kgnb*,as密钥改变指示(比如nsci),目标amf基于切换过程,判断kamf*的派生参数为下行nas信令计数值(dlnascount),于是还携带ue上下文中的dlnascount(本身亦可作为nas密钥改变指示),目标amf还可在该切换请求中携带nas密钥改变指示(比如k_amf_change_flag);

可选地,目标amf不计算kgnb*,而是直接将接收到的来自源amf的无线密钥作为kgnb*通过切换请求发送给目标gnb。

s705:目标基站基于kgnb*派生接入层as密钥,目标基站向目标amf发送切换响应,比如发送handoverresponse消息,携带as密钥改变指示(比如keychangeindicator)和派生参数dlnascount(本身亦可作为nas密钥改变指示),还可携带nas密钥改变指示;

s706:目标amf向源amf发送创建终端上下文响应,比如发送createuecontextresponse消息,携带as密钥派生改变指示keychangeindicator和派生参数,还可携带nas密钥改变指示;

s707:源amf通过源基站向ue发送切换命令,比如发送handovercommand消息,携带as密钥派生改变指示keychangeindicator和派生参数,还可携带nas密钥改变指示;

s708:ue收到nas密钥改变指示或派生参数,使用正在使用的核心网密钥kamf和收到的派生参数派生出新核心网密钥kamf*,然后再基于kamf*派生出非接入层nas密钥,ue收到as密钥派生改变指示,不再基于已有的无线密钥信息派生新无线密钥kgnb*,而是基于新的kamf*派生新无线密钥kgnb*,再基于kgnb*派生出接入层as密钥,ue向目标基站发送切换完成,比如发送handovercomplete消息;

至此,目标基站和amf将与终端ue启用新的基于kgnb*的as安全和基于kamf*的nas安全,而kgnb*也基于kamf*派生,从而使得nas安全和as安全都是基于kamf*派生,以实现同步。

s709:目标基站向目标amf发送切换通知,比如发送handovernotification消息。

图8是本实施例多接入移动更新时as层与nas层密钥同步的方案:包括如下步骤:

s801:终端ue通过无线wifi和非3gpp交互功能(non-3gppinterworkingfunction,n3iwf)与源amf建立数据连接,终端ue可能同时还通源基站(图中未标出)与源amf建立数据连接;

s802:终端ue发送移动,移动到目标gnb的覆盖下,于是通过目标gnb向目标amf发生注册请求,比如发生registrationrequest消息;

s803:目标amf向源amf发生上下文转移请求,比如发生transferuecontextrequest消息;

s804:源amf向目标amf发送上下文转移响应,比如发送transferuecontextresponse消息,此实施例中,该请求携带有源amf基于正在使用的核心网密钥kamf派生出的新核心网密钥kamf*,ue上下文,还携带nas密钥改变指示,比如keyamfchangeind,as密钥改变指示,比如通过特定字段keyaschangeind来指示,还可以通过ue上下文中的下一个链接计数(nextchaincount——ncc)值为0来指示;

可选地,源amf还可以基于kamf*计算出新的无线密钥,比如nh,通过该消息携带发送给目标amf。

s805:目标amf收到nas密钥改变指示,于是基于新核心网密钥kamf*派生出非接入层nas密钥,并向终端ue发送安全模式命令以激活新nas信令保护密钥,比如发生securitymodecommand消息,目标amf基于上下文转移过程,判断kamf*的派生参数为上行nas信令计数值(ulnascount),于是安全模式命令还携带ue上下文中的ulnascount(本身即可作为nas密钥改变指示);

s806:ue收到携带派生参数的安全模式命令,使用正在使用的核心网密钥kamf和收到的派生参数派生出新核心网密钥kamf*,然后再基于kamf*派生出非接入层nas密钥,ue向目标amf发送安全模式完成,比如发送securitymoecomplete消息;

s807:目标amf可选的向目标基站发送基站安全激活,比如发送initiateuecontext消息,携带无线密钥kgnb,该无线密钥基于收到的核心网密钥(本实施例中为kamf*)派生;该步骤与as密钥改变指示无关。

可选地,目标amf不计算kgnb,而是直接将接收到的来自源amf的无线密钥作为kgnb通过基站安全激活发送给目标基站。

s808:目标amf收到as密钥改变指示,于是基于收到的核心网密钥kamf*派生出新n3iwf密钥kn3iwf*(即接入层as密钥),然后向n3iwf发送n3iwf安全激活(消息本身即可作为as密钥改变指示),比如发送initialuecontext消息,携带新kn3iwf*,n3iwf将与终端ue交互以启用新的基于kn3iwf*的as安全(交互过程中n3iwf发给ue的消息本身即可作为as密钥改变指示),从而使得nas安全和as安全都是基于kamf*派生,以实现同步;

如果目标amf没有收到as密钥改变指示,则不会执行此步骤。

s809:目标amf通过目标基站向终端ue发送注册接受,比如发送registrationaccept消息。

图9是本实施例中多接入移动更新时as层与nas层密钥同步的方案,包括如下步骤:

s901:终端ue通过无线wifi和非3gpp交互功能(non-3gppinterworkingfunction,n3iwf)与源amf建立数据连接,终端ue可能同时还通源基站与源amf建立数据连接;

s902:源amf决定激活新密钥,于是通过n3iwf向终端ue发送安全模式命令,比如发送securitymodecommand消息,可以携带派生参数;

本实施例中,步骤902不一定携带派生参数,比如在步骤902前执行了认证过程。

s903:ue收到携带派生参数的安全模式命令,一种实施例为ue没有新kamf,则使用正在使用的核心网密钥kamf和收到的派生参数派生出新核心网密钥kamf*。另一种实施例为ue有新kamf*,比如之前执行了认证过程,则不再派生。然后ue基于kamf*派生出非接入层nas密钥,ue向目标amf发送安全模式完成,比如发送securitymoecomplete消息;

s904:终端ue发生移动,移动到目标gnb的覆盖下,于是通过目标gnb向目标amf发送注册请求,比如发生registrationrequest消息;

s905:目标amf向源amf发生上下文转移请求,比如发生transferuecontextrequest消息;

s906:源amf向目标amf发送上下文转移响应,比如发送transferuecontextresponse消息,该请求携带有源amf的新核心网密钥kamf*,ue上下文,还携带密钥同步指示,比如通过特定字段keysyncind来指示,还可以通过消息中不携带密钥改变指示(作用与现有技术中的keyamfchangeind相同),且ue上下文中的下一个链接计数(nextchaincount,ncc)值为0来指示;

可选地,该上下文转移响应携带as密钥改变指示,比如通过特定字段keyaschangeind来指示,还可以通过ue上下文中的下一个链接计数(nextchaincount,ncc)值为0来指示;

可选地,源amf还可以基于kamf*计算出新的无线密钥,比如nh,通过该消息携带发送给目标amf。

s907:目标amf没有收到nas密钥改变指示或密钥改变指示,于是不发送安全模式命令,目标amf可选的向目标基站发送基站安全激活,比如发送initiateuecontext消息,携带无线密钥kgnb,该无线密钥基于收到的核心网密钥(本实施例为kamf*)派生;

该步骤与as密钥改变指示无关。目标amf可能会基于其他判断条件决定更新非接入层密钥,比如目标amf决定修改加密或完保算法,此操作区别于现有技术要求目标amf必须基于指示同时更新接入层密钥和非接入层密钥。

可选地,目标amf不计算kgnb,而是直接将接收到的来自源amf的无线密钥作为kgnb通过基站安全激活发送给目标基站。

s908:目标amf收到as密钥改变指示,于是基于收到的核心网密钥kamf*派生出新n3iwf密钥kn3iwf*(即接入层as密钥),然后向n3iwf发送n3iwf安全激活(消息本身即可作为as密钥改变指示),比如发送initialuecontext消息,携带新kn3iwf*,n3iwf将与终端ue交互启用新的基于kn3iwf*的as安全(交互过程中n3iwf发给ue的消息本身即可作为as密钥改变指示),从而使得nas安全和as安全都是基于kamf*派生,以实现同步;

如果目标amf没有收到as密钥改变指示,则不会执行此步骤。

s909:目标amf通过目标基站向终端ue发送注册接受,比如发送registrationaccept消息。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种密钥的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图10是根据本发明实施例的密钥的确定装置的结构框图(一),如图10所示,该装置包括:发送模块1002,下面对该装置进行详细说明:

发送模块1002,用于向目标接入管理功能amf发送第二核心网密钥和密钥改变指示,以指示目标amf根据密钥改变指示通知终端确定密钥;

其中,密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;第二核心网密钥用于生成所述密钥,密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

在一个可选的实施例中,向目标amf发送密钥改变指示之前,上述装置还用于:向终端发送第一安全模式命令消息以激活第二核心网密钥;接收终端发送的第一安全模式完成消息。

在一个可选的实施例中,第二核心网密钥基于第一核心网密钥派生,其中,第一核心网密钥先于第二核心网密钥生成。

在一个可选的实施例中,通过以下方式向目标amf发送密钥改变指示:接收第一无线网元发送的第一切换请求;向目标amf发送第一创建终端上下文请求消息,携带密钥改变指示,其中,第一创建终端上下文请求消息中包括第二核心网密钥。

在一个可选的实施例中,第一创建终端上下文请求消息携带无线密钥,其中,无线密钥基于第二核心网密钥生成,无线密钥为接入层as密钥,或用于生成接入层as密钥。

在一个可选的实施例中,通过以下方式向目标amf发送密钥改变指示:接收目标amf发送的第一终端上下文传输请求;向目标amf发送第一终端上下文传输响应消息,携带密钥改变指示,其中,第一终端上下文传输响应消息中包括第二核心网密钥。

在一个可选的实施例中,第一终端上下文传输响应消息携带无线密钥,其中,无线密钥基于第二核心网密钥生成,无线密钥为接入层as密钥,或用于生成接入层as密钥。

在一个可选的实施例中,当密钥改变指示包括第一接入层as密钥改变指示时,第一接入层as密钥改变指示用于指示目标amf通知终端依据核心网密钥确定接入层as密钥;当密钥改变指示包括第一非接入层nas密钥改变指示时,第一非接入层nas密钥改变指示用于指示目标amf通知终端依据核心网密钥确定非接入层nas密钥。

图11是根据本发明实施例的密钥的确定装置的结构框图(二),如图11所示,该装置包括:接收模块1102和确定模块1104,下面对该装置进行详细说明:

接收模块1102,用于接收源amf发送的第二核心网密钥和密钥改变指示,其中,所述密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;

确定模块1104,连接至上述中的接收模块1102,用于根据所述密钥改变指示通知终端确定密钥,其中,第二核心网密钥用于生成密钥,密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

在一个可选的实施例中,通过以下方式接收源amf发送的密钥改变指示:接收源amf发送的第一创建终端上下文请求消息,携带密钥改变指示,其中,第一创建终端上下文请求消息中包括第二核心网密钥。

在一个可选的实施例中,第一创建终端上下文请求消息携带,无线密钥为接入层as密钥,无线密钥基于所述第二核心网密钥生成;目标amf将无线密钥传递给第二无线网元,以指示第二无线网元基于无线密钥生成接入层as密钥。

在一个可选的实施例中,在接收源amf发送的密钥改变指示之前,上述装置还包括:传输模块,用于向源amf发送第一终端上下文传输请求消息;第一处理模块,用于接收源amf发送的第一终端上下文传输响应消息,携带密钥改变指示,其中,第一终端上下文传输响应消息中包括第二核心网密钥。

在一个可选的实施例中,第一终端上下文传输响应消息携带无线密钥,无线密钥基于所述第二核心网密钥生成,无线密钥为接入层as密钥,目标amf将无线密钥传递给第二无线网元,以指示第二无线网元基于无线密钥生成接入层as密钥。

在一个可选的实施例中,上述装置还包括以下之一:第二处理模块,用于接收到第一接入层as密钥改变指示,向第三无线网元发送第二接入层as密钥改变指示,第二接入层as密钥改变指示用于指示第三无线网元通知终端依据核心网密钥确定接入层as密钥;第三处理模块,用于接收到第一非接入层nas密钥改变指示,通过第三无线网元向终端发送第二非接入层nas密钥改变指示,第二非接入层nas密钥改变指示用于指示终端依据核心网密钥确定非接入层nas密钥。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,向目标接入管理功能amf发送第二核心网密钥和密钥改变指示,以指示目标amf根据密钥改变指示通知终端确定密钥。

可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:

s1,接收源amf发送的第二核心网密钥和密钥改变指示,其中,所述密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;

s2,根据所述密钥改变指示通知终端确定密钥,其中,第二核心网密钥用于生成密钥,密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,向目标接入管理功能amf发送第二核心网密钥和密钥改变指示,以指示目标amf根据密钥改变指示通知终端确定密钥。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,接收源amf发送的第二核心网密钥和密钥改变指示,其中,所述密钥改变指示包括以下至少之一:第一接入层as密钥改变指示,第一非接入层nas密钥改变指示;

s2,根据所述密钥改变指示通知终端确定密钥,其中,第二核心网密钥用于生成密钥,密钥包括以下至少之一:接入层as密钥,非接入层nas密钥。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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