锚密钥生成方法、设备以及系统与流程

文档序号:15929476发布日期:2018-11-14 01:28阅读:182来源:国知局
本发明涉及通信领域,尤其涉及一种锚密钥生成方法、设备以及系统。
背景技术
密钥是加密运算和解密运算的关键,也是密码系统的关键,所以,在信息安全系统中,密钥协商是认证流程中的重要一环。在现有的4g系统中,密钥协商过程如图1所示,该流程的执行需要的网元包括用户设备(userequipment,ue)、基站(enodeb)、移动性管理实体(mobilitymanagemententity,mme)、归属签约用户服务器(homesubscriberserver,hss)以及鉴权中心(authenticationcenter,auc)等,执行流程大致如下:步骤1:auc根据根密钥k生成完整性密钥ik以及保密性密钥ck,并将完整性密钥ik以及保密性密钥ck发送给hss。相应地,hss接收auc发送的完整性密钥ik以及保密性密钥ck。步骤2:hss根据完整性密钥ik以及保密性密钥ck生成中间密钥kasme,并将中间密钥kasme发送给mme。相应地,mme接收hss发送的中间密钥kasme。步骤3:mme根据中间密钥kasme生成用于对非接入层(nonaccessstratum,nas)消息进行保密性保护的nas完整性密钥knasenc,以及,进行完整性保护的nas完整性保护密钥knasint。步骤4:mme根据中间密钥kasme生成基站密钥kenb,并将基站密钥kenb发送给enodeb。相应地,enodeb接收mme发送的基站密钥kenb。步骤5:enodeb根据基站密钥kenb分别生成用于对用户面数据的保密性进行保护的用户面保密性密钥kupenc,用于对用户面数据的完整性进行保护的用户面完整性密钥kupint,用于对控制面数据的保密性进行保护的控制面保密性密钥krrcenc,用于对控制面数据的完整性进行保护的控制面完整性密钥krrcint。步骤6:ue根据根密钥k自行生成完整性密钥ik、保密性密钥ck、中间密钥kasme、用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint。经过图1所述的密钥协商流程之后,4g系统中将生成如图2所示的密钥架构。可以理解,图1是4g应用场景中,终端通过第三代合作伙伴计划(3rdgenerationpartnershipproject,3gpp)的接入方式接入到核心网的流程中的密钥协商流程。为了适应各种应用场景的要求,终端可以通过各种不同的接入方式接入到核心网,例如,3gpp接入方式、可靠的非3gpp接入方式,非可靠的3gpp接入方式等等,在不同的接入方式中,密钥协商流程也各不相同。为了能够兼容各种接入方式,在5g标准中,明确规定了需要在不同的接入方式的密钥协商流程中生成一个统一的锚密钥(anchorkey)。但是,如何生成一个统一的锚密钥是本领域的技术人员需要解决的问题。技术实现要素:本申请实施例提供了一种锚密钥生成方法、设备以及系统,能够为不同的接入方式生成统一的锚密钥,并且实现了将不同接入方式的锚密钥,以及基于锚密钥生成的下层密钥进行隔离。第一方面,提供了一种锚密钥生成方法,包括:第一通讯设备接收第二通讯设备发送指示标识,其中,所述指示标识用于指示终端的接入方式;所述第一通讯设备向第三通讯设备发送所述指示标识;所述第一通讯设备接收所述第三通讯设备返回的中间密钥,其中,所述中间密钥是根据所述指示标识生成的;所述第一通讯设备根据所述中间密钥生成锚密钥,其中,所述锚密钥对应所述终端的接入方式;所述第一通讯设备将所述锚密钥发送给所述第二通讯设备,以供所述第二通讯设备根据所述锚密钥为所述接入方式推衍下层密钥。在一些可能的实施方式中,所述接入方式是根据接入类型以及运营商类型中的至少一个进行区分的。在一些可能的实施方式中,所述第一通讯设备根据所述中间密钥生成锚密钥具体为:所述第一通讯设备根据以下公式生成锚密钥,anchorkey=kdf(ik1’||ck1’)其中,anchorkey为所述锚密钥,(ik1’,ck1’)为所述中间钥匙,ik1’为中间完整性密钥,ck1’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来。所述第一通讯设备至少可以根据以下两种方式生成中间密钥:当所述指示标识包括接入类型标识以及运营商类型标识时,所述中间密钥是根据以下公式生成的:其中,所述接入类型标识用于指示所述接入类型,所述运营商类型标识用于指示所述运营商类型;(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。当所述指示标识是nai时,所述中间密钥是根据以下公式生成的:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,nai为所述指示标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在一些可能的实施方式中,所述第一通讯设备根据以下公式生成所述中间密钥:其中,(ck2’,ik2’)为所述中间密钥,ck2’为所述中间保密性密钥,ik2’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。所述第一通讯设备根据以下公式生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;所述第一通讯设备根据以下公式生成锚密钥,anchorkey=kdf(emsk’,snt);其中,anchorkey为所述锚密钥,snt为所述运营商类型标识。在一些可能的实施方式中,所述第一通讯设备根据以下公式生成所述中间密钥:其中,(ck2’,ik2’)为所述中间密钥,ck2’为所述中间保密性密钥,ik2’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。所述第一通讯设备根据以下公式生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;所述第一通讯设备根据以下公式生成锚密钥,anchorkey=kdf(emsk’,ant);其中,anchorkey为所述锚密钥,ant为所述接入类型标识。第二方面,提供了一种通讯设备,包括:接收模块、发送模块以及生成模块,所述接收模块用于接收第二通讯设备发送指示标识,其中,所述指示标识用于指示终端的接入方式;所述发送模块用于向第三通讯设备发送所述指示标识;所述接收模块用于接收所述第三通讯设备返回的中间密钥,其中,所述中间密钥是根据所述指示标识生成的;所述生成模块用于根据所述中间密钥生成锚密钥,其中,所述锚密钥对应所述终端的接入方式;所述发送模块用于将所述锚密钥发送给所述第二通讯设备,以供所述第二通讯设备根据所述锚密钥为所述接入方式推衍下层密钥。在一些可能的实施方式中,所述接入方式是根据接入类型以及运营商类型中的至少一个进行区分的。在一些可能的实施方式中,所述生成模块用于根据以下公式生成锚密钥,anchorkey=kdf(ik1’||ck1’)其中,anchorkey为所述锚密钥,(ik1’,ck1’)为所述中间钥匙,ik1’为中间完整性密钥,ck1’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来。所述第一通讯设备至少可以根据以下两种方式生成中间密钥:当所述指示标识包括接入类型标识以及运营商类型标识时,所述生成模块用于根据以下公式生成的:其中,所述接入类型标识用于指示所述接入类型,所述运营商类型标识用于指示所述运营商类型,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。当所述指示标识是nai时,所述生成模块用于根据以下公式生成的:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,nai为所述指示标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在一些可能的实施方式中,生成模块用于根据以下公式生成的:其中,(ck2’,ik2’)为所述中间密钥,ck2’为所述中间保密性密钥,ik2’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。所述生成模块用于根据以下公式生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;所述生成模块用于根据以下公式生成锚密钥,anchorkey=kdf(emsk’,snt);其中,anchorkey为所述锚密钥,snt为所述运营商类型标识。在一些可能的实施方式中,所述生成模块用于根据以下公式生成的:其中,(ck2’,ik2’)为所述中间密钥,ck2’为所述中间保密性密钥,ik2’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。所述生成模块用于根据以下公式生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;所述生成模块用于根据以下公式生成锚密钥,anchorkey=kdf(emsk’,ant);其中,anchorkey为所述锚密钥,ant为所述接入类型标识。第三方面,提供了一种通讯设备,包括:存储器以及与所述存储器耦合的处理器、通信模块,其中:所述通信模块用于发送或者接收外部发送的数据,所述存储器用于存储第一方面描述的方法的实现代码,所述处理器用于执行所述存储器中存储的程序代码,即执行第一方面描述的方法。第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。第六方面,提供了一种通信系统,包括相互连接的接入和移动性控制功能网元、会话管理网元、认证服务器以及统一数据管理网元,其中,所述认证服务器为如权利要求第二方面或者第三方面任一项所述的认证服务器。附图说明为了更清楚地说明本发明实施例或
背景技术
中的技术方案,下面将对本发明实施例或
背景技术
中所需要使用的附图进行说明。图1是现有技术提供的一种4g应用场景中通过3gpp接入方式中密钥协商的流程示意图;图2是图1所示的密钥协商的流程的密钥架构图;图3是本申请实施例涉及的通过3gpp接入方式接入5g核心网的网络架构图;图4是本申请实施例涉及的通过非3gpp接入方式接入5g核心网的网络架构图;图5是本申请实施例提供的第一种锚密钥生成方法的交互图;图6a至6b分别是图5所示的锚密钥生成方法中采用3gpp方式接入以及非3gpp方式接入时的具体交互图;图7是使用图5所示的锚密钥生成方法得到的密钥架构图;图8是本申请实施例提供的第二种锚密钥生成方法的交互图;图9是本申请实施例提供的第三种锚密钥生成方法的交互图;图10是使用图9所示的锚密钥生成方法得到的密钥架构图;图11是本申请实施例提供的第四种锚密钥生成方法的交互图;图12是使用图11所示的锚密钥生成方法得到的密钥架构图;图13是是本申请实施例提供的第五种锚密钥生成方法的交互图;图14a至14b分别是图13所示的锚密钥生成方法中采用3gpp方式接入以及非3gpp方式接入时的具体交互图;图15是使用图13所示的锚密钥生成方法得到的密钥架构图;图16是本申请实施例提供的第六种锚密钥生成方法的交互图;图17a至17b分别是图16所示的锚密钥生成方法中采用3gpp方式接入以及非3gpp方式接入时的具体交互图;图18是使用图16所示的锚密钥生成方法得到的密钥架构图;图19是本申请实施例提供的第七种锚密钥生成方法的交互图;图20是使用图19所示的锚密钥生成方法得到的密钥架构图;图21是本申请实施例提供的一种通讯设备的结构示意图;图22是本申请实施例提供的另一种通讯设备的结构示意图。具体实施方式下面结合附图以及具体的实施例对本申请的多个实施例分别进行介绍。图3是本申请实施例涉及的一种网络架构图,其中,这种网络架构主要适用于通过3gpp方式接入5g核心网的场景。图4是本申请实施例涉及的另一种网络架构图,其中,这种网络架构主要适用于通过非3gpp方式接入5g核心网的场景。图3和图4所示的网络架构均包括与密钥协商相关的网元:终端(terminal)、接入节点(accessnode,an)(即图2中的n3iwf)、接入和移动性控制功能网元(accessandmobilityfunction,amf)、会话管理网元(sessionmanagementfunction,smf)、认证服务器(authenticationserverfunction,ausf)以及统一数据管理网元(unifieddatamanagement,udm)。需要说明的是,amf中可以部署安全锚点(securityanchorfunction,seaf),udm中可以部署认证信任状存储和操作功能网元(authenticationcredentialrepositoryandprocessingfunction,arpf)。当然,seaf也可以不部署在amf中,而是seaf与amf两者单独部署。类似地,arpf也可以不部署在udm中,而是arpf与udm两者单独部署。下面分别对密钥协商相关的网元(终端、an、amf、smf、ausf以及udm)分别进行简单的介绍。终端,具体可以是ue(userequipment),通信设备(communicationdevice)物联网(internetofthings,iot)设备中的任意一种。其中,用户设备可以是智能手机(smartphone)、智能手表(smartwatch),智能平板等等。通信设备可以是服务器、网关(gateway,gw)、基站以及控制器等等。物联网设备可以是传感器,电表以及水表等等。an,可以是无线接入点,例如:基站、wi-fi接入点(wirelessfidelity,无线保真)以及蓝牙接入点等等,也可以是有线接入点,例如:网关,调制解调器,光纤接入,ip接入等等。amf,负责接入控制和移动性管理,也是非接入层(non-accessstratum,nas)信令的转发和处理节点。smf,用于执行会话、切片、流flow或者承载bearer的建立和管理,后续可以称执行该会话管理网元的功能的物理实体为会话管理设备或者sm。其中切片、流flow或者承载bearer的建立和管理由移动性管理网元负责。ausf,负责密钥的生成、管理和协商。ausf可以作为一个独立的逻辑功能实体单独部署,也可以集合在移动性管理(mobilitymanagement)网元,也就是amf、会话管理网元smf等设备中,可能是epsaka也可能是eapaka’的认证节点,或者其他认证协议的节点。udm,统一的数据管理,主要包括两部分,一部分为业务或者应用的前端,一部分为用户数据库。具体来说,包括信任状的处理、位置管理、签约数据管理、策略控制等,同时也包括这些相关处理的信息存储。seaf,作为安全认证功能的节点,可能是epsaka也可能是eapaka’的认证节点,或者其他认证协议的节点;例如认证过程是epsaka的情况下,seaf将接收中间密钥kasme。arpf,存储安全信任状并使用安全信任状执行安全相关的操作,比如生成密钥,存储安全的文件。arpf应该部署在一个物理安全的位置,同时可以与ausf交互。在实际部署中,arpf可能是udm的一个模块或者作为一个单独的网络实体并与udm部署在一起。需要说明的是,图3以及图4中体现的是各个网元之间的逻辑关系,在实际中,有些网元可以单独部署,也可以两两或多个网元集成部署在一个实体中。为了能够为不同的接入方式生成统一的锚密钥,本申请实施例提供了一种锚密钥生成方法。上述方法除了能够生成统一的锚密钥之外,还能够将不同接入方式的锚密钥以及基于锚密钥生成的下层密钥进行隔离。如图5所示,本申请实施例提供了第一种锚密钥生成方法。在本实施例中,ausf即为权利要求中的第一通讯设备,amf或者seaf即为权利要求中的第二通讯设备,arpf即为权利要求中的第三通讯设备。该方法可以基于图3以及图4所示的网络架构来实现,该方法包括但不限于如下步骤。101:ue向an发送终端标识。相应地,an接收ue发送的终端标识。在本申请实施例中,终端标识可以是固定不变的标识,例如,媒体访问控制(mediaaccesscontrol,mac)地址、网络协议(internetprotocol,ip)地址、手机号码、国际移动设备标识(internationalmobileequipmentidentity,imei)、国际移动用户识别码(internationalmobilesubscriberidentity,imsi)、ip多媒体私有标识(ipmultimediaprivateidentity,impi)、ip多媒体公共标识(ipmultimediapublicidentity,impu)等等,也可以是临时分配的标识,例如,临时移动用户标识符(temporarymobilesubscriberidentity,tmsi)、全球唯一临时ue标识(globallyuniquetemporaryueidentity,guti)等等。可以理解,除了终端标识之外,ue还可以将接入网参数、注册类型、安全参数、ue的5g网络能力,pdusession的状态等至少一种发送给an。其中,接入网参数为可能为接入网的频点,临时用户标识,nssai等与服务网络相关的参数。注册类型为可以表明用户是初次注册、由于移动引起的注册、周期性注册更新等区分用户注册的行为。安全参数为认证和完整性保护相关的参数。nssai为网络切片选择辅助信息。ue的5g网络能力可能包括支持接入该网络的配置能力。pdusession为ue和数据网络之间的pdu的业务连接,类型可能为ip、以太网的业务连接。102:an向amf(或者seaf)发送终端标识以及指示标识。相应地,amf(或者seaf)接收an发送的终端标识以及指示标识。在本申请实施例中,指示标识用于指示终端的接入方式。在5g标准中,可以按照不同的划分依据对终端的接入方式进行划分。例如,接入方式的划分依据可以包括接入类型以及运营商类型。其中,接入类型具体可以分为3gpp接入类型、可信的非3gpp接入类型以及非可信的非3gpp接入类型。运营商类型具体可以分为a运营商类型或者b运营商类型。可以理解,运营商类型还可以有更多的类型,此处仅作为示例,不作具体限定。以划分依据包括接入类型以及运营商类型为例,所述接入方式的划分可以如表1所示:表1接入方式表需要说明的,不限于上述两种划分依据,接入方式的划分依据还可以是其他种类的划分依据,例如,介质类型(有线接入或者无线接入)等等,此处不作具体限定。并且,不限于接入类型以及运营商类型两种划分依据,接入方式的划分依据还可以是一种、三种、四种或者更多,即,可以从更多维度或者更少维度对接入方式进行划分。例如,只从3gpp接入类型和非3gpp接入类型这个维度进行区分。所述指示标识可以是携带在上述接入网参数中。所述指示标识可以是下述的任意一种方式:所述指示标识可以是网络接入标识(networkaccessidentifier,nai),用于同时指示接入类型以及运营商类型。或者,所述指示标识可以包括接入类型标识以及运营商类型标识,其中,所述接入类型标识用于指示所述接入类型,所述运营商类型标识用于指示所述运营商类型。可以理解,上述例子仅作为举例,不构成具体限定。在一些可能的实现方式中,网络接入标识可以为snidentity|accessnetworkidentity,即可以特定表示某运营商下的某种接入,如中国联通的wlan接入等等,此处的snidentity为4g网络中的定义,accessnetworkidentity为4g时非3gpp网络中的定义。也可能将snidentity或者accessnetworkidentity的方式进行升级,使其能够表示某运营商的某种接入类型。在一些可能的实现方式中,接入类型标识具体指示所述接入类型为3gpp接入类型、可信的非3gpp接入类型以及非可信的非3gpp接入类型。例如,接入类型标识accessnetworktype(ant)可以直接为“3gppnetwork”,“trustednon-3gppnetwork”,“untrustednon-3gppnetwork”字符串,或者仅为“3gppnetwork”和“non-3gppnetwork”字符串等等。在一些可能的实现方式中,所述运营商类型标识可以包括两部分,一部分用于指示运营商,另一部分用于指示具体接入类型。例如,运营商类型标识可以指示为中国移动的lte接入或者中国联通的wlan接入。在具体应用中,可以将snidentity和accessnetworkidentity的结合以作为运营商类型标识。也有可能只包括运营商的区分,比如中国移动、中国联通、中国电信等等。在一些可能的实现方式中,有可能指示标识只是运营商类型标识。在一些可能的实现方式中,有可能指示标识只是接入类型标识。103:amf(或者seaf)向ausf发送终端标识以及指示标识。相应地,ausf接收amf(或者seaf)发送的终端标识以及指示标识。104:ausf向arpf发送终端标识以及指示标识。相应地,arpf接收ausf发送的终端标识以及指示标识。105:arpf根据保密性密钥ck以及完整性密钥ik以及指示标识生成中间密钥。在本申请实施例中,arpf根据密钥生成算法生成中间密钥的方式可以包括以下几种:在第一种方式中,当指示标识为nai时,arpf根据下述密钥生成算法生成中间密钥:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,nai为所述指示标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在第二种方式中,当指示标识包括接入类型标识以及运营商类型标识时,arpf根据下述密钥生成算法生成中间密钥:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在一些可能的实施方式中,sqn可以是auc生成的最新序列号,auc在生成sqn之后,将sqn发送给所述arpf。类似地,rand可以是auc生成的随机数,auc在生成rand之后,将rand发送给所述arpf。除了上述的方式之外,sqn以及rand也可以是网络架构中的其它通讯设备生成并发送给的arpf,甚至,sqn以及rand可以是所述arpf自己生成的,此处不作具体限定。在一些可能的实施方式中,ck可以是auc根据公式ck=f3(rand)生成的,ik可以是auc根据公式ik=f4(rand)生成的,ak可以是auc根据公式ak=f5(rand)生成的。除了上述的方式之外,ck、ik以及ak也可以是网络架构中的其它通讯设备生成并发送给的arpf,甚至,ck、ik以及ak可以是所述arpf自己生成的,此处不作具体限定。106:arpf向ausf发送中间密钥。相应地,ausf接收arpf发送的中间密钥。107:ausf根据中间密钥生成锚密钥。在本申请实施例中,ausf根据以下公式生成锚密钥,anchorkey=kdf(ik1’||ck1’)其中,anchorkey为所述锚密钥,(ik1’,ck1’)为所述中间密钥,ik1’为中间完整性密钥,ck1’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来。ausf还可能根据以下公式生成锚密钥:anchorkey=kdf(ik1’,ck1’)108:ausf将锚密钥发送给amf(或者seaf)。相应地,amf(或者seaf)接收ausf发送的锚密钥。109:amf(或者seaf)基于锚密钥生成下层密钥。其中,下层密钥为基于锚密钥进行一次或者多次推衍得到的密钥。在本申请实施例中,锚密钥是根据中间密钥生成的,而中间密钥是根据指示标识生成的,所以,锚密钥与指示标识的关系可以表示为anchorkey=f(ant,snt)或者anchorkey=f(nai)。其中,f表示为指示标识与锚密钥之间的映射函数,nai为所述网络接入标识,ant为所述接入类型标识,snt为所述运营商类型标识。根据锚密钥与指示标识的映射关系可知,当指示标识不同时,锚密钥的值也自然不同。也就是说,当接入方式不同时,锚密钥的值也不同,即对不同接入方式的锚密钥进行了隔离。此外,amf(或者seaf)基于不同接入方式的锚密钥分别推延不同接入方式的下层密钥,从而实现了对下层密钥的隔离。即,假设接入方式为a接入方式,计算得到的锚密钥为a锚密钥,接入方式为b接入方式时,计算得到的锚密钥为b锚密钥,则可以根据a锚密钥推衍a接入方式的下层密钥,根据b锚密钥推衍b接入方式的下层密钥。110:amf(或者seaf)向an发送下层密钥。111:ue根据根密钥生成锚密钥,然后再根据锚密钥推衍得到下层密钥。可以理解,ue推衍下层密钥的过程与上述过程大体类似,此处将不再展开描述。可以理解,在步骤108中,ausf还可以根据锚密钥生成kamf密钥或者kseaf密钥,然后发送给amf或者seaf,而不是将锚密钥发送给amf或者seaf,因此在步骤109中,amf或者seaf基于kamf密钥或者kseaf密钥生成下层密钥。需要说明的是,当接入方式不同时,步骤109至步骤111是不相同的,下面分别以接入方式为3gpp接入方式以及非3gpp接入方式为例进行详细介绍。如图6a所示,假设接入方式为3gpp接入方式,锚密钥为anchorkey1,则步骤109至步骤111可以用下述的步骤1111~1117步骤代替。1111:amf(或者seaf)根据以下公式生成下层密钥kamf1密钥和/或kseaf1密钥:kamf1=kdf(anchorkey1,amfid);kseaf1=kdf(anchorkey1,seafid);其中,anchorkey1为所述3gpp接入方式下的锚密钥,kdf为密钥生成算法,amfid为amf的标识,seafid为seaf的标识。amf的标识可以是amf的mac地址或者ip地址等等,seaf的标识可以是seaf的mac地址或者ip地址等等。1113:amf(或者seaf)再根据以下公式生成3gpp接入方式下的基站密钥kgnb、3gpp-nas保密性密钥k-3gppnasenc,以及,3gpp-nas完整性保护密钥k-3gppnasint:kgnb=kdf(kamf1和/或kseaf1,nascount1);k-3gppnasint=kdf(kamf1和/或kseaf1,nas-int-alg,alg-id);k-3gppnasenc=kdf(kamf1和/或kseaf1,nas-enc-alg,alg-id);其中,nascount1为经由3gpp的接入点gnb的nas消息的计数值,可能为上行计数值,也可以为下行计数值,nas-int-alg为nas消息对应的完整性算法,比如‘aes’,’snow3g’,’zuc’等,alg-id为算法的标识,nas-enc-alg为nas消息对应的机密性算法,比如‘aes’,’snow3g’,’zuc’等。1115:amf(或者seaf)将基站密钥kgnb发送给an。此时,an相应接收amf(或者seaf)发送的基站密钥kgnb。1117:an根据基站密钥kgnb生成用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint。在本申请实施例中,an根据如下公式分别生成用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint:kupenc=kdf(kgnb,up-enc-alg,alg-id);kupin=kdf(kgnb,up-int-alg,alg-id);krrcenc=kdfkgnb,rrc-enc-alg,alg-id);krrcint=kdf(kgnb,rrc-int-alg,alg-id);其中,kdf为密钥生成算法,kgnb为基站密钥,alg-id为算法标识,nas-int-alg、nas-enc-alg、up-enc-alg、up-int-alg、rrc-enc-alg以及rrc-int-alg的定义可以参考表2所示的4g中的算法标识定义表格,具体如下:表2算法标识定义表格算法标识(algorithmdistinguisher)值(value)nas-enc-alg0x01nas-int-alg0x02rrc-enc-alg0x03rrc-int-alg0x04up-enc-alg0x05up-int-alg0x061119:ue根据根密钥生成锚密钥,然后再根据锚密钥推衍用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint。可以理解,amf(或者seaf)在接收到锚密钥之后,也可以不根据锚密钥推衍kamf1密钥和/或kseaf1密钥,再根据kamf1密钥和/或kseaf1密钥推衍基站密钥kgnb、3gpp-nas保密性密钥k-3gppnasenc,以及,3gpp-nas完整性保护密钥k-3gppnasint,而是,直接根据锚密钥推衍基站密钥kgnb、3gpp-nas保密性密钥k-3gppnasenc,以及,3gpp-nas完整性保护密钥k-3gppnasint。如图6b所示,假设接入方式为非3gpp接入方式,锚密钥为anchorkey2,则步骤110至步骤112可以用下述的步骤1112~1116步骤代替。1112:amf(或者seaf)根据以下公式生成kamf2密钥和/或kseaf2密钥:kamf2=kdf(anchorkey2,amfid);kseaf2=kdf(anchorkey2,seafid);其中,anchorkey2为所述非3gpp接入方式下的锚密钥,kdf为密钥生成算法,amfid为amf的标识,seafid为seaf的标识。1114:amf(或者seaf)再根据以下公式生成非3gpp接入方式下的接入点密钥kn3iwf、非3gpp-nas保密性密钥k-n3gppnasenc,以及,非3gpp-nas完整性保护密钥k-n3gppnasint:kn3iwf=kdf(kamf2和/或kseaf2,nascount2);k-n3gppnasint=kdf(kamf2和/或kseaf2,nas-int-alg,alg-id);k-n3gppnasenc=kdf(kamf2和/或kseaf2,nas-enc-alg,alg-id);其中,nascount2为经由非3gpp的接入点n3iwf的nas消息的计数值,可能为上行计数值,也可以为下行计数值,nas消息对应的完整性算法,比如‘aes’,’snow3g’,’zuc’等,alg-id为算法的标识,nas-enc-alg为nas消息对应的机密性算法,比如‘aes’,’snow3g’,’zuc’等。1116:amf(或者seaf)将接入点密钥kn3iwf发送给an。此时,an相应接收amf(或者seaf)发送的接入点密钥kn3iwf。1118:ue根据根密钥生成锚密钥,然后再根据锚密钥推衍接入点密钥kn3iwf。同样的,可以理解,在步骤1114中,amf(或者seaf)不是接收ausf发送的锚密钥,而是ausf根据锚密钥生成的kamf密钥或者kseaf密钥。可以理解,图5所示实施例中的密钥生成算法不限于kdf算法,在实际应用中,密钥生成算法还可以是其它的算法,比如trunc算法:取低位的截图算法;其他的hash算法等,本申请不作具体限定。而且,密钥生成算法的自变量也可以包括其他的参数,例如,包括nssai(networksliceselectionassociationinformation)、随机数(randomnumber)、随机数值(numberusedonce,nonce)、序列码(sequencenumber)、注册类型(registrationtype)、接入层消息数量(nascount)、安全算法标识、安全标识、的长度以及生成密钥所用的参数对应的长度等等,在实际应用中,可以根据需要从中选择中的一个或者多个参数作为所述密钥生成算法的自变量。可以理解,amf(或者seaf)在接收到锚密钥之后,也可以不根据锚密钥推衍kamf1密钥和/或kseaf1密钥,再根据kamf1密钥和/或kseaf1密钥推衍接入点密钥kn3iwf、非3gpp-nas保密性密钥k-n3gppnasenc,以及,非3gpp-nas完整性保护密钥k-n3gppnasint,而是,直接根据锚密钥推衍接入点密钥kn3iwf、非3gpp-nas保密性密钥k-n3gppnasenc,以及,非3gpp-nas完整性保护密钥k-n3gppnasint。执行图5所示的锚密钥生成方法之后,将生成如图7所示的密钥架构。其中,图7中隔离线左边的为具体执行图6a所示的流程所生成的密钥架构,图7图中隔离线右边的为具体执行图6b所示的流程所生成的密钥架构,两者之间能够很好地进行隔离。如图8所示,本申请实施例提供了第二种锚密钥生成方法。在本实施例中,ausf即为权利要求中的第一通讯设备为,amf或者seaf即为权利要求中的第二通讯设备,arpf即为权利要求中的第三通讯设备。该方法可以基于图3以及图4所示的网络架构来实现,该方法包括但不限于如下步骤。201:ue向an发送终端标识。相应地,an接收ue发送的终端标识。202:an向amf(或者seaf)发送终端标识以及指示标识。相应地,amf(或者seaf)接收an发送的终端标识以及指示标识。其中,指示标识包括ant以及snt。203:amf(或者seaf)向ausf发送终端标识以及指示标识。相应地,ausf接收amf(或者seaf)发送的终端标识以及指示标识。204:ausf向arpf发送终端标识以及指示标识。相应地,arpf接收ausf发送的终端标识以及指示标识。205:arpf根据保密性密钥ck以及完整性密钥ik以及ant生成中间密钥。在本申请实施例中,arpf根据密钥生成算法生成中间密钥的方式可以包括以下几种:在第一种方式中,arpf根据下述密钥生成算法生成中间密钥:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在第二种方式中,arpf根据下述密钥生成算法生成中间密钥:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。206:arpf向ausf发送中间密钥。相应地,ausf接收arpf发送的中间密钥。207:ausf根据中间密钥生成锚密钥。针对步骤205中的第一种生成中间密钥的方式,ausf根据中间密钥生成锚密钥的方式为:首先,ausf根据中间密钥生成生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;然后,ausf根据以下公式生成锚密钥,anchorkey=kdf(emsk’,snt);其中,anchorkey为所述锚密钥,snt为所述运营商类型标识。针对步骤205中的第二种生成中间密钥的方式,ausf根据中间密钥生成锚密钥的方式为:首先,ausf根据中间密钥生成生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;然后,ausf根据以下公式生成锚密钥,anchorkey=kdf(emsk’,ant);其中,anchorkey为所述锚密钥,ant为所述接入类型标识。也可以emsk’和其他的参数生成anchorkey,不限定于指示标识。可以理解,该anchorkey也可以由msk’生成,此处仅以emsk’生成anchorkey为例。208:ausf将锚密钥发送给amf(或者seaf)。相应地,amf(或者seaf)接收ausf发送的锚密钥。209:amf(或者seaf)基于锚密钥生成下层密钥。其中,下层密钥为基于锚密钥进行一次或者多次推衍得到的密钥。210:amf(或者seaf)向an发送下层密钥。211:ue根据根密钥生成锚密钥,然后再根据锚密钥推衍得到下层密钥。如图9所示,本申请实施例提供了第三种锚密钥生成方法。在本实施例中,ausf即为权利要求中的第一通讯设备为,amf或者seaf即为权利要求中的第二通讯设备,arpf即为权利要求中的第三通讯设备。该方法可以基于图3以及图4所示的网络架构来实现,该方法包括但不限于如下步骤。221:ue向an发送终端标识。相应地,an接收ue发送的终端标识。222:an向amf(或者seaf)发送终端标识以及指示标识。相应地,amf(或者seaf)接收an发送的终端标识以及指示标识。其中,指示标识包括ant以及snt。223:amf(或者seaf)向ausf发送终端标识以及指示标识。相应地,ausf接收amf(或者seaf)发送的终端标识以及指示标识。224:ausf向arpf发送终端标识以及指示标识。相应地,arpf接收ausf发送的终端标识以及指示标识。225:arpf根据保密性密钥ck以及完整性密钥ik以及ant生成中间密钥。在本申请实施例中,arpf根据密钥生成算法生成中间密钥的方式可以包括以下几种:在第一种方式中,arpf根据下述密钥生成算法生成中间密钥:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在第二种方式中,arpf根据下述密钥生成算法生成中间密钥:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。226:arpf向ausf发送中间密钥。相应地,ausf接收arpf发送的中间密钥。227:ausf根据中间密钥生成锚密钥。针对步骤225中的第一种生成中间密钥的方式,ausf根据中间密钥生成锚密钥的方式为:首先,ausf根据中间密钥生成生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;然后,ausf根据以下公式生成锚密钥,anchorkey=kdf(emsk’,snt);其中,anchorkey为所述锚密钥,snt为所述运营商类型标识。针对步骤225中的第二种生成中间密钥的方式,ausf根据中间密钥生成锚密钥的方式为:首先,ausf根据中间密钥生成生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;然后,ausf根据以下公式生成锚密钥,anchorkey=kdf(emsk’,ant);其中,anchorkey为所述锚密钥,ant为所述接入类型标识。可以理解,也可以emsk’和其他的参数生成anchorkey,不限定于指示标识。可以理解,该anchorkey也可以由msk’生成,此处仅以emsk’生成anchorkey为例。228:ausf根据锚密钥生成kamf密钥和/或kseaf密钥。在本申请实施例中,ausf根据下述密钥生成算法生成kamf密钥或者kseaf密钥,kamf=kdf(anchorkey,amfid);kseaf=kdf(anchorkey,seafid);其中,anchorkey为所述锚密钥,kdf为密钥生成算法,amfid为amf的标识,seafid为seaf的标识。229:ausf将kamf密钥和/或kseaf密钥发送给amf(或者seaf)。相应地,amf(或者seaf)接收ausf发送的kamf密钥和/或kseaf密钥。230:amf(或者seaf)基于kamf密钥或者kseaf密钥生成下层密钥。其中,下层密钥为基于kamf密钥或者kseaf密钥进行一次或者多次推衍得到的密钥。231:amf(或者seaf)向an发送下层密钥。232:ue根据根密钥生成锚密钥,然后再根据锚密钥推衍得到下层密钥。可以理解,ausf在生成锚密钥之后,也可以直接将锚密钥发送给amf,然后,amf再根据锚密钥生成下层密钥,并发送给an。执行图9所示的锚密钥生成方法之后,将生成如图10所示的密钥架构。其中,图9中隔离线左边的为ue和3gpp网络所对应的密钥架构,图9图中隔离线右边的为ue和非3gpp网络所对应的密钥架构,两者之间能够很好地进行隔离。可以理解,对步骤227,ausf还可以根据中间密钥生成了2个密钥,分别是msk’和emsk’。其中msk’和emsk’分别取prf’(ik2’||ck2’)的生成的密钥的不同部分,如msk’取前512bits,emsk’取后512bits。然后,基于msk’生成anchorkey,即anchorkey=kdf(msk’,ant),此处同上面的描述。而emsk’则被ausf保留或推衍后被保留,用于后续扩展。如图11所示,本申请实施例提供了第四种锚密钥生成方法。在本实施例中,ausf即为权利要求中的第一通讯设备为,seaf即为权利要求2中的第二通讯设备,arpf即为权利要求中的第三通讯设备。该方法可以基于图3以及图4所示的网络架构来实现,并且,在本实施例中,amf的数量为m个,分别命名为amf_1~amf_m。该方法包括但不限于如下步骤。301:ue向an发送终端标识。相应地,an接收ue发送的终端标识。302:an向amf_1至amf_m发送终端标识以及指示标识。相应地,amf_1至amf_m接收an发送的终端标识以及指示标识。303:amf_1至amf_m向seaf发送终端标识以及指示标识。相应地,seaf接收amf_m发送的终端标识以及指示标识。304:seaf向ausf发送终端标识以及指示标识。相应地,ausf接收seaf发送的终端标识以及指示标识。305:ausf向arpf发送终端标识以及指示标识。相应地,arpf接收ausf发送的终端标识以及指示标识。306:arpf根据保密性密钥ck以及完整性密钥ik以及ant生成中间密钥。307:arpf向ausf发送中间密钥。相应地,ausf接收arpf发送的中间密钥。308:ausf根据中间密钥生成锚密钥。309:ausf将锚密钥发送给seaf。相应地,seaf接收ausf发送的锚密钥。310:seaf根据锚密钥以及amf_1至amf_2的标识分别生成kamf_1至kamf_m。在本申请实施例中,seaf根据以下公式分别生成kamf_1至kamf_m,kamf_1=kdf(anchorkey,amf_1id);kamf_2=kdf(anchorkey,amf_2id);……kamf_m=kdf(anchorkey,amf_mid);其中,anchorkey为所述锚密钥,amf_1id至amf_mid分别为amf_1至amf_m的标识。311:seaf分别向amf_1至amf_m下发kamf_1至kamf_m。相应地,amf_1至amf_2分别接收seaf发送的kamf_1至kamf_m。312:amf_1至amf_m分别基于kamf_1至kamf_m生成下层密钥。在本申请实施例中,amf_1基于kamf_1生成下层密钥1;amf_2基于kamf_2生成下层密钥2;……;amf_m基于kamf_m生成下层密钥m。下面将以amf_1基于kamf_1生成下层密钥1为例进行说明。amf_1根据以下公式生成3gpp接入方式下的基站密钥kgnb1、3gpp-nas保密性密钥k-3gppnasenc1,以及,3gpp-nas完整性保护密钥k-3gppnasint1:kgnb1=kdf(kamf_1,nascount1);k-3gppnasint=kdf(kamf_1,nas-int-alg,alg-id);k-3gppnasenc=kdf(kamf_1,nas-enc-alg,alg-id);其中,nascount1为经由3gpp的接入点gnb的nas消息的计数值,可能为上行计数值,也可以为下行计数值,nas-int-alg为nas消息对应的完整性算法,比如‘aes’,’snow3g’,’zuc’等,alg-id为算法的标识,nas-enc-alg为nas消息对应的机密性算法,比如‘aes’,’snow3g’,’zuc’等。313:amf向an发送下层密钥。314:ue根据根密钥生成锚密钥,然后再根据锚密钥推衍得到下层密钥。执行图11所示的锚密钥生成方法之后,将生成如图12所示的密钥架构。其中,图12中隔离线左边的为ue和3gpp网络对应的密钥架构,图12图中隔离线右边的为ue和非3gpp网络对应的密钥架构,两者之间能够很好地进行隔离。可以理解,图8、图9以及图11所示的实施例是基于图5所示的实施例演变过来的,为了简便起见,图8、图9以及图11所示的实施例中只描述了与图5所示的实施例不相同的部分,而图8、图9以及图11所示的实施例中与图5所示的实施例相同的部分,可以参见图5以及相关内容,此处不再重复赘述。如图13所示,本申请实施例提供了第五种锚密钥生成方法。该方法可以基于图3以及图4所示的网络架构来实现,该方法包括但不限于如下步骤。401:ue向an发送终端标识。相应地,an接收ue发送的终端标识。在本申请实施例中,终端标识可以是固定不变的标识,例如,媒体访问控制(mediaaccesscontrol,mac)地址、网络协议(internetprotocol,ip)地址、手机号码、国际移动设备标识(internationalmobileequipmentidentity,imei)、国际移动用户识别码(internationalmobilesubscriberidentity,imsi)、ip多媒体私有标识(ipmultimediaprivateidentity,impi)、ip多媒体公共标识(ipmultimediapublicidentity,impu)等等,也可以是临时分配的标识,例如,临时移动用户标识符(temporarymobilesubscriberidentity,tmsi)、全球唯一临时ue标识(globallyuniquetemporaryueidentity,guti)等等。可以理解,除了终端标识之外,ue还可以将接入网参数、注册类型、安全参数、ue的5g网络能力,pdusession的状态等至少一种发送给an。其中,接入网参数为可能为接入网的频点,临时用户标识,nssai等与服务网络相关的参数。注册类型为可以表明用户是初次注册、由于移动引起的注册、周期性注册更新等区分用户注册的行为。安全参数为认证和完整性保护相关的参数。。nssai为网络切片选择辅助信息。ue的5g网络能力可能包括支持接入该网络的配置能力。pdusession为ue和数据网络之间的pdu的业务连接,类型可能为ip、以太网的业务连接。402:an向amf(或者seaf)发送终端标识以及指示标识。相应地,amf(或者seaf)接收an发送的终端标识以及指示标识。在本申请实施例中,指示标识用于指示终端的接入方式。在5g标准中,可以按照不同的划分依据对终端的接入方式进行划分。例如,接入方式的划分依据可以包括接入类型以及运营商类型。其中,接入类型具体可以分为3gpp接入类型、可信的非3gpp接入类型以及非可信的非3gpp接入类型。运营商类型具体可以分为a运营商类型或者b运营商类型。可以理解,运营商类型还可以有更多的类型,此处仅作为示例,不作具体限定。以划分依据包括接入类型以及运营商类型为例,所述接入方式的划分可以如表1所示。需要说明的,不限于上述两种划分依据,接入方式的划分依据还可以是其他种类的划分依据,例如,介质类型(有线接入或者无线接入)等等,此处不作具体限定。并且,不限于接入类型以及运营商类型两种划分依据,接入方式的划分依据还可以是一种、三种、四种或者更多,即,可以从更多维度或者更少维度对接入方式进行划分。所述指示标识可以是携带在上述接入网参数中。所述指示标识可以是下述的任意一种方式:所述指示标识可以是网络接入标识(networkaccessidentifier,nai),用于同时指示接入类型以及运营商类型。或者,所述指示标识可以包括接入类型标识以及运营商类型标识,其中,所述接入类型标识用于指示所述接入类型,所述运营商类型标识用于指示所述运营商类型。可以理解,上述例子仅作为举例,不构成具体限定。在一些可能的实现方式中,网络接入标识可以为snidentity|accessnetworkidentity,即可以特定表示某运营商下的某种接入,如中国联通的wlan接入等等,此处的snidentity为4g网络中的定义,accessnetworkidentity为4g时非3gpp网络中的定义。也可能将snidentity或者accessnetworkidentity的方式进行升级,使其能够表示某运营商的某种接入类型。在一些可能的实现方式中,接入类型标识具体指示所述接入类型为3gpp接入类型、可信的非3gpp接入类型以及非可信的非3gpp接入类型。例如,接入类型标识accessnetworktype(ant)可以直接为“3gppnetwork”,“trustednon-3gppnetwork”,“untrustednon-3gppnetwork”字符串,或者仅为“3gppnetwork”和“non-3gppnetwork”字符串等等。在一些可能的实现方式中,所述运营商类型标识可以包括两部分,一部分用于指示运营商,另一部分用于指示具体接入类型。例如,运营商类型标识可以指示为中国移动的lte接入或者中国联通的wlan接入。在具体应用中,可以将snidentity和accessnetworkidentity的结合以作为运营商类型标识;也有可能只包括运营商的区分,比如中国移动、中国联通、中国电信等等。在一些可能的实现方式中,有可能指示标识只是运营商类型标识。在一些可能的实现方式中,有可能指示标识只是接入类型标识。403:amf(或者seaf)向ausf发送终端标识以及指示标识。相应地,ausf接收amf(或者seaf)发送的终端标识以及指示标识。404:ausf向arpf发送终端标识以及指示标识。相应地,arpf接收ausf发送的终端标识以及指示标识。405:arpf根据保密性密钥ck、完整性密钥ik以及指示标识生成锚密钥。在本申请实施例中,arpf根据生成锚密钥的方式可以包括以下几种:在第一种方式中,arpf根据下述公式生成锚密钥:其中,anchorkey为所述锚密钥,kdf为密钥生成算法,sqn为最新序列号,nai为所述指示标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在第二种方式中,arpf根据下述公式生成锚密钥:其中,anchorkey为所述锚密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在一些可能的实施方式中,sqn可以是auc生成的最新序列号,auc在生成sqn之后,将sqn发送给所述arpf。类似地,rand可以是auc生成的随机数,auc在生成rand之后,将rand发送给所述arpf。除了上述的方式之外,sqn以及rand也可以是网络架构中的其它通讯设备生成并发送给的arpf,甚至,sqn以及rand可以是所述arpf自己生成的,此处不作具体限定。在一些可能的实施方式中,ck可以是auc根据公式ck=f3(rand)生成的,ik可以是auc根据公式ik=f4(rand)生成的,ak可以是auc根据公式ak=f5(rand)生成的。除了上述的方式之外,ck、ik以及ak也可以是网络架构中的其它通讯设备生成并发送给的arpf,甚至,ck、ik以及ak可以是所述arpf自己生成的,此处不作具体限定。406:arpf向ausf发送锚密钥。相应地,ausf接收arpf发送的锚密钥。407:ausf根据锚密钥生成kamf/kseaf。在本申请实施例中,ausf根据以下公式生成kamf/kseaf:kamf=kdf(anchorkey,amfid);kseaf=kdf(anchorkey,seafid);其中,anchorkey为所述锚密钥,kdf为密钥生成算法,amfid为amf的标识,seafid为seaf的标识。amf的标识可以是amf的mac地址或者ip地址等等,seaf的标识可以是seaf的mac地址或者ip地址等等。408:ausf将kamf/kseaf发送给amf(或者seaf)。相应地,amf(或者seaf)接收ausf发送的kamf/kseaf。409:amf(或者seaf)基于kamf/kseaf生成下层密钥。其中,下层密钥为基于锚密钥进行一次或者多次推衍得到的密钥。410:amf(或者seaf)向an发送下层密钥。411:ue根据ck、ik以及指示标识自行推衍生成下层密钥。可以理解,ue推衍下层密钥的过程与上述过程大体类似,此处将不再展开描述。可以理解,ausf在生成锚密钥之后,也可以直接将锚密钥发送给amf,然后,amf再将根据锚密钥生成下层密钥,并发送给an。需要说明的是,当接入方式不同时,步骤409至步骤411是不相同的,下面分别以接入方式为3gpp接入方式以及非3gpp接入方式为例进行详细介绍。如图14a所示,假设接入方式为3gpp接入方式,锚密钥为anchorkey1,则步骤409至步骤411可以用下述的步骤4111~4117步骤代替。4111:amf(或者seaf)根据kamf1/kseaf1生成基站密钥kgnb,3gpp-nas保密性密钥k-3gppnasenc,3gpp-nas完整性保护密钥k-3gppnasint。具体地,amf(或者seaf)根据以下公式生成3gpp接入方式下的基站密钥kgnb、3gpp-nas保密性密钥k-3gppnasenc,以及,3gpp-nas完整性保护密钥k-3gppnasint:kgnb=kdf(kamf1和/或kseaf1,nascount1);k-3gppnasint=kdf(kamf1和/或kseaf1,nas-int-alg,alg-id);k-3gppnasenc=kdf(kamf1和/或kseaf1,nas-enc-alg,alg-id);其中,nascount1为经由3gpp的接入点gnb的nas消息的计数值,可能为上行计数值,也可以为下行计数值,nas-int-alg为nas消息对应的完整性算法,比如‘aes’,’snow3g’,’zuc’等,alg-id为算法的标识,nas-enc-alg为nas消息对应的机密性算法,比如‘aes’,’snow3g’,’zuc’等。4113:amf(或者seaf)将基站密钥kgnb发送给an。此时,an相应接收amf(或者seaf)发送的基站密钥kgnb。4115:an根据基站密钥kgnb生成用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint。在本申请实施例中,an根据如下公式分别生成用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint:kupenc=kdf(kgnb,up-enc-alg,alg-id);kupin=kdf(kgnb,up-int-alg,alg-id);krrcenc=kdfkgnb,rrc-enc-alg,alg-id);krrcint=kdf(kgnb,rrc-int-alg,alg-id);其中,kdf为密钥生成算法,kgnb为基站密钥,alg-id为算法标识,up-enc-alg、up-int-alg、rrc-enc-alg以及rrc-int-alg的定义可以参考表2所示的4g中的算法标识定义表格。4117:ue根据ck、ik以及指示标识自行推衍锚密钥,然后,根据锚密钥自行推衍用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint。如图14b所示,假设接入方式为非3gpp接入方式,锚密钥为anchorkey2,则步骤409至步骤411可以用下述的步骤4112~4116步骤代替。4112:amf(或者seaf)根据锚密钥anchorkey2生成接入点密钥kn3iwf、非3gpp-nas保密性密钥k-n3gppnasenc,以及,非3gpp-nas完整性保护密钥k-n3gppnasint。具体地,amf(或者seaf)再根据以下公式生成非3gpp接入方式下的接入点密钥kn3iwf、非3gpp-nas保密性密钥k-n3gppnasenc,以及,非3gpp-nas完整性保护密钥k-n3gppnasint:kn3iwf=kdf(kamf2和/或kseaf2,nascount2);k-n3gppnasint=kdf(kamf2和/或kseaf2,nas-int-alg,alg-id);k-n3gppnasenc=kdf(kamf2和/或kseaf2,nas-enc-alg,alg-id);其中,nascount2为经由非3gpp的接入点n3iwf的nas消息的计数值,可能为上行计数值,也可以为下行计数值,nas-int-alg为nas消息对应的完整性算法,比如‘aes’,’snow3g’,’zuc’等,alg-id为算法的标识,nas-enc-alg为nas消息对应的机密性算法,比如‘aes’,’snow3g’,’zuc’等。4114:amf(或者seaf)将接入点密钥kn3iwf发送给an。此时,an相应接收amf(或者seaf)发送的接入点密钥kn3iwf。4116、ue根据ck、ik以及指示标识自行推衍锚密钥,然后,根据锚密钥自行推衍接入点密钥kn3iwf。可以理解,图13所示实施例中的密钥生成算法不限于kdf算法,在实际应用中,密钥生成算法还可以是其它的算法,比如trunc算法:取低位的截图算法;其他的hash算法等,本申请不作具体限定。而且,密钥生成算法的自变量也可以包括其他的参数,例如,包括nssai、随机数、随机数值、序列码、注册类型、接入层消息数量、安全算法标识、安全标识以及sqnak的长度以及生成密钥所用的参数对应的长度等等,在实际应用中,可以根据需要从中选择中的一个或者多个参数作为所述密钥生成算法的自变量。执行图13所示的锚密钥生成方法之后,将生成如图15所示的密钥架构。其中,图15中隔离线左边的为具体执行图14a所示的流程所生成的密钥架构,图15图中隔离线右边的为具体执行图14b所示的流程所生成的密钥架构,两者之间能够很好地进行隔离。如图16所示,本申请实施例提供了第六种锚密钥生成方法。该方法可以基于图3以及图4所示的网络架构来实现,该方法包括但不限于如下步骤。501:ue向an发送终端标识。相应地,an接收ue发送的终端标识。在本申请实施例中,终端标识可以是固定不变的标识,例如,媒体访问控制(mediaaccesscontrol,mac)地址、网络协议(internetprotocol,ip)地址、手机号码、国际移动设备标识(internationalmobileequipmentidentity,imei)、国际移动用户识别码(internationalmobilesubscriberidentity,imsi)、ip多媒体私有标识(ipmultimediaprivateidentity,impi)、ip多媒体公共标识(ipmultimediapublicidentity,impu)等等,也可以是临时分配的标识,例如,临时移动用户标识符(temporarymobilesubscriberidentity,tmsi)、全球唯一临时ue标识(globallyuniquetemporaryueidentity,guti)等等。可以理解,除了终端标识之外,ue还可以将接入网参数、注册类型、安全参数、ue的5g网络能力,pdusession的状态等至少一种发送给an。其中,接入网参数为可能为接入网的频点,临时用户标识,nssai等与服务网络相关的参数。注册类型为可以表明用户是初次注册、由于移动引起的注册、周期性注册更新等区分用户注册的行为。安全参数为认证和完整性保护相关的参数。nssai为网络切片选择辅助信息。ue的5g网络能力可能包括支持接入该网络的配置能力。pdusession为ue和数据网络之间的pdu的业务连接,类型可能为ip、以太网的业务连接。502:an向amf(或者seaf)发送终端标识以及指示标识。相应地,amf(或者seaf)接收an发送的终端标识以及指示标识。在本申请实施例中,指示标识用于指示终端的接入方式。在5g标准中,可以按照不同的划分依据对终端的接入方式进行划分。例如,接入方式的划分依据可以包括接入类型以及运营商类型。其中,接入类型具体可以分为3gpp接入类型、可信的非3gpp接入类型以及非可信的非3gpp接入类型。运营商类型具体可以分为a运营商类型或者b运营商类型。可以理解,运营商类型还可以有更多的类型,此处仅作为示例,不作具体限定。以划分依据包括接入类型以及运营商类型为例,所述接入方式的划分可以如表1所示。需要说明的,不限于上述两种划分依据,接入方式的划分依据还可以是其他种类的划分依据,例如,介质类型(有线接入或者无线接入)等等,此处不作具体限定。并且,不限于接入类型以及运营商类型两种划分依据,接入方式的划分依据还可以是一种、三种、四种或者更多,即,可以从更多维度或者更少维度对接入方式进行划分。所述指示标识可以是携带在上述接入网参数中。所述指示标识可以包括接入类型标识以及运营商类型标识,其中,所述接入类型标识用于指示所述接入类型,所述运营商类型标识用于指示所述运营商类型。可以理解,上述例子仅作为举例,不构成具体限定。在一些可能的实现方式中,接入类型标识具体指示所述接入类型为3gpp接入类型、可信的非3gpp接入类型以及非可信的非3gpp接入类型。例如,接入类型标识accessnetworktype(ant)可以直接为“3gppnetwork”,“trustednon-3gppnetwork”,“untrustednon-3gppnetwork”字符串,或者仅为“3gppnetwork”和“non-3gppnetwork”字符串等等。在一些可能的实现方式中,所述运营商类型标识可以包括两部分,一部分用于指示运营商,另一部分用于指示具体接入类型。例如,运营商类型标识可以指示为中国移动的lte接入或者中国联通的wlan接入。在具体应用中,可以将snidentity和accessnetworkidentity的结合以作为运营商类型标识;也有可能只包括运营商的区分,比如中国移动、中国联通、中国电信等等。在一些可能的实现方式中,有可能指示标识只是运营商类型标识。在一些可能的实现方式中,有可能指示标识只是接入类型标识。503:amf(或者seaf)向ausf发送终端标识以及指示标识。相应地,ausf接收amf(或者seaf)发送的终端标识以及指示标识。504:ausf向arpf发送终端标识以及指示标识。相应地,arpf接收ausf发送的终端标识以及指示标识。505:arpf根据保密性密钥ck以及完整性密钥ik以及指示标识生成共享密钥。在本申请实施例中,arpf生成共享密钥的方式可以包括以下几种:在第一种方式中,arpf根据以下公式生成共享密钥sharedkey:其中,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在第二种方式中,arpf根据以下公式生成共享密钥sharedkey:其中,kdf为密钥生成算法,sqn为最新序列号,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在一些可能的实施方式中,sqn可以是auc生成的最新序列号,auc在生成sqn之后,将sqn发送给所述arpf。类似地,rand可以是auc生成的随机数,auc在生成rand之后,将rand发送给所述arpf。除了上述的方式之外,sqn以及rand也可以是网络架构中的其它通讯设备生成并发送给的arpf,甚至,sqn以及rand可以是所述arpf自己生成的,此处不作具体限定。在一些可能的实施方式中,ck可以是auc根据公式ck=f3(rand)生成的,ik可以是auc根据公式ik=f4(rand)生成的,ak可以是auc根据公式ak=f5(rand)生成的。除了上述的方式之外,ck、ik以及ak也可以是网络架构中的其它通讯设备生成并发送给的arpf,甚至,ck、ik以及ak可以是所述arpf自己生成的,此处不作具体限定。506:arpf向ausf发送共享密钥。相应地,ausf接收arpf发送的共享密钥。507:ausf向发送共享密钥。相应地,amf(或者seaf)接收ausf发送的共享密钥。508:amf(或者seaf)根据共享密钥生成锚密钥。针对步骤505中的第一种生成共享密钥的方式,amf根据共享密钥生成锚密钥的方式为:anchorkey=kdf(sharedkey,snt);其中,anchorkey为所述锚密钥,kdf为密钥生成算法,snt为所述运营商类型标识。针对步骤505中的第二种生成共享密钥的方式,amf根据共享密钥生成锚密钥的方式为:anchorkey=kdf(sharedkey,ant);其中,anchorkey为所述锚密钥,kdf为密钥生成算法,ant为所述接入类型标识。509:amf(或者seaf)根据锚密钥生成下层密钥。其中,下层密钥为基于锚密钥进行一次或者多次推衍得到的密钥。可以理解,amf(或者seaf)根据kamf密钥/kseaf密钥生成下层密钥的过程与图6a以及图6b所示的过程基本相同,具体请参见图6a以及图6b以及相关内容,此处不再重复赘述。510:amf(或者seaf)向an发送下层密钥。511:ue根据ak,ik,snt以及ant生成下层密钥。可以理解,ue推衍下层密钥的过程与上述过程大体类似,此处将不再展开描述。需要说明的是,当接入方式不同时,步骤509至步骤511是不相同的,下面分别以接入方式为3gpp接入方式以及非3gpp接入方式为例进行详细介绍。如图17a所示,假设接入方式为3gpp接入方式,锚密钥为anchorkey1,则步骤509至步骤511可以用下述的步骤5111~5117步骤代替。5111:amf(或者seaf)根据anchorkey1生成基站密钥kgnb,3gpp-nas保密性密钥k-3gppnasenc,3gpp-nas完整性保护密钥k-3gppnasint。具体地,amf(或者seaf)根据以下公式生成3gpp接入方式下的基站密钥kgnb、3gpp-nas保密性密钥k-3gppnasenc,以及,3gpp-nas完整性保护密钥k-3gppnasint:kgnb=kdf(anchorkey1,nascount1);k-3gppnasint=kdf(anchorkey1,nas-int-alg,alg-id);k-3gppnasenc=kdf(anchorkey1,nas-enc-alg,alg-id);其中,nascount1为经由3gpp的接入点gnb的nas消息的计数值,可能为上行计数值,也可以为下行计数值,nas-int-alg为nas消息对应的完整性算法,比如‘aes’,’snow3g’,’zuc’等,alg-id为算法的标识,nas-enc-alg为nas消息对应的机密性算法,比如‘aes’,’snow3g’,’zuc’等。5113:amf(或者seaf)将基站密钥kgnb发送给an。此时,an相应接收amf(或者seaf)发送的基站密钥kgnb。5115:an根据基站密钥kgnb生成用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint。在本申请实施例中,an根据如下公式分别生成用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint:kupenc=kdf(kgnb,up-enc-alg,alg-id);kupin=kdf(kgnb,up-int-alg,alg-id);krrcenc=kdfkgnb,rrc-enc-alg,alg-id);krrcint=kdf(kgnb,rrc-int-alg,alg-id);其中,kdf为密钥生成算法,kgnb为基站密钥,alg-id为算法标识,up-enc-alg、up-int-alg、rrc-enc-alg以及rrc-int-alg的定义可以参考表2所示的4g中的算法标识定义表格。5117:ue根据自行根据ak,ik,snt以及ant生成锚密钥,然后,根据锚密钥自行推衍用户面保密性密钥kupenc、用户面完整性密钥kupint、控制面保密性密钥krrcenc、控制面完整性密钥krrcint。如图17b所示,假设接入方式为非3gpp接入方式,锚密钥为anchorkey2,则步骤509至步骤511可以用下述的步骤5112~5116步骤代替。5112:amf(或者seaf)根据锚密钥anchorkey2生成接入点密钥kn3iwf、非3gpp-nas保密性密钥k-n3gppnasenc,以及,非3gpp-nas完整性保护密钥k-n3gppnasint。具体地,amf(或者seaf)再根据以下公式生成非3gpp接入方式下的接入点密钥kn3iwf、非3gpp-nas保密性密钥k-n3gppnasenc,以及,非3gpp-nas完整性保护密钥k-n3gppnasint:kn3iwf=kdf(anchorkey2,nascount2);k-n3gppnasint=kdf(anchorkey2,nas-int-alg,alg-id);k-n3gppnasenc=kdf(anchorkey2,nas-enc-alg,alg-id);其中,nascount2为经由非3gpp的接入点n3iwf的nas消息的计数值,可能为上行计数值,也可以为下行计数值,nas-int-alg为nas消息对应的完整性算法,比如‘aes’,’snow3g’,’zuc’等,alg-id为算法的标识,nas-enc-alg为nas消息对应的机密性算法,比如‘aes’,’snow3g’,’zuc’等。5114:amf(或者seaf)将接入点密钥kn3iwf发送给an。此时,an相应接收amf(或者seaf)发送的接入点密钥kn3iwf。5116:ue根据自行根据ak,ik,snt以及ant生成锚密钥,然后,根据锚密钥自行推衍接入点密钥kn3iwf。可以理解,图16所示实施例中的密钥生成算法不限于kdf算法,在实际应用中,密钥生成算法还可以是其它的算法,比如trunc算法:取低位的截图算法;其他的hash算法等,本申请不作具体限定。而且,密钥生成算法的自变量也可以包括其他的参数,例如,包括nssai、随机数、随机数值、序列码、注册类型、接入层消息数量、安全算法标识、安全标识、sqnak的长度以及生成密钥所用的参数对应的长度等等,在实际应用中,可以根据需要从中选择中的一个或者多个参数作为所述密钥生成算法的自变量。执行图16所示的锚密钥生成方法之后,将生成如图18所示的密钥架构。其中,图18中隔离线左边的为具体执行图17a所示的流程所生成的密钥架构,图18图中隔离线右边的为具体执行图17b所示的流程所生成的密钥架构,两者之间能够很好地进行隔离。如图19所示,本申请实施例提供了第七种锚密钥生成方法。该方法可以基于图3以及图4所示的网络架构来实现,该方法包括但不限于如下步骤。601:ue向an发送终端标识。相应地,an接收ue发送的终端标识。在本申请实施例中,终端标识可以是固定不变的标识,例如,媒体访问控制(mediaaccesscontrol,mac)地址、网络协议(internetprotocol,ip)地址、手机号码、国际移动设备标识(internationalmobileequipmentidentity,imei)、国际移动用户识别码(internationalmobilesubscriberidentity,imsi)、ip多媒体私有标识(ipmultimediaprivateidentity,impi)、ip多媒体公共标识(ipmultimediapublicidentity,impu)等等,也可以是临时分配的标识,例如,临时移动用户标识符(temporarymobilesubscriberidentity,tmsi)、全球唯一临时ue标识(globallyuniquetemporaryueidentity,guti)等等。可以理解,除了终端标识之外,ue还可以将接入网参数、注册类型、安全参数、ue的5g网络能力,pdusession的状态等至少一种发送给an。其中,接入网参数为可能为接入网的频点,临时用户标识,nssai等与服务网络相关的参数。注册类型为可以表明用户是初次注册、由于移动引起的注册、周期性注册更新等区分用户注册的行为。安全参数为认证和完整性保护相关的参数。nssai为网络切片选择辅助信息。ue的5g网络能力可能包括支持接入该网络的配置能力。pdusession为ue和数据网络之间的pdu的业务连接,类型可能为ip、以太网的业务连接。602:an向amf(或者seaf)发送终端标识以及指示标识。相应地,amf(或者seaf)接收an发送的终端标识以及指示标识。在本申请实施例中,指示标识用于指示终端的接入方式。在5g标准中,可以按照不同的划分依据对终端的接入方式进行划分。例如,接入方式的划分依据可以包括接入类型以及运营商类型。其中,接入类型具体可以分为3gpp接入类型、可信的非3gpp接入类型以及非可信的非3gpp接入类型。运营商类型具体可以分为a运营商类型或者b运营商类型。可以理解,运营商类型还可以有更多的类型,此处仅作为示例,不作具体限定。以划分依据包括接入类型以及运营商类型为例,所述接入方式的划分可以如表1所示。需要说明的,不限于上述两种划分依据,接入方式的划分依据还可以是其他种类的划分依据,例如,介质类型(有线接入或者无线接入)等等,此处不作具体限定。并且,不限于接入类型以及运营商类型两种划分依据,接入方式的划分依据还可以是一种、三种、四种或者更多,即,可以从更多维度或者更少维度对接入方式进行划分。所述指示标识可以是携带在上述接入网参数中。所述指示标识可以包括接入类型标识以及运营商类型标识,其中,所述接入类型标识用于指示所述接入类型,所述运营商类型标识用于指示所述运营商类型。可以理解,上述例子仅作为举例,不构成具体限定。在一些可能的实现方式中,接入类型标识具体指示所述接入类型为3gpp接入类型、可信的非3gpp接入类型以及非可信的非3gpp接入类型。例如,接入类型标识accessnetworktype(ant)可以直接为“3gppnetwork”,“trustednon-3gppnetwork”,“untrustednon-3gppnetwork”字符串,或者仅为“3gppnetwork”和“non-3gppnetwork”字符串等等。在一些可能的实现方式中,所述运营商类型标识可以包括两部分,一部分用于指示运营商,另一部分用于指示具体接入类型。例如,运营商类型标识可以指示为中国移动的lte接入或者中国联通的wlan接入。在具体应用中,可以将snidentity和accessnetworkidentity的结合以作为运营商类型标识;也有可能只包括运营商的区分,比如中国移动、中国联通、中国电信等等。在一些可能的实现方式中,有可能指示标识只是运营商类型标识。在一些可能的实现方式中,有可能指示标识只是接入类型标识。603:amf(或者seaf)向ausf发送终端标识以及指示标识。相应地,ausf接收amf(或者seaf)发送的终端标识以及指示标识。604:ausf向arpf发送终端标识以及指示标识。相应地,arpf接收ausf发送的终端标识以及指示标识。605:arpf根据根密钥k以及指示标识生成锚密钥。在本申请实施例中,arpf根据密钥生成算法生成锚密钥的方式可以包括以下几种:在第一种方式中,当指示标识为nai时,arpf根据下述密钥生成算法生成锚密钥anchorkey:其中,kdf为密钥生成算法,sqn为最新序列号,nai为所述指示标识,k为根密钥,ak为匿名密钥ak=f5(rand),rand为随机数,f3为生成算法,的含义为异或运算。在第二种方式中,当指示标识包括接入类型标识以及运营商类型标识时,arpf根据下述密钥生成算法生成锚密钥anchorkey:其中,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,snt为所述运营商类型标识,ak为匿名密钥,ak=f5(rand),rand为随机数,f5为生成算法,的含义为异或运算。在一些可能的实施方式中,sqn可以是auc生成的最新序列号,auc在生成sqn之后,将sqn发送给所述arpf。类似地,rand可以是auc生成的随机数,auc在生成rand之后,将rand发送给所述arpf。除了上述的方式之外,sqn以及rand也可以是网络架构中的其它通讯设备生成并发送给的arpf,甚至,sqn以及rand可以是所述arpf自己生成的,此处不作具体限定。在一些可能的实施方式中,ak可以是auc根据公式ak=f5(rand)生成的。除了上述的方式之外,ak也可以是网络架构中的其它通讯设备生成并发送给的arpf,甚至,ak可以是所述arpf自己生成的,此处不作具体限定。606:arpf向ausf发送锚密钥。相应地,ausf接收arpf发送的锚密钥。607:ausf根据锚密钥生成kamf密钥和/或kseaf密钥。在本申请实施例中,ausf根据以下公式生成kamf密钥和/或kseaf密钥:kamf=kdf(anchorkey,amfid);kseaf=kdf(anchorkey,seafid);其中,anchorkey为所述锚密钥,kdf为密钥生成算法,amfid为amf的标识,seafid为seaf的标识。608:ausf将kamf密钥/kseaf密钥发送给amf/seaf。相应地,amf/seaf接收ausf发送的kamf密钥/kseaf密钥。609:amf(或者seaf)根据kamf密钥/kseaf密钥生成下层密钥。其中,下层密钥为基于锚密钥进行一次或者多次推衍得到的密钥。可以理解,amf(或者seaf)根据kamf密钥/kseaf密钥生成下层密钥的过程与图14a以及图14b所示的过程基本相同,具体请参见图14a以及图14b以及相关内容,此处不再重复赘述。610:amf(或者seaf)向an发送下层密钥。611:ue根据k,snt以及ant生成下层密钥。可以理解,ue推衍下层密钥的过程与上述过程大体类似,此处将不再展开描述。可以理解,ausf在生成锚密钥之后,也可以直接将锚密钥发送给amf,然后,amf再根据锚密钥生成下层密钥,并发送给an。可以理解,图19所示实施例中的密钥生成算法不限于kdf算法,在实际应用中,密钥生成算法还可以是其它的算法,比如trunc算法:取低位的截图算法;其他的hash算法等,本申请不作具体限定。而且,密钥生成算法的自变量也可以包括其他的参数,例如,包括nssai、随机数、随机数值、序列码、注册类型、接入层消息数量、安全算法标识、安全标识、的长度以及生成密钥所用的参数对应的长度等等,在实际应用中,可以根据需要从中选择中的一个或者多个参数作为所述密钥生成算法的自变量。执行图19所示的锚密钥生成方法之后,将生成如图20所示的密钥架构。其中,图20中隔离线左边的为具体执行3gpp接入方式的流程所生成的密钥架构,图20图中隔离线右边的为具体执行非3gpp接入方式的流程所生成的密钥架构,两者之间能够很好地进行隔离。在本发明的另一个实施例中,公开了一种在ausf中保留一个密钥的实现方式。该保留的密钥可简写为kleft。具体的,需要指出的是,由于ausf会向第二通讯设备seaf发送锚密钥,而在可能的场景部署中,seaf属于服务网络的安全网元,ausf属于归属网络的安全网元,特别在漫游的场景下,如果认证发生在ue和归属网络的安全网元之间,则ue和ausf可以基于该认证过后的保留密钥生成最终的保护密钥,从而实现ue和归属网络之间端到端的安全保护或者更高的安全保护。需要指出的是,该保留的密钥可由arpf生成,然后发送给ausf,或者该保留的密钥可直接由ausf生成。方法一,arpf可根据ik,ck,sqn,ak,服务网络标识,密钥特征标识,rand或nonce等参数生成保留密钥kleft。其中,sqn为最新序列号,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,rand和nonce均可以认为是随机数;其中密钥特征标识可以为:keyleft,ausfkey,keyausf,keyseaf,seafkey等类似字符串。后续所涉及的生成函数kdf也可以为伪随机函数(pesudorandomfunction,prf)等。具体可参见为rfc54483.4.1章节中的定义。举例来说,可选参数);kdf为密钥生成算法。其中,可选参数为authenticationmethodname、服务网络标识,密钥特征标识,rand,nonce中的一个或多个。其中,authenticationmethodname:可以为’eap-aka’‘,’5g-eap‘,’eps-aka*‘等标识认证方法的标识;对于eps-aka*,arpf可根据kasme*、authenticationmethodname、服务网络标识,网络类型标识,密钥特征标识,rand,nonce等参数生成kleft。其中,kasme*为类似于4glte中kasme的密钥。比如,kleft=kdf(kasme*,第一参数组);其中,所述第一参数组为authenticationmethodname、服务网络标识,网络类型标识,密钥特征标识,rand,nonce中的一个或多个。需要指出的是,方法一描述的生成保留密钥的过程可分别与图5、图8、图9、图11、图13以及图16描述的方法相结合。方法二,对于eap-aka’,arpf可根据ik’,ck’,authenticationmethodname,服务网络标识,密钥特征标识,ausfid,rand,nonce等中的一个或多个参数生成kleft。比如,kleft=kdf(ik’,ck’,服务网络标识,密钥特征标识,第二参数组)。其中,第二参数组为authenticationmethodname,ausfid,rand,nonce等中的一个或多个。需要说明的是,此处也可由arpf将ik’ck’发送给ausf后,由ausf执行kleft的生成。需要指出的是,方法二描述的生成保留密钥的过程可分别与图5、图8、图9以及图11描述的方法相结合。方法三,ausf可根据emsk、msk等参数生成kleft。emsk:为扩展性主会话密钥。参见rfc5448。msk:主会话密钥。参见rfc5448。举例来说,kleft=trunc(emskormsk),该公式的含义为直接通过截取emsk或msk的某些bit位作为kleft,其中trunc为用于对值进行截断。比如,trunc(number)表示截断数字;trunc(date)表示截断日期。格式:trunc(n1,n2),n1表示被截断的数字,n2表示要截断到那一位。n2可以是负数,表示截断小数点前。注意,trunc截断不是四舍五入。举例来说,kleft=kdf(emskormsk,密钥特征标识,第三参数组)其中,第三参数组为服务网络标识,authenticationmethodname,随机数等中的一个或多个。举例来说,kleft也可以理解为就是emsk。需要指出的是,方法三描述的生成保留密钥的过程可分别与图8、图9以及图11描述的方法相结合。可以理解的是,当存在kleft时,anchorkey则可以为基于kleft生成的密钥。具体来说,anchorkey可为根据kleft,服务网络标识,密钥特征标识,rand或nonce等参数生成。另外,在本发明的另一实施例中,图6b的步骤1114、图14b的步骤4112、图17b步骤5112的细化可替换为:amf(或者seaf)根据kamf2,kseaf2,nascount2,nas连接区分标识,n3iwf标识等参数生成非3gpp接入方式下的接入点密钥kn3iwf。举例来说,kn3iwf=kdf(kamf2和/或kseaf2,nascount2);其中,nascount2为经由非3gpp的接入点n3iwf的nas消息的计数值,可能为上行计数值,也可以为下行计数值。其中,a和/或b表示三种可能:a、b或(a和b)。该公式:kn3iwf=kdf(kamf2和/或kseaf2,nascount2)包含三种可能:第一种:kn3iwf=kdf(kamf2,nascount2);第二种:kn3iwf=kdf(kseaf2,nascount2);第三种:kn3iwf=kdf(kamf2,kseaf2,nascount2)。图21示出了一种通讯设备的结构示意图,在本实施方式中,通讯设备包括:接收模块710、发送模块720以及生成模块730。下面展开描述。所述接收模块710用于接收第二通讯设备发送指示标识,其中,所述指示标识用于指示终端的接入方式。所述发送模块720用于向第三通讯设备发送所述指示标识;所述接收模块710用于接收所述第三通讯设备返回的中间密钥,其中,所述中间密钥是根据所述指示标识生成的;所述生成模块730用于根据所述中间密钥生成锚密钥,其中,所述锚密钥对应所述终端的接入方式;所述发送模块720用于将所述锚密钥发送给所述第二通讯设备,以供所述第二通讯设备根据所述锚密钥为所述接入方式推衍下层密钥。需要说明,图21实施例中未提及的内容以及各个功能单元的具体实现,请参考图5至图10以及相关内容,这里不再赘述。基于同一发明构思,本发明实施例还提供一种装置(如图22所示),该装置用于实现前述图5至图12实施例所描述的方法。如图22所示,装置800包括:发射器803、接收器804、存储器802和与存储器802耦合的处理器801(处理器801的数量可以是一个或多个,图20中以一个处理器为例)。发射器803、接收器804、存储器802和处理器801可通过总线或者其它方式连接(图20中以通过总线805连接为例)。其中,发射器803用于向外部发送数据,接收器804用于从外部接收数据。存储器802用于存储程序代码,处理器801用于调用并运行存储于存储器802中的程序代码。通过接收器804接收第二通讯设备发送指示标识,其中,所述指示标识用于指示终端的接入方式;通过发射器803向第三通讯设备发送所述指示标识;所述第一通讯设备接收所述第三通讯设备返回的中间密钥,其中,所述中间密钥是根据所述指示标识生成的;处理器801根据所述中间密钥生成锚密钥,其中,所述锚密钥对应所述终端的接入方式;通过发射器803将所述锚密钥发送给所述第二通讯设备,以供所述第二通讯设备根据所述锚密钥为所述接入方式推衍下层密钥。在一些可能的实施方式中,所述接入方式是根据接入类型以及运营商类型中的至少一个进行区分的。在一些可能的实施方式中,处理器801根据以下公式生成锚密钥,anchorkey=kdf(ik1’||ck1’)其中,anchorkey为所述锚密钥,(ik1’,ck1’)为所述中间钥匙,ik1’为中间完整性密钥,ck1’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来。处理器801至少可以根据以下两种方式生成中间密钥:当所述指示标识包括接入类型标识以及运营商类型标识时,所述中间密钥是处理器801根据以下公式生成的:其中,所述接入类型标识用于指示所述接入类型,所述运营商类型标识用于指示所述运营商类型;(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。当所述指示标识是nai时,所述中间密钥是处理器801根据以下公式生成的:其中,(ck1’,ik1’)为所述中间密钥,ck1’为所述中间保密性密钥,ik1’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,nai为所述指示标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。在一些可能的实施方式中,处理器801根据以下公式生成所述中间密钥:其中,(ck2’,ik2’)为所述中间密钥,ck2’为所述中间保密性密钥,ik2’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,ant为所述接入类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。处理器801根据以下公式生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;处理器801根据以下公式生成锚密钥,anchorkey=kdf(emsk’,snt);其中,anchorkey为所述锚密钥,snt为所述运营商类型标识。在一些可能的实施方式中,处理器801根据以下公式生成所述中间密钥:其中,(ck2’,ik2’)为所述中间密钥,ck2’为所述中间保密性密钥,ik2’为所述中间完整性密钥,kdf为密钥生成算法,sqn为最新序列号,snt为所述运营商类型标识,ck为初始保密性密钥,ik为初始完整性密钥,ak为匿名密钥,ck=f3(rand),ik=f4(rand),ak=f5(rand),rand为随机数,f3,f4以及f5均为生成算法,的含义为异或运算。处理器801根据以下公式生成emsk’,emsk’=prf’(ik2’||ck2’);其中,emsk’为扩展主会话密钥,(ik2’,ck2’)为所述中间钥匙,ik2’为中间完整性密钥,ck2’为中间保密性密钥,||的含义为级联,表示将符号两边的字符串连起来;处理器801根据以下公式生成锚密钥,anchorkey=kdf(emsk’,ant);其中,anchorkey为所述锚密钥,ant为所述接入类型标识。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1