1.本公开涉及通信技术领域,具体而言,涉及一种基于共享密钥进行数据通信的方法、装置、设备和介质。
背景技术:2.目前,3gpp在5g系统中引入了akma(authentication and key management for applications应用层认证和密钥管理)机制。
3.在相关技术中,可以基于终端在初次网络认证及密钥协商过程中生成的与网络之间的共享密钥(记作k
ausf
),并为应用生成app端与应用后台之间的共享密钥k
af
。
4.但是,在某些近域通信场景下,当远端ue(user equipment,终端设备)通过中继ue中转接入移动核心网使用数据业务的情况时,远端ue与应用平台之间无法直接利用akma机制生成应用层的共享密钥。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:6.本公开的目的在于提供一种基于共享密钥进行数据通信的方法、装置、设备和介质,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的远端ue与应用平台之间的通信可靠性差的问题。
7.根据本公开实施例的第一方面,提供一种基于共享密钥进行数据通信的方法,包括:获取远端终端设备的标识信息;根据所述远端终端设备的标识信息生成终端应用标识;根据所述终端应用标识和应用平台密钥生成相应的应用密钥;将所述终端应用标识、所述应用密钥和所述应用密钥标识反馈至远端终端设备,所述远端终端设备被配置为通过应用会话请求向中继应用管理平台发送应用密钥标识和终端应用标识,以供所述中继应用管理平台被配置为能够根据所述终端应用标识和应用平台密钥生成相应的应用密钥,所述远端终端设备与所述中继应用管理平台基于所述应用密钥进行数据通信。
8.在本公开的一种示例性实施例中,在获取远端终端设备的标识信息前,还包括:通过与应用层进行主认证并生成锚点密钥;基于所述锚点密钥生成应用平台密钥和所述应用密钥标识;请求与所述中继应用管理平台建立应用会话;向所述中继应用管理平台发送所述应用密钥标识,所述中继应用管理平台被配置为向应用层认证和密钥管理锚点功能发送所述应用密钥标识和应用平台标识,所述应用层认证和密钥管理锚点功能被配置为根据所述锚点密钥确定所述应用平台密钥,并将所述应用平台密钥、所述应用平台密钥的有效期和终端通用公共用户标识反馈至所述中继应用管理平台;通过共享的所述应用平台密钥与所述中继应用管理平台进行数据通信。
9.在本公开的一种示例性实施例中,根据终端应用标识和应用平台密钥生成相应的应用密钥包括:将所述终端应用标识和所述应用平台密钥代入密钥导出函数进行计算;根
据所述密钥导出函数确定相应的应用密钥。
10.在本公开的一种示例性实施例中,所述密钥导出函数的表达式包括:k-app=hmac-sha-256(k
af
,s);s=fc||p0||l0,其中,所述hmac-sha-256(k
af
,s)表征以所述kaf和所述s为参数的密钥导出函数,所述kaf表征所述应用平台密钥,所述k-app表征所述应用密钥,所述s表征中间参数,所述fc表征3gpp的保留字段,所述p0表征所述终端应用标识,所述l0表征所述终端应用标识的字符长度。
11.在本公开的一种示例性实施例中,还包括:获取远端终端设备的通信标识符;根据所述通信标识符生成ipv6接口标识,并根据所述ipv6接口标识确定对应的远端终端设备的标识信息;将所述ipv6接口标识分配至对应的远端终端设备。
12.在本公开的一种示例性实施例中,还包括:获取远端终端设备的通信标识符;根据所述通信标识符生成ipv6接口标识,并根据所述ipv6接口标识确定对应的远端终端设备的标识信息;响应于接收到的所述远端终端设备的数据流,采用生成的ipv6接口标识替换所述数据流中的ipv6接口标识。
13.在本公开的一种示例性实施例中,所述通信标识符包括msisdn、gpsi、imsi、supi、mac地址中的至少一种。
14.根据本公开实施例的第二方面,提供一种基于共享密钥进行数据通信的装置,包括:获取模块,设置为获取远端终端设备的标识信息;生成模块,设置为根据所述远端终端设备的标识信息生成终端应用标识;所述生成模块,设置为根据所述终端应用标识和应用平台密钥生成相应的应用密钥;交互模块,设置为将所述终端应用标识、所述应用密钥和所述应用密钥标识反馈至远端终端设备,所述远端终端设备被配置为通过应用会话请求向中继应用管理平台发送应用密钥标识和终端应用标识,以供所述中继应用管理平台被配置为能够根据所述终端应用标识和应用平台密钥生成相应的应用密钥,所述远端终端设备与所述中继应用管理平台基于所述应用密钥进行数据通信。
15.根据本公开的第三方面,提供一种电子设备,包括:存储器;以及耦合到所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。
16.根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的基于共享密钥进行数据通信的方法。
17.本公开实施例,通过获取远端终端设备的标识信息,并根据远端终端设备的标识信息生成终端应用标识,进而根据终端应用标识和应用平台密钥生成相应的应用密钥,最终将终端应用标识、应用密钥和应用密钥标识反馈至远端终端设备,远端终端设备被配置为通过应用会话请求向中继应用管理平台发送应用密钥标识和终端应用标识,以供中继应用管理平台被配置为能够根据终端应用标识和应用平台密钥生成相应的应用密钥,远端终端设备与中继应用管理平台基于应用密钥进行数据通信,在不需要对核心网做升级改造的前提下,满足了远端ue与应用管理平台的安全通信需求,扩展了在近域通信的应用场景。
18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1示出了可以应用本发明实施例的基于共享密钥进行数据通信的方案的示例性系统架构的示意图;
21.图2是本公开示例性实施例中应用于外部应用平台af的3gpp应用层认证及密钥管理架构的示意图;
22.图3是本公开示例性实施例中认证及密钥协商过程的示意图;
23.图4是本公开示例性实施例中基于共享密钥进行数据通信的交互示意图;
24.图5是本公开示例性实施例中应用层密钥推导过程的交互示意图;
25.图6是本公开示例性实施例中一种基于共享密钥进行数据通信的方法的流程图;
26.图7是本公开示例性实施例中另一种基于共享密钥进行数据通信的方法的流程图;
27.图8是本公开示例性实施例中另一种基于共享密钥进行数据通信的方法的流程图;
28.图9是本公开示例性实施例中另一种基于共享密钥进行数据通信的方法的流程图;
29.图10是本公开示例性实施例中另一种基于共享密钥进行数据通信的方法的流程图;
30.图11示出了可以应用本发明实施例的一种应用层密钥推导过程的示意图;
31.图12示出了可以应用本发明实施例的一种基于共享密钥进行数据通信方案的系统架构的示意图;
32.图13示出了可以应用本发明实施例的一种基于共享密钥进行数据通信的方案的示意图;
33.图14示出了可以应用本发明实施例的一种基于共享密钥进行数据通信交互过程的示意图;
34.图15是本公开示例性实施例中一种基于共享密钥进行数据通信的装置的方框图;
35.图16是本公开示例性实施例中一种电子设备的方框图。
具体实施方式
36.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而
使得本公开的各方面变得模糊。
37.此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
38.图1示出了可以应用本发明实施例的基于共享密钥进行数据通信的方案的示例性系统架构的示意图。
39.如图1所示,系统架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
40.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如无线网络除了现有功能之外还可以有其它网络功能、服务器105可以是多个服务器组成的服务器集群等。
41.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。此处所述的终端设备,除了终端自身的软硬件功能,也可以包含为实现上述功能的应用app软件。
42.在一些实施例中,本发明实施例所提供的基于共享密钥进行数据通信的方法一般由通信网络中的网元执行,相应地,基于共享密钥进行数据通信的装置一般设置于网元中。
43.下面对本公开的实施例涉及的名词和概念进行说明。
44.udm:unified data management,统一数据管理功能,3gpp aka认证、用户识别、访问授权、注册、移动、订阅、短信管理等。
45.ausf:authenticationserver function,认证服务器功能,实现3gpp和非3gpp的接入认证。
46.amf:access and mobility management function,接入和移动性管理功能,执行注册、连接、可达性、移动性管理。
47.nef:network exposure function,网络开放功能,开放各nf的能力,转换内外部信息,也可用于边缘计算场景。
48.af:application function,应用功能,各种应用平台。
49.ue:user equipment,用户设备,指各种用户终端设备。
50.ran:radio access network,无线接入网。
51.hplmn:home public land mobile network,本地公用陆地移动网络。
52.me:mobile equipment,移动设备。
53.ipv6:internet protocol version 6,互联网协议第6版的缩写,是互联网工程任务组设计的用于替代ipv4的下一代ip协议。
54.aanf:应用层认证和密钥管理锚点功能。
55.图2是本公开示例性实施例中应用于外部应用平台af的3gpp应用层认证及密钥管理架构的示意图。
56.参考图2,应用于外部应用平台af的3gpp应用层认证及密钥管理架构200包括udm、ausf、amf、ran、nef、ue、af和aanf,并按照如图所示的方式进行应用层认证及密钥管理。
57.图3是本公开示例性实施例中认证及密钥协商过程的示意图。
58.参考图3,应用于内部应用平台af的3gpp应用层认证及密钥管理架构300包括udm、ausf、amf、ran、ue、af和aanf,并按照如图3所示的方式进行应用层认证及密钥管理。
59.图4是本公开示例性实施例中基于共享密钥进行数据通信的交互示意图。
60.参考图4,基于共享密钥进行数据通信的交互过程400包括hplmn和serving network两部分,在hplmn中确定k
ausf
,在serving network中根据k
seaf
确定k
amf
,并基于k
amf
确定k
n3iwf
、k
gnb,nh
、k
nasint
和k
nasenc
,进而由k
gnb,nh
确定k
rrcint
、k
rrcenc
、k
upint
、k
upenc
。
61.图5是本公开示例性实施例中应用层密钥推导过程的交互示意图。
62.参考图5,应用层密钥推导过程500包括由k
ausf
确定k
akma
,继而由k
akma
确定k
af
这两个过程。
63.下面结合附图对本公开示例实施方式进行详细说明。
64.图6是本公开示例性实施例中基于共享密钥进行数据通信的方法的流程图。
65.参考图6,基于共享密钥进行数据通信的方法可以包括:
66.步骤s602,获取远端终端设备的标识信息。
67.步骤s604,根据所述远端终端设备的标识信息生成终端应用标识。
68.步骤s606,根据所述终端应用标识和应用平台密钥生成相应的应用密钥。
69.步骤s608,将所述终端应用标识、所述应用密钥和所述应用密钥标识反馈至远端终端设备,所述远端终端设备被配置为通过应用会话请求向中继应用管理平台发送应用密钥标识和终端应用标识,以供所述中继应用管理平台被配置为能够根据所述终端应用标识和应用平台密钥生成相应的应用密钥,所述远端终端设备与所述中继应用管理平台基于所述应用密钥进行数据通信。
70.本公开实施例,通过获取远端终端设备的标识信息,并根据远端终端设备的标识信息生成终端应用标识,进而根据终端应用标识和应用平台密钥生成相应的应用密钥,最终将终端应用标识、应用密钥和应用密钥标识反馈至远端终端设备,远端终端设备被配置为通过应用会话请求向中继应用管理平台发送应用密钥标识和终端应用标识,以供中继应用管理平台被配置为能够根据终端应用标识和应用平台密钥生成相应的应用密钥,远端终端设备与中继应用管理平台基于应用密钥进行数据通信,在不需要对核心网做升级改造的前提下,满足了远端ue与应用管理平台的安全通信需求,扩展了在近域通信的应用场景。
71.下面,对基于共享密钥进行数据通信的方法的各步骤进行详细说明。
72.在本公开的一种示例性实施例中,如图7所示,在获取远端终端设备的标识信息前,还包括:
73.步骤s702,通过与应用层进行主认证并生成锚点密钥。
74.步骤s704,基于所述锚点密钥生成应用平台密钥和所述应用密钥标识。
75.步骤s706,请求与所述中继应用管理平台建立应用会话。
76.步骤s708,向所述中继应用管理平台发送所述应用密钥标识,所述中继应用管理平台被配置为向应用层认证和密钥管理锚点功能发送所述应用密钥标识和应用平台标识,所述应用层认证和密钥管理锚点功能被配置为根据所述锚点密钥确定所述应用平台密钥,
并将所述应用平台密钥、所述应用平台密钥的有效期和终端通用公共用户标识反馈至所述中继应用管理平台。
77.步骤s710,通过共享的所述应用平台密钥与所述中继应用管理平台进行数据通信。
78.在本公开的一种示例性实施例中,如图8所示,根据终端应用标识和应用平台密钥生成相应的应用密钥包括:
79.步骤s802,将所述终端应用标识和所述应用平台密钥代入密钥导出函数进行计算。
80.步骤s804,根据所述密钥导出函数确定相应的应用密钥。
81.在本公开的一种示例性实施例中,所述密钥导出函数的表达式包括:k-app=hmac-sha-256(k
af
,s),s=fc||p0||l0,其中,所述hmac-sha-256(k
af
,s)表征以所述kaf和所述s为参数的密钥导出函数,所述k
af
表征所述应用平台密钥,所述k-app表征所述应用密钥,所述s表征中间参数,所述fc表征3gpp的保留字段,所述p0表征所述终端应用标识(ue-app-id),所述l0表征所述终端应用标识的字符长度。
82.在上述实施例中,密钥导出函数的定义在3gpp ts33.220中有具体描述,3gpp引用了ietf rfc 2104中的"hmac:keyed-hashing for message authentication"和iso/iec 10118-3:2004中的"information technology
–
security techniques
–
hash-functions
–
part 3:dedicated hash-functions"。
83.在上述实施例中,上述参数表达式还可以采用以下方式:
84.fc:可在3gpp保留的字段0xf0-0xfe(0xf0和0xfe均为十六进制)中选取其一;
85.p0=ue-app-id;
86.l0=length of ue_app_id;
87.其中,ue-app-id=ue-id||af fqdn||ua*安全协议id。
88.在上述实施例中,hmac是一种使用单向散列函数来构造消息认证码的方法,其中hmac中的h就是hash的意思。
89.hmac中所使用的单向散列函数并不仅限于一种,任何高强度的单向散列函数都可以被用于hmac,如果将来设计出的新的单向散列函数,也同样可以使用。
90.使用sha-1、sha-224、sha-256、sha-384、sha-512所构造的hmac,分别称为hmac-sha1、hmac-sha-224、hmac-sha-384、hmac-sha-512。
91.hmac的计算步骤包括:
92.1、密钥填充:如果密钥比单向散列函数分组长度要短,就需要在末尾填充0,直到其长度达到单向散列函数的分组长度为止。如果密钥比分组长度要长,则要用单向散列函数求出密钥的散列值,然后将这个散列值用作hmac的密钥。
93.2、填充后的密钥与ipad的xor:将填充后的密钥与被称为ipad的比特序列进行xor运算。ipad是将00110110这一比特序列不断循环反复直到达到分组长度所形成的比特序列,其中ipad的i是inner的意思。xor运算所得到的值,就是一个和单向散列函数的分组长度相同,且和密钥相关的比特序列。这里将这个比特序列称为ipadkey。
94.3、与消息组合:将ipadkey与消息组合,也就是将和密钥相关的比特序列(ipadkey)附加在消息的开头。
95.4、计算散列值:将3的结果输入单向散列函数,并计算出散列值。
96.5、填充后的密钥与opad的xor:将填充后的密钥与被称为opad的比特序列进行xor运算,opad是将01011100这一比特序列不断循环反复直到达到分组长度所形成的比特序列,其中opad的o是outer的意思。xor运算所得到的结果也是一个和单向散列函数的分组长度相同,且和密钥相关的比特序列。这里将这个比特序列称为opadkey。
97.6、与散列值组合:将4的散列值拼在opadkey后面。
98.7、计算散列值:将6的结果输入单向散列函数,并计算出散列值,这个散列值就是最终的mac值。通过上述流程可以看出,最后得到的mac值,一定是一个和输入的消息以及密钥都相关的长度固定的比特序列。
99.在本公开的一种示例性实施例中,如图9所示,基于共享密钥进行数据通信的方法还包括:
100.步骤s902,获取远端终端设备的通信标识符。
101.步骤s904,根据所述通信标识符生成ipv6接口标识,并根据所述ipv6接口标识确定对应的远端终端设备的标识信息。
102.步骤s906,将所述ipv6接口标识分配至对应的远端终端设备。
103.在上述实施例中,远端ue与中继ue完成认证后,中继ue需获取远端ue的id,此处远端ue的id可以是msisdn/gpsi、imsi/supi、mac地址等,中继ue可以在利用远端ue id生成ipv6接口id后,向远端ue分配该ipv6接口id。
104.在本公开的一种示例性实施例中,如图10所示,基于共享密钥进行数据通信的方法还包括:
105.步骤s1002,获取远端终端设备的通信标识符。
106.步骤s1004,根据所述通信标识符生成ipv6接口标识,并根据所述ipv6接口标识确定对应的远端终端设备的标识信息。
107.步骤s1006,响应于接收到的所述远端终端设备的数据流,采用生成的ipv6接口标识替换所述数据流中的ipv6接口标识。
108.在上述实施例中,如果中继ue未向远端ue分配接口id,则需要在远端ue的数据流中,将源ipv6接口id替换为利用远端ue id生成的ipv6接口id。
109.在上述实施例中,在实现了所述远端终端设备与所述中继应用管理平台基于所述应用密钥进行数据通信的同时,核心网需要将不同源ipv6接口id的流量分别统计,分别生成流量记录,并发送给it系统进行计费。
110.在本公开的一种示例性实施例中,所述通信标识符包括msisdn、gpsi、imsi、supi、mac地址中的至少一种。
111.其中,imsi是国际移动用户识别码(international mobilesubscriber identification number)是区别移动用户的标志,储存在sim卡的ef-imsi文件中,可用于区别移动用户的有效信息。imsi是sim卡的id号码,可以区分每一张sim卡。imsi由一串十进制数字组成,最大长度为15位,实际使用的imsi的长度绝大部分都是15位。
112.其中,msisdn(mobilesubscriber international isdn number)移动台国际用户识别码,即移动用户的isdn号码,是在公共交换电话网交换网络编号计划中,唯一能识别移动用户的号码,俗称为手机号,msisdn号码其组成包含如下三个部分:
113.(1)cc:country code,国家码,中国的国家码为86。
114.(2)ndc:national destination code,国内目的地码,也称网络接入码,由各个国家的通信主管部门分配给各个网络运营商。中国移动网络接入码为134~139、150~152、188等,中国联通为130~132、185~186等,中国电信为133、153、180、189等。
115.(3)sn:subscriber number,客户号码,由网络运营商分配。
116.supi:subscription permanent identifier,用户永久标识,类似于4g的imsi。手机的真实身份在5g里称为supi(subscription permanent identifier,用户永久标识符),类似imsi,通过公钥加密后的密文称为suci(subscription concealed identifier,用户隐藏标识符),suci传送给基站后,基站直接上传至核心网。
117.gpsi:generic publicsubscription identifier,通用公共用户标识,等同于4g的msisdn,supi和gpsi之间不一定一一对应,用户如果访问不同的数据网络,就会存在多个gpsi标识,网络需要将外部网络gpsi与supi建立关系。nef可以实现external gpsi与inter gpsi有映射关系,udr上保存有internal gpsi与supi的映射关系。
118.mac:medium/media access control地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由ieee的注册管理机构ra负责给不同厂家分配的代码(高位24位),也称为"编制上唯一的标识符"(organizationally unique identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。一个地址块可以生成2个不同的地址。mac地址实际上就是适配器地址或适配器标识符。
119.图11示出了可以应用本发明实施例的一种应用层密钥推导过程的示意图。
120.如图11所示,应用层密钥推导过程1100包括:新增由k
af
推导出kapp(根据远端ue的数量确定所需的个数),该kappn由中继me自组网生成并发送给远端uen,用于应用平台af与men之间的安全通信。
121.图12示出了可以应用本发明实施例的一种基于共享密钥进行数据通信方案的系统架构的示意图。
122.如图12所示,系统架构可以包括远端终端设备1202、中继终端设备1204、无线网络和互联网1210。无线网络用以在终端设备和服务器之间提供通信链路的介质。无线网络可以包括基站1206、用户面功能1208、接入与移动性管理功能1212和会话管理功能1214。无线网络的连接类型包括有线、无线通信链路或者光纤电缆,但不限于此。
123.图13示出了可以应用本发明实施例的一种基于共享密钥进行数据通信的方案的示意图。
124.如图13所示,基于共享密钥进行数据通信的方案包括以下流程:
125.步骤s1302,中继ue完成主认证,生成共享密钥k
ausf
,基于k
ausf
生成锚点密钥k
akma
、应用密钥标识a-kid,并与平台af完成k
af
的协商及生成。
126.步骤s1304,远程ue与中继ue建立连接,中继ue获得远端ue id。
127.步骤s1306,中继ue为远端ue生成ue-app-id,利用ue-app-id和k
af
生成k-app。
128.步骤s1308,中继ue将ue-app-id、应用密钥k-app和a-kid发送给远端ue。
129.步骤s1310,应用平台af利用ue-app-id和应用平台密钥k
af
生成应用密钥k-app。
130.步骤s1312,远端ue和平台af之间利用k-app进行安全通信。
131.图14示出了可以应用本发明实施例的一种基于共享密钥进行数据通信交互过程的示意图。
132.如图14所示,基于共享密钥进行数据通信交互过程主要涉及远端ue1402、中继ue1404、认证服务器功能1406、应用层认证和密钥管理锚点功能(aanf)1408、网络开放功能(nef)1410和中继应用管理平台(af)1412,中继ue1404与应用层认证和密钥管理锚点功能(aanf)1408之间进行主认证及k
akma
密钥建立,中继ue1404生成a-kid和k
af
,中继ue1404与中继应用管理平台(af)1412之间进行,中继应用管理平台af1412发送a-kid和af_id,并经由nef从aanf获取k
af
、k
af
有效期、手机号gpsi等,中继ue1404与中继应用管理平台(af)1412之间的应用会话建立响应,中继ue1404利用共享密钥k
af
进行安全通信,接下来远端ue与中继应用管理平台(af)1412之间的安全通信主要通过以下步骤实现:
133.1.远端ue1402与中继ue1404建立安全连接,中继ue1404获取远端ue1402的id。
134.2.中继ue1404利用远端ue1402的id生成ue_app_id。
135.3.中继ue1404利用ue_app_id和k
af
生成k_app。
136.4.中继ue1404将ue_app_id、k_app、a-kid发送至远端ue1402。
137.5.远端ue1402与中继应用管理平台(af)1412之间的应用会话建立请求(a-kid、ue_app_id)。
138.6.中继应用管理平台(af)1412利用ue_app_id和k
af
生成k_app。
139.7.远端ue1402与中继应用管理平台(af)1412之间的应用会话建立响应。
140.8.远端ue1402与中继应用管理平台(af)1412之间利用共享密钥k_app进行安全通信。
141.对应于上述方法实施例,本公开还提供一种基于共享密钥进行数据通信的装置,可以用于执行上述方法实施例。
142.图15是本公开示例性实施例中一种基于共享密钥进行数据通信的装置的方框图。
143.参考图15,基于共享密钥进行数据通信的装置1500可以包括:
144.获取模块1502,设置为获取远端终端设备的标识信息。
145.生成模块1504,设置为根据所述远端终端设备的标识信息生成终端应用标识。
146.所述生成模块1504,设置为根据所述终端应用标识和应用平台密钥生成相应的应用密钥。
147.交互模块1506,设置为将所述终端应用标识、所述应用密钥和所述应用密钥标识反馈至远端终端设备,所述远端终端设备被配置为通过应用会话请求向中继应用管理平台发送应用密钥标识和终端应用标识,以供所述中继应用管理平台被配置为能够根据所述终端应用标识和应用平台密钥生成相应的应用密钥,所述远端终端设备与所述中继应用管理平台基于所述应用密钥进行数据通信。
148.在本公开的一种示例性实施例中,交互模块1506还设置为:通过与应用层进行主认证并生成锚点密钥;基于所述锚点密钥生成应用平台密钥和所述应用密钥标识;请求与所述中继应用管理平台建立应用会话;向所述中继应用管理平台发送所述应用密钥标识,所述中继应用管理平台被配置为向应用层认证和密钥管理锚点功能发送所述应用密钥标识和应用平台标识,所述应用层认证和密钥管理锚点功能被配置为根据所述锚点密钥确定所述应用平台密钥,并将所述应用平台密钥、所述应用平台密钥的有效期和终端通用公共
用户标识反馈至所述中继应用管理平台;通过共享的所述应用平台密钥与所述中继应用管理平台进行数据通信。
149.在本公开的一种示例性实施例中,生成模块1504还设置为:将所述终端应用标识和所述应用平台密钥代入密钥导出函数进行计算;根据所述密钥导出函数确定相应的应用密钥。
150.在本公开的一种示例性实施例中,所述密钥导出函数的表达式包括:k-app=hmac-sha-256(k
af
,s);s=fc||p0||l0,其中,所述hmac-sha-256(k
af
,s)表征以所述k
af
和所述s为参数的密钥导出函数,所述k
af
表征所述应用平台密钥,所述k-app表征所述应用密钥,所述s表征中间参数,所述fc表征3gpp的保留字段,所述p0表征所述终端应用标识,所述l0表征所述终端应用标识的字符长度。
151.在本公开的一种示例性实施例中,交互模块1506还设置为:获取远端终端设备的通信标识符;根据所述通信标识符生成ipv6接口标识,并根据所述ipv6接口标识确定对应的远端终端设备的标识信息;将所述ipv6接口标识分配至对应的远端终端设备。
152.在本公开的一种示例性实施例中,交互模块1506还设置为:获取远端终端设备的通信标识符;根据所述通信标识符生成ipv6接口标识,并根据所述ipv6接口标识确定对应的远端终端设备的标识信息;响应于接收到的所述远端终端设备的数据流,采用生成的ipv6接口标识替换所述数据流中的ipv6接口标识。
153.在本公开的一种示例性实施例中,所述通信标识符包括msisdn、gpsi、imsi、supi、mac地址中的至少一种。
154.由于基于共享密钥进行数据通信的装置1500的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
155.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
156.在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
157.所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
158.下面参照图16来描述根据本发明的这种实施方式的电子设备1600。图16显示的电子设备1600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
159.如图16所示,电子设备1600以通用计算设备的形式表现。电子设备1600的组件可以包括但不限于:上述至少一个处理单元1610、上述至少一个存储单元1620、连接不同系统组件(包括存储单元1620和处理单元1610)的总线1630。
160.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1610执行,使得所述处理单元1610执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1610可以执行如本公开实施例所示的方法。
161.存储单元1620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元
(ram)16201和/或高速缓存存储单元16202,还可以进一步包括只读存储单元(rom)16203。
162.存储单元1620还可以包括具有一组(至少一个)程序模块16205的程序/实用工具16204,这样的程序模块16205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
163.总线1630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
164.电子设备1600也可以与一个或多个外部设备1640(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1600交互的设备通信,和/或与使得该电子设备1600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1650进行。并且,电子设备1600还可以通过网络适配器1660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1660通过总线1630与电子设备1600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
165.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
166.在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
167.根据本发明的实施方式的用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
168.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
169.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、
光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
170.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
171.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
172.此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
173.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。