一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据管理方法、装置及系统、存储介质与流程

2022-04-30 02:04:10 来源:中国专利 TAG:


1.本技术涉及云计算技术领域,特别涉及一种数据管理方法、装置及系统、存储介质。


背景技术:

2.云计算(cloud computing)系统是基于云计算技术实现的服务系统,其包括多个处理节点和存储节点,处理节点用于对其中部署的应用程序对应的数据进行处理,并将处理后的数据存储至存储节点中与该应用程序对应的存储卷中。在将某一应用程序从一处理节点(下文称为源处理节点)迁移至另一处理节点(下文称为目标处理节点)之后,可以将存储节点中与该应用程序对应的存储卷的挂载节点从该源处理节点切换为该目标处理节点,使得该目标处理节点可以使用该源处理节点向该存储节点中存储的该应用程序对应的数据。
3.为了保证数据的安全性,处理节点通常将应用程序对应的数据加密后存储至存储节点。在一个典型的示例中,处理节点根据该处理节点的处理器的硬件唯一密钥(hardware unique key,huk)派生安全存储密钥,利用该安全存储密钥加密该处理节点中的应用程序对应的数据,并将该应用程序对应的加密后的数据存储至存储节点中与该应用程序对应的存储卷中。其中,huk是在处理器或包含该处理器的设备出厂时配置好的,不同处理器的huk不同。
4.但是,在处理节点利用huk派生的安全存储密钥加密数据的方案中,当某一应用程序从源处理节点迁移至目标处理节点之后,由于该源处理节点的处理器的huk与该目标处理节点的处理器的huk不同,导致该目标处理节点派生出的安全存储密钥与该源处理节点派生出的安全存储密钥不同,从而导致该目标处理节点无法从存储节点中恢复出源处理节点向该存储节点中存储的该应用程序对应的数据,因此数据管理的灵活性较差。


技术实现要素:

