本发明涉及网络信息安全技术领域,具体涉及一种密钥生成方法及设备。
背景技术:
5g安全技术中引入了一个重要的特性(feature),即利用运营商网络的认证和安全机制为第三方应用提供认证和会话密钥能力,即应用层认证和会话密钥管理(akma,authenticationandkeymanagementforapplications,以保障用户终端与应用服务器之间的会话安全。目前,相关密钥的生成方式尚未确定。
技术实现要素:
本发明的至少一个实施例提供了一种密钥生成方法、终端及网络设备,解决了密钥生成的问题。
根据本发明的一个方面,至少一个实施例提供了一种密钥生成方法,应用于认证服务器功能ausf,包括:
在终端完成初始注册认证后,ausf根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma并生成所述kakma的密钥标识。
根据本发明的至少一个实施例,所述预设参数包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号
应用层认证和会话密钥管理锚点功能aanf的标识aanf_id。
根据本发明的至少一个实施例,所述ausf按照以下公式,生成kakma:
其中,kdf表示预设的密钥派生函数;ak表示用于隐藏序列号的临时密钥;rand、
根据本发明的至少一个实施例,所述认证向量是基于5g认证与密钥协商aka协议生成的,或者是基于扩展认证协议-认证与密钥协商eap-aka’协议生成的。
根据本发明的至少一个实施例,生成所述kakma的密钥标识,包括:
所述ausf根据所述随机数和aanf_id,生成所述kakma的密钥标识。
根据本发明的至少一个实施例,所述方法还包括:
将所述kakma的密钥标识发送给所述终端。
根据本发明的另一方面,至少一个实施例提供了一种密钥生成方法,应用于终端,包括:
在终端完成初始注册认证后,所述终端根据初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma。
根据本发明的至少一个实施例,所述预设参数包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号
应用层认证和会话密钥管理锚点功能aanf的标识aanf_id。
根据本发明的至少一个实施例,所述终端按照以下公式,生成kakma:
其中,kdf表示预设的密钥派生函数;ak表示用于隐藏序列号的临时密钥;rand、
根据本发明的至少一个实施例,所述认证向量是基于5g认证与密钥协商aka协议生成的,或者是基于扩展认证协议-认证与密钥协商eap-aka’协议生成的。
根据本发明的至少一个实施例,所述方法还包括:
接收所述ausf发送的所述中间密钥kakma的密钥标识。
根据本发明的另一方面,至少一个实施例提供了一种密钥生成方法,应用于应用层认证和会话密钥管理锚点功能aanf,包括:
aanf接收应用功能af发送的密钥请求,所述密钥请求携带有所述af的af标识以及来自终端的应用层认证和会话密钥管理akma中间密钥kakma的密钥标识;
aanf根据所述密钥请求,从认证服务器功能ausf处获取所述kakma的密钥标识对应的akma中间密钥kakma;
aanf根据akma中间密钥kakma以及所述af标识af_id,生成应用功能密钥kaf并发送给所述af。
根据本发明的至少一个实施例,所述kakma是所述ausf根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数生成的。
根据本发明的至少一个实施例,所述预设参数包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号
应用层认证和会话密钥管理锚点功能aanf的标识aanf_id。
根据本发明的至少一个实施例,所述aanf按照以下公式,生成kaf:
kaf=kdf(kakma,af_id)
其中,kdf表示预设的密钥派生函数;所述af_id为应用服务器af的表示id。
根据本发明的另一方面,至少一个实施例提供了一种ausf,包括:
中间密钥生成模块,用于在终端完成初始注册认证后,根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma并生成所述kakma的密钥标识。
根据本发明的另一方面,至少一个实施例提供了一种ausf,包括收发机和处理器,其中,
所述处理器,用于在终端完成初始注册认证后,根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma并生成所述kakma的密钥标识。
根据本发明的另一方面,至少一个实施例提供了一种ausf,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上所述的密钥生成方法的步骤。
根据本发明的另一方面,至少一个实施例提供了一种终端,包括:
中间密钥生成模块,用于在终端完成初始注册认证后,根据初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma。
根据本发明的另一方面,至少一个实施例提供了一种终端,包括收发机和处理器,其中,
所述处理器,用于在终端完成初始注册认证后,根据初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma。
根据本发明的另一方面,至少一个实施例提供了一种终端,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上所述的密钥生成方法的步骤。
根据本发明的另一方面,至少一个实施例提供了一种aanf,包括:
接收模块,用于接收应用功能af发送的密钥请求,所述密钥请求携带有所述af的af标识以及来自终端的应用层认证和会话密钥管理akma中间密钥kakma的密钥标识;
获取模块,用于根据所述密钥请求,从认证服务器功能ausf处获取所述kakma的密钥标识对应的akma中间密钥kakma;
生成模块,用于根据akma中间密钥kakma以及所述af标识af_id,生成应用功能密钥kaf并发送给所述af。
根据本发明的另一方面,至少一个实施例提供了一种aanf,包括收发机和处理器,其中,
所述收发机,用于接收应用功能af发送的密钥请求,所述密钥请求携带有所述af的af标识以及来自终端的应用层认证和会话密钥管理akma中间密钥kakma的密钥标识;
所述处理器,用于根据所述密钥请求,从认证服务器功能ausf处获取所述kakma的密钥标识对应的akma中间密钥kakma;根据akma中间密钥kakma以及所述af标识af_id,生成应用功能密钥kaf并发送给所述af。
根据本发明的另一方面,至少一个实施例提供了一种aanf,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上所述的密钥生成方法的步骤。
根据本发明的另一方面,至少一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时,实现如上所述的方法的步骤。
与现有技术相比,本发明实施例提供的密钥生成方法及设备,在推衍中间密钥的过程中,通过使用了认证向量中的rand和
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为一种akma网络架构的示意图;
图2为一种akma密钥层级体系的示意图;
图3为本发明实施例提供的密钥生成方法应用于ausf侧时的流程图;
图4为本发明实施例提供的密钥生成方法应用于终端侧时的流程图;
图5为本发明实施例提供的密钥生成方法应用于aanf侧时的流程图;
图6为本发明实施例提供的ausf的一种结构示意图;
图7为本发明实施例提供的ausf的另一种结构示意图;
图8为本发明实施例提供的终端的一种结构示意图;
图9为本发明实施例提供的终端的另一种结构示意图;
图10为本发明实施例提供的aanf的一种结构示意图;
图11为本发明实施例提供的aanf的另一种结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。说明书以及权利要求中“和/或”表示所连接对象的至少其中之一。
本文所描述的技术不限于nr系统以及长期演进型(longtimeevolution,lte)/lte的演进(lte-advanced,lte-a)系统,并且也可用于各种无线通信系统,诸如码分多址(codedivisionmultipleaccess,cdma)、时分多址(timedivisionmultipleaccess,tdma)、频分多址(frequencydivisionmultipleaccess,fdma)、正交频分多址(orthogonalfrequencydivisionmultipleaccess,ofdma)、单载波频分多址(single-carrierfrequency-divisionmultipleaccess,sc-fdma)和其他系统。术语“系统”和“网络”常被可互换地使用。cdma系统可实现诸如cdma2000、通用地面无线电接入(universalterrestrialradioaccess,utra)等无线电技术。utra包括宽带cdma(widebandcodedivisionmultipleaccess,wcdma)和其他cdma变体。tdma系统可实现诸如全球移动通信系统(globalsystemformobilecommunication,gsm)之类的无线电技术。ofdma系统可实现诸如超移动宽带(ultramobilebroadband,umb)、演进型utra(evolution-utra,e-utra)、ieee802.21(wi-fi)、ieee802.16(wimax)、ieee802.20、flash-ofdm等无线电技术。utra和e-utra是通用移动电信系统(universalmobiletelecommunicationssystem,umts)的部分。lte和更高级的lte(如lte-a)是使用e-utra的新umts版本。
utra、e-utra、umts、lte、lte-a以及gsm在来自名为“第三代伙伴项目”(3rdgenerationpartnershipproject,3gpp)的组织的文献中描述。
cdma2000和umb在来自名为“第三代伙伴项目2”(3gpp2)的组织的文献中描述。本文所描述的技术既可用于以上提及的系统和无线电技术,也可用于其他系统和无线电技术。然而,以下描述出于示例目的描述了nr系统,并且在以下大部分描述中使用nr术语,尽管这些技术也可应用于nr系统应用以外的应用。
以下描述提供示例而并非限定权利要求中阐述的范围、适用性或者配置。可以对所讨论的要素的功能和布置作出改变而不会脱离本公开的精神和范围。各种示例可恰适地省略、替代、或添加各种规程或组件。例如,可以按不同于所描述的次序来执行所描述的方法,并且可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
图1给出了实现应用层认证和会话密钥管理能力的一种akma网络架构,其中主要包括:
应用层认证和会话密钥管理(akma,authenticationandkeymanagementforapplications)
认证服务器功能(ausf,authenticationserverfunction);
应用层认证和会话密钥管理锚点功能(aanf,akmaanchorfunction);
应用功能(af,applicationfunction);
终端(ue)
图2给出了使用5g密钥架构中的中间密钥kausf进行后续akma密钥推衍的一种akma密钥层级体系,其中me表示移动设备(mobileequipment),hplmn表示归属plmn。
现有技术中关于kakma和kaf的推衍方法以及参数细节尚未确定,目前仍存在下述未解决的问题:
1)如何推衍生成kakma;
2)何时生成kakma的密钥标识;
3)如何推衍生成kaf。
现有技术中,适用于2/3/4g网络的通用自启动架构(gba,genericbootstrappingarchitecture)技术,与akma技术类似,是基于运营商的网络安全能力为上层应用提供认证和密钥管理能力。在gba技术中,中间密钥ks和会话秘钥ks_naf的推衍方法如下:
ks=ck||ik;
ks_naf=kdf(ks,"gba-me",rand,impi,naf_id)。
akma技术相比gba技术,有如下区别:
1)gba采用显式认证,即在运营商网络首次认证的基础之上,使用gba的ue和bsf会独立进行aka认证以完成ue和bsf之间的相互认证从而进行后续的gba流程,意味着bsf会从hss获取到认证向量authenticationvector(av,av=rand||autn||xres||ck||ik),所以bsf在基于ks推衍ks_naf时,可以获得rand参数从而作为推衍ks_naf密钥时的输入参数以确保ks_naf密钥的新鲜性。而akma技术采用隐式认证方式,即akma的认证依赖于运营商网络的首次认证,在运营商网络首次认证完成之后,aanf(等同于gba中bsf)会从ausf拿到kakma(由kausf推衍而得),但却无法拿到认证向量。
2)gba技术中,中间密钥ks和临时业务标识(b-tid)是在ue发起gba认证流程,在aka认证流程结束后由bsf随之产生,b-tid用来在ue请求naf时指示naf请求bsf获得对应的ks_naf。而akma由于采用了隐式认证,中间密钥kakma是由kausf推衍而来的,且在初始认证之后由ue和ausf默认产生,不需要终端发起独立的akma业务请求。
由于受上述区别的影响,akma技术中的中间密钥推衍和会话密钥推衍需要考虑如下几个问题,且以下问题是当前技术无法解决的:
1)在推衍kaf的过程中,如何确保密钥的新鲜性和抗重放攻击。由于kaf的生成是在aanf中,所以aanf无法获得初始认证使用的认证向量,如何设计kakma和kaf的推衍以及输入参数的设计需要解决。
2)生成密钥标识是按需生成还是在初始认证中生成,是akma技术有别于当前技术需要解决的问题。
为解决以上问题中的至少一种,本发明实施例提供了一种密钥生成方法,应用于ausf,如图3所示,该方法包括:
步骤31,在终端完成初始注册认证后,ausf根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma并生成所述kakma的密钥标识。
这里,步骤31中的kausf通常是由ausf在终端初始注册认证过程中生成的。
通过以上步骤,本发明实施例明确了在终端完成5g初始注册认证后,即同步生成中间密钥以及中间密钥的密钥标识,而非后续再根据终端请求再生成中间密钥的密钥标识,从而明确了上述密钥标识的生成时机并提供了具体实现手段,可以避免或减少按需生成密钥标识方式所产生的信令交互开销。
根据本发明的至少一个实施例,所述预设参数可以包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号
aanf的标识aanf_id。
这里,随机数rand以及
下面进一步提供生成kakma的一种具体实现方式,需要说明的是,以下方式仅为本发明实施例可以采用的一种示例,而非用于限定本发明。
其中,kdf表示预设的密钥派生函数;ak表示用于隐藏序列号sqn的临时密钥;rand、
作为一种实现方式,上述密钥派生函数可以采用gba技术中的通用密钥派生函数(generickeyderivationfunction),下面对该函数涉及的参数进行简单说明,更详细的可以参考相关现有技术:
s=fc||p0||l0||p1||l1||p2||l2||p3||l3||...||pn||ln
其中:
-fc=[tbd],这里tbd表示fc的取值可以根据需要设置,例如预定成某个值。
-p0=rand,
-l0=rand的长度(例如,0x000x03),
-
-
-p2=aanf_id
-l1=aanf_id的长度(例如,0x000x06)
可选的,所述认证向量是基于5g认证与密钥协商aka协议生成的,或者是基于扩展认证协议-认证与密钥协商eap-aka’协议生成的。也就是说,rand可以是5gaka生成的认证向量av(rand,autn,xres*,andkausf)中的rand,或是eap-aka’生成的认证向量av’(rand,autn,xres,ck',ik')中的rand,rand在此的作用是保证kakma的新鲜性,即确保每次生成的kakma不重复,从而不会被攻击者利用,即使当前密钥泄露了,通过初始认证再次生成的新密钥与泄露的密钥不同。
aanf_id为aanf的标识符
另外,本发明实施例还提供了akma中间密钥的密钥id生成方式,即在生成kakma的过程中,ue和ausf同步生成相应的密钥标识key-id。例如,ausf可以根据所述随机数和aanf_id,生成所述kakma的密钥标识。下面提供一种具体的生成方式,需要说明的是,以下方式仅为本发明实施例可以采用的一种示例,而非用于限定本发明。
key-id=base64encode(rand)@aanf_id
以上公式中,base64encode为一种编码方式,通过该编码方式对rand进行编码,编码后的结果与)@aanf_id一起组成了kakma的密钥标识key-id。
本发明实施例中,终端可以按照相同方式生成所述中间密钥kakma。ausf在生成所述中间密钥kakma及其密钥标识后,还可以将所述中间密钥kakma的密钥标识发送给所述终端。这样,终端可以获得所述中间密钥kakma及其密钥标识,进而在后续可以向应用功能(af)发送应用会话建立请求时,携带所述中间密钥kakma的密钥标识。
以上对本发明实施例ausf生成中间密钥及其标识的方式进行了说明。
本发明实施例还提供了另一种密钥生成方法,应用于终端,如图4所示,该方法包括:
步骤41,在终端完成初始注册认证后,所述终端根据初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma。
这里,步骤41中的kausf通常是由终端在初始注册认证过程中生成的。
通过以上步骤,本发明实施例终端可以在完成5g初始注册认证后,即与ausf一起同步生成中间密钥,从而明确了上述中间密钥的生成方式。
根据本发明的至少一个实施例,所述预设参数可以包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号sqn;
aanf的标识aanf_id。
这里,随机数rand以及
下面进一步提供生成kakma的一种具体实现方式,需要说明的是,以下方式仅为本发明实施例可以采用的一种示例,而非用于限定本发明。
其中,kdf表示预设的密钥派生函数;ak表示用于隐藏序列号sqn的临时密钥;rand、
可选的,所述认证向量是基于5g认证与密钥协商aka协议生成的,或者是基于扩展认证协议-认证与密钥协商eap-aka’协议生成的。
可选的,所述终端还可以接收所述ausf发送的所述中间密钥kakma的密钥标识。这样,终端可以获得所述中间密钥kakma及其密钥标识,进而在后续可以向应用功能(af)发送应用会话建立请求时,携带所述中间密钥kakma的密钥标识。
本发明实施例还提供了另一种密钥生成方法,应用于aanf,如图5所示,该方法包括:
步骤51,aanf接收应用功能af发送的密钥请求,所述密钥请求携带有所述af的af标识以及来自终端的akma中间密钥kakma的密钥标识。
这里,在步骤51之前,终端可以向af发送应用会话建立请求(applicationsessionestablishmentrequest),该请求携带有所述中间密钥kakma的密钥标识。所述中间密钥kakma的密钥标识则是由ausf生成并发送给所述终端的。
步骤52,aanf根据所述密钥请求,从认证服务器功能ausf处获取所述kakma的密钥标识对应的akma中间密钥kakma。
这里,所述kakma是所述ausf根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数生成的。所述预设常数可以包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号
应用层认证和会话密钥管理锚点功能aanf的标识aanf_id。
所述kakma的具体的生成方式可以参考上文,此处不再赘述。
步骤53,aanf根据akma中间密钥kakma以及所述af标识af_id,生成应用功能密钥kaf并发送给所述af。
通过以上步骤,本发明实施例提供了应用功能密钥kaf的具体生成方式。
下面进一步提供生成应用功能密钥kaf的一种具体实现方式,需要说明的是,以下方式仅为本发明实施例可以采用的一种示例,而非用于限定本发明。
所述aanf按照以下公式,生成kaf:
kaf=kdf(kakma,af_id)
其中,kdf表示预设的密钥派生函数,作为一种实现方式,上述密钥派生函数可以采用gba技术中的通用密钥派生函数(generickeyderivationfunction);所述af_id为应用服务器af的表示id,这里作为所述密钥派生函数的输入字符串s,可以保证运营商提供的akma服务为不同的应用提供不同的应用密钥,以防止不同的应用使用相同的密钥进行恶意攻击。
从以上所述可以看出,本发明实施例的密钥生成方法,在推衍中间密钥的过程中,通过使用了认证向量中的rand和
以上介绍了本发明实施例的各种方法。下面将进一步提供实施上述方法的装置。
本发明实施例提供了图6所示的一种ausf60,包括:
中间密钥生成模块61,用于在终端完成初始注册认证后,根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma并生成所述kakma的密钥标识。
可选的,所述预设参数包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号
应用层认证和会话密钥管理锚点功能aanf的标识aanf_id。
可选的,所述中间密钥生成模块,还用于按照以下公式,生成kakma:
其中,kdf表示预设的密钥派生函数;ak表示用于隐藏序列号的临时密钥;rand、
可选的,所述认证向量是基于5g认证与密钥协商aka协议生成的,或者是基于扩展认证协议-认证与密钥协商eap-aka’协议生成的。
可选的,所述中间密钥生成模块,还用根据所述随机数和aanf_id,生成所述kakma的密钥标识。
可选的,所述ausf还包括:
发送模块,用于将所述kakma的密钥标识发送给所述终端。
请参考图7,本发明实施例提供了ausf700的一结构示意图,包括:处理器701、收发机702、存储器703和总线接口,其中:
在本发明实施例中,ausf700还包括:存储在存储器上703并可在处理器701上运行的程序,所述程序被处理器701执行时实现如下步骤:
在终端完成初始注册认证后,根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma并生成所述kakma的密钥标识。
可理解的,本发明实施例中,所述计算机程序被处理器701执行时可实现上述图3所示的密钥生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器703代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机702可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。
处理器701负责管理总线架构和通常的处理,存储器703可以存储处理器701在执行操作时所使用的数据。
在本发明的一些实施例中,还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现以下步骤:
在终端完成初始注册认证后,根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma并生成所述kakma的密钥标识。
该程序被处理器执行时能实现上述应用于ausf的密钥生成方法中的所有实现方式,且能达到相同的技术效果,为避免重复,此处不再赘述。
请参照图8,本发明实施例提供了一种终端80,包括:
中间密钥生成模块81,用于在终端完成初始注册认证后,根据初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma。
可选的,所述预设参数包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号sqn;
应用层认证和会话密钥管理锚点功能aanf的标识aanf_id。
可选的,所述中间密钥生成模块,还用于按照以下公式,生成kakma:
其中,kdf表示预设的密钥派生函数;ak表示用于隐藏序列号的临时密钥;rand、
可选的,所述认证向量是基于5g认证与密钥协商aka协议生成的,或者是基于扩展认证协议-认证与密钥协商eap-aka’协议生成的。
可选的,所述终端还包括:
接收模块,用于接收所述ausf发送的所述中间密钥kakma的密钥标识。
请参照图9,本发明实施例提供的终端的一种结构示意图,该终端900包括:处理器901、收发机902、存储器903、用户接口904和总线接口。
在本发明实施例中,终端900还包括:存储在存储器上903并可在处理器901上运行的程序。
所述处理器901执行所述程序时实现以下步骤:
在终端完成初始注册认证后,根据初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma。
可理解的,本发明实施例中,所述计算机程序被处理器901执行时可实现上述图4所示的密钥生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器901代表的一个或多个处理器和存储器903代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机902可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口904还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器901负责管理总线架构和通常的处理,存储器903可以存储处理器901在执行操作时所使用的数据。
在本发明的一些实施例中,还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现以下步骤:
在终端完成初始注册认证后,根据初始注册认证中生成的ausf密钥kausf和预设参数,生成应用层认证和会话密钥管理akma中间密钥kakma。
该程序被处理器执行时能实现上述应用于终端侧的密钥生成方法中的所有实现方式,且能达到相同的技术效果,为避免重复,此处不再赘述。
本发明实施例提供了图10所示的一种aanf100,包括:
接收模块101,用于接收应用功能af发送的密钥请求,所述密钥请求携带有所述af的af标识以及来自终端的应用层认证和会话密钥管理akma中间密钥kakma的密钥标识;
获取模块102,用于根据所述密钥请求,从认证服务器功能ausf处获取所述kakma的密钥标识对应的akma中间密钥kakma;
生成模块103,用于根据akma中间密钥kakma以及所述af标识af_id,生成应用功能密钥kaf并发送给所述af。
可选的,所述kakma是所述ausf根据所述终端的初始注册认证中生成的ausf密钥kausf和预设参数生成的。
可选的,所述预设参数包括以下参数中的一种或多种:
认证向量中的随机数rand;
认证向量中的序列号
应用层认证和会话密钥管理锚点功能aanf的标识aanf_id。
可选的,所述生成模块,还用于按照以下公式,生成kaf:
kaf=kdf(kakma,af_id)
其中,kdf表示预设的密钥派生函数;所述af_id为应用服务器af的表示id。
请参考图11,本发明实施例提供了aanf1100的一结构示意图,包括:处理器1101、收发机1102、存储器1103和总线接口,其中:
在本发明实施例中,aanf1100还包括:存储在存储器上1103并可在处理器1101上运行的程序,所述程序被处理器1101执行时实现如下步骤:
接收应用功能af发送的密钥请求,所述密钥请求携带有所述af的af标识以及来自终端的应用层认证和会话密钥管理akma中间密钥kakma的密钥标识;
根据所述密钥请求,从认证服务器功能ausf处获取所述kakma的密钥标识对应的akma中间密钥kakma;
根据akma中间密钥kakma以及所述af标识af_id,生成应用功能密钥kaf并发送给所述af。
可理解的,本发明实施例中,所述计算机程序被处理器1101执行时可实现上述图5所示的密钥生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
在图11中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1101代表的一个或多个处理器和存储器1103代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1102可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。
处理器1101负责管理总线架构和通常的处理,存储器1103可以存储处理器1101在执行操作时所使用的数据。
在本发明的一些实施例中,还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现以下步骤:
接收应用功能af发送的密钥请求,所述密钥请求携带有所述af的af标识以及来自终端的应用层认证和会话密钥管理akma中间密钥kakma的密钥标识;
根据所述密钥请求,从认证服务器功能ausf处获取所述kakma的密钥标识对应的akma中间密钥kakma;
根据akma中间密钥kakma以及所述af标识af_id,生成应用功能密钥kaf并发送给所述af。
该程序被处理器执行时能实现上述应用于aanf的密钥生成方法中的所有实现方式,且能达到相同的技术效果,为避免重复,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。