Cloud technology-based computing node and cloud technology-based instance management method
Patent Information
- Application Number
- CN202111113344.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-18
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2041-09-18
AI Technical Summary
[0004]但是,当宿主机遭受恶意攻击时,例如宿主机的VMM被攻破后,就可以通过VMM访问宿主机中的CPU以及内存,则TEE安全受到影响,TEE的安全性降低,此外TEE会占用宿主机的资源,使宿主机中的业务受到影响
[0042] In this embodiment, the cloud-based computing node includes a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with it. An enclave instance runs on the offload card, and a trusted execution module allocated to the enclave instance is also provided on the offload card. A master instance runs on the host machine, and an application is configured in the enclave instance. The enclave instance is used to send confidential computing tasks generated by the application to the trusted execution module. The trusted execution module is used to process the confidential computing tasks. The enclave instance running on the offload card enables the TEE to be physically isolated from the master instance through the host machine and the offload card. An attack on the host machine will not affect the TEE in the offload card, thereby improving the security of the TEE and ensuring the security of the confidential computing data processing process. In addition, the TEE in the offload card will not occupy the resources of the host machine, so that the business performance is not affected.
Smart Images

Figure CN115840943B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud technology, and in particular to a cloud-based computing node and a cloud-based instance management method. Background Technology
[0002] Cloud technology is now widely used in various fields, such as cloud services. The security of the data environment of cloud services is related to the security of data privacy in the cloud.
[0003] Data in cloud services generally falls into three categories: static data, data in transit, and data in use. The first two can be secured through encryption and other methods. For data in use, confidential computing is commonly used to protect its security. This primarily involves providing a trusted execution environment (TEE), a secure area within the central processing unit (CPU). Confidential data and software to be processed are placed within this TEE. Access to the confidential data and the software used to process it is restricted to authorized personnel, ensuring the confidentiality and integrity of the data and reducing the attack surface of the software when processing it. Existing TEEs are built upon virtual machine monitors (VMMs). Specifically, the VMM isolates a portion of the CPU and memory from the host machine, using this isolated CPU and memory to create the TEE.
[0004] However, when the host machine is subjected to malicious attacks, such as when the host machine's VMM is compromised, the host machine's CPU and memory can be accessed through the VMM, which affects the security of the TEE and reduces its security. In addition, the TEE will consume the host machine's resources, affecting the services on the host machine. Summary of the Invention
[0005] This application provides a cloud-based computing node to improve the security, confidentiality, and integrity of user programs and data while reducing the impact on business performance. This application also provides a corresponding cloud-based instance management method.
[0006] The first aspect of this application provides a cloud-based computing node, including a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with the host machine. An enclave instance runs on the offload card. The offload card is also equipped with a trusted execution module allocated to the enclave instance. An application is configured in the enclave instance. A master instance runs on the host machine. The enclave instance is used to send confidential computing tasks generated by the application to the trusted execution module. The trusted execution module is used to process the confidential computing tasks and return the processing results to the enclave instance.
[0007] The cloud-based computing node in this application can be a server, which includes a host machine and an offload card. One or more virtual machines (VMs) can run on the host machine and are executed through a virtual machine manager (VMM). The offload card is a standard external device of the host machine, also known as a smart card, which is inserted into the host machine and establishes a communication channel with the host machine. The host machine runs a master instance.
[0008] The offloading card in this application runs an enclave instance and is also equipped with a trusted execution module allocated to the enclave instance. The enclave instance is a trusted execution environment and a trusted isolation space. The trusted execution module is used to perform confidential computation. An application is set up in the enclave instance. During the application process, the enclave instance sends confidential computation tasks generated by the application to the trusted execution module. The trusted execution module can then process the confidential computation tasks and return the processing results to the enclave instance, thereby completing the confidential computation task.
[0009] In the first aspect, the cloud-based computing node includes a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with it. An enclave instance runs on the offload card, and a trusted execution module allocated to the enclave instance is also set up on the offload card. A master instance runs on the host machine, and an application is set up in the enclave instance. The enclave instance is used to send confidential computing tasks generated by the application to the trusted execution module. The trusted execution module is used to process confidential computing tasks. The enclave instance running on the offload card enables the TEE to be physically isolated from the master instance through the host machine and the offload card. If the host machine is attacked, it will not affect the TEE in the offload card, thereby improving the security, confidentiality and integrity of user programs and data, ensuring the security of the data processing process of confidential computing. In addition, the TEE in the offload card does not occupy the resources of the host machine, so that the business performance is not affected.
[0010] In one possible implementation of the first aspect, the offloading card is connected to the cloud management platform via a network, wherein: the offloading card is used to receive the master instance creation request sent by the cloud management platform and notify the host machine to create the master instance through a communication channel.
[0011] In this possible implementation, the offloading card is also connected to the cloud management platform network. That is, the cloud-based computing node can be used in the cloud data center. Users can enter a primary instance creation request on the client and send it to the cloud management platform via the Internet. The cloud management platform sends the primary instance creation request to the offloading card of the computing node through the internal network of the data center. The offloading card notifies the host machine to create the primary instance through the communication channel, which improves the feasibility of the solution.
[0012] In one possible implementation of the first aspect, the master instance is also used to notify the unloading card to create an Enclave instance and a trusted execution module based on the Enclave instance creation command input by the tenant who logged into the master instance.
[0013] In this possible implementation, the compute node can be shared by multiple tenants. After logging into the master instance, tenants can enter an Enclave instance creation command to notify the unloading card to create an Enclave instance and a trusted execution module, thus improving the feasibility of the solution.
[0014] In one possible implementation of the first aspect, the number of Enclave instances is 1.
[0015] In this possible implementation, one master instance is configured with one Enclave instance, which improves the feasibility of the solution.
[0016] In one possible implementation of the first aspect, the number of Enclave instances is N, where N is a positive integer greater than or equal to 2, and the N Enclave instances handle different types of confidential computing tasks respectively.
[0017] In this possible implementation, a master instance can be configured with multiple Enclave instances. Each Enclave instance handles different types of confidential computing tasks. When the master instance starts an Enclave instance, the application running on that Enclave instance will generate the corresponding confidential computing task. If a specific type of confidential computing task needs to be processed, the master instance only needs to start the corresponding Enclave instance, thereby improving the ability to finely split confidential computing tasks and ensuring minimal permissions.
[0018] In one possible implementation of the first aspect, there are N trusted execution modules, and each trusted execution module is connected to a different Enclave instance.
[0019] In this possible implementation, the number of trusted execution modules is the same as the number of Enclave instances, and each trusted execution module is connected to a different Enclave instance, which improves the feasibility of the solution.
[0020] In one possible implementation of the first aspect, one master instance corresponds to one trusted execution module.
[0021] In this possible implementation, the number of master instances and the number of trusted execution modules are the same. A trusted execution module corresponding to a master instance can connect to different Enclave instances to provide services, which improves the feasibility of the solution.
[0022] In one possible implementation of the first aspect, the communication channels include a high-speed serial computer expansion bus (PCIe) channel and a compute fast link (CXL) channel.
[0023] In this possible implementation, the communication channel can be a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) channel or a compute express link (CXL) channel, thereby improving the communication speed between the host and the offloading card.
[0024] The second aspect of this application provides a cloud-based instance management method. This method is applied to a computing node, which includes a host machine and an offloading card. The offloading card is inserted into the host machine and establishes a communication channel with it. An enclave instance runs on the offloading card. The offloading card also has a trusted execution module allocated to the enclave instance, and the enclave instance contains an application. A master instance runs on the host machine. The method includes the following steps: the enclave instance sends confidential computing tasks generated by the application to the trusted execution module; the trusted execution module processes the confidential computing tasks and returns the processing results to the enclave instance.
[0025] The cloud-based computing node in this application can be a server, which includes a host machine and an offload card. One or more virtual machines can run on the host machine and are executed through a virtual machine manager, also known as a virtual machine monitor. The offload card is a standard external device of the host machine, also known as a smart card, which is inserted into the host machine and establishes a communication channel with the host machine. The host machine runs a master instance.
[0026] The offloading card in this application runs an enclave instance and is also equipped with a trusted execution module allocated to the enclave instance. The enclave instance is a trusted execution environment and a trusted isolation space. The trusted execution module is used to perform confidential computation. An application is set up in the enclave instance. During the application process, the enclave instance sends confidential computation tasks generated by the application to the trusted execution module. The trusted execution module can then process the confidential computation tasks and return the processing results to the enclave instance, thereby completing the confidential computation task.
[0027] The second aspect involves a cloud-based instance management method applied to compute nodes. These nodes include a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with it. An enclave instance runs on the offload card, which also contains a trusted execution module allocated to the enclave instance. A master instance runs on the host machine, and an application is configured within the enclave instance. The method includes: the enclave instance sending confidential computing tasks generated by the application to the trusted execution module; the trusted execution module processing the confidential computing tasks; and the offload card's enclave instance physically isolating the TEE from the master instance through the host machine and the offload card. An attack on the host machine will not affect the TEE on the offload card, thereby improving the security, confidentiality, and integrity of user programs and data, ensuring the security of confidential computing data processing. Furthermore, the TEE on the offload card does not consume host machine resources, ensuring unaffected business performance.
[0028] In one possible implementation of the second aspect, the offloading card is connected to the cloud management platform via a network. The method further includes: the offloading card receiving a master instance creation request sent by the cloud management platform and notifying the host machine to create a master instance through a communication channel.
[0029] In this possible implementation, the offloading card is also connected to the cloud management platform network. That is, this cloud-based instance management method can be applied in cloud data centers. Users can enter a primary instance creation request on the client and send it to the cloud management platform via the Internet. The cloud management platform sends the primary instance creation request to the offloading card of the computing node through the internal network of the data center. The offloading card notifies the host machine to create the primary instance through the communication channel, which improves the feasibility of the solution.
[0030] In one possible implementation of the second aspect, the method further includes: the master instance notifying the unloading card to create an Enclave instance and a trusted execution module based on the Enclave instance creation command input by the tenant who logged into the master instance.
[0031] In this possible implementation, the compute node can be shared by multiple tenants. After logging into the master instance, tenants can enter an Enclave instance creation command to notify the unloading card to create an Enclave instance and a trusted execution module, thus improving the feasibility of the solution.
[0032] In one possible implementation of the second aspect, the number of Enclave instances is 1.
[0033] In this possible implementation, one master instance is configured with one Enclave instance, which improves the feasibility of the solution.
[0034] In one possible implementation of the second aspect, the number of Enclave instances is N, where N is a positive integer greater than or equal to 2, and the N Enclave instances handle different types of confidential computing tasks respectively.
[0035] In this possible implementation, a master instance can be configured with multiple Enclave instances. Each Enclave instance handles different types of confidential computing tasks. When the master instance starts an Enclave instance, the application running on that Enclave instance will generate the corresponding confidential computing task. If a specific type of confidential computing task needs to be processed, the master instance only needs to start the corresponding Enclave instance, thereby improving the ability to finely split confidential computing tasks and ensuring minimal permissions.
[0036] In one possible implementation of the second aspect, the number of trusted execution modules is N, and each trusted execution module is connected to a different Enclave instance.
[0037] In this possible implementation, the number of trusted execution modules is the same as the number of Enclave instances, and each trusted execution module is connected to a different Enclave instance, which improves the feasibility of the solution.
[0038] In one possible implementation of the second aspect, one master instance corresponds to one trusted execution module.
[0039] In this possible implementation, the number of master instances and the number of trusted execution modules are the same. A trusted execution module corresponding to a master instance can connect to different Enclave instances to provide services, which improves the feasibility of the solution.
[0040] In one possible implementation of the second aspect, the communication channels include a high-speed serial computer expansion bus (PCIe) channel and a compute fast link (CXL) channel.
[0041] In this possible implementation, the communication channel can be a high-speed serial computer expansion bus channel or a computing fast link channel, thereby improving the communication speed between the host and the offloading card.
[0042] In this embodiment, the cloud-based computing node includes a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with it. An enclave instance runs on the offload card, and a trusted execution module allocated to the enclave instance is also provided on the offload card. A master instance runs on the host machine, and an application is configured in the enclave instance. The enclave instance is used to send confidential computing tasks generated by the application to the trusted execution module. The trusted execution module is used to process the confidential computing tasks. The enclave instance running on the offload card enables the TEE to be physically isolated from the master instance through the host machine and the offload card. An attack on the host machine will not affect the TEE in the offload card, thereby improving the security of the TEE and ensuring the security of the confidential computing data processing process. In addition, the TEE in the offload card will not occupy the resources of the host machine, so that the business performance is not affected. Attached Figure Description
[0043] Figure 1 This is an architecture diagram of a cloud data center;
[0044] Figure 2 A schematic diagram of the software layer of an embodiment of a cloud-based computing node provided in this application.
[0045] Figure 3 A hardware layer schematic diagram of an embodiment of a cloud-based computing node provided in this application;
[0046] Figure 4 A schematic diagram of the hardware layer of another embodiment of a cloud-based computing node provided in this application.
[0047] Figure 5 A schematic diagram of an embodiment of the instance management method based on cloud technology provided in this application;
[0048] Figure 6 This is a schematic diagram of another embodiment of the instance management method based on cloud technology provided in this application. Detailed Implementation
[0049] The embodiments of this application are described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. As those skilled in the art will understand, with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0050] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0051] This application provides a cloud-based computing node to improve the security, confidentiality, and integrity of user programs and data while reducing the impact on business performance. This application also provides a corresponding cloud-based instance management method. These will be described in detail below.
[0052] like Figure 1 As shown, a cloud data center includes a cloud management platform, an internal data center network, and multiple identical servers, such as Server 1 and Server 2. Server 1 and Server 2 interact with the cloud management platform via their network interface cards (NICs), the internal data center network, and the cloud management platform. The cloud management platform interacts with clients via the internet. The NICs are installed on an offload card, also known as a smart card, which is a standard external device for servers; each server is equipped with this offload card. The server also includes a host machine. The offload card is inserted into the host machine and establishes a communication channel with it. One or more virtual machines (VMs) can run on the host machine, such as VM 1 and VM 2. Virtual machines can also be called Elastic Compute Service (ECS) or Elastic Instances. The host machine is executed through a hypervisor, also known as a virtual machine monitor (VMM).
[0053] Specifically, the cloud management platform provides access interfaces (such as a user interface or API). Tenants can use their clients to remotely access these interfaces, register a cloud account and password on the cloud management platform, and log in. After successful authentication of the cloud account and password, the tenant can further select and purchase virtual machines with specific specifications (processor, memory, disk) on the cloud management platform. After successful purchase, the cloud management platform provides a remote login account and password for the purchased virtual machine. The client can then remotely log in to the virtual machine and install and run the tenant's applications within it. The cloud management platform client receives control plane commands from the cloud management platform and creates and manages the virtual machines throughout their entire lifecycle on the server according to these commands. Therefore, tenants can create, manage, log in to, and operate virtual machines in the cloud data center through the cloud management platform.
[0054] Data typically must be decrypted in memory before an application can process it. This makes data vulnerable to attack during in-memory processing. Confidential computing often addresses this issue using a hardware-based trusted execution environment (TEE), a secure area inside the CPU. Embedded encryption keys and embedded authentication mechanisms ensure the TEE's security, guaranteeing that keys can only be accessed by authorized application code. If malware or other unauthorized code attempts to access the key—or if authorized code is hacked or altered in any way—the TEE will refuse access and cancel the computation. In this way, sensitive data remains protected in memory until the application instructs the TEE to decrypt it for processing. During decryption and throughout the computation, the data is invisible to the operating system or the VM's Virtual Machine (VMM), other computing stack resources, and cloud providers and their employees.
[0055] Confidential computing can protect sensitive data in use. When used in conjunction with data-at-rest encryption and transmitted via exclusive control of the key, confidential computing removes the biggest barrier to migrating sensitive or highly regulated datasets and application workloads from inflexible, expensive on-premises internet technology (IT) infrastructure to more flexible and modern public cloud platforms.
[0056] Confidential computing (TEE) can protect intellectual property. Confidential computing is not only used for data protection. TEE can also be used to protect proprietary business logic, analytics capabilities, machine learning algorithms, or entire applications.
[0057] Confidential computing enables secure collaboration with partners on new cloud solutions. For example, a company can combine its sensitive data with another company's proprietary computing to create new solutions without either company sharing any data or intellectual property it does not wish to share.
[0058] Confidential computing can eliminate concerns when choosing a cloud provider. It allows companies to select the cloud computing service that best meets their technical and business requirements without worrying about storing and processing customer data, proprietary technology, and other sensitive assets. It also helps mitigate any other competitive issues if the cloud provider also offers competing business services.
[0059] Confidential computing can protect data processed at the edge. Edge computing is a distributed computing framework that brings enterprise applications closer to data sources, such as Internet of Things (IoT) devices or local edge servers. When used as part of a distributed cloud model, confidential computing can be used to protect data and applications on edge nodes.
[0060] The following describes the cloud-based computing node provided in the embodiments of this application, in conjunction with the architecture of the cloud data center and the concept of confidential computing.
[0061] like Figure 2 As shown in the embodiment of this application, a cloud-based computing node includes a host machine 100 and an offload card 200. The offload card 200 is inserted into the host machine 100 and establishes a communication channel with the host machine 100. An enclave instance 210 runs on the offload card 200. The offload card 200 is also equipped with a trusted execution module 220 allocated to the enclave instance 210, and an application is configured in the enclave instance 210. A master instance 110 runs on the host machine 100. The number of enclave instances 210 is one. The communication channel can be a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) channel or a compute express link (CXL) channel.
[0062] Specifically, the host machine 100 also includes a virtual machine manager 130 and an instance simulator front-end module 120. The instance simulator front-end module 120 is only applied to the main instance 110. The instance it simulates is an abstract concept and is not limited to virtual machines, containers, and functions. The instance simulator front-end module 120 is used to simulate various chipsets of computer equipment, lifecycle management of the central processing unit (CPU) in the virtual machine, virtual machine exit, and other logic processing strongly related to virtual machine business. The instance simulator front-end module 120 specifically includes an intelligent control module 121 and an isolated communication module 122. The intelligent control module 121 is a channel used by the main instance 110 to perform lifecycle control related to the Enclave instance 210. The isolated communication module 122 is a secure communication channel used in the main instance 110 to connect the main instance 110 and the Enclave instance 210 of the offload card 200, and has complete security control. The instance simulator front-end module 120 also includes other modules related to its purpose, which are not limited in this embodiment.
[0063] The unloading card 200 also includes a control plane logic component 240 and an instance simulator backend module 230. The control plane logic component 240 includes multiple components, such as components related to the virtual machine lifecycle, such as Nova and libvirt (components for managing virtualization platforms) from the open-source OpenStack (an open-source cloud computing management platform project), Kubernetes (components for managing containerized applications on multiple hosts in a cloud platform), and components related to system installation, upgrades, deployment, and operation and maintenance. The modules in the instance simulator backend module 230 correspond one-to-one with the instance simulator frontend module 120, which will not be described in detail in this embodiment.
[0064] More specifically, the intelligent control module 121 includes a lifecycle management module 1211 and a virtual device simulation module 1212. The lifecycle management module 1211 is used to create, destroy, and reconfigure the Enclave instance 210, and is also responsible for connection management with the instance simulator backend module 230. The virtual device simulation module 1212 is used to simulate devices for the command channel of the main instance 110, which can be Virtual IO (VirtIO) devices or any other peripheral component interconnect (PCI) devices, memory-mapped I / O (MMIO) simulation devices, etc. The isolated communication module 122 includes a control device module 1221 and a permission management module 1222. The control device module 1221 is mainly used to establish a secure channel connection between the main instance 110 and the Enclave instance 210. This channel can be a VirtIO device, a network card device, or a shared memory device, etc., and is ultimately connected through a communication channel or a trusted network. The permission management module 1222 is used to control and manage the permissions of the communication channel to ensure that no other abnormal users or escaped attackers can access the communication channel.
[0065] The Trusted Execution Module 220 includes an enclave security module 221, a message management module 222, a security processing module 223, and a hardware acceleration module 224. The enclave security module 221 supplies the Trusted Execution Module 220 with commands related to the Trusted Execution Environment and manages the simulation of related devices. The message management module 222 establishes a handshake connection with the instance simulator front-end module 120, including establishing a communication channel, automatic reconnection, and message distribution. The security processing module 223 performs security operations related to confidential computing tasks, such as encryption / decryption, random number generation, and certificate generation logic. The hardware acceleration module 224 enables the capabilities of the security chip or TEE, storing confidential information such as keys and platform configuration register (PCR) values in hardware, or using hardware-accelerated security operations. The entire Trusted Execution Module 220 can be placed entirely or partially within the TEE, thus constructing a completely isolated confidential computing environment.
[0066] Furthermore, the enclave security module 221 includes a device management module 2211, a backend communication management module 2212, a resource management module 2213, and a security information encapsulation module 2214. The device management module 2211 is used to simulate a lightweight trusted execution environment, and also includes device management functions for security module devices, virtual security module devices, or direct access to real module devices. The backend communication management module 2212 establishes a connection with the Enclave instance 210, transmitting request and response information from the Enclave instance 210. The resource management module 2213 is responsible for the management, allocation, and release of resources for the entire trusted execution module 220. The security information encapsulation module 2214 securely encapsulates the requests issued by the trusted execution module 220. This security information encapsulation module 2214 is optional and not required in certain scenarios, such as direct access scenarios.
[0067] like Figure 3 As shown, at the hardware level, the host machine 310 includes a CPU 311, memory 312, and a root complex (RC) chip 313. The RC chip 313 is a chip defined in the PCIe specification, and its function is to provide the CPU 311 of the host machine 310 with a hardware interface for sending and receiving PCIe messages to external devices. The host machine 310 and the offload card 320 are interconnected using the standard PCIe protocol, meaning the communication channel is a PCIe channel. Alternatively, the communication channel can also be a CXL channel, in which case the RC chip 313 can be replaced.
[0068] The offloading card 320 includes a CPU 321, memory 322, an endpoint (EP) chip 323, and a security chip 324. The EP chip 324 is a chip defined in the PCIe specification, and its function is to act as a peripheral interface to send and receive PCIe messages to and from the host machine 310; that is, the communication channel is a PCIe channel. Alternatively, the communication channel can also be a CXL channel, in which case the EP chip 323 can be replaced. Furthermore, the security chip 324 can be a TEE security chip, and this TEE security chip can also be configured in the CPU 321, thereby further enhancing the security of confidential computing through hardware.
[0069] In application mode, the application (APP) running on the Enclave instance generates confidential computing tasks. The application is user-developed, meaning the user pre-creates the application according to their own confidential computing needs. Confidential computing tasks can specifically include obtaining random numbers or key information. The Enclave instance then sends the confidential computing task to the trusted execution module. Specifically, the Enclave instance sends the confidential computing task to the device management module within the enclave security module. After receiving the confidential computing task, the enclave security module parses the header information used for management within the confidential computing task but does not parse the specific confidential computing task content. Then, the confidential computing task is parsed and processed by the security processing module. The trusted execution module can call the corresponding logic of the hardware acceleration module to accelerate the processing based on the type of confidential computing task. After obtaining the processing result, the trusted execution module returns the result to the Enclave instance, completing the confidential computing task.
[0070] It should be noted that an enclave security proxy module can also be set up in the host machine. After the trusted execution module obtains the processing result, it returns the processing result to the enclave security proxy module in the host machine through the message management module. After receiving the processing result, the enclave security proxy module returns it to the Enclave instance.
[0071] Furthermore, if parameters need to be obtained from external sources when handling confidential computing tasks, the Enclave instance can communicate with the main instance through a communication channel, using the main instance as a proxy to obtain these parameters from the external network.
[0072] Furthermore, in the event of a failure in this computing node, the host machine and smart card can be migrated together to other computing nodes, ensuring the portability of cloud services and the elasticity of virtualization.
[0073] In this embodiment, the cloud-based computing node includes a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with it. An enclave instance runs on the offload card, and a trusted execution module allocated to the enclave instance is also provided on the offload card. A master instance runs on the host machine, and an application is configured in the enclave instance. The master instance is used to generate confidential computing tasks; the enclave instance is used to send confidential computing tasks to the trusted execution module; and the trusted execution module is used to process the confidential computing tasks. The enclave instance running on the offload card enables the TEE to be physically isolated from the master instance through the host machine and the offload card. An attack on the host machine will not affect the TEE in the offload card, thereby improving the security, confidentiality, and integrity of user programs and data, ensuring the security of the data processing process for confidential computing. In addition, the TEE in the offload card does not occupy the resources of the host machine, so that business performance is not affected.
[0074] like Figure 4 As shown, in another embodiment of the cloud-based computing node provided in this application, the offloading card 420 is also network-connected to the cloud management platform 404, that is, the computing node 401 is applied to the data center 400.
[0075] At the hardware level, the host machine 410 includes a CPU 411, memory 412, and a root complex (RC) chip 413. The RC chip 413 is a chip defined in the PCIe specification, and its function is to provide the CPU 411 of the host machine 410 with a hardware interface for sending and receiving PCIe messages to external devices. The host machine 410 and the offload card 420 are interconnected using the standard PCIe protocol; that is, the communication channel is a PCIe channel. Alternatively, the communication channel can be a CXL channel, in which case the RC chip 413 can be replaced. The offload card 420 includes a CPU 421, memory 422, an endpoint (EP) chip 423, and a security chip 424. The EP chip 424 is a chip defined in the PCIe specification, and its function is to act as a peripheral interface to send and receive PCIe messages to the host machine 410; that is, the communication channel is a PCIe channel. Alternatively, the communication channel can be a CXL channel, in which case the EP chip 423 can be replaced. In addition, the security chip 424 can be a TEE security chip, and the CPU 421 can also be equipped with this TEE security chip, thereby further enhancing the security of confidential computing through hardware.
[0076] In addition, the offloading card 420 also includes a network interface card (NIC) 425, which connects to global storage and network resources. Specifically, the NIC 425 can connect to the cloud management platform 404 via the data center internal network 403. The data center internal network 403 can also connect to the NICs of other computing nodes 402. The cloud management platform 404 connects to the client 406 via the Internet 405. In this embodiment, the cloud management platform client is offloaded to the NIC 425 of the offloading card 420, meaning that external users do not communicate directly with the host machine 410, but instead communicate securely with the host machine 410 through the offloading card 420.
[0077] Before performing confidential computing tasks, users need to create a primary instance and an Enclave instance. Administrators or users can send a primary instance creation request. Since the cloud management platform client is uninstalled onto the uninstallation card, the management component of the uninstallation card will receive the primary instance creation request sent by the cloud management platform first. Then, it assembles the corresponding primary instance configuration file, which includes CPU type, number of CPUs, memory size, disk, network card, mouse, etc. After the configuration file is assembled, the uninstallation card notifies the host machine to create the primary instance through the communication channel, that is, it sends the configuration file and the primary instance creation request to the host machine. The host machine will start the instance simulator front-end module according to the contents of the configuration file and call the virtual device simulation module of the instance simulator front-end module to work. After starting, the uninstallation card will also start the instance simulator back-end module and establish a connection channel with the instance simulator front-end module for subsequent message transmission. This completes the creation of the primary instance, and the primary instance begins to work.
[0078] After purchasing the primary instance, a user becomes a tenant. The tenant can log in to the primary instance and select Enclave either in the primary instance's interface or during the primary instance's creation process. The tenant then initiates an Enclave instance creation command on the primary instance using the Enclave tool. This command includes information such as the number of CPUs and memory required for the Enclave instance. The lifecycle management module of the intelligent command control module in the primary instance's instance simulator front-end module receives the Enclave instance creation command, parses its parameters, and prepares for startup. Then, the primary instance's instance simulator front-end module notifies the instance simulator back-end module of the offloading card via a communication channel to start building the Enclave instance. The instance simulator back-end module launches the Enclave instance and the trusted execution module, and establishes a secure connection with the primary instance using the message management module. At this point, the Enclave instance and the trusted execution module begin working and can execute subsequent confidential computing tasks.
[0079] Furthermore, there are N Enclave instances, where N is a positive integer greater than or equal to 2. These N Enclave instances handle different types of confidential computing tasks. Simultaneously, there are also N trusted execution modules on the offload card, each connected to a distinct Enclave instance; that is, each Enclave instance is connected to one trusted execution module. When executing a confidential computing task, after the master instance starts an Enclave instance, the application running on that Enclave instance generates the corresponding confidential computing task. If a specific type of confidential computing task needs to be processed, the master instance only needs to start the corresponding Enclave instance, and the corresponding trusted execution module completes the processing of that confidential computing task. In addition, one master instance can also correspond to one trusted execution module. The number of master instances and trusted execution modules is the same, and a trusted execution module corresponding to a master instance can connect to distinct Enclave instances to provide services.
[0080] In this embodiment, the computing node is applied to a cloud data center, and the offloading card is also connected to the cloud management platform network to create a primary instance and an Enclave instance, thereby improving the feasibility of the solution. In addition, there are multiple Enclave instances, which improves the ability to finely split confidential computing tasks and ensures minimal permissions.
[0081] like Figure 5 As shown in the embodiment of the cloud-based instance management method provided in this application, the method includes:
[0082] 501. The Enclave instance sends confidential computation tasks generated by the application to the trusted execution module.
[0083] 502. The Trusted Execution Module processes confidential computing tasks and returns the processing results to the Enclave instance.
[0084] This cloud-based instance management method is applied to compute nodes, which include a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with the host machine. An enclave instance runs on the offload card. The offload card is also equipped with a trusted execution module allocated to the enclave instance, and the enclave instance contains an application. A master instance runs on the host machine. There is one enclave instance. The communication channels include a high-speed serial computer expansion bus PCIe channel and a compute fast link CXL channel.
[0085] The Enclave instance of the compute node sends confidential computing tasks generated by the application to the trusted execution module. The trusted execution module of the compute node then processes the confidential computing tasks and returns the processing results to the Enclave instance, thus completing the confidential computing tasks. The specific implementation of the instance management method based on cloud technology provided in this application embodiment can refer to the foregoing description of the compute node based on cloud technology, and will not be repeated in this application embodiment.
[0086] In this embodiment, the cloud-based instance management method is applied to a computing node. The computing node includes a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with the host machine. An enclave instance runs on the offload card, and a trusted execution module allocated to the enclave instance is also set on the offload card. A master instance runs on the host machine, and an application is set in the enclave instance. The method includes: the enclave instance sending confidential computing tasks generated by the application to the trusted execution module; the trusted execution module processing the confidential computing tasks; the enclave instance running on the offload card physically isolates the TEE from the master instance through the host machine and the offload card. After the host machine is attacked, it will not affect the TEE in the offload card, thereby improving the security, confidentiality and integrity of user programs and data, ensuring the security of the data processing process of confidential computing, and ensuring that the TEE in the offload card does not occupy the resources of the host machine, so that the business performance is not affected.
[0087] like Figure 6 As shown in the embodiments of this application, in another embodiment of the instance management method based on cloud technology, the method includes:
[0088] 601. The unloading card receives the master instance creation request sent by the cloud management platform and notifies the host machine to create the master instance through the communication channel.
[0089] 602. The primary instance notifies the uninstallation card to create an Enclave instance and a trusted execution module based on the Enclave instance creation command entered by the tenant who logged into the primary instance.
[0090] 603. The Enclave instance sends confidential computation tasks generated by the application to the trusted execution module.
[0091] 604. The Trusted Execution Module processes confidential computing tasks and returns the processing results to the Enclave instance.
[0092] This cloud-based instance management method is applied to compute nodes, which include a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with it. Enclave instances run on the offload card, which also has trusted execution modules assigned to each Enclave instance. Each Enclave instance contains an application. A master instance runs on the host machine. The offload card is network-connected to the cloud management platform. There are N Enclave instances, where N is a positive integer greater than or equal to 2. These N Enclave instances handle different types of confidential computing tasks. There are also N trusted execution modules, each connected to a distinct Enclave instance. The communication channels include a high-speed serial computer expansion bus (PCIe) channel and a compute fast link (CXL) channel. Furthermore, each master instance can correspond to one trusted execution module. The number of master instances and trusted execution modules is the same, and a trusted execution module corresponding to a master instance can connect to distinct Enclave instances to provide services.
[0093] The offloading card of the compute node receives a primary instance creation request sent by the cloud management platform and notifies the host machine to create a primary instance through a communication channel. Then, the primary instance of the compute node, based on the Enclave instance creation command entered by the tenant who logged into the primary instance, notifies the offloading card to create an Enclave instance and a trusted execution module. If the primary instance of the compute node needs to perform a certain confidential computing task, it only needs to start the Enclave instance corresponding to the confidential computing task. The Enclave instance of the compute node sends the confidential computing task generated by the application running on the Enclave instance to the trusted execution module corresponding to the Enclave instance. Finally, the trusted execution module corresponding to the Enclave instance processes the confidential computing task and returns the processing result to the Enclave instance, thus completing the confidential computing task. The specific implementation of the instance management method based on cloud technology provided in this application embodiment can refer to the foregoing description of the compute node based on cloud technology, and will not be repeated in this application embodiment.
[0094] In this embodiment, the instance management method based on cloud technology is applied to a computing node in a cloud data center. The offloading card is also connected to the cloud management platform network to create a primary instance and an Enclave instance, thereby improving the feasibility of the solution. In addition, the number of Enclave instances is multiple, which improves the ability to finely split confidential computing tasks and ensures minimal permissions.
[0095] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the method described above can be referred to the corresponding process in the aforementioned unit embodiments, and will not be repeated here.
[0096] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0097] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0098] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0099] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A cloud-based computing node, characterized in that, The system includes a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with it. An enclave instance runs on the offload card, which also has a trusted execution module allocated to the enclave instance. An application is configured within the enclave instance. A primary instance runs on the host machine. The offload card includes a network interface card (NIC) and connects to a cloud management platform via the NIC. The cloud management platform's client is offloaded to the NIC of the offload card. The offload card receives primary instance creation requests from the cloud management platform and notifies the host machine to create the primary instance via the communication channel. The Enclave instance is used to send confidential computing tasks generated by the application to the trusted execution module; The trusted execution module is used to process the confidential computing task and return the processing result to the Enclave instance.
2. The computing node according to claim 1, characterized in that, The primary instance is also used to notify the offloading card to create the Enclave instance and the trusted execution module based on the Enclave instance creation command entered by the tenant who logged into the primary instance.
3. The computing node according to claim 1 or 2, characterized in that, The number of Enclave instances is 1.
4. The computing node according to claim 1 or 2, characterized in that, The number of Enclave instances is N, where N is a positive integer greater than or equal to 2, and the N Enclave instances handle different types of confidential computing tasks.
5. The computing node according to claim 4, characterized in that, The number of trusted execution modules is N, and each trusted execution module is connected to a different Enclave instance.
6. The computing node according to claim 1 or 2, characterized in that, The communication channels include a high-speed serial computer expansion bus (PCIe) channel and a compute fast link (CXL) channel.
7. A cloud-based instance management method, characterized in that, The method is applied to a compute node, which includes a host machine and an offload card. The offload card is inserted into the host machine and establishes a communication channel with it. An enclave instance runs on the offload card, and the offload card is also equipped with a trusted execution module allocated to the enclave instance. An application is configured in the enclave instance. A primary instance runs on the host machine. The offload card includes a network interface card (NIC) and is connected to a cloud management platform through the NIC. The client of the cloud management platform is offloaded to the NIC of the offload card. The offload card is used to receive a primary instance creation request sent by the cloud management platform and to notify the host machine to create the primary instance through the communication channel. The method includes the following steps: The Enclave instance sends the confidential computation task generated by the application to the trusted execution module; The trusted execution module processes the confidential computing task and returns the processing result to the Enclave instance.
8. The method according to claim 7, characterized in that, The method further includes: The primary instance, based on the Enclave instance creation command entered by the tenant who logged into the primary instance, notifies the uninstallation card to create the Enclave instance and the trusted execution module.
9. The method according to claim 7 or 8, characterized in that, The number of Enclave instances is 1.
10. The method according to claim 7 or 8, characterized in that, The number of Enclave instances is N, where N is a positive integer greater than or equal to 2, and the N Enclave instances handle different types of confidential computing tasks.
11. The method according to claim 10, characterized in that, The number of trusted execution modules is N, and each trusted execution module is connected to a different Enclave instance.
12. The method according to claim 7 or 8, characterized in that, The communication channels include a high-speed serial computer expansion bus (PCIe) channel and a compute fast link (CXL) channel.
Citation Information
Patent Citations
Cross-platform enclave data sealing
CN110199288A
Computer system and method for executing one or more software applications, host computer device and method for a host computer device, memory device and method for a memory device and non-transitory computer readable medium
US11010309B2