基于云技术的计算节点及基于云技术的实例管理方法与流程

文档序号:33622224发布日期:2023-03-25 12:44阅读:57来源:国知局
基于云技术的计算节点及基于云技术的实例管理方法与流程

1.本技术实施例涉及云技术领域,尤其涉及一种基于云技术的计算节点及基于云技术的实例管理方法。


背景技术:

2.云技术目前已经广泛运用于各个领域,例如云服务,云服务的数据环境的安全,关系着云中的数据隐私的安全。
3.云服务中的数据一般分为三种形态:静态数据、传输中的数据以及使用中的数据,前两者可以通过加密等方式来保障数据安全,对于使用中的数据,目前一般采用机密计算(confidential computing)来保护使用中的数据的安全性,其主要在于提供一个可信执行环境(trusted execution environment,tee),tee是中央处理器(central processing unit,cpu)内部的安全区域。待处理的机密数据和软件都放置于该tee中,放置在tee中的机密数据以及用于处理该机密数据的软件只能由授权的方式访问,保障机密数据的机密性与完整性,减少处理机密数据时软件的攻击面。现有的tee是基于虚拟机监视程序(virtual machine monitor,vmm)实现的构建,具体的,通过vmm从宿主机中隔离出部分cpu及内存,将隔离出的cpu和内存用于创建tee。
4.但是,当宿主机遭受恶意攻击时,例如宿主机的vmm被攻破后,就可以通过vmm访问宿主机中的cpu以及内存,则tee安全受到影响,tee的安全性降低,此外tee会占用宿主机的资源,使宿主机中的业务受到影响。


技术实现要素:

