本技术涉及虚拟化,尤其涉及一种数据处理方法、装置及计算机可读存储介质。
背景技术:
1、虚拟机(virtual machine,vm)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在计算设备(如服务器、智能终端设备)中能够完成的工作在虚拟机中都能够实现。在计算设备中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量,每个虚拟机都有独立的硬盘和操作系统,虚拟机的用户可以像使用计算设备一样对虚拟机进行操作。
2、目前,计算设备中的虚拟机很容易被黑客恶意攻击,无法保证用户数据的安全性。
技术实现思路
1、本技术提供一种数据处理方法、装置及计算机可读存储介质,能够降低虚拟机受到黑客攻击的风险,提升用户数据的安全性。
2、第一方面,提供一种数据处理方法,应用于计算设备,计算设备的硬件资源被划分为ree侧和tee侧,该方法包括如下步骤:处理器在ree侧获取待处理数据,然后在tee侧运行目标vm对待处理数据进行处理,目标vm为tee侧包括的一个或多个vm中的任一vm。
3、上述方案中,由于tee侧包括一个或多个vm,处理器在ree侧获取到用户的待处理数据后,在tee侧运行vm处理待处理数据,tee侧的安全性高于ree侧,因此可以降低可信vm被黑客恶意攻击的风险,提升用户数据的安全性。
4、在一种可能的实现方式中,在处理器在ree侧获取待处理数据之前,第一方面提供的方法还包括如下步骤:处理器在ree侧获取待创建的目标vm的配置信息,然后在tee侧根据配置信息创建目标vm。
5、在一种可能的实现方式中,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器在ree侧模拟得到第一数据,然后处理器将第一数据注入目标vm,之后处理器在tee侧根据第一数据运行目标vm。其中,第一数据包括如下一种或任意组合:目标vm的虚拟中断、供目标vm使用的虚拟时钟以及供目标vm使用的mmio寄存器。
6、该实现方式中,处理器在ree侧模拟得到目标vm的虚拟中断、供目标vm使用的虚拟时钟以及供目标vm使用的mmio寄存器,而不是在tee侧进行模拟,可以使得tee侧的可信计算基(trusted computing base,tcb)比较轻薄。
7、在一种可能的实现方式中,在处理器在tee侧运行目标vm之前,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器确定目标vm的完整性。
8、具体地,处理器可以将目标vm的配置信息、目标vm上安装的操作系统的版本信息和app名称等,在ree侧提供给用户进行完整性检查,以保证目标vm符合用户的预期,进一步提升用户数据的安全性。
9、在一种可能的实现方式中,在处理器在tee侧运行目标vm之前,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器确定计算设备的合法性。
10、具体地,处理器可以将计算设备的证书在tee侧提供给用户进行合法性检查,以保证计算设备符合用户的预期,进一步提升用户数据的安全性。
11、在一种可能的实现方式中,在目标vm的规格被更改的情况下,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器确定更改规格后的目标vm的合法性。
12、在一种可能的实现方式中,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器在ree侧获取针对目标vm的生命周期的第一管理命令,然后在tee侧根据第一管理命令对目标vm执行以下操作的一种或任意组合:开机、关机、更改规格、迁移和释放。
13、该实现方式能够实现对tee侧的vm的生命周期进行管理。
14、在一种可能的实现方式中,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器在ree侧获取针对目标vm的第二管理命令,然后在tee侧根据第二管理命令对目标vm执行以下操作的一种或任意组合:安装应用程序、启动应用程序、关闭应用程序、升级应用程序和卸载应用程序。
15、该实现方式能够实现对tee侧的vm的应用程序进行管理。
16、在一种可能的实现方式中,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:在目标vm出现异常时,处理器在tee侧建立目标vm的上下文,然后处理目标vm出现的异常,在处理器处理完目标vm出现的异常时,处理器将目标vm的上下文恢复至目标vm,以恢复运行目标vm。
17、在一种可能的实现方式中,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器在tee侧执行以下操作中的一种或者任意组合:创建、更改或者销毁目标vm的二级页表,目标vm的二级页表是指将目标vm的虚拟地址映射为中间地址,以及将中间地址映射为物理地址的页表。
18、该实现方式能够实现对tee侧的vm的二级页表进行管理。
19、在一种可能的实现方式中,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器在ree侧将处理结果提供给用户,处理结果为处理器在tee侧运行目标vm对待处理数据进行处理得到。
20、在一种可能的实现方式中,配置信息包括分配给目标vm的内存信息以及供目标vm使用的虚拟处理器核信息、操作系统内核和文件系统;
21、处理器具体可以通过如下方式实现根据配置信息在tee侧创建目标vm:处理器在tee侧的内存资源中划分出与内存信息匹配的、供目标vm使用的第一内存,并在tee侧模拟出与虚拟处理器核信息匹配的、供目标vm使用的虚拟处理器核,以及将操作系统内核和文件系统存储至第一内存。
22、该实现方式能够实现tee侧的vm的创建。
23、在一种可能的实现方式中,处理器具体可以通过如下方式实现将操作系统内核和文件系统存储至第一内存:处理器在ree侧根据ree侧的内存资源的地址与第一偏移,确定第一内存的地址,第一偏移为ree侧的内存资源的地址与第一内存的地址之间的偏移,然后处理器在tee侧根据第一内存的地址,将操作系统内核和文件系统存储至第一内存。
24、在一种可能的实现方式中,在处理器在tee侧的内存资源中划分出与第一内存信息匹配的、供目标vm使用的第一内存之前,上述第一方面或者第一方面的任一可能的实现方式提供的方法还包括如下步骤:处理器在计算设备的内存资源中划分出tee侧的内存资源。
25、在该实现方式中,计算设备的内存资源并不是在启动时静态划分完成的,是处理器动态划分,当一定数量的vm把动态划分的tee侧的内存资源占用完且需创建新的vm时,处理器可以重新划分计算设备的内存资源,可以使得重新划分的tee侧的内存资源不仅满足已经创建的vm的内存需求还可以满足待创建的新的vm的内存需求,有效降低内存管理的复杂度。
26、可选地,当一定数量的vm已经把动态划分的tee侧的内存资源占用完且需创建新的vm时,处理器也可以确定ree侧的内存资源是否存在空闲内存,在存在空闲内存的情况下,划分出部分或者全部空闲内存给tee侧,然后在tee侧的该部分或者全部空闲内存中划分出可供新的vm的使用的内存,如此,也可以降低内存管理的复杂度。
27、在一种可能的实现方式中,ree侧部署有第一虚拟机管理器,tee侧部署有第二虚拟机管理器,处理器在ree侧执行的操作由处理器运行第一虚拟机管理器执行,处理器在tee侧执行的操作由处理器运行第二虚拟机管理器执行。
28、第二方面,提供一种数据处理装置,应用于计算设备,计算设备的硬件资源被划分为ree侧和tee侧,装置包括:
29、获取模块,用于在ree侧获取待处理数据;
30、处理模块,用于在tee侧运行目标vm对待处理数据进行处理,目标vm为tee侧包括的一个或多个vm中的任一vm。
31、在一种可能的实现方式中,获取模块,用于在ree侧获取待创建的目标vm的配置信息;处理模块,还用于在tee侧根据配置信息创建目标vm。
32、在一种可能的实现方式中,处理模块,用于在ree侧模拟得到第一数据,第一数据包括如下一种或任意组合:目标vm的虚拟中断、供目标vm使用的虚拟时钟以及供目标vm使用的mmio寄存器;处理模块,用于将第一数据注入目标vm;处理模块,用于在tee侧根据第一数据运行目标vm。
33、在一种可能的实现方式中,上述第二方面或者第二方面的任一可能的实现方式提供的数据处理装置还包括:第一验证模块,用于确定目标vm的完整性。
34、在一种可能的实现方式中,上述第二方面或者第二方面的任一可能的实现方式提供的数据处理装置还包括:第二验证模块,用于确定计算设备的合法性。
35、在一种可能的实现方式中,在目标vm的规格被更改的情况下,第一验证模块,还用于确定更改规格后的目标vm的合法性。
36、在一种可能的实现方式中,获取模块,用于在ree侧获取针对目标vm的生命周期的第一管理命令;处理模块,还用于在tee侧根据第一管理命令对目标vm执行以下操作的一种或任意组合:开机、关机、更改规格、迁移和释放。
37、在一种可能的实现方式中,获取模块,用于在ree侧获取针对目标vm的第二管理命令;处理模块,还用于在tee侧根据第二管理命令对目标vm执行以下操作的一种或任意组合:安装应用程序、启动应用程序、关闭应用程序、升级应用程序和卸载应用程序。
38、在一种可能的实现方式中,处理模块还用于:在目标vm出现异常时,在tee侧建立目标vm的上下文;处理目标vm出现的异常;在处理完目标vm出现的异常时,将目标vm的上下文恢复至目标vm,以恢复运行目标vm。
39、在一种可能的实现方式中,处理模块还用于在tee侧执行以下操作中的一种或者任意组合:创建、更改或者销毁目标vm的二级页表,目标vm的二级页表是指将目标vm的虚拟地址映射为中间地址,以及将中间地址映射为物理地址的页表。
40、在一种可能的实现方式中,处理模块,还用于在ree侧将处理结果提供给用户,处理结果为处理器在tee侧运行目标vm对待处理数据进行处理得到。
41、在一种可能的实现方式中,配置信息包括分配给目标vm的内存信息以及供目标vm使用的虚拟处理器核信息、操作系统内核和文件系统;处理模块,具体用于:在tee侧的内存资源中划分出与内存信息匹配的、供目标vm使用的第一内存;在tee侧模拟出与虚拟处理器核信息匹配的、供目标vm使用的虚拟处理器核;将操作系统内核和文件系统存储至第一内存。
42、在一种可能的实现方式中,处理模块,具体用于:在ree侧根据ree侧的内存资源的地址与第一偏移,确定第一内存的地址,第一偏移为ree侧的内存资源的地址与第一内存的地址之间的偏移;在tee侧根据第一内存的地址,将操作系统内核和文件系统存储至第一内存。
43、在一种可能的实现方式中,处理模块,还用于:在计算设备的内存资源中划分出tee侧的内存资源。
44、关于第二方面提供的数据处理装置以及第二方面的任一种实现方式的相关有益效果和描述可以参见前述第一方面以及第一方面的任一种实现方式的相关有益效果和描述,在此不再赘述。
45、第三方面,提供一种计算设备,所述计算设备包括处理器和存储器;所述处理器用于执行所述存储器存储的指令,使得所述计算设备实现如上述第一方面或者第一方面的任意可能的实现方式提供的方法。
46、第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,所述指令用于实现如上述第一方面或者第一方面的任意可能的实现方式提供的方法。
47、第五方面,提供一种计算机程序产品,包括计算机程序,当所述计算机程序被计算设备读取并执行时,使得所述计算设备执行如上述第一方面或者第一方面的任意可能的实现方式提供的方法。
1.一种数据处理方法,其特征在于,应用于计算设备,所述计算设备的硬件资源被划分为富执行环境ree侧和可信执行环境tee侧,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述处理器在所述ree侧获取待处理数据之前,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述处理器在所述tee侧运行所述目标vm之前,所述方法还包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述处理器在所述tee侧运行所述目标vm之前,所述方法还包括:
6.根据权利要求4或5所述的方法,其特征在于,在所述目标vm的规格被更改的情况下,所述方法还包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:
12.根据权利要求2至11任一项所述的方法,其特征在于,所述配置信息包括分配给所述目标vm的内存信息以及供所述目标vm使用的虚拟处理器核信息、操作系统内核和文件系统;
13.根据权利要求12所述的方法,其特征在于,所述处理器将所述操作系统内核和文件系统存储至所述第一内存,包括:
14.根据权利要求12或13所述的方法,其特征在于,在所述处理器在所述tee侧的内存资源中划分出与所述第一内存信息匹配的、供所述目标vm使用的第一内存之前,所述方法还包括:
15.根据权利要求1至14任一项所述的方法,其特征在于,所述ree侧部署有第一虚拟机管理器,所述tee侧部署有第二虚拟机管理器,所述处理器在所述ree侧执行的操作由所述处理器运行所述第一虚拟机管理器执行,所述处理器在所述tee侧执行的操作由所述处理器运行所述第二虚拟机管理器执行。
16.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;所述计算设备的处理器用于执行所述计算设备的存储器中存储的指令,以使得所述计算设备执行如权利要求1至15任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,所述计算设备执行如权利要求1至15任一项所述的方法。
