本发明涉及通信领域,具体而言,涉及一种消息接收、发送方法及装置、终端、网络功能实体。
背景技术:
第三代合作伙伴计划(3rdgenerationpartnershipproject,简称3gpp)提出了一种保护用户标识的方案,即终端使用归属域的公钥将用户标识加密,从而只有归属域使用相应的私钥才能解密获得用户标识,从而保护了用户标识不被发现。但现有技术并未提出如何让终端获得归属网的公钥,一种显而易见的方案是归属网运营商在全球用户识别卡(universalsubscriberidentitymodule,简称usim)卡中存储公钥,但是如果usim卡不升级就无法存储公钥,如何使终端在使用未升级的usim卡的情况下获得归属网的公钥仍没有相关方案。
针对相关技术中的上述技术问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种消息接收、发送方法及装置、终端、网络功能实体,以至少解决相关技术中终端如何获取到归属域密钥的问题。
根据本发明的一个实施例,提供了一种消息接收方法,包括:向第一网络功能实体发送用于请求获取归属域密钥的请求消息;其中,请求消息中携带有与终端的用户标识对应的用户索引uid;接收第一网络功能实体根据请求消息返回的响应消息,其中,响应消息中携带有与uid对应的归属域密钥。
可选地,响应消息中还携带以下至少之一信息:与用户标识对应的加密用户标识pi,与用户标识对应的令牌。
可选地,pi基于用户标识和归属域密钥生成的。
可选地,令牌基于与uid对应的用户密钥、归属域密钥生成,或者基于与uid对应的用户密钥、归属域密钥和pi生成。
可选地,在所述响应消息中携带所述令牌或者所述响应消息中携带所述令牌和所述pi的情况下,在接收所述第一网络功能实体根据所述请求信息返回的响应消息之后,所述方法还包括:从硬件设备中获取第一密钥响应字符串,其中,所述第一密钥响应字符串用于验证所述令牌。
可选地,在从硬件设备中获取第一密钥响应字符串之后,所述方法还包括:在验证所述令牌成功的情况下,确定存储所述归属域密钥,或者确定存储所述归属域密钥和所述pi;在验证所述令牌失败的情况下,确定丢弃所述归属域密钥,或者确定丢弃所述归属域密钥和所述pi。
可选地,通过以下方式验证所述令牌包括:根据所述第一密钥响应字符串生成期望令牌;其中,在生成的所述期望令牌与所述令牌相同的情况下,确定验证所述令牌成功;在生成的所述期望令牌与所述令牌不同的情况下,确定验证所述令牌失败。
可选地,在从硬件设备中获取第一密钥响应字符串之前,方法还包括:基于归属域密钥和/或pi生成第一输入密钥字符串;其中,第一密钥响应字符串为硬件设备基于第一输入密钥字符串生成。
可选地,在向第一网络功能实体发送用于请求获取归属域密钥的请求信息之前,方法还包括:根据用户标识生成uid。
可选地,根据用户标识生成uid包括:根据用户标识生成第二输入密钥字符串;接收硬件设备发送的第二密钥响应字符串;其中,第二密钥响应字符串为硬件设备基于第二输入密钥字符串生成的;根据第二密钥响应字符串生成uid。
根据本发明的一个实施例,提供了一种消息发送方法,包括:接收终端发送的用于请求获取归属域密钥的请求消息;其中,请求消息中携带有与终端的用户标识对应的用户索引uid;向终端发送与请求消息对应的响应消息,其中,响应消息中携带有与uid对应的归属域密钥。
可选地,响应消息中还携带以下至少之一信息:与用户标识对应的加密用户标识pi,与用户标识对应的令牌。
可选地,在响应消息中还携带pi的情况下,在向终端发送与请求消息对应的响应消息之前,方法还包括:基于用户标识和归属域密钥生成pi;在响应消息中还携带令牌的情况下,在向终端发送与请求消息对应的响应消息之前,方法还包括以下至少之一:基于与uid对应的用户密钥和归属域密钥生成令牌,基于与uid对应的用户密钥、归属域密钥和pi生成令牌。
可选地,在向终端发送与请求消息对应的响应消息之前,方法还包括:根据uid查找用户记录中与uid对应的用户密钥;根据用户标识和用户密钥对uid进行验证,其中,在验证成功的情况下,向终端发送与请求消息对应的响应消息。
可选地,根据用户标识和用户密钥对uid进行验证包括:根据用户密钥和用户标识生成期望uid;比较期望uid和uid;其中,在期望uid和uid相同的情况下,确定验证成功;在期望uid和uid不相同的情况下,确定验证失败。
根据本发明的一个实施例,提供了一种消息接收装置,包括:发送模块,用于向第一网络功能实体发送用于请求获取归属域密钥的请求消息;其中,请求消息中携带有与终端的用户标识对应的用户索引uid;接收模块,用于接收第一网络功能实体根据请求消息返回的响应消息,其中,响应消息中携带有与uid对应的归属域密钥。
可选地,响应消息中还携带以下至少之一信息:与用户标识对应的加密用户标识pi,与用户标识对应的令牌。
可选地,在所述响应消息中携带所述令牌或者所述响应消息中携带所述令牌和所述pi的情况下,所述装置还包括:获取模块,用于从硬件设备中获取第一密钥响应字符串,其中,所述第一密钥响应字符串用于验证所述令牌。
可选地,所述装置还包括:第一确定模块,用于在验证所述令牌成功的情况下,确定存储所述归属域密钥,或者确定存储所述归属域密钥和所述pi;第二确定模块,用于在验证所述令牌失败的情况下,确定丢弃所述归属域密钥,或者确定丢弃所述归属域密钥和所述pi。
可选地,所述装置还包括:验证模块,用于根据所述第一密钥响应字符串生成期望令牌;其中,在生成的所述期望令牌与所述令牌相同的情况下,确定验证所述令牌成功;在生成的所述期望令牌与所述令牌不同的情况下,确定验证所述令牌失败。
可选地,装置还包括:生成模块,用于根据用户标识生成uid。
可选地,生成模块包括:第二生成单元,用于根据用户标识生成第二输入密钥字符串;接收单元,用于接收硬件设备发送的第二密钥响应字符串;其中,第二密钥响应字符串为硬件设备基于第二输入密钥字符串生成的;第三生成单元,用于根据第二密钥响应字符串生成uid。
根据本发明的一个实施例,提供了一种消息发送装置,包括:接收模块,用于接收终端发送的用于请求获取归属域密钥的请求消息;其中,请求消息中携带有与终端的用户标识对应的用户索引uid;发送模块,用于向终端发送与请求消息对应的响应消息,其中,响应消息中携带有与uid对应的归属域密钥。
可选地,响应消息中还携带以下至少之一信息:与用户标识对应的加密用户标识pi,与用户标识对应的令牌。
可选地,装置还包括:生成模块,用于以下至少之一:在响应消息中还携带pi的情况下,基于用户标识和归属域密钥生成pi;在响应消息中还携带令牌的情况下,基于与uid对应的用户密钥和归属域密钥生成令牌,或者基于与uid对应的用户密钥、归属域密钥和pi生成令牌。
可选地,装置还包括:查找模块,用于根据uid查找用户记录中与uid对应的用户密钥;验证模块,用于根据用户标识和用户密钥对uid进行验证,其中,在验证成功的情况下,向终端发送与请求消息对应的响应消息。
可选地,验证模块包括:生成单元,用于根据用户密钥和用户标识生成期望uid;比较单元,用于比较期望uid和uid;确定单元,用于在期望uid和uid相同的情况下,确定验证成功;在期望uid和uid不相同的情况下,确定验证失败。
根据本发明的一个实施例,提供了一种终端,包括:处理器,其中,处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的消息接收方法。
根据本发明的一个实施例,提供了一种网络功能实体,包括:处理器,其中,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的消息发送方法。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
通过本发明,由于可以通过向第一网络功能实体发送携带有与终端的用户标识对应的uid的请求信息,以请求获取归属域密钥,进而可以从第一网络功能实体中获取到与uid对应的归属域密钥,因而可以使得不需要升级usim卡使usim卡中存储该归属域密钥就可以获取到归属域密钥,因此,可以解决相关技术中终端如何获取到归属域密钥的问题,达到不需要升级usim就可以获取到归属域密钥的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种消息接收方法的移动终端的硬件结构框图;
图2是根据本发明实施例的消息接收方法的流程图;
图3是根据本发明实施例的消息发送方法的流程图;
图4是根据本发明实施例的消息接收装置的结构框图;
图5是根据本发明实施例的消息发送装置的结构框图;
图6是根据本发明优选实施例提供的归属域公钥配置方法的流程示意图一;
图7是根据本发明优选实施例提供的归属域公钥配置方法的流程示意图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种消息接收方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的消息接收方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的消息接收方法,图2是根据本发明实施例的消息接收方法的流程图,如图2所示,该流程包括如下步骤:
步骤s202,向第一网络功能实体发送用于请求获取归属域密钥的请求消息;其中,请求消息中携带有与终端的用户标识对应的用户索引uid;
步骤s204,接收第一网络功能实体根据请求消息返回的响应消息,其中,响应消息中携带有与uid对应的归属域密钥。
通过上述步骤,由于可以通过向第一网络功能实体发送携带有与终端的用户标识对应的uid的请求信息,以请求获取归属域密钥,进而可以从第一网络功能实体中获取到与uid对应的归属域密钥,因而可以使得不需要升级usim卡使usim卡中存储该归属域密钥就可以获取到归属域密钥,因此,可以解决相关技术中终端如何获取到归属域密钥的问题,达到不需要升级usim就可以获取到归属域密钥的效果。
需要说明的是,上述第一网络功能实体可以是ausf或者arpf,需要说明的是,ausf或arpf中存储有上述归属域密钥。
需要说明的是,上述用户标识可以是imsi,但并不限于此。
在本发明的一个实施例中,上述响应消息中还可以携带以下至少之一信息:与用户标识对应的加密用户标识pi,与用户标识对应的令牌。
需要说明的是,上述pi可以是基于用户标识和归属域密钥生成的,上述令牌可以是基于与uid对应的用户密钥、归属域密钥生成,或者是基于与uid对应的用户密钥、归属域密钥和pi生成。
需要说明的是,在响应消息中携带pi,进而可以实现终端在使用时直接使用pi即可,而避免终端来生成pi,可以节省终端的资源。
在本发明的一个实施例中,在所述响应消息中携带所述令牌或者所述响应消息中携带所述令牌和所述pi的情况下,在上述步骤s204之后,上述方法还包括:从硬件设备中获取第一密钥响应字符串,其中,所述第一密钥响应字符串用于验证所述令牌。
需要说明的是,在从硬件设备中获取第一密钥响应字符串之后,所述方法还可以包括:在验证所述令牌成功的情况下,确定存储所述归属域密钥,或者确定存储所述归属域密钥和所述pi;在验证所述令牌失败的情况下,确定丢弃所述归属域密钥,或者确定丢弃所述归属域密钥和所述pi。
需要说明的是,在响应消息中携带令牌的情况下,在验证所述令牌成功的情况下,确定存储所述归属域密钥,;在响应消息中携带令牌和pi的情况下,在验证所述令牌成功的情况下,确定存储所述归属域密钥和所述pi;但并不限于此。
需要说明的是,可以通过以下方式验证所述令牌包括:根据所述第一密钥响应字符串生成期望令牌;其中,在生成的所述期望令牌与所述令牌相同的情况下,确定验证所述令牌成功;在生成的所述期望令牌与所述令牌不同的情况下,确定验证所述令牌失败。
需要说明的是,在从硬件设备中获取第一密钥响应字符串之前,上述方法还可以包括:基于归属域密钥和/或pi生成第一输入密钥字符串;其中,第一密钥响应字符串为硬件设备基于第一输入密钥字符串生成的密钥响应字符串。
基于归属域密钥和/或pi生成第一输入密钥字符串可以表现为:使用归属域密钥,或使用归属域密钥和pi的拼接作为函数sha-256的输入来生成第一输入密钥字符串。
需要说明的是,上述硬件设备可以是usim卡,但并不限于此。
在本发明的一个实施例中,在上述步骤s202之前,上述方法还可以包括:根据用户标识生成uid。
需要说明的是,根据用户标识生成uid可以表现为由用户标识直接生成uid,比如以用户标识作为函数sha-256的输入生成uid,也可以通过其他的方式,比如:根据用户标识生成第二输入密钥字符串;接收硬件设备发送的第二密钥响应字符串;其中,第二密钥响应字符串为硬件设备基于第二输入密钥字符串生成的;根据第二密钥响应字符串生成uid。
需要说明的是,上述步骤的执行主体可以是终端,但并不限于此。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中提供了一种消息发送方法,图3是根据本发明实施例的消息发送方法的流程图,如图3所示,该流程包括如下步骤:
步骤s302,接收终端发送的用于请求获取归属域密钥的请求消息;其中,请求消息中携带有与终端的用户标识对应的用户索引uid;
步骤s304,向终端发送与请求消息对应的响应消息,其中,响应消息中携带有与uid对应的归属域密钥。
通过上述步骤,由于在接收终端发送携带有与终端的用户标识对应的uid的用于请求获取归属域密钥的请求信息之后向终端发送携带有与uid对应的归属域密钥的响应消息,使得终端可以使得不需要升级usim卡使usim卡中存储该归属域密钥就可以获取到归属域密钥,因此,可以解决相关技术中终端如何获取到归属域密钥的问题,达到不需要升级usim就可以获取到归属域密钥的效果。
需要说明的是,上述响应消息中还携带以下至少之一信息:与用户标识对应的加密用户标识pi,与用户标识对应的令牌。
在本发明的一个实施例中,在响应消息中还携带pi的情况下,在上述步骤s304之前,上述方法还可以包括:基于用户标识和归属域密钥生成pi;在响应消息中还携带令牌的情况下,在上述步骤s304之前,上述方法还可以包括以下至少之一:基于与uid对应的用户密钥和归属域密钥生成令牌,基于与uid对应的用户密钥、归属域密钥和pi生成令牌。
在本发明的一个实施例中,在上述步骤s304之前,上述方法还可以包括:根据uid查找用户记录中与uid对应的用户密钥;根据用户标识和用户密钥对uid进行验证,其中,在验证成功的情况下,向终端发送与请求消息对应的响应消息。
需要说明的是,根据用户标识和用户密钥对uid进行验证可以表现为:根据用户密钥和用户标识生成期望uid;比较期望uid和uid;其中,在期望uid和uid相同的情况下,确定验证成功;在期望uid和uid不相同的情况下,确定验证失败。
需要说明的是,上述步骤的执行主体可以是ausf或arpf,上述ausf或arpf中存储有上述归属域密钥,但并不限于此。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
在本实施例中还提供了一种消息接收装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的消息接收装置的结构框图,如图4所示,该装置包括:
发送模块42,用于向第一网络功能实体发送用于请求获取归属域密钥的请求消息;其中,请求消息中携带有与终端的用户标识对应的用户索引uid;
接收模块44,与上述发送模块42连接,用于接收第一网络功能实体根据请求消息返回的响应消息,其中,响应消息中携带有与uid对应的归属域密钥。
通过上述装置,由于可以通过向第一网络功能实体发送携带有与终端的用户标识对应的uid的请求信息,以请求获取归属域密钥,进而可以从第一网络功能实体中获取到与uid对应的归属域密钥,因而可以使得不需要升级usim卡使usim卡中存储该归属域密钥就可以获取到归属域密钥,因此,可以解决相关技术中终端如何获取到归属域密钥的问题,达到不需要升级usim就可以获取到归属域密钥的效果。
需要说明的是,上述第一网络功能实体可以是ausf或者arpf,需要说明的是,ausf或arpf中存储有上述归属域密钥。
在本发明的一个实施例中,上述响应消息中还可以携带以下至少之一信息:与用户标识对应的加密用户标识pi,与用户标识对应的令牌。
需要说明的是,上述pi可以是基于用户标识和归属域密钥生成的,上述令牌可以是基于与uid对应的用户密钥、归属域密钥生成,或者是基于与uid对应的用户密钥、归属域密钥和pi生成。
需要说明的是,在响应消息中携带pi,进而可以实现终端在使用时直接使用pi即可,而避免终端来生成pi,可以节省终端的资源。
在本发明的一个实施例中,上述装置还可以包括:在所述响应消息中携带所述令牌或者所述响应消息中携带所述令牌和所述pi的情况下,获取模块,与上述接收模块44连接,用于从硬件设备中获取第一密钥响应字符串,其中,所述第一密钥响应字符串用于验证所述令牌。
在本发明的一个实施例中,上述装置还可以包括:第一确定模块,与上述获取模块连接,用于在验证所述令牌成功的情况下,确定存储所述归属域密钥,或者确定存储所述归属域密钥和所述pi;第二确定模块,与上述获取模块连接,用于在验证所述令牌失败的情况下,确定丢弃所述归属域密钥,或者确定丢弃所述归属域密钥和所述pi。
在本发明的一个实施例中,上述装置还可以包括:验证模块,与上述获取模块连接,用于根据所述第一密钥响应字符串生成期望令牌;其中,在生成的所述期望令牌与所述令牌相同的情况下,确定验证所述令牌成功;在生成的所述期望令牌与所述令牌不同的情况下,确定验证所述令牌失败。
需要说明的是,上述硬件设备可以是usim卡,但并不限于此。
在本发明的一个实施例中,上述装置还可以包括:生成模块,与上述获取模块和上述发送模块42连接,用于根据用户标识生成uid。
需要说明的是,上述生成模块可以包括:第二生成单元,用于根据用户标识生成第二输入密钥字符串;接收单元,与上述第二生成单元连接,用于接收硬件设备发送的第二密钥响应字符串;其中,第二密钥响应字符串为硬件设备基于第二输入密钥字符串生成的;第三生成单元,与上述接收单元连接,用于根据第二密钥响应字符串生成uid。
需要说明的是,上述装置可以位于终端中,但并不限于此。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例4
在本实施例中还提供了一种消息发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的消息发送装置的结构框图,如图5所示,该装置包括:
接收模块52,用于接收终端发送的用于请求获取归属域密钥的请求消息;其中,请求消息中携带有与终端的用户标识对应的用户索引uid;
发送模块54,与上述接收模块52连接,用于向终端发送与请求消息对应的响应消息,其中,响应消息中携带有与uid对应的归属域密钥。
通过上述装置,由于在接收终端发送携带有与终端的用户标识对应的uid的用于请求获取归属域密钥的请求信息之后向终端发送携带有与uid对应的归属域密钥的响应消息,使得终端可以使得不需要升级usim卡使usim卡中存储该归属域密钥就可以获取到归属域密钥,因此,可以解决相关技术中终端如何获取到归属域密钥的问题,达到不需要升级usim就可以获取到归属域密钥的效果。
需要说明的是,上述响应消息中还携带以下至少之一信息:与用户标识对应的加密用户标识pi,与用户标识对应的令牌。
在本发明的一个实施例中,上述装置还可以包括:生成模块,与上述发送模块54连接,用于以下至少之一:在响应消息中还携带pi的情况下,基于用户标识和归属域密钥生成pi;在响应消息中还携带令牌的情况下,基于与uid对应的用户密钥和归属域密钥生成令牌,或者基于与uid对应的用户密钥、归属域密钥和pi生成令牌。
在本发明的一个实施例中,上述装置还可以包括:查找模块,用于根据uid查找用户记录中与uid对应的用户密钥;验证模块,与上述查找模块和上述发送模块54连接,用于根据用户标识和用户密钥对uid进行验证,其中,在验证成功的情况下,向终端发送与请求消息对应的响应消息。
需要说明的是,上述验证模块可以包括:生成单元,用于根据用户密钥和用户标识生成期望uid;比较单元,与生成单元连接,用于比较期望uid和uid;确定单元,与上述比较单元连接,用于在期望uid和uid相同的情况下,确定验证成功;在期望uid和uid不相同的情况下,确定验证失败。
需要说明的是,上述装置可以位于ausf或arpf,上述ausf或arpf中存储有上述归属域密钥,但并不限于此。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例5
本发明实施例提供了一种终端,包括:处理器,其中,处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的消息接收方法。
需要说明的是,上述终端中的处理器,在程序运行时执行上述实施例1所述的方法。
本发明实施例提供了一种网络功能实体,包括:处理器,其中,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的消息发送方法。
需要说明的是,上述网络功能实体中的处理器,在程序运行时执行上述实施例2所述的方法。
需要说明的是,上述网络功能实体可以是ausf或arpf,上述ausf或arpf中存储有上述归属域密钥,但并不限于此。
实施例6
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
为了更好地理解本发明实施例,以下结合优选的实施例对本发明做进一步解释。
优选实施例
图6是根据本发明优选实施例提供的归属域公钥配置方法的流程示意图一,如图6所示,其中usim卡(相当于上述实施例中的硬件设备)中存储了用户密钥k(相当于上述实施例中的用户密钥),该用户密钥k也存储在认证服务功能(authenticationserverfunction——ausf)或认证信息存储与处理功能(authenticationrepositoryandprocessingfunction——arpf)的用户记录中,需要说明的是,ausf或arpf相当于上述实施例中的第一网络功能实体或网络功能实体,该流程包括:
步骤601:终端ue无法从其自身的存储中或从usim卡中找到归属域公钥pkey,于是从usim卡中请求用户标识internetmobilestationidentifier(imsi)(相当于上述实施例中的用户标识),比如通过usim卡的应用程序接口(api)获取;
步骤602:usim卡返回imsi给ue,比如通过api的返回值;
步骤603:ue基于imsi生成randi(相当于上述实施例中的第二输入密钥字符串),比如在imsi之前或之后补足一定数量的0生成128比特的randi,或以imsi作为函数sha-256的输入生成,ue仿真globalsystemformobilecommunication(gsm)安全环境请求usim卡认证randi,比如通过api请求;
步骤604:usim卡使用传统方法认证randi,生成sresi(相当于上述实施例中的第二密钥响应字符串)并返回给ue,比如通过api的返回值;
步骤605:ue基于sresi生成用户索引(uid)(相当于上述实施例中的uid),比如使用sresi作为函数sha-256的输入,或将sresi截断,然后向ausf或arpf请求公钥,携带uid;
步骤606:ausf或arpf使用uid找到用户记录,可以使用用户记录中的用户密钥k和imsi计算一个期望uid(xuid)(相当于上述实施例中的期望uid)并比较xuid和uid,如果相同则继续后续过程,否则停止;ausf或arpf可以使用imsi或imsi的一部分和归属域公钥pkey一起计算加密用户标识pi;ausf或arpf还可以基于用户密钥k和归属域公钥pkey计算令牌token,或基于用户密钥k、归属域公钥pkey、和pi计算令牌token;
步骤607:ausf或arpf发送响应公钥给ue,携带pkey,还可以携带token和/或pi;
步骤608:ue存储pkey,ue可以基于收到的pkey,还可以额外基于收到的pi生成randk(相当于上述实施例中的第一输入密钥字符串),比如使用pkey,或使用pkey和pi的拼接作为函数sha-256的输入生成,ue仿真gsm安全环境请求usim卡认证randk,比如通过api请求;
步骤609:usim卡使用传统方法认证randk,生成sresk((相当于上述实施例中的第一密钥响应字符串))并返回给ue,比如通过api的返回值;
步骤610:ue基于sresk生成期望令牌xtoken,比如xtoken等于sresk,或以sresk作为函数sha-256的输入生成;ue比较xtoken和token,如果相同则ue存储pkey,可以存储pi,如果不同则ue丢弃收到的pkey和pi。
图7是根据本发明优选实施例提供的归属域公钥配置方法的流程示意图二,如图7所示,该流程包括:
步骤701~702:与图6中的步骤601~602相同;
步骤703:终端ue基于imsi计算用户索引uid,比如以imsi作为函数sha-256的输入生成;
步骤704:ue向ausf或arpf请求公钥,携带uid;
步骤705~709:与图6中的步骤606~610相同。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。