5.本技术实施例提供一种基于云技术的计算节点,用于提高用户程序和数据的安全性、机密性和完整性并减少对业务性能的影响。本技术实施例还提供了相应的基于云技术的实例管理方法。
6.本技术第一方面提供一种基于云技术的计算节点,包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,且enclave实例中设置有应用程序,宿主机上运行有主实例,其中,enclave实例用于发送应用程序产生的机密计算任务给可信执行模块;可信执行模块用于处理机密计算任务,并将处理结果返回给enclave实例。
7.本技术中的基于云技术的计算节点可以是一个服务器,服务器包括宿主机和卸载卡,宿主机上可以运行一个或多个虚拟机(virtual machine,vm),并通过虚拟机管理器(hypervisor)执行,虚拟机管理器又称虚拟机监视器(virtual machine monitor,vmm),卸载卡是宿主机的标准外接设备,又称智能卡,插置于宿主机并与宿主机建立有通信通道,其中宿主机上运行有主实例。
8.本技术中的卸载卡上运行有飞地enclave实例,还设置有为enclave实例分配的可信执行模块,enclave实例是一个可信执行环境,也是一个可信隔离空间,可信执行模块用
于执行机密计算,其中enclave实例中设置有应用程序,在应用过程中,enclave实例发送应用程序产生的机密计算任务给可信执行模块,可信执行模块就可以处理机密计算任务,并将处理结果返回给enclave实例,由此完成了机密计算任务。
9.该第一方面,基于云技术的计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,宿主机上运行有主实例,enclave实例中设置有应用程序,其中,enclave实例用于发送应用程序产生的机密计算任务给可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上运行enclave实例使得tee与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的tee,从而提高了用户程序和数据的安全性、机密性和完整性,保证机密计算的处理数据过程安全,此外卸载卡中的tee不会占用宿主机的资源,使得业务性能不受影响。
10.在第一方面的一种可能的实现方式中,卸载卡与云管理平台网络连接,其中:卸载卡用于接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。
11.该种可能的实现方式中,卸载卡还与云管理平台网络连接,即该基于云技术的计算节点可以应用在云数据中心,用户可以在客户端输入主实例创建请求,通过互联网发送给云管理平台,云管理平台通过数据中心内部网络将主实例创建请求发送给该计算节点的卸载卡中,卸载卡通过通信通道通知宿主机创建主实例,提升了方案的可实现性。
12.在第一方面的一种可能的实现方式中,主实例还用于基于登录主实例的租户输入的enclave实例创建命令通知卸载卡创建enclave实例和可信执行模块。
13.该种可能的实现方式中,该计算节点可以共享给多个租户使用,租户在登录主实例后可以输入enclave实例创建命令通知卸载卡创建enclave实例和可信执行模块,提升了方案的可实现性。
14.在第一方面的一种可能的实现方式中,enclave实例的数量为1个。
15.该种可能的实现方式中,一个主实例配置一个enclave实例,提升了方案的可实现性。
16.在第一方面的一种可能的实现方式中,enclave实例的数量为n个,n为大于或等于2的正整数,n个enclave实例分别处理不同类型的机密计算任务。
17.该种可能的实现方式中,一个主实例可以配置多个enclave实例,每个enclave实例分别处理不同类型的机密计算任务,当主实例启动一个enclave实例后,该encalve实例上运行的应用程序会产生对应的机密计算任务,若需要处理特定类型的机密计算任务,主实例只需要启动对应的encalve实例即可,从而提升了细粒度拆分机密计算任务的能力,保证权限最小化。
18.在第一方面的一种可能的实现方式中,可信执行模块的数量为n个,且每个可信执行模块分别与互不相同的enclave实例连接。
19.该种可能的实现方式中,可信执行模块的数量和enclave实例的数量相同,每个可信执行模块分别与互不相同的enclave实例连接,提升了方案的可实现性。
20.在第一方面的一种可能的实现方式中,一个主实例对应一个可信执行模块。
21.该种可能的实现方式中,主实例的数量和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的enclave实例连接以提供服务,提升了方案的可
实现性。
22.在第一方面的一种可能的实现方式中,通信通道包括高速串行计算机扩展总线pcie通道和计算快速链路cxl通道。
23.该种可能的实现方式中,通信通道可以是高速串行计算机扩展总线(peripheral component interconnect express,pcie)通道,也可以是计算快速链路(compute express link,cxl)通道,从而提升了宿主机和卸载卡之间的通信速度。
24.本技术第二方面提供一种基于云技术的实例管理方法,该方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,且enclave实例中设置有应用程序,宿主机上运行有主实例,该方法包括以下步骤enclave实例发送应用程序产生的机密计算任务给可信执行模块;可信执行模块处理机密计算任务,并将处理结果返回给enclave实例。
25.本技术中的基于云技术的计算节点可以是一个服务器,服务器包括宿主机和卸载卡,宿主机上可以运行一个或多个虚拟机,并通过虚拟机管理器执行,虚拟机管理器又称虚拟机监视器,卸载卡是宿主机的标准外接设备,又称智能卡,插置于宿主机并与宿主机建立有通信通道,其中宿主机上运行有主实例。
26.本技术中的卸载卡上运行有飞地enclave实例,还设置有为enclave实例分配的可信执行模块,enclave实例是一个可信执行环境,也是一个可信隔离空间,可信执行模块用于执行机密计算,其中enclave实例中设置有应用程序,在应用过程中,enclave实例发送应用程序产生的机密计算任务给可信执行模块,可信执行模块就可以处理机密计算任务,并将处理结果返回给enclave实例,由此完成了机密计算任务。
27.该第二方面,基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,宿主机上运行有主实例,enclave实例中设置有应用程序,该方法包括:enclave实例发送应用程序产生的机密计算任务给可信执行模块;可信执行模块处理机密计算任务,卸载卡上运行enclave实例使得tee与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的tee,从而提高了用户程序和数据的安全性、机密性和完整性,保证机密计算的处理数据过程安全,此外卸载卡中的tee不会占用宿主机的资源,使得业务性能不受影响。
28.在第二方面的一种可能的实现方式中,卸载卡与云管理平台网络连接,该方法还包括:卸载卡接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。
29.该种可能的实现方式中,卸载卡还与云管理平台网络连接,即该基于云技术的实例管理方法可以应用在云数据中心,用户可以在客户端输入主实例创建请求,通过互联网发送给云管理平台,云管理平台通过数据中心内部网络将主实例创建请求发送给该计算节点的卸载卡中,卸载卡通过通信通道通知宿主机创建主实例,提升了方案的可实现性。
30.在第二方面的一种可能的实现方式中,该方法还包括:主实例基于登录主实例的租户输入的enclave实例创建命令通知卸载卡创建enclave实例和可信执行模块。
31.该种可能的实现方式中,该计算节点可以共享给多个租户使用,租户在登录主实
例后可以输入enclave实例创建命令通知卸载卡创建enclave实例和可信执行模块,提升了方案的可实现性。
32.在第二方面的一种可能的实现方式中,enclave实例的数量为1个。
33.该种可能的实现方式中,一个主实例配置一个enclave实例,提升了方案的可实现性。
34.在第二方面的一种可能的实现方式中,enclave实例的数量为n个,n为大于或等于2的正整数,n个enclave实例分别处理不同类型的机密计算任务。
35.该种可能的实现方式中,一个主实例可以配置多个enclave实例,每个enclave实例分别处理不同类型的机密计算任务,当主实例启动一个enclave实例后,该encalve实例上运行的应用程序会产生对应的机密计算任务,若需要处理特定类型的机密计算任务,主实例只需要启动对应的encalve实例即可,从而提升了细粒度拆分机密计算任务的能力,保证权限最小化。
36.在第二方面的一种可能的实现方式中,可信执行模块的数量为n个,且每个可信执行模块分别与互不相同的enclave实例连接。
37.该种可能的实现方式中,可信执行模块的数量和enclave实例的数量相同,每个可信执行模块分别与互不相同的enclave实例连接,提升了方案的可实现性。
38.在第二方面的一种可能的实现方式中,一个主实例对应一个可信执行模块。
39.该种可能的实现方式中,主实例的数量和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的enclave实例连接以提供服务,提升了方案的可实现性。
40.在第二方面的一种可能的实现方式中,通信通道包括高速串行计算机扩展总线pcie通道和计算快速链路cxl通道。
41.该种可能的实现方式中,通信通道可以是高速串行计算机扩展总线通道,也可以是计算快速链路通道,从而提升了宿主机和卸载卡之间的通信速度。
42.本技术实施例中,基于云技术的计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,宿主机上运行有主实例,enclave实例中设置有应用程序,其中,enclave实例用于发送应用程序产生的机密计算任务给可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上运行enclave实例使得tee与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的tee,从而提高了tee的安全性,保证机密计算的处理数据过程安全,此外卸载卡中的tee不会占用宿主机的资源,使得业务性能不受影响。
附图说明
43.图1为云数据中心的架构图;
44.图2为本技术实施例提供的基于云技术的计算节点的一个实施例的软件层示意图;
45.图3为本技术实施例提供的基于云技术的计算节点的一个实施例的硬件层示意图;
46.图4为本技术实施例提供的基于云技术的计算节点的另一实施例的硬件层示意图;
47.图5为本技术实施例提供的基于云技术的实例管理方法的一个实施例示意图;
48.图6为本技术实施例提供的基于云技术的实例管理方法的另一实施例示意图。
具体实施方式
49.下面结合附图,对本技术的实施例进行描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
50.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
51.本技术实施例提供一种基于云技术的计算节点,用于提高用户程序和数据的安全性、机密性和完整性并减少对业务性能的影响。本技术实施例还提供了相应的基于云技术的实例管理方法。以下分别进行详细说明。
52.如图1所示,云数据中心包括云管理平台、数据中心内部网络和多个服务器,每个服务器都相同,例如服务器1和服务器2,服务器1和服务器2通过其网卡和数据中心内部网络和云管理平台完成信息交互,云管理平台通过互联网和客户端完成信息交互,其中网卡安装在卸载卡上,卸载卡又称智能卡,是服务器的标准外接设备,每台服务器都会配备该卸载卡。服务器还包括宿主机,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上可以运行一个或多个虚拟机(virtual machine,vm),例如虚拟机1和虚拟机2,虚拟机也可称为云服务器(elastic compute service,ecs)或弹性实例等,宿主机通过虚拟机管理器(hypervisor)执行,虚拟机管理器又称虚拟机监视器(virtual machine monitor,vmm)。
53.具体的,云管理平台提供访问接口(如界面或api),租户可操作客户端远程接入访问接口在云管理平台注册云账号和密码,并登录云管理平台,云管理平台对云账号和密码鉴权成功后,租户可进一步在云管理平台付费选择并购买特定规格(处理器、内存、磁盘)的虚拟机,付费购买成功后,云管理平台提供所购买的虚拟机的远程登录账号密码,客户端可远程登录该虚拟机,在该虚拟机中安装并运行租户的应用。云管理平台客户端接收云管理平台发送的控制面命令,根据控制面控制命令在服务器上创建并对虚拟机进行全生命周期管理,因此,租户可通过云管理平台在云数据中心中创建、管理、登录和操作虚拟机。
54.在应用程序可以处理数据之前,一般情况下必须先在内存中对数据进行解密。这使得数据在内存处理中变得容易受到攻击。机密计算通常利用基于硬件的可信执行环境(trusted execution environment,tee)来解决此问题,tee是cpu内部的安全区域。使用嵌入式加密密钥和嵌入式证明机制确保tee的安全,以确保密钥只能由授权的应用程序代码访问。如果恶意软件或其他未经授权的代码尝试访问密钥-或授权的代码被黑客入侵或以
任何方式更改-tee将拒绝访问密钥并取消计算。这样,敏感数据可以在内存中保持受保护状态,直到应用程序告诉tee对其解密以进行处理。在解密过程中以及整个计算过程中,操作系统或vm中的vmm,其他计算堆栈资源以及云提供商及其员工看不到数据。
55.机密计算可以保护使用中的敏感数据。当与静态数据加密一起使用以及通过密钥的独占控制进行传输时,机密计算消除了将敏感或高度管制的数据集和应用程序工作负载从不灵活、昂贵的本地互联网技术(internet technology,it)基础架构迁移到更加灵活和现代的公有云平台的最大障碍。
56.机密计算可以保护知识产权。机密计算不仅用于数据保护。tee还可以用于保护专有业务逻辑、分析功能、机器学习算法或整个应用程序。
57.机密计算可以使得新的云解决方案上与合作伙伴安全地进行协作。例如,一家公司可以将其敏感数据与另一家公司的专有计算相结合,以创建新的解决方案,而无需任何公司共享任何其不希望共享的数据或知识产权。
58.机密计算可以消除选择云提供商时的担忧。机密计算使公司可以选择最能满足其技术和业务要求的云计算服务,而不必担心存储和处理客户数据、专有技术和其他敏感资产。如果云提供商还提供竞争性业务服务,这也有助于减轻任何其他竞争问题。
59.机密计算可以保护在边缘处理的数据。边缘计算是一种分布式计算框架,可使企业应用程序更靠近数据源,例如物联网(internet of things,iot)设备或本地边缘服务器。当将其用作分布式云模式的一部分时,可以使用机密计算保护边缘节点上的数据和应用程序。
60.下面结合上述云数据中心的架构和机密计算的概念对本技术实施例提供的基于云技术的计算节点进行描述。
61.如图2所示,本技术实施例提供的基于云技术的计算节点一实施例包括宿主机100和卸载卡200,卸载卡200插置于宿主机100并与宿主机100建立有通信通道,卸载卡200上运行有飞地enclave实例210,卸载卡200上还设置有为enclave实例210分配的可信执行模块220,且enclave实例210中设置有应用程序,宿主机100上运行有主实例110,其中,enclave实例210的数量为1个,通信通道可以是高速串行计算机扩展总线(peripheral component interconnect express,pcie)通道,也可以是计算快速链路(compute express link,cxl)通道。
62.具体的,宿主机100还包括虚拟机管理器130和实例模拟器前端模块120,实例模拟器前端模块120只应用于主实例110,其模拟的实例是一个抽象概念,不限于虚拟机、容器和函数等,实例模拟器前端模块120用于模拟计算机设备的各种芯片组、虚拟机内中央处理器(central processing unit,cpu)的生命周期管理、虚拟机退出(vm exit)等与虚拟机业务强相关的逻辑处理,实例模拟器前端模块120具体包括智能控制模块121和隔离通信模块122,智能控制模块121是主实例110用来进行enclave实例210的生命周期控制相关的通道,隔离通信模块122是主实例110中用来连接主实例110与卸载卡200的enclave实例210安全的通信通道,具有完善的安全控制,实例模拟器前端模块120还包括与其用途相关的其他模块,本技术实施例对此不作限制。
63.卸载卡200还包括管控面逻辑组件240和实例模拟器后端模块230。管控面逻辑组件240内部包括多个组件,比如跟虚拟机生命周期相关的组件,如开源的openstack(一个开
源的云计算管理平台项目)的组件nova、libvirt(用于管理虚拟化平台的组件),kubernetes(用于管理云平台中多个主机上的容器化的应用),以及系统安装、升级、部署、运维相关的组件,实例模拟器后端模块230内的模块与实例模拟器前端模块120一一对应,本技术实施例不再赘述。
64.更具体的,智能控制模块121包括生命周期管理模块1211和虚拟设备模拟模块1212。生命周期管理模块1211用来进行enclave实例210的创建、销毁和改配等操作,同时负责与实例模拟器后端模块230的连接管理,虚拟设备模拟模块1212用于进行主实例110命令通道的设备的模拟,可以是虚拟化io处理协议(virtual io,virtio)设备或其他任何外设组件互连标准(peripheral component interconnect,pci)设备、内存映射(memory-mapped i/o,mmio)模拟设备等。隔离通信模块122包括控制设备模块1221和权限管理模块1222。控制设备模块1221主要用于将主实例110和enclave实例210建立安全的通道连接,该通道可以是virtio设备、网卡设备和共享内存设备等,最终通过通信通道或者可信的网络进行连接,权限管理模块1222用于对通信通道的权限进行控制管理,保证无其他异常用户或者逃逸的攻击者能够访问该通信通道。
65.可信执行模块220包括飞地安全模块221、消息管理模块222、安全处理模块223和硬件加速模块224。飞地安全模块221用于供给可信执行模块220完成可信执行环境命令相关操作,同时完成相关设备的模拟管理。消息管理模块222用于跟实例模拟器前端模块120进行握手连接,包括通信通道的建立、自动重连和消息的分发等。安全处理模块223用于进行机密计算任务相关的安全操作处理,如加解密、随机数生成处理和证书生成逻辑等。硬件加速模块224用于使能安全芯片或者tee的能力,将一些机密的信息,如密钥、平台配置寄存器(platform configuration register,pcr)的值等存放在硬件中,或者使用硬件加速安全操作。整个可信执行模块220可以整体或者部分放置在tee中,从而构筑完全隔离的机密计算环境。
66.进一步的,飞地安全模块221包括设备管理模块2211、后端通信管理模块2212、资源管理模块2213和安全信息封装模块2214。设备管理模块2211用于轻量级可信执行环境的模拟,同时包括安全模块设备的设备管理功能、虚拟安全模块设备或者直通真实的模块设备。后端通信管理模块2212与enclave实例210建立连接,传递enclave实例210的请求和响应信息,资源管理模块2213负责整个可信执行模块220的管理资源分配或者释放等,安全信息封装模块2214将可信执行模块220下发的请求进行安全封装,该安全信息封装模块2214是可选的,某些场景不需要,如直通场景。
67.如图3所示,对于硬件层面来说,宿主机310包括cpu311、内存312和根复用器(root complex,rc)芯片313。其中rc芯片313为pcie规范中定义的芯片,其作用是为宿主机310的cpu311提供向外部设备发送和接收pcie消息的硬件接口。宿主机310与卸载卡320之间采用标准规范pcie协议进行互联,即通信通道为pcie通道,此外通信通道还可以是cxl通道,此时rc芯片313可以进行替换。
68.卸载卡320包括cpu321、内存322、端点(end point,ep)芯片323和安全芯片324。其中ep芯片324为pcie规范中定义的芯片,其作用是作为外设接口向宿主机310发送和接收pcie消息,即通信通道为pcie通道,此外通信通道还可以是cxl通道,此时ep芯片323可以进行替换。此外安全芯片324可以是tee安全芯片,cpu321中也可以设置该tee安全芯片,从而
通过硬件进一步强化机密计算的安全性。
69.在应用时,enclave实例上运行的应用程序(application,app)产生机密计算任务,应用程序是用户自开发的,即用户根据自身的机密计算需求预先创建好应用程序,机密计算任务具体可以是获取随机数或者获取密钥信息等,然后enclave实例发送机密计算任务给可信执行模块,具体为enclave实例将机密计算任务发给飞地安全模块中的设备管理模块,飞地安全模块接收到机密计算任务后解析机密计算任务中管理使用的头部信息而不解析具体机密计算任务内容,然后通过安全处理模块进行机密计算任务的解析处理,可信执行模块可以根据机密计算任务的类别,调用硬件加速模块的相应逻辑进行加速处理,可信执行模块得到处理结果后将处理结果返回给enclave实例,完成机密计算任务。
70.需要说明的是,在宿主机中还可以设置飞地安全代理模块,可信执行模块得到处理结果后将处理结果通过消息管理模块返回给宿主机的飞地安全代理模块,飞地安全代理模块收到处理结果后再返回给enclave实例。
71.进一步的,若处理机密计算任务时需要从外部获取参数,enclave实例可以通过通信通道和主实例进行通信,将主实例作为代理从外部网络中获取这些参数。
72.此外,在该计算节点出现故障时,宿主机和智能卡可以整体一起迁移到其他的计算节点,保证云服务的可迁移性和虚拟化的弹性。
73.本技术实施例中,基于云技术的计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,宿主机上运行有主实例,enclave实例中设置有应用程序,其中,主实例用于产生机密计算任务;enclave实例用于发送机密计算任务给可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上运行enclave实例使得tee与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的tee,从而提高了用户程序和数据的安全性、机密性和完整性,保证机密计算的处理数据过程安全,此外卸载卡中的tee不会占用宿主机的资源,使得业务性能不受影响。
74.如图4所示,本技术实施例提供的基于云技术的计算节点另一实施例中,卸载卡420还与云管理平台404网络连接,即该计算节点401应用于数据中心400。
75.对于硬件层面来说,宿主机410包括cpu411、内存412和根复用器(root complex,rc)芯片413。其中rc芯片413为pcie规范中定义的芯片,其作用是为宿主机410的cpu411提供向外部设备发送和接收pcie消息的硬件接口。宿主机410与卸载卡420之间采用标准规范pcie协议进行互联,即通信通道为pcie通道,此外通信通道还可以是cxl通道,此时rc芯片413可以进行替换。卸载卡420包括cpu421、内存422、端点(end point,ep)芯片423和安全芯片424。其中ep芯片424为pcie规范中定义的芯片,其作用是作为外设接口向宿主机410发送和接收pcie消息,即通信通道为pcie通道,此外通信通道还可以是cxl通道,此时ep芯片423可以进行替换。此外安全芯片424可以是tee安全芯片,cpu421中也可以设置该tee安全芯片,从而通过硬件进一步强化机密计算的安全性。
76.此外,卸载卡420还包括网卡425,卸载卡420通过网卡425连接全局存储资源和网络资源。具体的,网卡425可以通过数据中心内部网络403与云管理平台404连接,数据中心内部网络403还可以和其他计算节点402的网卡连接,云管理平台404通过互联网405和客户端406连接,本技术实施例中的云管理平台客户端卸载在卸载卡420的网卡425中,即外部的
用户不会和宿主机410直接进行通信,而是通过卸载卡420和宿主机410进行安全通信。
77.在执行机密计算任务前,用户需要创建主实例和enclave实例,管理员或用户可以发送主实例创建请求,因云管理平台客户端卸载在卸载卡上,卸载卡的管理组件会最先收到云管理平台发送的主实例创建请求,然后组装对应主实例的配置文件,该配置文件包括cpu类型、cpu数量,内存大小,磁盘、网卡和鼠标等等,配置文件组装完毕之后,卸载卡通过通信通道通知宿主机创建主实例,即将配置文件和主实例创建请求发送给宿主机,宿主机会根据配置文件的内容启动实例模拟器前端模块,调用实例模拟器前端模块的虚拟设备模拟模块工作,启动后卸载卡也会紧接着启动实例模拟器后端模块,并与实例模拟器前端模块建立连接通道,用于后续消息的传递,由此完成主实例的创建,主实例开始工作。
78.用户在购买主实例后成为租户,租户可以登录主实例,在主实例的界面或者在主实例的创建过程中选择enclave,由此通过enclave工具在主实例发起enclave实例创建命令,enclave实例创建命令包括enclave实例需要的cpu数量和内存大小等信息,主实例的实例模拟器前端模块的智能命令控制模块的生命周期管理模块接收到enclave实例创建命令,会解析enclave实例创建命令的参数,做好启动前准备,然后主实例的实例模拟器前端模块通过通信通道通知卸载卡的实例模拟器后端模块启动构建enclave实例,实例模拟器后端模块拉起enclave实例和可信执行模块,并使用消息管理模块与主实例建立安全连接,此时enclave实例和可信执行模块开始工作,可以执行后续的机密计算任务。
79.进一步的,enclave实例的数量为n个,n为大于或等于2的正整数,n个enclave实例分别处理不同类型的机密计算任务,同时卸载卡上的可信执行模块的数量也为n个,且每个可信执行模块分别与互不相同的enclave实例连接,即每个enclave实例连接有一个可信执行模块。执行机密计算任务时,当主实例启动一个enclave实例后,该encalve实例上运行的应用程序会产生对应的机密计算任务,若需要处理特定类型的机密计算任务,主实例只需要启动对应的encalve实例即可,对应的可信执行模块完成该机密计算任务的处理。此外,一个主实例还可以对应一个可信执行模块,主实例和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的enclave实例连接以提供服务。
80.本技术实施例中,该计算节点应用于云数据中心,卸载卡还与云管理平台网络连接,从而创建主实例和enclave实例,提升了方案的可实现性,此外enclave实例的数量为多个,提升了细粒度拆分机密计算任务的能力,保证权限最小化。
81.如图5所示,本技术实施例提供的基于云技术的实例管理方法一实施例中,该方法包括:
82.501、enclave实例发送应用程序产生的机密计算任务给可信执行模块。
83.502、可信执行模块处理机密计算任务,并将处理结果返回给enclave实例。
84.该基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,且enclave实例中设置有应用程序,宿主机上运行有主实例,其中enclave实例的数量为1个,通信通道包括高速串行计算机扩展总线pcie通道和计算快速链路cxl通道。
85.计算节点的enclave实例发送应用程序产生的机密计算任务给可信执行模块,然后计算节点的可信执行模块处理机密计算任务,并将处理结果返回给enclave实例,完成机
密计算任务,本技术实施例提供的基于云技术的实例管理方法具体实施方式可以参照前述的关于基于云技术的计算节点的描述,本技术实施例不再赘述。
86.本技术实施例中,基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,宿主机上运行有主实例,enclave实例中设置有应用程序,该方法包括:enclave实例发送应用程序产生的机密计算任务给可信执行模块;可信执行模块处理机密计算任务,卸载卡上运行enclave实例使得tee与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的tee,从而提高了用户程序和数据的安全性、机密性和完整性,保证机密计算的处理数据过程安全,此外卸载卡中的tee不会占用宿主机的资源,使得业务性能不受影响。
87.如图6所示,本技术实施例提供的基于云技术的实例管理方法另一实施例中,该方法包括:
88.601、卸载卡接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。
89.602、主实例基于登录主实例的租户输入的enclave实例创建命令通知卸载卡创建enclave实例和可信执行模块。
90.603、enclave实例发送应用程序产生的机密计算任务给可信执行模块。
91.604、可信执行模块处理机密计算任务,并将处理结果返回给enclave实例。
92.该基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地enclave实例,卸载卡上还设置有为enclave实例分配的可信执行模块,且enclave实例中设置有应用程序,宿主机上运行有主实例,卸载卡与云管理平台网络连接,enclave实例的数量为n个,n为大于或等于2的正整数,n个enclave实例分别处理不同类型的机密计算任务,可信执行模块的数量为n个,且每个可信执行模块分别与互不相同的enclave实例连接,其中通信通道包括高速串行计算机扩展总线pcie通道和计算快速链路cxl通道。此外,一个主实例还可以对应一个可信执行模块,主实例和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的enclave实例连接以提供服务。
93.计算节点的卸载卡接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例,然后计算节点的主实例基于登录主实例的租户输入的enclave实例创建命令通知卸载卡创建enclave实例和可信执行模块,计算机节点的主实例若需要进行某种机密计算任务,则只需要启动与该机密计算任务对应的enclave实例,计算节点的enclave实例发送enclave实例上运行的应用程序产生的机密计算任务给该enclave实例对应的可信执行模块,最后该enclave实例对应的可信执行模块处理机密计算任务,并将处理结果返回给enclave实例,完成机密计算任务,本技术实施例提供的基于云技术的实例管理方法具体实施方式可以参照前述的关于基于云技术的计算节点的描述,本技术实施例不再赘述。
94.本技术实施例中,基于云技术的实例管理方法应用于计算节点,该计算节点应用于云数据中心,卸载卡还与云管理平台网络连接,从而创建主实例和enclave实例,提升了方案的可实现性,此外enclave实例的数量为多个,提升了细粒度拆分机密计算任务的能
力,保证权限最小化。
95.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法的具体工作过程,可以参考前述单元实施例中的对应过程,在此不再赘述。
96.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
97.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
98.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
99.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1