5.本技术提供了一种数据管理方法、装置及系统、存储介质,有助于提高数据管理的灵活性。本技术的技术方案如下:
6.第一方面,提供了一种数据管理方法,应用于数据管理系统中的第一处理节点,该数据管理系统还包括第二处理节点,该方法包括:根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥;利用该安全存储密钥加密该第一处理节点中的应用程序对应的数据;将加密后的数据发送给该第二处理节点,其中,该第二处理节点对应的第二外部密钥材料与该第一外部密钥材料相同。
7.本技术提供的技术方案,由于第一处理节点对应的第一外部密钥材料与第二处理节点对应的第二外部密钥材料相同,因此该第一处理节点根据该第一外部密钥材料获取的安全存储密钥可以与该第二处理节点根据该第二外部密钥材料获取的安全存储密钥相同,该第二处理节点利用其获取到的安全存储密钥可以成功解密该第一处理节点利用其获取
到的安全存储密钥加密后的数据,有助于提高数据管理的灵活性。
8.可选地,根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥,包括:根据该第一外部密钥材料,以及,该第一处理节点对应的第一内部密钥材料或该应用程序对应的应用内部密钥材料获取安全存储密钥,其中,该第二处理节点对应的第二内部密钥材料与该第一内部密钥材料相同。
9.本技术提供的技术方案,第一处理节点根据第一外部密钥材料,以及,第一内部密钥材料或应用内部密钥材料获取安全存储密钥,因此该安全存储密钥是该第一处理节点根据至少两个密钥材料获取的,有助于保证该安全存储密钥的安全性。
10.可选地,该第一处理节点中配置有可信操作系统,该应用程序包括可信应用,该第一内部密钥材料是该可信操作系统对应的内部密钥材料,该应用内部密钥材料是该可信应用对应的内部密钥材料。
11.可选地,该第一处理节点的操作系统的执行环境包括可信执行环境(trusted execution environment,tee),该可信操作系统和该可信应用均置于tee中。
12.可选地,根据该第一外部密钥材料,以及,该第一处理节点对应的第一内部密钥材料或该应用程序对应的应用内部密钥材料获取安全存储密钥,包括:根据该第一外部密钥材料,以及,该第一内部密钥材料或该应用内部密钥材料,基于目标密钥派生算法生成该安全存储密钥。
13.本技术提供的技术方案,第一处理节点根据第一外部密钥材料,以及,第一内部密钥材料或应用内部密钥材料,基于目标密钥派生算法生成安全存储密钥,有助于保证该安全存储密钥的安全性。
14.可选地,根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥,包括:根据该第一外部密钥材料,该第一处理节点对应的第一内部密钥材料和该应用程序对应的应用内部密钥材料获取安全存储密钥,其中,该第二处理节点对应的第二内部密钥材料与该第一内部密钥材料相同。
15.本技术提供的技术方案,第一处理节点根据第一外部密钥材料,第一内部密钥材料和应用内部密钥材料获取安全存储密钥,因此该安全存储密钥是该第一处理节点根据至少两个密钥材料获取的,有助于保证该安全存储密钥的安全性。
16.可选地,根据该第一外部密钥材料,该第一处理节点对应的第一内部密钥材料和该应用程序对应的应用内部密钥材料获取安全存储密钥,包括:根据该第一外部密钥材料,该第一内部密钥材料和该应用内部密钥材料,基于目标密钥派生算法生成该安全存储密钥。
17.本技术提供的技术方案,第一处理节点根据第一外部密钥材料,第一内部密钥材料和应用内部密钥材料,基于目标密钥派生算法生成安全存储密钥,有助于保证该安全存储密钥的安全性。
18.可选地,根据该第一外部密钥材料,该第一内部密钥材料和该应用内部密钥材料,基于目标密钥派生算法生成该安全存储密钥,包括:根据该应用内部密钥材料确定第一初始密钥;根据该第一内部密钥材料和该第一外部密钥材料确定第二初始密钥;根据该第一初始密钥和该第二初始密钥,基于该目标密钥派生算法生成安全存储密钥。
19.本技术提供的技术方案,第一处理节点通过根据应用内部密钥材料确定第一初始
密钥,根据第一内部密钥材料和第一外部密钥材料确定第二初始密钥,可以便于该第一处理节点生成安全存储密钥。
20.可选地,在根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥之前,该方法还包括:接收密钥管理节点分配的该第一外部密钥材料,其中,该密钥管理节点为同一集群中的处理节点分配的外部密钥材料相同。
21.本技术提供的技术方案,密钥管理节点通过向第一处理节点分配第一外部密钥材料,可以便于该第一处理节点获取该第一处理节点对应的第一外部密钥材料。
22.可选地,该集群满足以下条件中的至少一项:该集群中的处理节点的业务场景相同;该集群中的处理节点的数量小于预设数量;该集群中的处理节点处于同一网络拓扑中。
23.本技术提供的技术方案,集群中的处理节点的业务场景相同可以便于在该集群中的处理节点之间进行应用程序迁移;集群中的处理节点的数量小于预设数量可以使得拥有相同外部密钥材料的处理节点的数量较少,保证该集群中的处理节点对应的外部密钥材料的安全性;集群中的处理节点处于同一网络拓扑中可以便于该集群中的处理节点相互通信。
24.可选地,接收密钥管理节点分配的该第一外部密钥材料,包括:接收密钥管理节点发送的加密后的该第一外部密钥材料,其中,加密后的该第一外部密钥材料是该密钥管理节点利用第一安全密钥基于第一加密算法加密得到的,该第一安全密钥和该第一加密算法是该第一处理节点与该密钥管理节点均持有的。
25.本技术提供的技术方案,由于密钥管理节点向第一处理节点发送的第一外部密钥材料是该密钥管理节点利用第一安全密钥基于第一加密算法加密得到的,因此可以保证该第一外部密钥材料的传输安全性,也即是,保证该密钥管理节点向该第一处理节点发送该第一外部密钥材料的过程中该第一外部密钥材料的安全性。
26.可选地,在接收密钥管理节点分配的该第一外部密钥材料之前,该方法还包括:向该密钥管理节点发送密钥申请请求,该密钥申请请求携带该第一处理节点的节点标识,该密钥管理系统用于根据该第一处理节点的节点标识确定该第一处理节点对应的第一外部密钥材料。
27.本技术提供的技术方案,第一处理节点通过向密钥管理节点发送密钥申请请求,可以便于该密钥管理节点向该第一处理节点发送该第一处理节点对应的第一外部密钥材料,从而便于该第一处理节点获取该第一处理节点对应的第一外部密钥材料。
28.可选地,在接收密钥管理节点分配的该第一外部密钥材料之后,该方法还包括:利用第一安全密钥基于第一加密算法解密该第一外部密钥材料;利用第一材料密钥对解密后的第一外部密钥材料进行加密;将加密后的第一外部密钥材料存储至该第一处理节点中的可信存储单元中,该第一处理节点的操作系统的执行环境包括富执行环境(rich executing environment,ree),该可信存储单元置于该ree中。
29.本技术提供的技术方案,第一处理节点对密钥管理节点发送的该第一处理节点对应的第一外部密钥材料解密之后再加密存储,可以保证该第一外部密钥材料的存储安全性。
30.可选地,在利用第一材料密钥对解密后的第一外部密钥材料进行加密之前,该方法还包括:根据第一处理节点的硬件标识获取第一材料密钥。由此可以便于该第一处理节
点利用该第一材料密钥对该第一处理节点对应的第一外部密钥材料进行加密存储。
31.可选地,将加密后的所述数据发送给第二处理节点,包括:将加密后的所述数据发送给存储节点,其中,该存储节点用于将加密后的数据发送给第二处理节点。
32.第二方面,提供了一种数据管理方法,应用于数据管理系统中的第二处理节点,该数据管理系统还包括第一处理节点,该方法包括:接收该第一处理节点发送的应用程序对应的加密后的数据;根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥,其中,该第二外部密钥材料与该第一处理节点对应的第一外部密钥材料相同;利用该安全存储密钥解密该应用程序对应的加密后的数据。
33.本技术提供的技术方案,由于第一处理节点对应的第一外部密钥材料与第二处理节点对应的第二外部密钥材料相同,因此该第一处理节点根据该第一外部密钥材料获取到的安全存储密钥可以与该第二处理节点根据该第二外部密钥材料获取到的安全存储密钥相同,该第二处理节点利用其得到的安全存储密钥可以成功解密该第一处理节点利用其得到的安全存储密钥加密后的数据,有助于提高数据管理的灵活性。
34.可选地,根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥,包括:根据该第二外部密钥材料,以及,该第二处理节点对应的第二内部密钥材料或该应用程序对应的应用内部密钥材料获取安全存储密钥,其中,该第二内部密钥材料与该第一处理节点对应的第一内部密钥材料相同。
35.本技术提供的技术方案,第二处理节点根据第二外部密钥材料,以及,第二内部密钥材料或应用内部密钥材料获取安全存储密钥,因此该安全存储密钥是该第二处理节点根据至少两个密钥材料获取的,有助于保证该安全存储密钥的安全性。
36.可选地,该第二处理节点中配置有可信操作系统,该应用程序包括可信应用,该第二内部密钥材料是该可信操作系统对应的内部密钥材料,该应用内部密钥材料是该可信应用对应的内部密钥材料。
37.可选地,该第二处理节点的操作系统的执行环境包括tee,该可信操作系统和该可信应用均置于tee中。
38.可选地,根据该第二外部密钥材料,以及,该第二处理节点对应的第二内部密钥材料或该应用程序对应的应用内部密钥材料获取安全存储密钥,包括:根据该第二外部密钥材料,以及,该第二内部密钥材料或该应用内部密钥材料,基于目标密钥派生算法生成该安全存储密钥。
39.本技术提供的技术方案,第二处理节点根据第二外部密钥材料,以及,第二内部密钥材料或应用内部密钥材料,基于目标密钥派生算法生成安全存储密钥,有助于保证该安全存储密钥的安全性。
40.可选地,根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥,包括:根据该第二外部密钥材料,该第二处理节点对应的第二内部密钥材料和该应用程序对应的应用内部密钥材料获取安全存储密钥,其中,该第二内部密钥材料与该第一处理节点对应的第一内部密钥材料相同。
41.本技术提供的技术方案,第二处理节点根据第二外部密钥材料,第二内部密钥材料和应用内部密钥材料获取安全存储密钥,因此该安全存储密钥是该第二处理节点根据至少两个密钥材料获取的,有助于保证该安全存储密钥的安全性。
42.可选地,根据该第二外部密钥材料,该第二处理节点对应的第二内部密钥材料和该应用程序对应的应用内部密钥材料获取安全存储密钥,包括:根据该第二外部密钥材料,该第二内部密钥材料和该应用内部密钥材料,基于目标密钥派生算法生成该安全存储密钥。
43.本技术提供的技术方案,第二处理节点根据第二外部密钥材料,第二内部密钥材料和应用内部密钥材料,基于目标密钥派生算法生成安全存储密钥,有助于保证该安全存储密钥的安全性。
44.可选地,根据该第二外部密钥材料,该第二内部密钥材料和该应用内部密钥材料,基于目标密钥派生算法生成该安全存储密钥,包括:根据该应用内部密钥材料确定第一初始密钥;根据该第二内部密钥材料和该第二外部密钥材料确定第二初始密钥;根据该第一初始密钥和该第二初始密钥,基于该目标密钥派生算法生成安全存储密钥。
45.本技术提供的技术方案,第二处理节点通过根据应用内部密钥材料确定第一初始密钥,根据第二内部密钥材料和第二外部密钥材料确定第二初始密钥,可以便于该第二处理节点生成安全存储密钥。
46.可选地,在根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥之前,该方法还包括:接收密钥管理节点分配的该第二外部密钥材料,其中,该密钥管理节点为同一集群中的处理节点分配的外部密钥材料相同。
47.本技术提供的技术方案,密钥管理节点通过向第二处理节点分配第二外部密钥材料,可以便于该第二处理节点获取该第二处理节点对应的第二外部密钥材料。
48.可选地,该集群满足以下条件中的至少一项:该集群中的处理节点的业务场景相同;该集群中的处理节点的数量小于预设数量;该集群中的处理节点处于同一网络拓扑中。
49.本技术提供的技术方案,集群中的处理节点的业务场景相同可以便于在该集群中的处理节点之间进行应用程序迁移;集群中的处理节点的数量小于预设数量可以使得拥有相同外部密钥材料的处理节点的数量较少,保证该集群中的处理节点对应的外部密钥材料的安全性;集群中的处理节点处于同一网络拓扑中可以便于该集群中的处理节点相互通信。
50.可选地,接收密钥管理节点分配的该第二外部密钥材料,包括:接收密钥管理节点发送的加密后的第二外部密钥材料,其中,加密后的该第二外部密钥材料是该密钥管理节点利用第二安全密钥基于第二加密算法加密得到的,该第二安全密钥和该第二加密算法是该第二处理节点与该密钥管理节点均持有的。
51.本技术提供的技术方案,由于密钥管理节点向第二处理节点发送的第二外部密钥材料是该密钥管理节点利用第二安全密钥基于第二加密算法加密得到的,因此可以保证该第二外部密钥材料的传输安全性,也即是,保证该密钥管理节点向该第二处理节点发送该第二外部密钥材料的过程中该第二外部密钥材料的安全性。
52.可选地,在接收密钥管理节点分配的该第二外部密钥材料之前,该方法还包括:向该密钥管理节点发送密钥申请请求,该密钥申请请求携带该第二处理节点的节点标识,该密钥管理系统用于根据该第二处理节点的节点标识确定该第二处理节点对应的第二外部密钥材料。
53.本技术提供的技术方案,第二处理节点通过向密钥管理节点发送密钥申请请求,
可以便于该密钥管理节点向该第二处理节点发送该第二处理节点对应的第二外部密钥材料,从而便于该第二处理节点获取该第二处理节点对应的第二外部密钥材料。
54.可选地,在接收密钥管理节点分配的该第二外部密钥材料之后,该方法还包括:利用第二安全密钥基于第二加密算法解密该第二外部密钥材料;利用第二材料密钥对解密后的第二外部密钥材料进行加密;将加密后的第二外部密钥材料存储至该第二处理节点中的可信存储单元中,该第二处理节点的操作系统的执行环境包括ree,该可信存储单元置于该ree中。
55.本技术提供的技术方案,第二处理节点对密钥管理节点发送的该第二处理节点对应的第二外部密钥材料解密之后再加密存储,可以保证该第二外部密钥材料的存储安全性。
56.可选地,在利用第二材料密钥对解密后的第二外部密钥材料进行加密之前,该方法还包括:根据第二处理节点的硬件标识获取第二材料密钥。由此可以便于该第二处理节点利用该第二材料密钥对该第二处理节点对应的第二外部密钥材料进行加密存储。
57.可选地,接收该第一处理节点发送的应用程序对应的加密后的数据,包括:接收存储节点发送的加密后的数据,该存储节点用于存储第一处理节点发送的该应用程序对应的加密后的数据。
58.第三方面,提供了一种数据管理装置,该数据管理装置包括用于执行如第一方面或第一方面的任一可选方式提供的方法的各个模块。
59.第四方面,提供了一种数据管理装置,该数据管理装置包括用于执行如第二方面或第二方面的任一可选方式提供的方法的各个模块。
60.第五方面,提供了一种计算机设备,该计算机设备包括存储器和处理器;
61.该存储器用于存储计算机程序;
62.该处理器用于执行该存储器中存储的该计算机程序以实现如第一方面或第一方面的任一可选方式提供的方法,或者,实现如第二方面或第二方面的任一可选方式提供的方法。
63.第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或第一方面的任一可选方式提供的方法,或者,实现如第二方面或第二方面的任一可选方式提供的方法。
64.第七方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行如第一方面或第一方面的任一可选方式所提供的方法,或者,执行如第二方面或第二方面的任一可选方式提供的方法。
65.第八方面,提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如第一方面或第一方面的任一可选方式所提供的方法,或者,实现如第二方面或第二方面的任一可选方式提供的方法。
66.第九方面,提供了一种数据管理系统,该数据管理系统包括:第一处理节点和第二处理节点,该第一处理节点包括如第三方面所提供的数据管理装置,该第二处理节点包括如第四方面所提供的数据管理装置;或者,该第一处理节点和该第二处理节点中的至少一个为如第五方面所提供的计算机设备。
67.可选地,该数据管理系统还包括:存储节点,该第一处理节点用于通过该存储节点
向该第二处理节点发送应用程序对应的数据。
68.可选地,该数据管理系统还包括:管理节点,该管理节点用于响应于集群划分指令,对该数据管理系统中的处理节点进行集群划分。
69.其中,该管理节点对该数据管理系统中的处理节点进行集群划分可以得到至少一个集群,该集群满足以下条件中的至少一项:该集群中的处理节点的业务场景相同;该集群中的处理节点的数量小于预设数量;该集群中的处理节点处于同一网络拓扑中。
70.本技术提供的技术方案带来的有益效果是:
71.本技术提供的数据管理方法、装置及系统、存储介质,数据管理系统包括第一处理节点和第二处理节点,第一处理节点根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥后,利用该安全存储密钥加密该第一处理节点中的应用程序对应的数据,并将该应用程序对应的加密后的数据发送给第二处理节点;该第二处理节点接收该第一处理节点发送的该应用程序对应的加密后的数据,根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥,并利用该安全存储密钥解密该应用程序对应的加密后的数据;该第二外部密钥材料与该第一外部密钥材料相同,因此该第二处理节点和该第一处理节点可以获取到相同的安全存储密钥,该第二处理节点可以成功解密该第一处理节点发送的该应用程序对应的加密后的数据,有助于提高数据管理的灵活性。
附图说明
72.图1是一种应用程序迁移的示意图;
73.图2是一种基于trustzone技术的系统架构的示意图;
74.图3是一种安全存储方案的示意图;
75.图4是另一种应用程序迁移的示意图;
76.图5是本技术实施例提供的一种数据管理系统的示意图;
77.图6是本技术实施例提供的一种处理节点的结构示意图;
78.图7是本技术实施例提供的一种数据管理方法的流程图;
79.图8是本技术实施例提供的另一种数据管理方法的流程图;
80.图9是本技术实施例提供的一种密钥材料导入过程的示意图;
81.图10是本技术实施例提供的一种数据加密过程的示意图;
82.图11是本技术实施例提供的一种数据解密过程的示意图;
83.图12是本技术实施例提供的一种数据管理过程的示意图;
84.图13是本技术实施例提供的一种数据管理装置的逻辑结构示意图;
85.图14是本技术实施例提供的另一种数据管理装置的逻辑结构示意图;
86.图15是本技术实施例提供的一种计算机设备的硬件结构示意图。
具体实施方式
87.为使本技术的原理、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
88.云计算技术是指通过网络“云”将巨大的数据计算处理程序分解成多个小程序,通过多个服务器组成的系统对这些小程序进行分析和处理,并将处理结果反馈给用户的技
术。云计算系统(又称为云计算平台)是基于云计算技术实现的服务系统(又称为服务平台),其包括多个处理节点和存储节点,处理节点中部署有应用程序,处理节点用于对其中部署的应用程序对应的数据进行处理,并将处理后的数据存储至存储节点中与该应用程序对应的存储卷中。其中,处理节点的操作系统用于为该处理节点中部署的应用程序提供运行平台,使得该应用程序能够在处理节点中运行。可选地,处理节点和存储节点均可以是服务器。
89.随着云计算技术的飞速发展,虚拟化技术所具有的隔离性、易部署性以及硬件独立等特性,使其日益成为对外提供云计算服务的基础。可以基于虚拟化技术在处理节点中部署应用程序,实现同一处理节点中的不同应用程序的相互隔离。目前主流的虚拟化技术包括两大类,分别为虚拟机技术和容器(container)技术,可以利用这两类技术将包括中央处理器(central processing unit,cpu)、内存、输入/输出(input/output,i/o)、网络等在内的资源进行虚拟化。其中,容器技术是计算机操作系统的一种虚拟化技术,该技术使得进程运行于相对独立和隔离的环境(包含独立的文件系统、命名空间、资源视图等),从而能够简化软件(例如应用程序)的部署流程,增强软件的可移植性和安全性,并提高系统资源利用率,容器技术广泛应用于云计算领域的服务化场景。容器技术提供一种逻辑打包机制,以这种机制打包的应用程序可以与其实际执行环境(又称为运行环境)解耦,利用这种解耦,不管是在私有数据中心、公有云,还是个人电脑,都可以轻松、一致地基于容器部署应用程序,也即是,可以以容器为单位在处理节点中部署应用程序,使该应用程序与其实际执行环境解耦。
90.为了提供更加稳定的服务及降低服务开销,在云计算技术中,资源管理不仅需要具备低管理开销、高度可扩展性,同时云计算系统还需提供负载均衡等功能,这些关键特性是保障云计算系统的服务高效、稳定的重要手段。为了保证云计算系统中的多个处理节点的负载均衡,可以在云计算系统中的多个处理节点之间进行应用程序的迁移。例如,基于动态迁移(live migration)技术在云计算系统中的多个处理节点之间进行应用程序的迁移。其中,动态迁移技术又称为热迁移技术,其是实现云计算系统的资源管理的核心技术之一,也是实现云计算系统负载均衡的重要手段。在基于容器部署应用程序的虚拟化技术中,可以基于容器进行应用程序的迁移,也即是,以容器为单位在不同处理节点之间进行应用程序的迁移。
91.示例地,请参考图1,其示出了一种应用程序迁移的示意图,该图1以基于容器进行应用程序迁移为例说明。如图1所示,云计算系统10包括处理节点11、处理节点12以及存储节点13,该处理节点11、该处理节点12和该存储节点13均可以是服务器。部署在该处理节点11中的应用程序a位于该处理节点11的容器a中,该处理节点11可以将应用程序a对应的数据a存储至存储节点13中与该应用程序a对应的存储卷a中。可以以容器为单位将该应用程序a从该处理节点11迁移至该处理节点12(也即是,将应用程序a所在的容器a从该处理节点11迁移至该处理节点12)。在将该应用程序a从该处理节点11迁移至该处理节点12之后,可以将该存储节点13中与该应用程序a对应的存储卷a的挂载节点从该处理节点11切换为该处理节点12,这样该处理节点12可以使用该处理节点11向该存储节点13中存储的该应用程序a对应的数据a。可选地,在将该应用程序a从该处理节点11迁移至该处理节点12之后,可以将该存储卷a与处理节点11的映射断开,并将该存储卷a映射到处理节点12上,使得该存
储节点13中与该应用程序a对应的存储卷a的挂载节点从该处理节点11切换为该处理节点12。其中,应用程序a的迁移过程以及该应用程序a对应的存储卷a的挂载节点的切换过程可以均由高层管理节点控制处理节点11、处理节点12以及存储节点13彼此交互来完成,该高层管理节点可以是该云计算系统10中用于管理该云计算系统10中的处理节点和存储节点的管理节点,也可以是用于管理该云计算系统10的节点,本技术实施例对此不做限定。
92.处理节点的操作系统的执行环境通常为开放式的ree,存在一定的安全性问题。为了保证数据的安全性,处理节点通常将应用程序对应的数据加密后存储至存储节点。在一个典型的示例中,处理节点支持arm(advanced risc machines)可信区域(trustzone)技术,处理节点基于arm trustzone技术对应用程序对应的数据加密。下面介绍一下arm trustzone技术。
93.arm trustzone技术简称为trustzone技术,是arm公司实现的,用来构建tee的cpu底层硬件隔离技术。trustzone技术能够为设备(例如处理节点)提供一种执行环境包括ree和tee的系统架构,也即是,基于trustzone技术的系统架构中存在两种并行的执行环境,分别为开放式的ree和相对封闭式的tee。其中,tee是全球平台(global platform,gp)国际标准组织的一个主要研究领域,其综合采用可信计算与虚拟化隔离等技术,为安全敏感应用提供一个可信赖的执行环境,同时保护相关数据的机密性和完整性。gp国际标准组织是跨行业的国际标准组织,致力于开发、制定并发布安全芯片的技术标准,以促进多应用产业环境的管理及其安全、可互操作的业务部署,其工作重心主要集中在安全单元(secure element,se)、tee和系统消息(mobile messaging)等领域。
94.基于trustzone技术的系统架构包括安全世界(secure world)和普通世界(normal world),安全世界对应的执行环境为tee,普通世界对应的执行环境为ree,普通世界又称为非安全世界,安全世界和普通世界具有独立的系统资源,该系统资源包括硬件资源和软件资源中的至少一种,该硬件资源包括但不限于寄存器、物理内存和外设等,其中,安全世界中的系统资源可以称为安全资源,普通世界中的系统资源可以称为普通资源。安全世界中的代码和资源受到严格的访问控制策略保护,普通世界的进程禁止访问安全世界,以保证存储在安全世界的资源不被非法访问或窃取,能够有效减少外界的攻击和病毒的入侵。
95.gp国际标准化组织从2011年起开始制定tee规范标准,如今大多数基于trustzone技术的trusted os都遵循了gp国际标准化组织的标准规范,一种典型的基于trustzone技术的系统架构如图2所示。在基于trustzone技术的系统架构20中,操作系统的执行环境包括ree和tee,ree中部署有富(rich)操作系统(operating system,os)以及客户端应用(client application,ca),tee中部署有可信(trusted)操作系统(operating system,os)以及与ree中的ca对应的可信应用(trusted application,ta),且可信os和ta通常以数据的形式加密存储在持久化存储介质中。富os用于为ca提供运行平台,可信os用于为ta提供运行平台,设备(例如处理节点)中部署的一个完整的应用程序包括ca以及与该ca对应的ta,ca与其对应的ta协同工作,实现应用程序的完整功能。其中,ca又称为普通应用,ta又称为安全应用,可信os又称为安全os,可信os和ta用于使能trustzone的安全功能。ca用于与客户端交互,且ca将需要隔离保护的核心代码、关键业务逻辑、敏感数据分离到ta,大幅降低来自ree的安全威胁。示例地,ca接收到客户端发送的数据后,将该数据中的关键数据传
输给对应的ta,ta对该ca传输的关键数据进行处理。如图2所示,ca和富os之间通过tee客户端(client)接口通信,ta和可信os之间通过tee内部(internal)接口通信,ca和ta之间通过共享内存传输数据。其中,富os与可信os具有通信接口,ca和ta还可以通过调用富os与可信os之间的通信接口通信。该tee客户端接口和该tee内部接口均可以是应用程序编程接口(application programming interface,api),例如,tee客户端接口是tee client api,tee内部接口是tee internal api。由于ta和可信os之间能够通过tee内部接口通信,因此可以将ta的一些通用功能集成到可信os中,并由可信os通过tee内部接口以安全服务的形式将这些通用功能提供给ta,以此来简化ta的复杂度。
96.gp标准中定义了通用的加密、解密以及安全存储等安全服务。在基于trustzone技术的系统架构中,一种主流的安全存储方案如图3所示,该图3以该基于trustzone技术的系统架构是处理节点11的系统架构,以该安全存储方案应用于图1所示的处理节点11与存储节点13为例说明。如图3所示,处理节点11的操作系统的执行环境包括tee(当然还可以包括ree,图3中未示出),可信os和ta均置于tee中,可信os根据其所在设备(也即是处理节点11)的处理器的huk(又称为硬件可信根)和ta的通用唯一识别码(universally unique identifier,uuid),基于密钥派生算法派生安全存储密钥,利用该安全存储密钥,基于数据加密算法对ta对应的明文数据进行加密得到密文数据,并将密文数据存储至存储节点13。其中,huk是处理器或包含该处理器的设备出厂时预置的密钥,通常只能被可信os使用,以保护机密性。uuid是计算机体系中用于识别信息数目的一个128位标识符,ta的uutd可以认为是ta的一种标识,ta的uuid可以记为ta_uuid。
97.当前trustzone技术主要应用于终端设备(例如手机)上,在终端设备场景下,对于不涉及个人隐私的数据(又称为非敏感数据),终端设备通常使用后台云服务进行数据的备份和恢复;而对于涉及个人隐私的数据(又称为敏感数据,例如指纹数据、口令数据等),终端设备可以采用如图3所示的安全存储方案,基于处理器的huk对这些数据进行安全存储。在这些被安全存储的数据无法恢复(例如终端设备出现处理器损坏等硬件故障)时,通常可以由用户重新进行数据录入。也即是,终端设备可以无需支持敏感数据的备份和恢复。而在服务器场景,特别是云服务场景下,需要在容器场景下使用trustzone技术,且服务器需要支持数据的备份和恢复(例如一旦一些数据无法恢复将会导致一些功能无法使用)。但是,在服务器场景下的,如果基于如图3所示的安全存储方案对应用程序对应的数据进行存储,在应用程序从一服务器(下文称为源服务器)迁移至另一服务器(下文称为目标服务器)之后,由于这两个服务器的处理器的huk不同,因此这两个服务器派生出的安全存储密钥不同,导致该目标服务器无法恢复该源服务器存储的该应用程序对应的数据。
98.示例地,请参考图4,其示出了另一种应用程序迁移的示意图,该图4以服务器场景下基于容器进行应用程序迁移为例说明。如图4所示,云计算系统40包括服务器41、服务器42以及存储节点43。部署在服务器41中的应用程序b(图4中未标出)包括ca和ta,ca位于该服务器41的容器b中,服务器41将该应用程序b对应的数据存储至存储节点43中与该应用程序b对应的存储卷b中。示例地,服务器41将应用程序b对应的数据存储至存储节点43中与该应用程序b对应的存储卷b中具体包括:服务器41中的应用程序b的ca接收到客户端发送的该应用程序b对应的数据后,将该应用程序b对应的数据中的普通数据(指的是无需安全存储的非敏感数据)传输给该服务器41中的富os,将该应用程序b对应的数据中的关键数据
(指的是安全存储的敏感数据)传输给该应用程序b的ta;该服务器41中的富os将该应用程序b对应的普通数据至存储节点43中与该应用程序b对应的存储卷b中;该应用程序b的ta将该应用程序b对应的关键数据传输给该服务器41中的可信os,该可信os利用基于该服务器41的处理器的huk和该ta的uuid(也即是ta_uuid)派生的安全存储密钥对该应用程序b对应的关键数据进行加密得到密文数据,并将该密文数据存储至存储节点43中与该应用程序b对应的存储卷b中。在将该应用程序b从该服务器41迁移至该服务器42(包括将ca和ta都迁移至该服务器42)之后,将存储节点43中与该应用程序b对应的存储卷b的挂载节点从该服务器41切换为该服务器42,在客户端的触发下,该服务器42从该存储节点43中获取该应用程序b对应的数据。示例地,该服务器42从该存储节点43中获取该应用程序b对应的数据具体包括:该服务器42中的富os从该存储节点43中获取该应用程序b对应的普通数据,并将该应用程序b对应的普通数据传输给该服务器42中的该应用程序b的ca;该服务器42中的可信os从该存储节点43中获取该应用程序b对应的密文数据,但是,由于该服务器42的处理器的huk与该服务器41的处理器的huk不同,因此该服务器42中的可信os基于该服务器42的处理器的huk和该应用程序b的ta的uuid(也即是ta_uuid)派生的安全存储密钥与前述服务器41派生的安全存储密钥不同,导致该服务器42中的可信os无法对该应用程序b对应的密文数据进行解密,也即是,该服务器42无法对服务器41存储的密文数据进行恢复。可见,该服务器42仅可以从该存储节点43中获取该应用程序b对应的普通数据,而无法从该存储节点43中恢复该应用程序b对应的关键数据,因此基于trustzone技术的安全存储方案难以适用于跨服务器迁移应用程序的场景。
99.为了在跨服务器迁移应用程序的场景中实现源服务器与目标服务器的密文数据的共享,相关技术提供了两种技术方案,分别为基于飞地(enclave)应用的方案和共享安全存储密钥的方案,下面对该两种技术方案进行简单介绍。
100.方案一:基于飞地(enclave)应用的方案。
101.在该方案中,源服务器和目标服务器中分别具有enclave应用,可以在该源服务器中的enclave应用与该目标服务器中的enclave应用之间建立安全通信通道,在将应用程序从该源服务器迁移至该目标服务器后,该源服务器中的enclave应用从存储节点中获取该应用程序对应的密文数据,利用基于该源服务器的处理器的huk派生的安全存储密钥(例如,sealing_key-ax)对该应用程序对应的密文数据解密得到明文数据,并通过该安全通信通道将该应用程序对应的明文数据传输给目标服务器中的enclave应用,使得该目标服务器可以获取该明文数据。该目标服务器中的enclave应用可以利用基于该目标服务器的处理器的huk派生的安全存储密钥(例如,sealing_key-bx)对该源服务器发送的该应用程序对应的明文数据进行加密得到密文数据,并将该应用程序对应的密文数据存储至存储节点中与该应用程序对应的存储卷中。
102.但是,该方案需要enclave应用在业务层对数据进行解密、传输以及加密,增加了enclave应用的复杂度,且容易影响服务器的性能。
103.方案二、共享安全存储密钥的方案。
104.在该方案中,密钥管理系统(或称为密钥管理节点)向源服务器和目标服务器共享相同的安全存储密钥,该源服务器中的应用程序利用该安全存储密钥对该应用程序对应的数据加密得到密文数据,并将该应用程序对应的密文数据存储至存储节点;在该应用程序
从该源服务器迁移至该目标服务器之后,该目标服务器中的该应用程序从该存储节点中获取该应用程序对应的密文数据,利用与该源服务器相同的安全存储密钥对该应用程序对应的密文数据解密得到该应用程序对应的明文数据。
105.但是,共享安全存储密钥的过程容易导致安全存储密钥被泄露,比如,密钥管理系统向服务器共享安全存储密钥的过程中安全存储密钥被恶意截获,该方案的安全性较差;并且,该方案需要应用程序来进行数据的加密和解密,增加了应用程序的复杂度。
106.有鉴于此,本技术实施例提供一种数据管理方案,该技术方案可以基于trustzone技术实现跨服务器迁移应用程序,能够实现源服务器与目标服务器的密文数据的共享,无需增加应用程序的复杂度,且不会影响服务器的性能,具有较高的安全性。下面对本技术提供的技术方案进行介绍。
107.首先介绍本技术的实施环境。
108.本技术实施例提供的技术方案可以应用于数据管理系统中,该数据管理系统可以是云计算系统,该数据管理系统包括至少两个处理节点,该至少两个处理节点中可以部署有应用程序,可以在该至少两个处理节点之间进行应用程序迁移,并共享应用程序对应的数据。其中,该至少两个处理节点均可以是服务器或者终端设备,本技术实施例对此不做限定。
109.可选地,该数据管理系统还可以包括存储节点(可以是一个或多个),该存储节点可以与该数据管理系统中的至少一个处理节点通信连接,该存储节点中包括与处理节点中的应用程序对应的存储卷,处理节点可以将应用程序对应的数据存储至存储节点中相应的存储卷中,且处理节点可以对应用程序对应的数据加密后存储至存储节点,以保证数据的安全性。其中,该存储节点可以是服务器或终端设备,本技术实施例对此不做限定。
110.可选地,该数据管理系统还可以包括密钥管理节点,该密钥管理节点可以与该数据管理系统中的处理节点通信连接,该密钥管理节点用于向处理节点分配外部密钥材料,使处理节点基于该密钥管理节点分配的外部密钥材料派生安全存储密钥,并利用派生的安全存储密钥对应用程序对应的数据加密。其中,该密钥管理节点可以是一个服务器、由多个服务器组成的服务器集群(又称为密钥管理系统),或者是终端设备,本技术实施例对此不做限定。
111.示例地,请参考图5,其示出了本技术实施例提供的一种数据管理系统50的示意图,该数据管理系统50包括处理节点51、处理节点52、存储节点53和密钥管理节点54,该存储节点53分别与该处理节点51和该处理节点52通信连接,该密钥管理节点54分别与该处理节点51和该处理节点52通信连接。该处理节点51和该处理节点52中的至少一个处理节点中部署有应用程序,可以在该处理节点51和处理节点52之间进行应用程序迁移,例如将处理节点51中的某应用程序(例如应用程序c)从该处理节点51迁移至该处理节点52。
112.应用程序(例如应用程序c)所在的处理节点(例如处理节点51)可以将该应用程序(例如应用程序c)对应的数据存储至存储节点53中。可选地,该存储节点53中包括与该应用程序(例如应用程序c)对应的存储卷,该应用程序(例如应用程序c)所在的处理节点可以将该应用程序(例如应用程序c)对应的数据存储至该存储节点53中与该应用程序(例如应用程序c)对应的存储卷中。为了保证数据存储的安全性,该应用程序(例如应用程序c)所在的处理节点可以利用安全存储密钥对该应用程序(例如应用程序c)对应的数据进行加密,将
加密后的数据存储至该存储节点53中与该应用程序(例如应用程序c)对应的存储卷中。
113.其中,密钥管理节点54可以向处理节点51和处理节点52分配外部密钥材料。应用程序(例如应用程序c)所在的处理节点(例如处理节点51)可以根据密钥管理节点54分配的外部密钥材料获取(例如派生)安全存储密钥,利用该安全存储密钥对该应用程序(例如应用程序c)对应的数据进行加密。可选地,密钥管理节点54向处理节点51和处理节点52分配的外部密钥材料相同,这样该处理节点51和该处理节点52可以基于该相同的外部密钥材料获取相同的安全存储密钥,如果在该处理节点51和该处理节点52之间进行应用程序迁移,该处理节点51和该处理节点52可以恢复出彼此存储在存储节点53中的该应用程序对应的数据,实现数据共享。例如将应用程序c从该处理节点51迁移至该处理节点52之后,可以将该存储节点53中与该应用程序c对应的存储卷c的挂载节点从该处理节点51切换为该处理节点52,该处理节点52可以从该存储节点53的存储卷c获取该处理节点51向该存储节点53中存储的该应用程序c对应的加密后的数据(也即是密文数据),利用基于该相同的外部密钥材料获取到的安全存储密钥解密该加密后的数据。
114.需要指出的是,在本技术实施例中,应用程序可以基于虚拟化技术部署在处理节点中,应用程序的迁移可以是基于虚拟化技术的迁移,该虚拟化技术可以包括虚拟机技术和容器技术。例如,应用程序c基于容器(或虚拟机)部署在处理节点51中,可以基于容器(或虚拟机)将该应用程序c从该处理节点51迁移至该处理节点52,也即是,将该应用程序c所在的容器(或虚拟机)从该处理节点51迁移至该处理节点52。
115.还需要指出的是,图5所示实施环境仅用于举例,并非用于限制本技术实施例的技术方案,在实际实现过程中,数据管理系统可以包括比图5所示更多或更少的节点(或设备)。例如,可以根据需要配置该数据管理系统中的处理节点的数量以及存储节点的数量;再例如,该数据管理系统还可以包括高层管理节点,由该高层管理节点对处理节点和存储节点进行管理,并控制应用程序迁移;还例如,密钥管理节点也可以不属于该数据管理系统,而是独立于该数据管理系统存在的一个节点或者系统,本技术实施例对此不做限定。
116.以上是对本技术实施环境的介绍,下面介绍本技术的处理节点的系统架构。
117.请参考图6,其示出了本技术实施例提供的一种处理节点的结构示意图,该处理节点可以是图5所示数据管理系统50中的处理节点51或处理节点52,该处理节点可以是服务器或终端设备。本技术实施例以该处理节点的系统架构是基于trustzone技术的系统架构为例说明。
118.参见图6,该处理节点的操作系统的执行环境包括ree和tee,该处理节点的操作系统包括富os和可信os,且该处理节点中部署的一个完整的应用程序包括ca以及与该ca对应的ta,富os和ca均置于ree中,可信os和ta均置于tee中,且可信os和ta通常以数据的形式加密存储在持久化存储介质中。富os与ca之间通过tee客户端接口(tee client api)通信,可信os和ta之间通过tee内部接口(tee internal api)通信,ca与ta之间通过共享内存传输数据,并且ca与ta之间还可以通过调用富os与可信os之间的通信接口通信。其中,富os用于为ca提供运行平台,可信os用于为ta提供运行平台,该ca与该ta协同工作,实现应用程序的完整功能。
119.可选地,该处理节点还包括密钥导入单元和可信存储单元。可信存储单元又称为安全存储单元,该可信存储单元置于ree中,且该可信存储单元与可信os通信连接,该可信
存储单元是该可信os在ree侧实现的数据加密保护的存储单元。密钥导入单元置于tee中,且该密钥导入单元分别与可信os和可信存储单元通信连接,该密钥导入单元用于与该处理节点外部的密钥管理节点(图6中未示出)进行安全通信来获取该密钥管理节点为该处理节点分配的外部密钥材料,通过调用可信os的安全存储接口,利用该处理节点的处理器的huk派生材料密钥,利用该材料密钥对该外部密钥材料进行加密,将加密后的外部密钥材料存储至可信存储单元,由此来保证外部密钥材料的安全存储。
120.需要指出的是,图6所示的处理节点的结构仅用于举例,并非用于限制本技术实施例的技术方案,在实际实现过程中,处理节点中还可以包括其他功能单元,本文不再一一列举。
121.以上是对本技术处理节点的系统架构的介绍,下面介绍本技术提供的数据管理方法。
122.请参考图7,其示出了本技术实施例提供的一种数据管理方法的流程图,该数据管理方法可以应用于数据管理系统,该数据管理系统可以包括第一处理节点(例如图5所示的处理节点51)和第二处理节点(例如图5所示的处理节点52),该第一处理节点和该第二处理节点中的任一处理节点的系统架构可以如图6所示。参见图7,该数据管理方法包括如下步骤:
123.步骤701、第一处理节点根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥。
124.可选地,第一处理节点根据该第一处理节点对应的第一外部密钥材料,基于目标密钥派生算法生成安全存储密钥。示例地,该目标密钥派生算法可以是基于密码的密钥导出函数2(password-based key derivation function 2,pbkdf2)算法。
125.可选地,第一处理节点根据该第一处理节点对应的第一外部密钥材料,以及,该第一处理节点对应的第一内部密钥材料和/或该第一处理节点中的应用程序(例如应用程序c)对应的应用内部密钥材料获取安全存储密钥。例如,该第一处理节点根据该第一外部密钥材料,以及,该第一内部密钥材料和/或该应用内部密钥材料(例如应用程序c对应的内部密钥材料),基于目标密钥派生算法生成该安全存储密钥。该第一处理节点在生成该安全存储密钥时,使用到该第一外部密钥材料,且还使用到该第一内部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料)中的至少一种。示例地,该第一处理节点根据该第一外部密钥材料和该第一内部密钥材料,基于目标密钥派生算法生成该安全存储密钥;或者,该第一处理节点根据该第一外部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料),基于目标密钥派生算法生成该安全存储密钥;或者,该第一处理节点根据该第一外部密钥材料、该第一内部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料),基于目标密钥派生算法生成该安全存储密钥。
126.以第一处理节点根据该第一外部密钥材料、该第一内部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料),基于目标密钥派生算法生成该安全存储密钥为例。该第一处理节点可以根据该应用内部密钥材料(例如应用程序c对应的内部密钥材料)确定第一初始密钥,根据该第一内部密钥材料和该第一外部密钥材料确定第二初始密钥,而后根据该第一初始密钥和该第二初始密钥基于目标密钥派生算法生成该安全存储密钥。
127.可选地,该第一处理节点中配置有可信操作系统(也即是可信os),该应用程序(例如应用程序c)包括可信应用(也即是ta),该第一处理节点的操作系统的执行环境包括tee,该可信os和该ta均置于tee中。该第一内部密钥材料可以是该第一处理节点中的可信os对应的内部密钥材料,且该可信os对应的内部密钥材料可以是与该可信os的版本信息等相关的密钥材料(将可信os对应的内部密钥材料记为km_os)。该应用内部密钥材料可以是该应用程序(例如应用程序c)所包含的ta对应的内部密钥材料,且该应用程序(例如应用程序c)所包含的ta对应的内部密钥材料可以包括与该ta的版本信息等相关的密钥材料(将与该ta的版本信息相关的密钥材料记为km_ta)以及该ta的标识,该ta的标识可以是该ta的uuid(也即是ta_uuid)。第一处理节点可以将km_ta与ta_uuid进行异或得到第一初始密钥(记为salt1),将km_os与该第一外部密钥材料(记为km_cux)进行异或得到第二初始密钥(记为km2),根据该第一初始密钥(也即是salt1)和该第二初始密钥(也即是km2)基于pbkdf2算法派生安全存储密钥(记为cluster_ta_key-nx)。
128.需要指出的是,第一处理节点的系统架构可以如图6所示,第一内部密钥材料(也即是km_os)可以存储在可信os中,应用内部密钥材料(km_ta和ta_uuid)可以存储在该应用程序(例如应用程序c)的ta中,由于该可信os和ta均置于tee中,因此该第一内部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料)均存储于tee中,有助于保证该第一内部密钥材料以及该应用内部密钥材料的安全性。该步骤701可以由该第一处理节点中的可信os执行,且该可信os可以基于应用程序(例如应用程序c)的ta的触发来执行该步骤701。示例地,该可信os在接收到该应用程序(例如应用程序c)的ta发送的加密存储请求时执行该步骤701。可选地,客户端可以向该第一处理节点发送应用程序(例如应用程序c)对应的数据,该应用程序(例如应用程序c)对应的数据被该第一处理节点中的该应用程序(例如应用程序c)的ca接收,该应用程序(例如应用程序c)的ca将该应用程序(例如应用程序c)对应的数据传输给该应用程序(例如应用程序c)的ta,该应用程序(例如应用程序c)的ta对该ca传输的该应用程序(例如应用程序c)对应的数据进行处理,并在处理完成后向可信os发送加密存储请求以触发该可信os执行该步骤701,该加密存储请求可以携带该应用程序(例如应用程序c)对应的数据。可选地,客户端通过与该应用程序(例如应用程序c)的ca之间的安全通道向该ca发送该应用程序(例如应用程序c)对应的数据;该ca通过与对应的ta之间的安全通道(例如共享内存)将该应用程序(例如应用程序c)对应的数据传输给该ta。可选地,该应用程序(例如应用程序c)的ca接收到客户端发送的该应用程序(例如应用程序c)对应的数据后,将该应用程序(例如应用程序c)对应的数据中的关键数据传输给对应的ta,本技术实施例对此不做限定。
129.步骤702、第一处理节点利用安全存储密钥加密第一处理节点中的应用程序对应的数据。
130.第一处理节点获取安全存储密钥后,可以利用该安全存储密钥加密该第一处理节点中的应用程序(例如应用程序c)对应的数据,得到该应用程序(例如应用程序c)对应的密文数据。并且,该第一处理节点加密该第一处理节点中的应用程序(例如应用程序c)对应的数据后,可以对该应用程序(例如应用程序c)对应的加密后的数据进行存储。
131.需要指出的是,该步骤702可以由该第一处理节点中的可信os执行,该可信os在接收到该应用程序(例如应用程序c)的ta发送的加密存储请求后,利用步骤701中生成的安全
存储密钥对该加密存储请求中携带的该应用程序(例如应用程序c)对应的数据进行加密。
132.步骤703、第一处理节点将加密后的数据发送给第二处理节点,其中,该第二处理节点对应的第二外部密钥材料与该第一处理节点对应的第一外部密钥材料相同。
133.第一处理节点利用安全存储密钥加密该第一处理节点中的应用程序(例如应用程序c)对应的数据后,可以将该应用程序(例如应用程序c)对应的加密后的数据发送给第二处理节点。该第二处理节点对应的第二外部密钥材料与该第一处理节点对应的第一外部密钥材料相同。
134.可选地,该第一处理节点可以直接将该应用程序(例如应用程序c)对应的加密后的数据发送给第二处理节点,或者通过第三方节点(指的是除第一处理节点和第二处理节点之外的节点)将该应用程序(例如应用程序c)对应的加密后的数据发送给第二处理节点,本技术实施例对此不做限定。本技术实施例以该第一处理节点通过第三方节点将该应用程序(例如应用程序c)对应的加密后的数据发送给第二处理节点为例说明。可选地,数据管理系统中还包括存储节点,该第一处理节点可以通过该存储节点将该应用程序(例如应用程序c)对应的加密后的数据发送给第二处理节点。例如,该第一处理节点将应用程序(例如应用程序c)对应的加密后的数据发送给存储节点,该存储节点用于将该应用程序(例如应用程序c)对应的加密后的数据发送给第二处理节点。
135.示例地,第一处理节点将应用程序(例如应用程序c)对应的加密后的数据发送给存储节点,该存储节点对该应用程序(例如应用程序c)对应的加密后的数据进行存储,第二处理节点从该存储节点中获取该应用程序(例如应用程序c)对应的加密后的数据。可选地,该存储节点中可以具有与该应用程序(例如应用程序c)对应的存储卷,该存储节点可以将该应用程序(例如应用程序c)对应的加密后的数据存储至该存储节点中与该应用程序(例如应用程序c)对应的存储卷中。
136.需要指出的是,该步骤703可以由该第一处理节点中的可信os执行。
137.步骤704、第二处理节点接收第一处理节点发送的应用程序对应的加密后的数据。
138.为了保证数据管理系统中的处理节点的负载均衡,可以在该数据管理系统中的处理节点之间进行应用程序迁移。可选地,在应用程序(例如应用程序c)从第一处理节点迁移至第二处理节点之后,该第二处理节点可以接收该第一处理节点发送的该应用程序(例如应用程序c)对应的加密后的数据。可以理解的是,本技术实施例以应用程序(例如应用程序c)迁移之后该第二处理节点接收该第一处理节点发送的该应用程序(例如应用程序c)对应的加密后的数据为例说明,实际应用中,第二处理节点可以在应用程序(例如应用程序c)从第一处理节点迁移至第二处理节点之前接收该第一处理节点发送的该应用程序(例如应用程序c)对应的加密后的数据,也可以在应用程序(例如应用程序c)从第一处理节点迁移至第二处理节点的过程中接收该第一处理节点发送的该应用程序(例如应用程序c)对应的加密后的数据,本技术实施例对此不做限定。
139.对应于步骤703,该第二处理节点可以接收第一处理节点直接发送的该应用程序(例如应用程序c)对应的加密后的数据,或者接收该第一处理节点通过第三方节点发送的该应用程序(例如应用程序c)对应的加密后的数据。本技术实施例以该第二处理节点接收该第一处理节点通过第三方节点发送的该应用程序(例如应用程序c)对应的加密后的数据为例说明。该第一处理节点将该应用程序(例如应用程序c)对应的加密后的数据发送给该
存储节点,该存储节点可以向该第二处理节点发送该应用程序(例如应用程序c)对应的加密后的数据,该第二处理节点可以接收该存储节点发送的该应用程序(例如应用程序c)对应的加密后的数据。可选地,该第二处理节点可以在客户端的触发下,向存储节点发送该应用程序对应的数据获取请求,以触发该存储节点向该第二处理节点发送该应用程序(例如应用程序c)对应的加密后的数据。例如,该第二处理节点在接收到该客户端发送的业务请求时,向存储节点发送该应用程序对应的数据获取请求。
140.需要指出的是,第二处理节点的系统架构可以如图6所示,该步骤704可以由该第二处理节点中的可信os执行,且该可信os可以基于该第二处理节点中的应用程序(例如应用程序c,该应用程序c是从第一处理节点迁移至该第二处理节点中的)的ta的触发来执行该步骤704,例如该可信os在接收到该应用程序(例如应用程序c)的ta发送的业务请求时执行该步骤704。可选地,客户端可以向第二处理节点发送应用程序(例如应用程序c)对应的业务请求,该业务请求被该第二处理节点中的该应用程序(例如应用程序c)的ca接收,该应用程序(例如应用程序c)的ca将该业务请求传输给对应的ta进行处理,该ta将该业务请求发送给可信os触发该可信os执行该步骤704。
141.在本技术实施例中,应用程序的迁移由高层管理节点控制,高层管理节点根据数据管理系统中的处理节点的负载控制在不同的处理节点之间进行应用程序迁移。如前所述,一个完整的应用程序包括ca以及与该ca对应的ta,应用程序的迁移指的是将ca和ta均从一个处理节点迁移至另一个处理节点。下面对应用程序的迁移过程进行简单介绍。
142.示例地,将应用程序(例如应用程序c)从第一处理节点迁移至第二处理节点的过程包括:高层管理节点向第一处理节点发送应用迁移指示,指示该第一处理节点将应用程序(例如应用程序c)从该第一处理节点迁移至第二处理节点;第一处理节点根据高层管理节点的指示将应用程序(例如应用程序c)的ca从该第一处理节点迁移至第二处理节点(例如将该ca所在的容器从该第一处理节点迁移至该第二处理节点);该高层管理节点将存储节点中与该应用程序(例如应用程序c)对应的存储卷的挂载节点从该第一处理节点切换为该第二处理节点;之后,该第二处理节点触发该应用程序(例如应用程序c)的ta加载运行以将该应用程序(例如应用程序c)的ta迁移至该第二处理节点。例如,该第二处理节点中的该应用程序(例如应用程序c)的ca向该第二处理节点中的操作系统发起tee服务请求,触发该第二处理节点中的操作系统对该应用程序(例如应用程序c)的ta加载运行以将该应用程序(例如应用程序c)的ta迁移至该第二处理节点。至此将该应用程序(例如应用程序c)整体从该第一处理节点迁移至该第二处理节点。
143.步骤705、第二处理节点根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥。
144.可选地,第二处理节点根据该第二处理节点对应的第二外部密钥材料,基于目标密钥派生算法生成安全存储密钥,该第二外部密钥材料与前述步骤701中所述的第一外部密钥材料相同,因此该第二处理节点根据该第二外部密钥材料基于目标密钥派生算法可以生成与步骤701中相同的安全存储密钥。其中,该目标密钥派生算法可以是pbkdf2算法。
145.可选地,第二处理节点根据该第二处理节点对应的第二外部密钥材料,以及,该第二处理节点对应的第二内部密钥材料和/或该第二处理节点中的应用程序(例如应用程序c)对应的应用内部密钥材料获取安全存储密钥,该第二内部密钥材料与前述步骤701中所
述的第一内部密钥材料相同。例如,该第二处理节点根据该第二外部密钥材料,以及,该第二内部密钥材料和/或该应用内部密钥材料(例如应用程序c对应的内部密钥材料),基于目标密钥派生算法生成该安全存储密钥。该第二处理节点在生成该安全存储密钥时,使用到该第二外部密钥材料,且还使用到该第二内部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料)中的至少一种。示例地,该第二处理节点根据该第二外部密钥材料和该第二内部密钥材料,基于目标密钥派生算法生成该安全存储密钥;或者,该第二处理节点根据该第二外部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料),基于目标密钥派生算法生成该安全存储密钥;或者,该第二处理节点根据该第二外部密钥材料、该第二内部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料),基于目标密钥派生算法生成该安全存储密钥。需要说明的是,该步骤705中第二处理节点生成安全存储密钥时所使用的材料与前述步骤701中第一处理节点生成安全存储密钥时所使用的材料相同,且使用的目标密钥派生算法相同。例如,如果步骤701中第一处理节点根据第一外部密钥材料和第一内部密钥材料基于目标密钥派生算法生成安全存储密钥,则该步骤705中该第二处理节点根据第二外部密钥材料和第二内部密钥材料基于目标密钥派生算法生成安全存储密钥;如果步骤701中第一处理节点根据第一外部密钥材料和应用内部密钥材料(例如应用程序c对应的内部密钥材料)基于目标密钥派生算法生成安全存储密钥,则该步骤705中该第二处理节点根据第二外部密钥材料和应用内部密钥材料(例如应用程序c对应的内部密钥材料)基于目标密钥派生算法生成安全存储密钥;如果步骤701中第一处理节点根据第一外部密钥材料、第一内部密钥材料和应用内部密钥材料(例如应用程序c对应的内部密钥材料)基于目标密钥派生算法生成安全存储密钥,则该步骤705中该第二处理节点根据第二外部密钥材料、第二内部密钥材料和应用内部密钥材料(例如应用程序c对应的内部密钥材料)基于目标密钥派生算法生成安全存储密钥。
146.以第二处理节点根据该第二外部密钥材料、该第二内部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料),基于目标密钥派生算法生成该安全存储密钥为例。该第二处理节点可以根据该应用内部密钥材料(例如应用程序c对应的内部密钥材料)确定第一初始密钥,根据该第二内部密钥材料和该第二外部密钥材料确定第二初始密钥,而后根据该第一初始密钥和该第二初始密钥基于目标密钥派生算法生成该安全存储密钥。
147.可选地,该第二处理节点中配置有可信os,该应用程序(例如应用程序c)包括ta,该第二处理节点的操作系统的执行环境包括tee,该可信os和该ta均置于tee中。该第二内部密钥材料可以是该第二处理节点中的可信os对应的内部密钥材料,且该可信os对应的内部密钥材料可以是与该可信os的版本信息等相关的密钥材料(将可信os对应的内部密钥材料记为km_os)。该应用内部密钥材料可以是该应用程序(例如应用程序c)所包含的ta对应的内部密钥材料,且该应用程序(例如应用程序c)所包含的ta对应的内部密钥材料可以包括与该ta的版本信息等相关的密钥材料(也即是km_ta)以及该ta的标识(例如ta_uuid)。第二处理节点可以将km_ta与ta_uuid进行异或得到第一初始密钥(记为salt1),将km_os与该第二外部密钥材料(记为km_cux)进行异或得到第二初始密钥(记为km2),根据该第一初始密钥(也即是salt1)和该第二初始密钥(也即是km2)基于pbkdf2算法派生出安全存储密钥(记为cluster_ta_key-nx),由于该第二外部密钥材料与步骤701中所述的第一外部密钥材
料相同,该第二内部密钥材料与步骤701中所述的第一内部密钥材料相同,且ta_uuid是同一个ta的uuid,km_ta是同一个ta的km,因此该第二处理节点派生出的安全存储密钥与步骤701中第一处理节点派生出的安全存储密钥相同。
148.需要指出的是,第二处理节点的系统架构可以如图6所示,第二内部密钥材料(也即是km_os)可以存储在可信os中,应用内部密钥材料(例如应用程序c对应的内部密钥材料,包括km_ta和ta_uuid)可以存储在该应用程序(例如应用程序c)的ta中,由于该可信os和ta均置于tee中,因此该第二内部密钥材料和该应用内部密钥材料(例如应用程序c对应的内部密钥材料)均存储于tee中,有助于保证该第二内部密钥材料以及该应用内部密钥材料的安全性。该步骤705可以由该第二处理节点中的可信os执行,示例地,该可信os在获取到应用程序(例如应用程序c)对应的加密后的数据时执行该步骤705,本技术实施例对此不做限定。
149.步骤706、第二处理节点利用安全存储密钥解密应用程序对应的加密后的数据。
150.第二处理节点获取安全存储密钥后,可以利用该安全存储密钥解密步骤704中获取到的应用程序(例如应用程序c)对应的加密后的数据。可选地,该第二处理节点对该应用程序(例如应用程序c)对应的加密后的数据解密之后,可以将该应用程序(例如应用程序c)对应的解密后的数据发送给客户端,以对客户端的业务请求进行响应。
151.需要指出的是,该步骤706可以由该第二处理节点中的可信os执行,该可信os在对该应用程序(例如应用程序c)对应的加密后的数据解密之后,可以将该应用程序(例如应用程序c)对应的解密后的数据传输给该应用程序(例如应用程序c)的ta,该应用程序(例如应用程序c)的ta对该应用程序(例如应用程序c)对应的解密后的数据进行处理之后,将该应用程序(例如应用程序c)对应的处理后的数据传输给该应用程序(例如应用程序c)的ca,由该应用程序(例如应用程序c)的ca将该应用程序(例如应用程序c)对应的处理后的数据发送给客户端,以对客户端的业务请求进行响应。
152.综上所述,本技术实施例提供的数据管理方法,第一处理节点根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥后,利用该安全存储密钥加密该第一处理节点中的应用程序对应的数据,并将该应用程序对应的加密后的数据发送给第二处理节点;该第二处理节点接收该第一处理节点发送的该应用程序对应的加密后的数据,根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥,并利用该安全存储密钥解密该应用程序对应的加密后的数据;该第二外部密钥材料与该第一外部密钥材料相同,因此该第二处理节点和该第一处理节点可以获取到相同的安全存储密钥,该第二处理节点可以成功解密该第一处理节点发送的该应用程序对应的加密后的数据,有助于提高数据管理的灵活性。
153.在本技术实施例中,处理节点对应的外部密钥材料是密钥管理节点为该处理节点分配的,处理节点在获取安全存储密钥之前,可以先获取密钥管理节点为其分配的外部密钥材料。则作为一种可选的实现方式,在上述步骤701之前,该方法还包括:第一处理节点接收密钥管理节点分配的该第一处理节点对应的第一外部密钥材料;在上述步骤705之前,该方法还包括:第二处理节点接收密钥管理节点分配的该第二处理节点对应的第二外部密钥材料。下面将处理节点获取外部密钥材料的过程结合到本技术来对本技术实施例提供的数据管理方法进行介绍。
154.示例地,请参考图8,其示出了本技术实施例提供的另一种数据管理方法的流程图,该数据管理方法可以应用于数据管理系统,该数据管理系统可以包括第一处理节点(例如图5所示的处理节点51)和第二处理节点(例如图5所示的处理节点52),该第一处理节点和该第二处理节点中的任一处理节点的系统架构可以如图6所示。参见图8,该数据管理方法包括如下步骤:
155.步骤801、第一处理节点接收密钥管理节点分配的该第一处理节点对应的第一外部密钥材料。
156.其中,该密钥管理节点为同一集群(cluster)中的处理节点分配的外部密钥材料相同。可选地,该集群满足以下条件中的至少一项:该集群中的处理节点的数量小于预设数量;该集群中的处理节点的业务场景相同(例如该集群中的处理节点均是xx业务的处理节点);该集群中的处理节点处于同一网络拓扑中。其中,集群中的处理节点的数量小于预设数量可以使得拥有相同外部密钥材料的处理节点的数量较少,保证该集群中的处理节点对应的外部密钥材料的安全性;集群中的处理节点的业务场景相同可以便于在该集群中的处理节点之间进行应用程序迁移;集群中的处理节点处于同一网络拓扑中可以便于该集群中的处理节点相互通信。本领域技术人员容易理解,该三个条件仅仅是示例性的,并不能用于限定本技术的实施方案,实际实现过程中,该集群还可以满足其他条件,本技术实施例对此不做限定。
157.可选地,管理节点(例如密钥管理节点或者是数据管理系统中的其他管理节点,例如高层管理节点)可以对云计算系统中的多个处理节点进行集群划分得到至少一个集群,每个集群包括至少一个处理节点,每个集群满足上述条件。密钥管理节点可以为该至少一个集群分配外部密钥材料,每个集群的外部密钥材料是该集群中的处理节点对应的外部密钥材料,同一集群中的处理节点对应的外部密钥材料相同,该密钥管理节点为不同集群分配的外部密钥材料不同。可选地,该密钥管理节点使用安全随机数发生器生成每个集群对应的外部密钥材料,该外部密钥材料满足一定的强度要求以保证安全性,示例地,该外部密钥材料的长度大于或等于256bits(比特),在本技术实施例中,该外部密钥材料的长度可以等于256bits。
158.密钥管理节点为该至少一个集群分配外部密钥材料后,可以向每个集群中的处理节点发送该集群对应的外部密钥材料(也即是该集群中的处理节点对应的外部密钥材料),每个处理节点可以接收该密钥管理节点发送的该处理节点对应的外部密钥材料。该多个处理节点包括第一处理节点,该第一处理节点对应的外部密钥材料可以为第一外部密钥材料,本技术实施例以该第一处理节点从该密钥管理节点获取第一外部密钥材料为例说明。第一处理节点可以与密钥管理节点建立安全通信通道,该第一处理节点通过该安全通信通道向该密钥管理节点发送携带该第一处理节点的标识的密钥申请请求,该密钥管理节点接收到该密钥申请请求后,根据该密钥申请请求携带的该第一处理节点的标识确定该第一处理节点所属的集群,将该第一处理节点所属的集群对应的外部密钥材料确定为该第一处理节点对应的第一外部密钥材料,并通过与该第一处理节点之间的安全通信通道向该第一处理节点发送该第一外部密钥材料。其中,第一处理节点的标识可以是该第一处理节点的电子序列号(electronic serial number,esn)。其中,第一处理节点和密钥管理节点分别具有x509身份证书,该第一处理节点与该密钥管理节点可以基于x509身份证书进行安全传输
层协议(transport layer security,tls)双向验证,并在验证通过后建立安全通信通道。可选地,该第一处理节点中具有密钥导入单元(例如密钥导入应用程序),该密钥导入单元可以包括普通导入子单元(又称密钥导入ca、密钥管理ca或密钥特权ca)和安全导入子单元(又称密钥导入ta、密钥管理ta或密钥特权ta),该第一处理节点的操作系统的执行环境包括tee和ree,该普通管理子单元置于该ree中,该安全管理子单元置于该tee中,可以由该普通管理子单元与该密钥管理节点进行tls双向验证、建立安全通信通道、向密钥管理节点发送密钥申请请求以及接收该密钥管理节点发送的该第一外部密钥材料。
159.可选地,密钥管理节点向第一处理节点发送的第一外部密钥材料是该密钥管理节点利用第一安全密钥基于第一加密算法加密得到的,该第一安全密钥和该第一加密算法是该第一处理节点与该密钥管理节点均持有的,该第一处理节点可以接收该密钥管理节点发送的加密后的第一外部密钥材料。示例地,该第一安全密钥和该第一加密算法是该第一处理节点与该密钥管理节点协商的,该第一处理节点与该密钥管理节点可以在安全环境中进行该第一安全密钥和该第一加密算法的协商,以保证该第一安全密钥和该第一加密算法的安全性。可选地,如前所述,该第一处理节点的密钥导入单元包括普通导入子单元和安全导入子单元,该普通导入子单元置于ree中,该安全导入子单元置于tee中,可以由该安全导入子单元在tee中与该密钥管理节点协商该第一安全密钥和该第一加密算法,从而可以避免该第一安全密钥和该第一加密算法被该普通管理子单元获知。
160.第一处理节点接收到密钥管理节点发送的该第一处理节点对应的第一外部密钥材料后,可以对该第一外部密钥材料进行安全存储,以保证该第一外部密钥材料的安全性。可选地,第一处理节点中包括可信存储单元,该第一处理节点可以利用第一材料密钥对该第一外部密钥材料进行加密,将对应的加密后的第一外部密钥材料存储至该可信存储单元中。可选地,密钥管理节点向第一处理节点发送的第一外部密钥材料是该密钥管理节点利用第一安全密钥基于第一加密算法加密得到的,该第一处理节点首先利用该第一安全密钥基于该第一加密算法对该密钥管理节点发送的第一外部密钥材料进行解密,然后利用该第一材料密钥对解密后的第一外部密钥材料进行加密,并在加密后将该第一外部密钥材料存储至该第一处理节点中的可信存储单元。可选地,该第一处理节点利用第一材料密钥对该第一外部密钥材料进行加密之前,可以根据该第一处理节点的硬件标识获取该第一材料密钥。如前所述,该第一处理节点的密钥导入单元包括安全导入子单元,该第一处理节点可以根据第一处理节点的硬件标识和该安全导入子单元的标识(例如uuid),基于目标密钥派生算法(例如pbkdf2算法)生成第一材料密钥。其中,该第一处理节点的硬件标识例如可以是该第一处理节点的处理器的huk,该第一材料密钥是一种可信存储密钥(trusted storage key,tsk)。在本技术实施例中,可以由该第一处理节点中的可信os和该第一处理节点中的密钥导入单元中的安全导入子单元配合执行对该第一外部密钥材料进行安全存储的步骤。示例地,该第一处理节点中的密钥导入单元包括普通导入子单元和安全导入子单元,该普通导入子单元与该安全导入子单元之间建立有安全通信通道,该普通导入子单元接收到密钥管理节点发送的该第一外部密钥材料后,通过与该安全导入子单元之间的安全通信通道将该第一外部密钥材料发送给该安全导入子单元,该安全导入子单元对该第一外部密钥材料进行解密后,该可信os利用第一材料密钥对该第一外部密钥材料进行加密,本技术实施例对此不做限定。
161.步骤802、第二处理节点接收密钥管理节点分配的该第二处理节点对应的第二外部密钥材料,该第二外部密钥材料与第一处理节点对应的第一外部密钥材料相同。
162.可选地,密钥管理节点向第二处理节点发送的外部密钥材料是该密钥管理节点利用第二安全密钥基于第二加密算法加密得到的,该第二安全密钥和该第二加密算法是该第二处理节点与该密钥管理节点均持有的,该第二处理节点可以接收该密钥管理节点发送的加密后的第二外部密钥材料,该第二安全密钥与步骤801中所述的第一安全密钥可以相同或不同,该第二加密算法与步骤801中所述的第一加密算法可以相同或不同,本技术实施例对此不做限定。第二处理节点接收到密钥管理节点发送的第二外部密钥材料后,可以对该第二外部密钥材料进行安全存储。可选地,该第二处理节点首先利用第二安全密钥基于第二加密算法对密钥管理节点发送的第二外部密钥材料进行解密,然后利用第二材料密钥对解密后的第二外部密钥材料进行加密,并在加密后将该第二外部密钥材料存储至该第二处理节点中的可信存储单元。该第二处理节点利用第二材料密钥对该第二外部密钥材料进行加密之前,可以根据该第二处理节点的硬件标识获取该第二材料密钥,例如,该第二处理节点根据该第二处理节点的硬件标识和该第二处理节点中的安全导入子单元的标识(例如uuid),基于目标密钥派生算法(例如pbkdf2算法)生成第二材料密钥。该第二处理节点的硬件标识例如可以是该第二处理节点的处理器的huk,该第二材料密钥是一种tsk。
163.该步骤802的详细实现过程与前述步骤801的实现过程类似,在此不再赘述。
164.步骤803、第一处理节点根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥。
165.可选地,第一处理节点从该第一处理节点的可信存储单元中获取该第一处理节点对应的第一外部密钥材料,该第一处理节点获取到的该第一外部密钥材料是利用第一材料密钥加密后的。第一处理节点根据该第一处理节点的硬件标识获取第一材料密钥,利用该第一材料密钥对从可信存储单元中获取的第一外部密钥材料进行解密得到解密后的第一外部密钥材料,根据解密后的第一外部密钥材料,基于目标密钥派生算法生成安全存储密钥。其中,第一处理节点根据该第一处理节点的硬件标识获取第一材料密钥的过程可以参考前述步骤801,第一处理节点根据该第一外部密钥材料基于目标密钥派生算法生成安全存储密钥的过程可以参考图7所示实施例中的步骤701,本技术实施例在此不再赘述。
166.步骤804、第一处理节点利用安全存储密钥加密第一处理节点中的应用程序对应的数据。
167.步骤805、第一处理节点将加密后的数据发送给第二处理节点。
168.步骤806、第二处理节点接收第一处理节点发送的应用程序对应的加密后的数据。
169.上述步骤804至步骤806的实现过程可以参考图7所示实施例中的步骤702至步骤704,本技术实施例在此不再赘述。
170.步骤807、第二处理节点根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥。
171.可选地,第二处理节点从该第二处理节点的可信存储单元中获取该第二处理节点对应的第二外部密钥材料,该第一处理节点获取到的该第二外部密钥材料是利用第二材料密钥加密后的。第二处理节点根据该第二处理节点的硬件标识获取第二材料密钥,利用该第二材料密钥对从可信存储单元中获取的第二外部密钥材料进行解密得到解密后的第二
外部密钥材料,根据解密后的第二外部密钥材料,基于目标密钥派生算法生成安全存储密钥。其中,第二处理节点根据该第二处理节点的硬件标识获取第二材料密钥的过程可以参考前述步骤802,第二处理节点根据该第二外部密钥材料基于目标密钥派生算法生成安全存储密钥的过程可以参考图7所示实施例中的步骤705,本技术实施例在此不再赘述。
172.步骤808、第二处理节点利用安全存储密钥解密应用程序对应的加密后的数据。
173.该步骤808的实现过程可以参考图7所示实施例中的步骤706,在此不再赘述。
174.综上所述,本技术实施例提供的数据管理方法,第一处理节点根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥后,利用该安全存储密钥加密该第一处理节点中的应用程序对应的数据,并将该应用程序对应的加密后的数据发送给第二处理节点;该第二处理节点接收该第一处理节点发送的该应用程序对应的加密后的数据,根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥,并利用该安全存储密钥解密该应用程序对应的加密后的数据;该第二外部密钥材料与该第一外部密钥材料相同,因此该第二处理节点和该第一处理节点可以获取到相同的安全存储密钥,该第二处理节点可以成功解密该第一处理节点发送的该应用程序对应的加密后的数据,有助于提高数据管理的灵活性。
175.本技术实施例提供的数据管理方法提供通用的密文数据迁移服务,可以实现安全存储密钥与处理节点(例如服务器)的huk的解耦,无需增加应用程序的复杂度,对处理节点的性能影响较小,且密文数据的迁移过程无需对该密文数据进行解密再加密,密文数据的迁移效率较高,在处理节点出现处理器损坏等硬件故障的情况下仍然能够实现密文数据的恢复,实现高效地跨节点的数据安全存储、迁移以及恢复,且相比于共享安全存储密钥的方案,该数据管理方法提供的安全存储密钥基于多个密钥材料得到,该安全存储密钥的安全性较高。
176.如前所述容易理解,本技术实施例提供的数据管理方法包括三个阶段,分别为密钥材料导入阶段(也即是密钥管理节点向处理节点导入外部密钥材料)、数据加密阶段以及应用程序迁移后的数据解密阶段,下面结合处理节点的系统架构对该三个阶段分别进行介绍。
177.示例地,请参考图9,其示出了本技术实施例提供的一种密钥材料导入过程的示意图,该图9以向第一处理节点(例如图5中的处理节点51)导入外部密钥材料为例说明。如图9所示,密钥管理节点中的安全随机数发生器生成多个外部密钥材料,分别为km_cu1、km_cu2...km_cux,该密钥管理节点中的集群分组单元可以为多个集群(每个集群中包括至少一个处理节点)分配外部密钥材料,这里以密钥管理节点中的集群分组单元为第一处理节点分配第一外部密钥材料为例说明。第一处理节点中的密钥管理ca与密钥管理节点中的集群分组单元基于x509身份证书(第一处理节点中的x509身份证书位于该第一处理节点中的密钥管理ta中以保证安全性)进行tls双向验证,并在验证通过后在该第一处理节点中的密钥管理ca与该密钥管理节点中的集群分组单元之间建立安全通信通道。在安全通信通道建立成功之后,第一处理节点中的密钥管理ta通过该第一处理节点中的密钥管理ca与密钥管理节点中的集群分组单元协商第一安全密钥和第一加密算法。协商完毕之后,第一处理节点中的密钥管理ca通过与密钥管理节点中的集群分组单元之间的安全通信通道向该密钥管理节点中的集群分组单元发送携带该第一处理节点的标识的密钥申请请求,该密钥管理
节点中的集群分组单元接收到该密钥申请请求后,根据该密钥申请请求携带的该第一处理节点的标识确定该第一处理节点对应的第一外部密钥材料为km_cux。之后,密钥管理节点中的集群分组单元利用与第一处理节点中的密钥管理ta协商的第一安全密钥和第一加密算法对该第一外部密钥材料km_cux进行加密得到km_cux密文1,通过与该第一处理节点中的密钥管理ca之间的安全通信通道将该km_cux密文1传输给该第一处理节点中的密钥管理ca。第一处理节点中的密钥管理ca接收到该km_cux密文1后,将该km_cux密文1传输给该第一处理节点中的密钥管理ta,该第一处理节点中的密钥管理ta利用与密钥管理节点中的集群分组单元协商的第一安全密钥和第一加密算法对该km_cux密文1进行解密得到km_cux(也即是km_cux明文),将该km_cux和该第一处理节点中的密钥管理ta的uuid(也即是图9中的密钥管理ta_uuid)传输给该第一处理节点中的可信os。第一处理节点中的可信os接收到该km_cux和该密钥管理ta_uuid后,根据该密钥管理ta_uuid和该第一处理节点的处理器的huk,基于密钥派生算法(例如pbkdf2算法)生成第一密钥材料,利用该第一密钥材料加密该km_cux得到km_cux密文2,并将该km_cux密文2存储至该第一处理节点的可信存储单元中。至此,将第一外部密钥材料km_cux导入该第一处理节点。
178.示例地,请参考图10,其示出了本技术实施例提供的一种数据加密过程的示意图,该图10以数据加密过程应用于第一处理节点(例如图5中的处理节点51)为例说明。如图10所示,客户端向该第一处理节点发送应用程序c对应的数据,该应用程序c对应的数据被该第一处理节点中的该应用程序c的ca接收,该应用程序c的ca将该应用程序c对应的数据传输给对应的ta,该应用程序c的ta对该应用程序c的ca传输的数据进行处理得到处理后的数据。之后,该应用程序c的ta向该第一处理节点的可信os发送加密存储请求,该加密存储请求可以携带该应用程序c的ta对应的内部密钥材料km_ta、该应用程序c的ta的标识ta_uuid和该处理后的数据。该第一处理节点中的可信os接收到加密存储请求后,从该第一处理节点的可信存储单元中获取该第一处理节点对应的第一外部密钥材料(也即是km_cux密文2),根据该第一处理节点中的密钥管理ta的标识(也即是图10中的密钥管理ta_uuid,图10中未示出密钥管理ta,密钥管理ta可以参考图9)和该第一处理节点的处理器的huk,基于密钥派生算法(例如pbkdf2算法)生成第一密钥材料,利用该第一密钥材料基于材料解密算法对该km_cux密文2进行解密得到km_cux(也即是km_cux明文);之后,该第一处理节点中的可信os将该应用程序c的ta对应的内部密钥材料km_ta和该应用程序c的ta的标识ta_uuid进行异或得到第一初始密钥salt1,将该可信os对应的内部密钥材料km_os和该第一外部密钥材料km_cux进行异或得到第二初始密钥km2,根据该第一初始密钥salt1和该第二初始密钥km2基于密钥派生算法(例如pbkdf2算法)生成安全存储密钥。之后,该第一处理节点中的可信os利用该安全存储密钥对加密存储请求中携带的处理后的数据进行加密,并将加密后的数据存储至存储节点中与该应用程序c对应的存储卷c中。至此,完成本技术实施例所述的数据加密过程。可选地,应用程序c的ca接收到客户端发送的该应用程序c对应的数据后,可以将该应用程序c对应的数据中的关键数据传输给对应的ta进行上述数据加密过程,该应用程序c的ca对该应用程序c对应的数据中的普通数据进行处理,并将该应用程序c对应的处理后的普通数据存储至存储节点中与该应用程序c对应的存储卷c中,本技术实施例对此不做限定。
179.示例地,请参考图11,其示出了本技术实施例提供的一种数据解密过程的示意图,
该图11以数据解密过程应用于第二处理节点(例如图5中的处理节点52)为例说明。如图11所示,客户端可以向第二处理节点发送应用程序c对应的业务请求触发该第二处理节点执行该数据解密过程。示例地,在客户端的触发下,第二处理节点中的可信os从存储节点中与应用程序c对应的存储卷c中获取该应用程序c对应的加密后的数据。之后,该第二处理节点中的可信os从该第二处理节点中的可信存储单元中获取该第二处理节点对应的第二外部密钥材料(也即是km_cux密文2),根据该第二处理节点中的密钥管理ta的标识(也即是图11中的密钥管理ta_uuid,图11中未示出密钥管理ta)和该第二处理节点的处理器的huk,基于密钥派生算法(例如pbkdf2算法)生成第二密钥材料,利用该第二密钥材料对该km_cux密文2进行解密得到km_cux(也即是km_cux明文)。之后,该第二处理节点中的可信os将该应用程序c的ta对应的内部密钥材料km_ta和该应用程序c的ta的标识ta_uuid进行异或得到第一初始密钥salt1,将该可信os对应的内部密钥材料km_os(也即是第二内部密钥材料)和该第二外部密钥材料km_cux进行异或得到第二初始密钥km2,根据该第一初始密钥salt1和该第二初始密钥km2基于密钥派生算法(例如pbkdf2算法)生成安全存储密钥。之后,该第二处理节点中的可信os利用该安全存储密钥对从存储节点中获取的与应用程序c对应的加密后的数据进行解密得到解密后的数据,将该解密后的数据传输给该应用程序c的ta,该应用程序c的ta将该解密后的数据传输给该应用程序c的ca,由该应用程序c的ca将该解密后的数据传输给客户端,以对客户端的业务请求进行响应。至此,完成本技术实施例所述的数据解密过程。
180.下面结合附图介绍本技术实施例提供的数据管理的过程。
181.示例地,请参考图12,其示出了本技术实施例提供的一种数据管理过程的示意图。第一处理节点对应的第一外部密钥材料km_cux与第二处理节点对应的第二外部密钥材料km_cux相同,该第一处理节点对应的第一内部密钥材料km_os与该第二处理节点对应的第二内部密钥材料km_os相同。应用程序c位于第一处理节点中时,该第一处理节点中的可信os根据该第一外部密钥材料km_cux、该第一内部密钥材料km_os以及应用内部密钥材料(也即是该应用程序c对应的内部密钥材料,包括图12中的km_ta和ta_uuid)生成安全存储密钥,利用该安全存储密钥将该应用程序c对应的数据(也即是图12中所述处理后的数据)加密存储至存储节点中与该应用程序c对应的存储卷c中。在该应用程序c从该第一处理节点迁移至该第二处理节点之后,将存储节点中与该应用程序c对应的存储卷c的挂载节点从该第一处理节点切换为该第二处理节点。该第二处理节点中的可信os从存储节点中与该应用程序c对应的存储卷c中获取该应用程序c对应的加密后的数据。之后,该第二处理节点中的可信os根据该第二外部密钥材料km_cux、该第二内部密钥材料km_os以及应用内部密钥材料(也即是该应用程序c对应的内部密钥材料,包括图12中的km_ta和ta_uuid)生成安全存储密钥,利用该安全存储密钥对该应用程序c对应的加密后的数据进行解密。由于第一外部密钥材料km_cux与第二外部密钥材料km_cux相同,第一内部密钥材料km_os与第二内部密钥材料km_os相同,且应用内部密钥材料是同一应用程序c对应的内部密钥材料,因此该第二处理节点与该第一处理节点可以生成相同的安全存储密钥,该第二处理节点可以利用该相同的安全存储密钥成功解密该第一处理节点解密的该应用程序c对应的加密后的数据,实现加密数据的恢复。
182.下述为本技术的装置实施例,可以用于执行本技术的方法实施例。对于本技术装
置实施例中未披露的细节,请参照本技术方法实施例。
183.请参考图13,其示出了本技术实施例提供的一种数据管理装置1300的逻辑结构示意图,该数据管理装置1300可以应用于数据管理系统中的第一处理节点,示例地,该数据管理装置1300可以是该第一处理节点或者是该第一处理节点中的功能组件,该第一处理节点可以是图5中的处理节点51,且该第一处理节点可以是服务器。参见图13,该数据管理装置1300可以包括但不限于:
184.获取模块1310,用于根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥;该获取模块1310可以用于执行前述步骤701和前述步骤803。
185.加密模块1320,用于利用该安全存储密钥加密该第一处理节点中的应用程序对应的数据;该加密模块1320可以用于执行前述步骤702和前述步骤804。
186.发送模块1330,用于将加密后的数据发送给该第二处理节点,其中,该第二处理节点对应的第二外部密钥材料与该第一外部密钥材料相同。该发送模块1330可以用于执行前述步骤703和前述步骤805。
187.可选地,该获取模块1310,用于根据该第一外部密钥材料,以及,该第一处理节点对应的第一内部密钥材料或该应用程序对应的应用内部密钥材料获取安全存储密钥,其中,该第二处理节点对应的第二内部密钥材料与该第一内部密钥材料相同。
188.可选地,该第一处理节点中配置有可信操作系统,该应用程序包括可信应用,该第一内部密钥材料是该可信操作系统对应的内部密钥材料,该应用内部密钥材料是该可信应用对应的内部密钥材料。
189.可选地,该第一处理节点的操作系统的执行环境包括tee,该可信操作系统和该可信应用均置于该tee中。
190.可选地,请继续参考图13,该数据管理装置1300还包括:
191.接收模块1340,用于在该获取模块1310根据第一处理节点对应的第一外部密钥材料获取安全存储密钥之前,接收密钥管理节点分配的该第一外部密钥材料,其中,该密钥管理节点为同一集群中的处理节点分配的外部密钥材料相同。该接收模块1340可以用于执行前述步骤801。
192.可选地,该集群满足以下条件中的至少一项:
193.该集群中的处理节点的业务场景相同;
194.该集群中的处理节点的数量小于预设数量;
195.该集群中的处理节点处于同一网络拓扑中。
196.可选地,该接收模块1340,用于接收密钥管理节点发送的加密后的第一外部密钥材料,其中,加密后的第一外部密钥材料是该密钥管理节点利用第一安全密钥基于第一加密算法加密得到的,该第一安全密钥和该第一加密算法是该第一处理节点与该密钥管理节点均持有的。
197.可选地,该发送模块1330,用于将加密后的数据发送给存储节点,其中,该存储节点用于将加密后的数据发送给所第二处理节点。
198.综上所述,本技术实施例提供的数据管理装置,第一处理节点根据该第一处理节点对应的第一外部密钥材料获取安全存储密钥后,利用该安全存储密钥加密该第一处理节点中的应用程序对应的数据,并将该应用程序对应的加密后的数据发送给第二处理节点,
该第二处理节点对应的第二外部密钥材料与该第一外部密钥材料相同,因此该第二处理节点可以根据该第二外部密钥材料获取到与第一处理节点相同的安全存储密钥,利用该安全存储密钥可以成功解密该第一处理节点发送的该应用程序对应的加密后的数据,有助于提高数据管理的灵活性。
199.请参考图14,其示出了本技术实施例提供的另一种数据管理装置1400的逻辑结构示意图,该数据管理装置1400可以应用于数据管理系统中的第二处理节点,示例地,该数据管理装置1400可以是该第二处理节点或者是该第二处理节点中的功能组件,该第二处理节点可以是图5中的处理节点52,且该第二处理节点可以是服务器。参见图14,该数据管理装置1400可以包括但不限于:
200.接收模块1410,用于接收该第一处理节点发送的应用程序对应的加密后的数据;该接收模块1410可以用于执行前述步骤704和前述步骤806。
201.获取模块1420,用于根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥,其中,该第二外部密钥材料与该第一处理节点对应的第一外部密钥材料相同;该获取模块1420可以用于执行前述步骤705和前述步骤807。
202.解密模块1430,用于利用该安全存储密钥解密该应用程序对应的加密后的数据。该解密模块1430可以用于执行前述步骤706和前述步骤808。
203.可选地,该获取模块1420,用于根据该第二外部密钥材料,以及,该第二处理节点对应的第二内部密钥材料或该应用程序对应的应用内部密钥材料获取安全存储密钥,其中,该第二内部密钥材料与该第一处理节点对应的第一内部密钥材料相同。
204.可选地,该第二处理节点中配置有可信操作系统,该应用程序包括可信应用,该第二内部密钥材料是该可信操作系统对应的内部密钥材料,该应用内部密钥材料是该可信应用对应的内部密钥材料。
205.可选地,该第二处理节点的操作系统的执行环境包括tee,该可信操作系统和该可信应用均置于该tee中。
206.可选地,该接收模块1410,还用于在该获取模块1420根据第二处理节点对应的第二外部密钥材料获取安全存储密钥之前,接收密钥管理节点分配的该第二外部密钥材料,其中,该密钥管理节点为同一集群中的处理节点分配的外部密钥材料相同。该接收模块1410还可以用于执行前述步骤802。
207.可选地,该接收模块1410,用于接收该密钥管理节点发送的加密后的第二外部密钥材料,其中,加密后的该第二外部密钥材料是该密钥管理节点利用第二安全密钥基于第二加密算法加密得到的,该第二安全密钥和该第二加密算法是该第二处理节点与该密钥管理节点均持有的。
208.综上所述,本技术实施例提供的数据管理装置,第二处理节点接收第一处理节点发送的应用程序对应的加密后的数据,根据该第二处理节点对应的第二外部密钥材料获取安全存储密钥,利用该安全存储密钥解密该应用程序对应的加密后的数据,该第二外部密钥材料与该第一处理节点对应的第一外部密钥材料相同,因此该第二处理节点根据该第二外部密钥材料获取的安全存储密钥与第一处理节点根据该第一外部密钥材料获取的安全存储密钥相同,该第二处理节点利用该安全存储密钥可以成功解密该第一处理节点发送的该应用程序对应的加密后的数据,有助于提高数据管理的灵活性。
209.请参考图15,其示出了本技术实施例提供的一种计算机设备1500的硬件结构示意图,该计算机设备1500可以是前述第一处理节点或第二处理节点,且该计算机设备1500可以是服务器。参见图15,该计算机设备1500包括处理器1502、存储器1504、通信接口1506和总线1508,处理器1502、存储器1504和通信接口1506通过总线1508彼此通信连接。本领域技术人员应当明白,图15所示的处理器1502、存储器1504和通信接口1506之间的连接方式仅仅是示例性的,在实现过程中,处理器1502、存储器1504和通信接口1506也可以采用除了总线1508之外的其他连接方式彼此通信连接。
210.其中,存储器1504可以用于存储计算机程序15042,该计算机程序可以包括指令和数据。在本技术实施例中,存储器1504可以是各种类型的存储介质,例如随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、非易失性ram(non-volatile ram,nvram)、可编程rom(programmable rom,prom)、可擦除prom(erasable prom,eprom)、电可擦除prom(electrically erasable prom,eeprom)、闪存、光存储器和寄存器等。并且,该存储器1504可以包括硬盘和/或内存。
211.其中,处理器1502可以是通用处理器,通用处理器可以是通过读取并执行存储器(例如存储器1504)中存储的计算机程序(例如计算机程序15042)来执行特定步骤和/或操作的处理器,通用处理器在执行上述步骤和/或操作的过程中可能用到存储在存储器(例如存储器1504)中的数据。通用处理器可以是,例如但不限于cpu。此外,处理器1502也可以是专用处理器,专用处理器可以是专门设计的用于执行特定步骤和/或操作的处理器,该专用处理器可以是,例如但不限于,数字信号处理器(digital signal processor,dsp)、专用集成电路(application-specific integrated circuit,asic)或者可编程逻辑器件(programmable logic device,pld),该pld可以是复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合等。此外,处理器1502还可以是多个处理器的组合,例如多核处理器。处理器1502可以包括至少一个电路,以执行上述实施例提供的数据管理方法的全部或部分步骤。
212.其中,通信接口1506可以包括i/o接口、物理接口和逻辑接口等用于实现计算机设备1500内部的器件互连的接口,以及用于实现计算机设备1500与其他设备(例如客户端所在的用户设备)互连的接口。物理接口可以是千兆的以太接口(gigabit ethernet,ge),其可以用于实现计算机设备1500与其他设备互连,逻辑接口是计算机设备1500内部的接口,其可以用于实现计算机设备1500内部的器件互连。容易理解,通信接口1506可以用于计算机设备1500与其他设备通信,例如,通信接口1506用于计算机设备1500与其他设备之间信息的发送和接收。
213.其中,总线1508可以是任何类型的,用于实现处理器1502、存储器1504和通信接口1506互连的通信总线,例如系统总线。
214.上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本技术实施例对上述器件的具体实现形式不做限定。
215.在本技术实施例中,该计算机设备1500中包括安全世界和普通世界,安全世界对应的执行环境为tee,普通世界对应的执行环境为ree,安全世界和普通世界具有独立的系
统资源,该系统资源包括硬件资源和软件资源中的至少一种,该硬件资源包括但不限于上述处理器、存储器、通信接口以及总线等,该计算机设备1500执行本技术实施例提供的数据管理方法主要用到的是该tee中的系统资源,本技术实施例对此不做限定。
216.可以理解的是,图15所示的计算机设备1500仅仅是示例性的,在实现过程中,该计算机设备1500还可以包括其他组件,本文不再一一列举。该图15所示的计算机设备1500可以通过执行上述实施例提供的数据管理方法的全部或部分步骤来进行数据管理。
217.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,当该计算机程序被处理器执行时实现如上述方法实施例提供的方法的全部或部分步骤。
218.本技术实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行如上述方法实施例提供的方法的全部或部分步骤。
219.本技术实施例提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述方法实施例提供的方法的全部或部分步骤。
220.本技术实施例提供了一种数据管理系统,该数据管理系统至少包括第一处理节点和第二处理节点。在一种可能的实现方式中,该第一处理节点包括如图13所示的数据管理装置1300,该第二处理节点包括如图14所示的数据管理装置1400。在另一种可能的实现方式中,该第一处理节点和该第二处理节点中的至少一个为如图15所示的计算机设备1500。
221.可选地,该数据管理系统还包括:存储节点,该第一处理节点用于通过该存储节点向该第二处理节点发送应用程序对应的数据。
222.可选地,该数据管理系统还包括:管理节点,该管理节点用于响应于集群划分指令,对该数据管理系统中的处理节点进行集群划分。其中,该管理节点对该数据管理系统中的处理节点进行集群划分可以得到至少一个集群,该集群满足以下条件中的至少一项:该集群中的处理节点的业务场景相同;该集群中的处理节点的数量小于预设数量;该集群中的处理节点处于同一网络拓扑中。
223.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
224.在本技术中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”指一个或多个,“多个”指两个或两个以上,除非另有明确的限定。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
225.本技术实施例提供的方法实施例和装置实施例等不同类型的实施例均可以相互参考,本技术实施例对此不做限定。本技术实施例提供的方法实施例操作的先后顺序能够进行适当调整,操作也能够根据情况进行响应增减,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本技术的保护范围之内,因此不再赘述。
226.在本技术提供的相应实施例中,应该理解到,所揭露的装置等可以通过其它的构成方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
227.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络设备(例如终端设备)上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
228.以上所述,仅为本技术的示例性实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献