Cloud technology-based trusted execution system and method
The cloud-based trusted execution system addresses resource occupation issues by enabling enclave virtual instances to utilize hardware accelerators directly, enhancing computation confidentiality and efficiency while minimizing host machine resource usage.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2026-03-03
AI Technical Summary
Existing cloud-based trusted execution environments (TEEs) have limited functionality and occupy host machine resources, affecting service performance due to enclaves running on virtual instances, which are not directly accessible by tenants.
A cloud technology-based trusted execution system that includes a first tenant virtual instance, a first enclave virtual instance, and a hardware accelerator device, with direct communication channels for computation requests and results, allowing the enclave to invoke hardware acceleration without additional resource occupation on the host machine.
Improves computation confidentiality and efficiency by using hardware acceleration, reducing the impact on host machine resources and enhancing service performance.
Smart Images

Figure 0007823235000001 
Figure 0007823235000002 
Figure 0007823235000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to the field of cloud technology, and in particular to a cloud technology-based trusted execution system and method. [Background technology]
[0002] As the public cloud and hybrid cloud markets become increasingly mature and rapidly develop, security issues are gradually attracting the attention of enterprises. The gradual cloudification of government and financial services has raised serious concerns about data security confidentiality in the government and financial industries. Throughout the data chain, cloud service providers, operators, device providers, chip providers, and software providers may steal or tamper with relevant data. Therefore, ensuring maximum reliability and security of customer data is a key focus of current cloud technology development. Based on the aforementioned issues, the concept of a trusted execution environment (TEE) has been proposed to solve data privacy issues. The main principle of a trusted execution environment is to create a new environment for processing customer data within the existing execution environment. As long as the end-to-end reliability and verifiability of this secure environment are guaranteed, data security can be guaranteed. TEEs have been widely applied in intelligent terminal scenarios. For example, fingerprint data from applications used for mobile payment is stored in a dedicated secure operating system for execution to prevent sensitive data from being stolen.
[0003] In a cloud scenario, a specific device or area used to perform computations on a tenant's confidential data is called an enclave. Tenants cannot access the enclave directly, and by performing confidential computations through the enclave, the tenant's data security can be guaranteed.
[0004] However, currently, an enclave is typically implemented as a virtual instance running on a host machine and has very limited functionality. Furthermore, the enclave must occupy the processor and memory of the host machine to perform confidential computations. For example, to complete encryption and decryption functions, the enclave can only use the processor and memory of the host machine for computations. Because a tenant's virtual instance also runs on the host machine, the enclave occupies the processor and memory that could originally be provided to the tenant's virtual instance. As a result, services within the host machine are affected. Summary of the Invention
[0005] The present invention provides a cloud technology-based trusted execution system and method for improving the confidentiality and efficiency of tenants' computing requirements and reducing the impact on service performance. [Means for solving the problem]
[0006] According to a first aspect, the present invention provides a cloud technology-based trusted execution system. The trusted execution system includes a first tenant virtual instance, a first enclave virtual instance, and a hardware accelerator device. A first communication channel is established between the first tenant virtual instance and the first enclave virtual instance, and a second communication channel is established between the first enclave virtual instance and the hardware accelerator device. The first tenant virtual instance sends a first computation request to the first enclave virtual instance via the first communication channel. The first enclave virtual instance receives the first computation request and invokes the hardware accelerator device based on the first computation request via the second communication channel to perform the computation. The first enclave virtual instance may further send a first computation result generated by the hardware accelerator device to the first tenant virtual instance via the first communication channel.
[0007] The trusted execution system may perform confidential and efficient computation on a first computation request sent by a first tenant virtual instance. The first tenant virtual instance, in the process of using a cloud service, sends the first computation request to a first enclave virtual instance. To improve computation efficiency, the first enclave virtual instance invokes a hardware accelerator device to perform accelerated computation on the first computation request. To improve computation confidentiality, the first enclave virtual instance transmits the first computation result generated by the hardware accelerator device to the first tenant virtual instance via a first communication channel. The first enclave virtual instance invokes the hardware accelerator device to perform the accelerated computation, resulting in no additional resource occupation within the host machine and reduced impact on the service performance of the host machine.
[0008] In a possible implementation form of the first aspect, a first virtual function VF or a first physical function PF of the hardware accelerator device is passed through directly to the first enclave virtual instance according to a Peripheral Component Interconnect Express (PCIe) protocol, the second communication channel is a pass-through channel based on the PCIe protocol, and the first enclave virtual instance invokes the first virtual function VF or the first physical function PF of the hardware accelerator device to perform calculations.
[0009] The first enclave virtual instance invokes the functions of the hardware accelerator device to perform computation in a hardware pass-through manner, thereby increasing the hardware acceleration capabilities of the trusted execution system and improving the efficiency of computation requests.
[0010] In a possible implementation of the first aspect, the trusted execution system further includes a virtual instance manager, wherein the virtual instance manager provides a secure module device, and the secure module device obtains computation request authentication information and provides authentication information for the first enclave virtual instance.
[0011] The secure module device configured in the virtual manager in the trusted execution system obtains authentication information associated with the first computation request and provides the authentication information to the first enclave virtual instance. After the authentication information is approved, the first enclave virtual instance begins performing confidential computation. By configuring the authentication information associated with the first computation request, confidentiality of computation performed by the trusted execution system for the first computation request sent by the first tenant virtual instance can be further improved.
[0012] Optionally, the secure module device may obtain authentication information related to the first computing request from a cloud management platform, wherein the cloud management platform is configured to manage the authentication information, the authentication information being, for example, tenant account information of the first tenant virtual instance and / or a key associated with the account information.
[0013] In this possible implementation, the secure module device is further configured to set up a second communication channel between the first enclave virtual instance and the hardware accelerator device and to provide a software development kit (SDK) for the first enclave virtual instance, and the first enclave virtual instance is further configured to invoke the second communication channel based on the SDK to send computation-related data from the second communication channel to the hardware accelerator device.
[0014] By installing the SDK, the first enclave virtual instance upgrades its function of calling the hardware accelerator device to perform calculations, so that the function can be extended based on the original function, and thus the operational difficulty of upgrading the function of the first enclave virtual instance can be reduced.
[0015] In a possible implementation of the first aspect, the virtual instance manager is further configured to provide an accelerator device, the accelerator device is configured to set up a second communication channel between the first enclave virtual instance and the hardware accelerator device, and the first enclave virtual instance is further configured to send computation-related data to the hardware accelerator device via the second communication channel.
[0016] The virtual instance manager in the trusted execution system provides an accelerator device, the first enclave virtual instance receives a first computation request of the first tenant virtual instance, and the accelerator device transmits data related to the first computation request to the hardware accelerator device. In this solution, the hardware acceleration function of the trusted execution system is added through the accelerator device, thereby improving the efficiency of the computation request.
[0017] In a possible implementation of the first aspect, the trusted execution system further includes a second tenant virtual instance and a second enclave virtual instance, a third communication channel is established between the second tenant virtual instance and the second enclave virtual instance, and a fourth communication channel is established between the second enclave virtual instance and the hardware accelerator device, and the second tenant virtual instance is configured to send a second computation request to the second enclave virtual instance via the third communication channel. The second enclave virtual instance is configured to receive a second computation request, invoke a second virtual function VF or a second physical function PF of the hardware accelerator device based on the second computation request via a fourth communication channel to perform computation, and transmit a computation result generated by the hardware accelerator device to the second tenant virtual instance via a third communication channel, wherein the second virtual function VF or the second physical function PF of the hardware accelerator device is passed through directly to the second enclave virtual instance in accordance with a Peripheral Component Interconnect Express PCIe protocol, and the fourth communication channel is a pass-through channel based on the PCIe protocol.
[0018] The trusted execution system further includes a plurality of tenant virtual instances and a plurality of enclave virtual instances corresponding to the tenant virtual instances. Each enclave virtual instance receives a computation request of the tenant virtual instance and invokes a hardware accelerator device based on the computation request to perform the computation. The hardware accelerator device in the trusted execution system may be used by a single tenant or may be used by multiple tenants simultaneously.
[0019] In a possible implementation of the first aspect, the first tenant virtual instance and the first enclave virtual instance run on a host machine, and the hardware accelerator device is inserted into a mainboard slot of the host machine.
[0020] The first tenant virtual instance and the first enclave virtual instance in the trusted execution system run on an operating system of a host machine, and the hardware accelerator device is inserted into a mainboard slot of the host machine. The hardware accelerator device can save resources of the host machine and reduce the impact on service performance of the host machine.
[0021] In this possible implementation, the hardware accelerator device is a smart card with a separate operating system, memory, and processor.
[0022] The smart card may provide hardware acceleration capabilities for the trusted execution system, and since the smart card has an independent operating system, memory, and processor, its usage performance is more efficient and stable.
[0023] In a possible implementation of the first aspect, the first tenant virtual instance and the first enclave virtual instance run on an operating system of a host machine, and the host machine is connected to a hardware accelerator device via a PCIE high-speed communication bus.
[0024] The host machine and the hardware accelerator device in the trusted execution system are connected via a PCIE high-speed communication bus. The high-speed communication bus can improve communication efficiency between the host machine and the hardware accelerator device. The host machine can flexibly use resources in the hardware accelerator device, resulting in cost reduction.
[0025] In a possible implementation of the first aspect, the calculation includes one or any combination of a data encryption calculation, a data decryption calculation, a data encoding calculation, a data decoding calculation, a data compression calculation, and a data decompression calculation.
[0026] The accelerated computations performed by the hardware accelerator device in the trusted execution system include one or any combination of data encryption computations, data decryption computations, data encoding computations, data decoding computations, data compression computations, and data decompression computations, so that different computational requirements of tenant virtual instances can be met.
[0027] According to a second aspect, the present invention provides a cloud technology-based trusted execution method. The method is applied to a trusted execution system including a first tenant virtual instance, a first enclave virtual instance, and a hardware accelerator device. A first communication channel is established between the first tenant virtual instance and the first enclave virtual instance, and a second communication channel is established between the first enclave virtual instance and the hardware accelerator device. The method includes the following steps: the first tenant virtual instance sends a first computation request to the first enclave virtual instance via the first communication channel; the first enclave virtual instance receives the first computation request, invokes the hardware accelerator device based on the first computation request via the second communication channel to perform computation, and transmits a first computation result generated by the hardware accelerator device to the first tenant virtual instance via the first communication channel.
[0028] The second aspect or any one of the implementation forms of the second aspect is a method implementation form corresponding to the first aspect or any one of the implementation forms of the first aspect. The description in the first aspect or any one of the implementation forms of the first aspect is applicable to the second aspect or any one of the implementation forms of the second aspect, and will not be described in detail here.
[0029] According to a third aspect, the present invention provides a computer device, the computer device including a processor and a memory, the memory configured to store computer-executable instructions, the processor configured to execute the computer-executable instructions stored in the memory to enable the computer device to operate a first tenant virtual instance and a first enclave virtual instance to perform the method disclosed in any one of the second aspect and possible implementations of the second aspect.
[0030] According to a fourth aspect, the present invention provides a computer storage medium comprising computer-readable instructions that, when executed, cause a first tenant virtual instance and a first enclave virtual instance to operate to perform the method disclosed in the second aspect and any one of the possible implementations of the second aspect.
[0031] According to a fifth aspect, the present invention provides a computer program product comprising instructions that, when run on a computer, enable the computer to operate a first tenant virtual instance and a first enclave virtual instance to perform the method disclosed in the second aspect and any one of the possible implementations of the second aspect. [Brief explanation of the drawings]
[0032] [Figure 1] FIG. 1 is a diagram of a cloud data center architecture according to an embodiment of the present application. [Figure 2] FIG. 1 is a diagram of a cloud technology-based trusted execution system according to an embodiment of the present application. [Figure 3] FIG. 2 is a diagram of data exchange in a cloud technology-based trusted execution system according to an embodiment of the present application. [Figure 4] FIG. 2 is a diagram of a structure for implementing a virtual function VF or a physical function PF by a hardware accelerator device according to an embodiment of the present application. [Figure 5] FIG. 2 is another diagram of a cloud technology-based trusted execution system according to an embodiment of the present application. [Figure 6] FIG. 2 is another diagram of data exchange of a cloud technology-based trusted execution system according to an embodiment of the present application. [Figure 7] FIG. 2 is another diagram of a cloud technology-based trusted execution system according to an embodiment of the present application. [Figure 8] FIG. 2 is another diagram of data exchange of a cloud technology-based trusted execution system according to an embodiment of the present application. [Figure 9] FIG. 2 is another diagram of a cloud technology-based trusted execution system according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION
[0033] The following describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. It is clear that the described embodiments are only a part, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0034] First, terms used in the embodiments of this application will be explained and described.
[0035] Acronyms and Key Terms Definitions A VM (Virtual Machine) refers to a complete software-simulated computer system that has full hardware system functionality and operates in a completely isolated environment. All tasks that can be completed on a server can be performed on a virtual machine. When creating a virtual machine on a server, part of the physical machine's hard disk and memory capacity must be used as the virtual machine's hard disk and memory capacity. Each virtual machine has an independent hard disk and operating system. Users of the virtual machine can operate the virtual machine by using the server.
[0036] The Hypervisor (which acts as a virtual machine manager) is the actual operating system that establishes and maintains the framework for managing virtual machines and provides many essential services for other vxd programs.
[0037] VMM (Virtual Machine Monitor) is another name for Virtual Machine Manager.
[0038] Docker (acting as a container) uses namespace and cgroup technology supported by the Linux kernel to isolate application (APP) processes and their dependency packages (specifically the operating environment bins / libs, which are all the files required to run the APP) in independent operating environments.
[0039] An application (APP) is a computer program used to complete one or more specific tasks. APPs operate in a user mode, can interact with the user, and have a visual user interface.
[0040] A TEE (Trusted Execution Environment) is an independent processing environment that has computing and storage capabilities and can provide security and integrity protection.
[0041] A CPU (Central Processing Unit) is the computational and control core of a computer system and the final execution unit for information processing and program operation.
[0042] An enclave is a specific area for running sensitive customer data.
[0043] The PF (Physical Function) is used to support the PCI functionality of SR-IOV and has the ability to completely configure and control PCIe device resources.
[0044] A VF (Virtual Function) is a lightweight PCIe function associated with a PF, and can share one or more physical resources with a physical function and another VF associated with the same physical function.
[0045] A Software Development Kit (SDK) is a collection of development tools used by software engineers to create application software for a particular software package, software framework, hardware platform, operating system, etc.
[0046] The SMD (Secure Module Device) is configured to provide a functional interface for completing the enclave's operational requests.
[0047] An AD (Accelerator Device) is a device configured to provide hardware acceleration capabilities to an enclave.
[0048] PCIe (Peripheral Component Interconnect Express) is a high-speed serial computer expansion bus standard and an interface standard for connecting high-speed components.
[0049] The embodiments of the present application provide a cloud technology-based trusted execution system and method for improving the confidentiality and efficiency of tenants' computing requirements and reducing the impact on service performance, as will be described in detail below.
[0050] FIG. 1 is a diagram of a cloud data center architecture according to an embodiment of the present application. As shown in FIG. 1, the cloud data center 1 includes a cloud management platform 10, a data center internal network 20, clients 40, and multiple host machines. In FIG. 1, two host machines, for example, host machine 51 and host machine 52, are used as an example for explanation. The host machine 51 and host machine 52 complete information exchange with the data center internal network 20 and the cloud management platform 10 via network interface cards 5124 and 5224, respectively. The cloud management platform 10 completes information exchange with clients 40 via the Internet 30. The host machine 51 is used as an example for explanation. The host machine 51 includes a software layer 511 and a hardware layer 512. A tenant virtual instance 5111, an enclave virtual instance 5112, a virtual instance manager 5113, and a cloud management platform client 5114 run on a host machine operating system 5115 in the software layer 511. The hardware layer 512 includes a memory 5121, a hardware accelerator device 5122, a processor 5123, and a network interface card 5124, all connected to each other via a bus 5125.
[0051] The host machine 52 has a similar configuration to the host machine 51 and will not be described in detail here.
[0052] The tenant virtual instance 5111 and the enclave virtual instance 5112 may be, for example, virtual machines (VMs). Correspondingly, the virtual instance manager 5113 is a virtual machine manager (hypervisor), and the virtual machine manager is also called a virtual machine monitor (VMM). The tenant virtual instance 5111 and the enclave virtual instance 5112 may be, for example, containers (Docker). Correspondingly, the virtual instance manager 5113 is a container manager.
[0053] Specifically, the cloud management platform 10 provides an access interface (e.g., a configuration interface or an API for tenant configuration). A tenant of the cloud data center 1 may operate a client 40 to remotely access the access interface, register a cloud account and password with the cloud management platform 10, and log in to the cloud management platform 10. After the cloud management platform 10 successfully authenticates the cloud account and password, the tenant may further make a payment on the cloud management platform to select and purchase a virtual instance with specific specifications (processor, memory, and disk). After the purchase is successful, the cloud management platform 10 provides a remote login account and password for the purchased virtual instance, so that the client 40 can remotely log in to the virtual instance and install and run the tenant's application on the virtual instance. The cloud management platform client 5114 receives control plane commands sent by the cloud management platform 10, creates a virtual instance on a host machine based on the control plane control commands, and performs full lifecycle management for the virtual instance. Thus, tenants may create, manage, log in to, and operate virtual instances in the cloud data center 1 via the cloud management platform 10 .
[0054] Before processing the data, an application (APP) running on the virtual instance decrypts the data in the memory 5121 of the host machine 51. Therefore, the data is more vulnerable to attacks during processing in the memory 5121. Sensitive computation typically uses a hardware-based trusted execution environment (TEE) to solve this problem. The TEE is a secure area within the central processing unit (CPU). Embedded encryption keys and embedded attestation mechanisms are used to ensure the security of the TEE to ensure that the keys can only be accessed by authorized application code. If malicious software or other unauthorized code attempts to access the keys, or if the authorized code is hacked or modified in some way, the TEE denies access to the keys and cancels the computation. In this way, sensitive data can remain protected in memory until the application instructs the TEE to decrypt the sensitive data for processing. During the decryption process and the overall computation process, the data cannot be accessed by any user.
[0055] Specifically, in a cloud scenario, if a tenant has confidential computing requirements, an enclave virtual instance 5112 is created synchronously when a tenant virtual instance 5111 is created in the software layer 511 of the host machine 51. An enclave is a specific area used to run confidential data of a customer, and the enclave virtual instance 5112 is a virtual instance used to perform confidential computing for the customer.
[0056] In the following, with reference to the aforementioned architecture of cloud data centers and the concept of secure computing, the cloud technology-based trusted execution system and method provided in the embodiments of the present application will be described.
[0057] 2 is a diagram of a cloud technology-based trusted execution system according to an embodiment of the present application. The system may be, for example, the host machine 51 or the host machine 52 shown in FIG. 1. Here, the host machine 51 is used as an example for explanation. As shown in FIG. 2, the trusted execution system includes a tenant virtual instance 5111, an enclave virtual instance 5112, and a hardware accelerator device 5122. A communication channel 100 is established between the tenant virtual instance 5111 and the enclave virtual instance 5112, both of which run on a host machine operating system 5115, and a communication channel 200 is established between the enclave virtual instance 5112 and the hardware accelerator device 5122. The tenant virtual instance 5111 sends a computation request to the enclave virtual instance 5112 via the communication channel 100. The enclave virtual instance 5112 calls the hardware accelerator device 5122 over communication channel 200 to perform the calculation, and then returns the calculation result to the tenant virtual instance 5111 over communication channel 100.
[0058] Specifically, the hardware accelerator device 5122 may be, for example, a smart card having an independent operating system, memory, and processor. The hardware accelerator device 5122 may be directly inserted into a mainboard slot of the host machine 51, or the hardware accelerator device 5122 may be connected to the host machine 51 via a PCIe bus. In addition, the accelerated computation performed by the hardware accelerator device in the trusted execution system may include one or any combination of a data encryption computation, a data decryption computation, a data encoding computation, a data decoding computation, a data compression computation, and a data decompression computation, so that different computation requirements of the tenant virtual instances 5111 can be met.
[0059] Additionally, the trusted execution system includes a virtual instance manager 5113. The virtual instance manager 5113 is configured to manage the tenant virtual instances 5111 and the enclave virtual instances 5112. The virtual instance manager 5113 further provides a secure module device 5116. The secure module device 5116 is configured to obtain credentials required to perform sensitive computations with the enclave virtual instances 5112 and to provide credentials for the enclave virtual instances 5112.
[0060] Specifically, the operation procedure of the trusted execution system shown in FIG. 2 may be described with reference to FIG. 3. FIG. 3 is a diagram of data exchange in a cloud technology-based trusted execution system according to an embodiment of the present application. In the method shown in FIG. 3, it is assumed that a tenant logs in to the cloud management platform 10 and inputs a specification of a tenant virtual instance 5111 to be created. The cloud management platform 10 notifies the cloud management platform client 5114 of the specification of the virtual instance 5111 to be created. The virtual instance manager 5113 in which the cloud management platform client 5114 is located creates the virtual instance 5111 in the operating system of the host machine 51 and allocates virtualized hardware resources in the host machine 51 to the virtual instance 5111. If the tenant has sensitive computing requirements, the tenant may instruct the cloud management platform 10 to create an enclave virtual instance 5112 to be used in conjunction with the virtual instance 5111. The cloud management platform 10 instructs the cloud management platform client 5114 to create the enclave virtual instance 5112. A virtual instance manager 5113, on which the cloud management platform client 5114 is located, creates an enclave virtual instance 5112 in the operating system of the host machine 51 and allocates separate virtualized hardware resources in the host machine 51 to the enclave virtual instance 5112. The tenant may determine a designation for the enclave virtual instance 5112 on the cloud management platform 10, and the cloud management platform 10 instructs the cloud management platform client 5114 to create the corresponding designated enclave virtual instance 5112. Alternatively, the tenant need not specify a designation for the enclave virtual instance 5112 on the cloud management platform 10, and the enclave virtual instance 5112 may use a default designation on the cloud management platform 10 that is applicable to virtual instances of the enclave type.Enclave virtual instance 5112 is used in conjunction with virtual instance 5111. A tenant may log in to virtual instance 5111, but cannot log in to enclave virtual instance 5112. If a tenant has a sensitive computing requirement in virtual instance 5111, virtual instance 5111 generates the sensitive computing requirement and sends the requirement to enclave virtual instance 5112 for processing.
[0061] It should be noted that, except for the tenant, other tenants or cloud service providers cannot access or use enclave virtual instance 5112. Enclave virtual instance 5112 can communicate with virtual instance 5111 only through communication channel 100. Also, enclave virtual instance 5112 and virtual instance 5111 have the same life cycle. When a tenant releases virtual instance 5111, enclave virtual instance 5112 is also released. Also, when enclave virtual instance 5112 is released, the memory data corresponding to enclave virtual instance 5112 is strictly formatted to ensure that the tenant's confidential computational information is not leaked.
[0062] The enclave virtual instance 5112 also pre-stores the tenant's identity authentication information.
[0063] For example, if a tenant needs to perform any or any combination of data encryption calculations, data decryption calculations, data encoding calculations, data decoding calculations, data compression calculations, and data decompression calculations within virtual instance 5111, virtual instance 5111 generates a confidential computation requirement and sends the requirement to enclave virtual instance 5112 for processing.
[0064] Because a tenant may log in to virtual instance 5111, in this embodiment of the application, virtual instance 5111 may be referred to as a tenant virtual instance. As shown in Figure 3, the operation procedure of the trusted execution system is as follows:
[0065] Step S301: The tenant virtual instance 5111 sends a computation request 1 to the enclave virtual instance 5112 via the communication channel 100.
[0066] When a tenant generates a confidential computing requirement in a virtual instance 5111, the virtual instance manager 5113 receives the requirement and transmits the requirement to the enclave virtual instance 5112 via a communication channel 100. The communication channel 100 is a communication channel established by the virtual instance manager 5113 between the tenant virtual instance 5111 and the enclave virtual instance 5112, and is used to transmit data information between the tenant virtual instance 5111 and the enclave virtual instance 5112.
[0067] Step S302: The secure module device 5116 obtains authentication information 1 from the cloud management platform client 5114.
[0068] Note that when tenant virtual instance 5111 sends computation request 1 to enclave virtual instance 5112 via communication channel 100, computation request 1 is sent to enclave virtual instance 5112 via virtual instance manager 5113. In this case, secure module device 5116 in virtual instance manager 5113 may know that tenant virtual instance 5111 has sent computation request 1.
[0069] To this end, the secure module device 5116 obtains authentication information 1 corresponding to the tenant virtual instance 5111 from the cloud management platform client 5114. Specifically, before purchasing the tenant virtual instance 5111 on the cloud management platform 10, the tenant registers some related personal information. The content of the personal information is, for example, an account registered by the tenant on the cloud management platform 10, a mobile phone number, an email address, and / or a login password. The personal information is stored on the cloud management platform 10. Before performing confidential computation, the secure module device 5116 obtains the tenant's personal information from the cloud management platform 10 via the cloud management platform client 5114, and the personal information is used as authentication information 1 for tenant identity identification.
[0070] Step S303: The secure module device 5116 returns the obtained authentication information 1 to the enclave virtual instance 5112.
[0071] After the secure module device 5116 obtains tenant credential information 1 from the cloud management platform 10 via the cloud management platform client 5114, the cloud management platform 10 returns the tenant credential information 1 to the secure module device 5116 via the cloud management platform client 5114, and the secure module device 5116 then returns the obtained credential information 1 to the enclave virtual instance 5112.
[0072] Specifically, after being created, the enclave virtual instance 5112 reserves the tenant's credential 1. After receiving the tenant's confidential computing request, the enclave virtual instance 5112 needs to verify whether the tenant's identity is valid. In this case, the enclave virtual instance 5112 determines whether to perform confidential computing by determining through comparison whether the tenant's reserved credential 1 matches the tenant's credential 1 obtained by the secure module device 5116 from the cloud management platform 10 via the cloud management platform client 5114. If the reserved credential 1 matches the obtained credential 1, the enclave virtual instance 5112 continues to execute the confidential computing request. If the reserved credential 1 does not match the obtained credential 1, the enclave virtual instance 5112 refuses to execute the confidential computing request.
[0073] Step S304: The enclave virtual instance 5112 invokes the virtual function VF or the physical function PF of the hardware accelerator device 5122 via the communication channel 200 to perform calculations.
[0074] In this step, when the enclave virtual instance 5112 determines through comparison that the tenant credential 1 reserved by the enclave virtual instance 5112 matches the tenant credential 1 obtained by the secure module device 5116 from the cloud management platform 10 via the cloud management platform client 5114, the enclave virtual instance 5112 invokes the virtual function VF or the physical function PF of the hardware accelerator device via the communication channel 200 to perform calculations. The communication channel 200 is a communication channel established by the secure module device 5116 between the enclave virtual instance 5112 and the hardware accelerator device 5122 according to the PCIe protocol, and is used for data information between the enclave virtual instance 5112 and the hardware accelerator device 5122.
[0075] The virtual functions (VFs) or physical functions (PFs) of the hardware accelerator device 5122 are passed through directly to the enclave virtual instance 5112 according to the Peripheral Component Interconnect Express PCIe protocol. FIG. 4 is a diagram of a structure for implementing a virtual function VF or a physical function PF by the hardware accelerator device 5122 according to one embodiment of the present application. The hardware accelerator device 5122 may be divided into multiple functional modules implementing virtual functions VF1, VF2, ..., and VFn, and the VFs may be mounted to different enclave virtual instances to perform accelerated computations for the different enclave virtual instances. Similarly, the hardware accelerator device 5122 may be divided into multiple functional modules implementing physical functions PF1, PF2, ..., and PFn, and the PFs may be mounted to different enclave virtual instances to perform accelerated computations for the different enclave virtual instances.
[0076] For example, VF1 may be mounted to enclave virtual instance 5112.
[0077] Note that each VF or PF unit is a computational function unit obtained from the hardware accelerator device 5122 through partitioning according to the SRIOV protocol. The units are isolated from each other, and each unit may be mounted to a virtual instance by using pass-through techniques for direct use.
[0078] Step S305: The hardware accelerator device 5122 returns the calculation result 1 to the enclave virtual instance 5112.
[0079] After completing the calculation, the hardware accelerator device 5122 sends the calculation result 1 to the enclave virtual instance 5112 via the communication channel 200.
[0080] Step S306: Then, the enclave virtual instance 5112 returns the calculation result 1 to the tenant virtual instance 5111.
[0081] The enclave virtual instance 5112 sends the computation result 1 to the tenant virtual instance 5111 via the communication channel 100. In this way, the entire secure computation process is completed.
[0082] In this embodiment of the present application, the trusted execution system may perform confidential and efficient calculations on the calculation requests sent by the tenant virtual instances. After the calculation request of the tenant virtual instance is sent to the enclave virtual instance, the enclave virtual instance calls the hardware accelerator device in a hardware pass-through manner to perform the calculation and returns the result to the enclave virtual instance. The enclave virtual instance then returns the calculation result to the tenant virtual instance. The enclave virtual instance calls the hardware accelerator device to perform the calculation, so that the resources in the host machine are not additionally occupied, and the impact on the service performance of the host machine is reduced.
[0083] 5 is another diagram of a cloud technology-based trusted execution system according to an embodiment of the present application. As shown in FIG. 5, the difference between the trusted execution system and the embodiment shown in FIG. 2 is that the secure module device 5116 provides a software development kit (SDK) for the enclave virtual instance 5112, and the enclave virtual instance 5112 calls the hardware accelerator device 5122 by using the software development kit SDK to perform calculations.
[0084] Currently, the secure module device 5116 provides limited interface functions, mainly including DescribePCR (for viewing specified PCR values), ExtendPCR (for PCR extension operations), LockPCRs (for locking specified PCRs), DescribeNSM (for querying NSM device status), GetAttestationDoc (for obtaining an attestation document), and GetRandom (for obtaining a random number). The interface functions of the secure module device 5116 can be extended by using a software development kit (SDK), so that the secure module device 5116 has hardware-accelerated interface functions.
[0085] Specifically, the operation procedure of the trusted execution system shown in Figure 5 may be described with reference to Figure 6. Figure 6 is another diagram of data exchange of the cloud technology-based trusted execution system according to an embodiment of the present application. As shown in Figure 6, the operation procedure of the trusted execution system is as follows:
[0086] Step S601: The tenant virtual instance 5111 sends a computation request 2 to the enclave virtual instance 5112 via the communication channel 100.
[0087] Step S602: The secure module device 5116 obtains authentication information 2 from the cloud management platform client 5114.
[0088] Step S603: The secure module device 5116 returns the obtained authentication information 2 to the enclave virtual instance 5112.
[0089] For specific implementation forms of steps S601 to S603, please refer to the description of steps S301 to S303 in Fig. 3. The details will not be described again here.
[0090] Step S604: The enclave virtual instance 5112 calls the hardware accelerator device 5122 via the communication channel 200 to perform the calculation.
[0091] In this embodiment, communication channel 200 is a communication channel established by secure module device 5116 between enclave virtual instance 5112 and hardware accelerator device 5122 based on a software development kit SDK, and is used for data information between enclave virtual instance 5112 and hardware accelerator device 5122. Based on the software development kit SDK, secure module device 5116 has a hardware acceleration interface function, so that enclave virtual instance 5112 may call hardware accelerator device 5122 to perform calculations.
[0092] Step S605: The hardware accelerator device 5122 returns the calculation result 2 to the enclave virtual instance 5112.
[0093] Step S606: Then, the enclave virtual instance 5112 returns the calculation result 2 to the tenant virtual instance 5111.
[0094] For specific implementation forms of steps S605 and S606, please refer to the description of steps S305 and S306 in Figure 3. The details will not be described again here.
[0095] In this embodiment of the present application, the enclave virtual instance in the trusted execution system upgrades the function of calling the hardware accelerator device to perform calculations by installing an SDK, so that the function can be extended based on the original function of the secure module device, and thus the operational difficulty of upgrading the function of the enclave virtual instance can be reduced.
[0096] 7 is another diagram of a cloud technology-based trusted execution system according to an embodiment of the present application. As shown in FIG. 7, the difference between the trusted execution system and the embodiment shown in FIG. 2 is that the virtual instance manager 5113 provides an accelerator device 5117 for the enclave virtual instance 5112, and the accelerator device 5117 sends a computation request to the hardware accelerator device 5122 for computation.
[0097] Specifically, the operation procedure of the trusted execution system shown in Figure 7 may be described with reference to Figure 8. Figure 8 is another diagram of data exchange in a cloud technology-based trusted execution system according to an embodiment of the present application. As shown in Figure 8, the operation procedure of the trusted execution system is as follows:
[0098] Step S801: The tenant virtual instance 5111 sends a computation request 3 to the enclave virtual instance 5112 via the communication channel 100.
[0099] Step S802: The secure module device 5116 obtains the authentication information 3 from the cloud management platform client 5114.
[0100] Step S803: The secure module device 5116 returns the obtained authentication information 3 to the enclave virtual instance 5112.
[0101] For specific implementation forms of steps S801 to S803, please refer to the description of steps S301 to S303 in Fig. 3. The details will not be described again here.
[0102] Step S804: The enclave virtual instance 5112 calls the hardware accelerator device 5122 via the communication channel 200 to perform the calculation.
[0103] In this embodiment, accelerator device 5117 is a virtualized accelerator device configured by virtual instance manager 5113 for enclave virtual instance 5112 when enclave virtual instance 5112 is created. Communication channel 200 is a communication channel established by accelerator device 5117 between enclave virtual instance 5112 and hardware accelerator device 5122, and is used for data information between enclave virtual instance 5112 and hardware accelerator device 5122. When tenant virtual instance 5111 sends computation request 3 to enclave virtual instance 5112 via communication channel 100, computation request 3 is sent to enclave virtual instance 5112 via virtual instance manager 5113. In this case, accelerator device 5117 in virtual instance manager 5113 may know that tenant virtual instance 5111 has sent computation request 3. When the enclave virtual instance 5112 determines through comparison that the tenant credentials 3 reserved by the enclave virtual instance 5112 match the tenant credentials 3 obtained by the secure module device 5116 from the cloud management platform 10 via the cloud management platform client 5114, the accelerator device 5117 sends the computation request 3 to the hardware accelerator device 5122 for computation to complete the process of the enclave virtual instance 5112 invoking the hardware accelerator device 5122. Step S805: The hardware accelerator device 5122 returns the computation result 3 to the enclave virtual instance 5112.
[0104] Step S806: Then, the enclave virtual instance 5112 returns the calculation result 3 to the tenant virtual instance 5111.
[0105] For specific implementation forms of steps S805 and S806, please refer to the description of steps S305 and S306 in Figure 3. The details will not be described again here.
[0106] In this embodiment of the present application, a virtual instance manager in the trusted execution system configures a virtualization accelerator device for the enclave virtual instance, and the accelerator device sends the computation requests of the tenant virtual instance to the hardware accelerator device for computation, so that the enclave virtual instance has hardware accelerator functionality.
[0107] 9 is another diagram of a cloud technology-based trusted execution system according to an embodiment of the present application. As shown in FIG. 9, the difference between the trusted execution system and the embodiment shown in FIG. 2 is that the trusted execution system includes two tenant virtual instances 5111 and 6111, two enclave virtual instances 5112 and 6112, and a hardware accelerator device 5122. A communication channel 100 is established between the tenant virtual instance 5111 and the enclave virtual instance 5112, and a communication channel 300 is established between the tenant virtual instance 6111 and the enclave virtual instance 6112. The communication channel 100 (300) is a communication channel established by the virtual instance manager 5113 between the tenant virtual instance 5111 (6111) and the enclave virtual instance 5112 (6112), and is used to transmit data information between the tenant virtual instance 5111 (6111) and the enclave virtual instance 5112 (6112). Tenant virtual instance 5111, tenant virtual instance 6111, enclave virtual instance 5112, and enclave virtual instance 6112 all run on host machine operating system 5115. A communication channel 200 is set up between enclave virtual instance 5112 and hardware accelerator device 6122, and a communication channel 400 is set up between enclave virtual instance 6122 and hardware accelerator device 5122. Communication channel 200 (400) is a communication channel established by secure module device 5116 between enclave virtual instance 5112 (6112) and hardware accelerator device 5122, and is used for data information between enclave virtual instance 5112 (6112) and hardware accelerator device 5122. Tenant virtual instance 5111 sends computation requests to enclave virtual instance 5112 via communication channel 100.The enclave virtual instance 5112 invokes a virtual function VF1 of the hardware accelerator device 5122 via communication channel 200 to perform a calculation, and then returns the calculation result to the tenant virtual instance 5111 via communication channel 100. The tenant virtual instance 6111 sends a calculation request to the enclave virtual instance 6112 via communication channel 300. The enclave virtual instance 6112 invokes a virtual function VF2 of the hardware accelerator device 5122 via communication channel 400 to perform a calculation, and then returns the calculation result to the tenant virtual instance 6111 via communication channel 200. In other words, the trusted execution system can meet the requirement of performing confidential calculations by multiple virtual tenant instances simultaneously.
[0108] Optionally, the trusted execution system may alternatively be implemented by using a computer cluster including multiple computer devices, which is not limited in the embodiments of the present invention.
[0109] Additionally, one embodiment of the present invention further provides a computer storage medium including computer readable instructions that, when executed, perform a method performed by a trusted execution system.
[0110] An embodiment of the present invention further provides a computer program product including instructions that, when run on a computer, enable the computer to perform a method performed by a trusted execution system.
[0111] Based on the description of the above implementation forms, those skilled in the art can clearly understand that the present invention can be implemented by using software in addition to the necessary general-purpose hardware, or by using dedicated hardware including dedicated integrated circuits, dedicated CPUs, dedicated memories, dedicated components, etc. Generally, all functions completed by a computer program can be easily implemented by using corresponding hardware, and the specific hardware structure used to implement the same function may be in various forms, such as an analog circuit, a digital circuit, or a dedicated circuit. However, in the present invention, implementation of a software program is often a better implementation. Based on such understanding, the technical solution of the present invention may essentially be implemented in the form of a software product, or a part that contributes to the prior art. The computer software product is stored on a readable storage medium, such as a computer floppy disk, a USB flash drive, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk, and includes several instructions for instructing a computer device (which may be a personal computer, a training device, a network device, etc.) to perform the method in the embodiment of the present invention.
[0112] All or part of the above embodiments may be implemented using software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, all or part of the embodiments may be implemented in the form of a computer program product.
[0113] A computer program product includes one or more computer instructions. When the computer program instructions are loaded into a computer and executed, the procedures or functions according to the embodiments of the present invention are generated, in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio, or microwave) methods. The computer-readable storage medium may be any available medium accessible by a computer, or a data storage device, such as a training device or data center, that integrates one or more available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, or a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)). [Explanation of symbols]
[0114] 1. Cloud Data Center 10. Cloud Management Platforms 20 Data Center Internal Network 30 Internet 40 clients 51 host machine 511 Software Layer 5111 Tenant Virtual Instance 5112 Enclave Virtual Instances 5113 Virtual Instance Manager 5114 Cloud Management Platform Client 5115 Host Machine Operating System 5116 Secure Module Device 5117 Accelerator Device 512 Hardware Layer 5121 memory 5122 Hardware Accelerator Device 5123 processor 5124 Network Interface Card 5125 Bus 52 host machine 5224 Network Interface Card 6111 Tenant Virtual Instances 6112 Enclave Virtual Instances 100, 200, 300, 400 communication channels
Claims
1. A cloud technology-based trusted execution system comprising: a first tenant virtual instance, a first enclave virtual instance, and a hardware accelerator device, wherein a first communication channel is established between the first tenant virtual instance and the first enclave virtual instance, and a second communication channel is established between the first enclave virtual instance and the hardware accelerator device; the first tenant virtual instance is configured to send a first computation request to the first enclave virtual instance over the first communication channel; the first enclave virtual instance is configured to receive the first computation request, invoke the hardware accelerator device based on the first computation request via the second communication channel to perform a computation, and transmit a first computation result generated by the hardware accelerator device to the first tenant virtual instance via the first communication channel. system.
2. a first virtual function VF or a first physical function PF of the hardware accelerator device is directly passed through to the first enclave virtual instance according to a Peripheral Component Interconnect Express (PCIe) protocol, the second communication channel is a pass-through channel based on the PCIe protocol, and the first enclave virtual instance invokes the first virtual function VF or the first physical function PF of the hardware accelerator device to perform computation; The system of claim 1.
3. further comprising a virtual instance manager; the virtual instance manager is configured to provide a secure module device; the secure module device is configured to obtain computation request authentication information and provide the authentication information for the first enclave virtual instance. The system of claim 1.
4. the secure module device is further configured to set up the second communication channel between the first enclave virtual instance and the hardware accelerator device and to provide a software development kit (SDK) for the first enclave virtual instance; the first enclave virtual instance is further configured to invoke the second communication channel based on the SDK to transmit computation-related data from the second communication channel to the hardware accelerator device. The system of claim 3.
5. the virtual instance manager is further configured to provide an accelerator device; the accelerator device is configured to establish the second communication channel between the first enclave virtual instance and the hardware accelerator device; the first enclave virtual instance is further configured to transmit computation-related data to the hardware accelerator device via the second communication channel. The system of claim 3.
6. a second tenant virtual instance and a second enclave virtual instance, wherein a third communication channel is established between the second tenant virtual instance and the second enclave virtual instance, and a fourth communication channel is established between the second enclave virtual instance and the hardware accelerator device; the second tenant virtual instance is configured to send a second computation request to the second enclave virtual instance via the third communication channel; the second enclave virtual instance is configured to receive the second computation request, invoke a second virtual function VF or a second physical function PF of the hardware accelerator device based on the second computation request via the fourth communication channel to perform computation, and transmit a computation result generated by the hardware accelerator device to the second tenant virtual instance via the third communication channel, wherein the second virtual function VF or the second physical function PF of the hardware accelerator device is passed through directly to the second enclave virtual instance in accordance with the Peripheral Component Interconnect Express (PCIe) protocol, and the fourth communication channel is a pass-through channel based on the PCIe protocol.
3. The system of claim 2.
7. The system of claim 1 , wherein the first tenant virtual instance and the first enclave virtual instance run on a host machine, and the hardware accelerator device is inserted into a mainboard slot of the host machine.
8. The system of claim 7 , wherein the hardware accelerator device is a smart card having an independent operating system, memory, and processor.
9. 10. The system of claim 1, wherein the first tenant virtual instance and the first enclave virtual instance run on a host machine, the host machine connected to the hardware accelerator device via a PCIe bus.
10. The system of claim 1 , wherein the calculations include one or any combination of a data encryption calculation, a data decryption calculation, a data encoding calculation, a data decoding calculation, a data compression calculation, and a data decompression calculation.
11. A cloud technology-based trusted execution method, the method being applied to a trusted execution system, the trusted execution system comprising: a first tenant virtual instance, a first enclave virtual instance, and a hardware accelerator device; a first communication channel being established between the first tenant virtual instance and the first enclave virtual instance; and a second communication channel being established between the first enclave virtual instance and the hardware accelerator device; the method comprising the following steps: sending, by the first tenant virtual instance, a first computation request to the first enclave virtual instance over the first communication channel; receiving, by the first enclave virtual instance, the first computation request, invoking the hardware accelerator device based on the first computation request via the second communication channel to perform a computation, and transmitting a first computation result generated by the hardware accelerator device to the first tenant virtual instance via the first communication channel; A method comprising:
12. a first virtual function VF or a first physical function PF of the hardware accelerator device is directly passed through to the first enclave virtual instance according to a Peripheral Component Interconnect Express (PCIe) protocol, the second communication channel is a pass-through channel based on the PCIe protocol, and the first enclave virtual instance invokes the first virtual function VF or the first physical function PF of the hardware accelerator device to perform computation; The method of claim 11.
13. The system further comprises a virtual instance manager, the virtual instance manager configured to provide a secure module device, and the method further comprises: obtaining, by the secure module device, computational request authentication information and providing the authentication information for the first enclave virtual instance; 12. The method of claim 11, further comprising:
14. The method comprises: establishing, by the secure module device, the second communication channel between the first enclave virtual instance and the hardware accelerator device and providing a software development kit (SDK) for the first enclave virtual instance; invoking, by the first enclave virtual instance, a second communication channel based on the SDK to transmit computation-related data from the second communication channel to the hardware accelerator device; 14. The method of claim 13, further comprising:
15. The virtual instance manager is further configured to provide an accelerator device, and the method includes: establishing, by the accelerator device, the second communication channel between the first enclave virtual instance and the hardware accelerator device; transmitting, by the first enclave virtual instance, computation-related data to the hardware accelerator device via the second communication channel; 14. The method of claim 13, further comprising:
16. the system further comprises a second tenant virtual instance and a second enclave virtual instance, a third communication channel is established between the second tenant virtual instance and the second enclave virtual instance, and a fourth communication channel is established between the second enclave virtual instance and the hardware accelerator device, and the method further comprises: sending, by the second tenant virtual instance, a second computation request to the second enclave virtual instance via the third communication channel; receiving, by the second enclave virtual instance, the second computation request; invoking, based on the second computation request via the fourth communication channel, a second virtual function VF or a second physical function PF of the hardware accelerator device to perform computation; and transmitting a computation result generated by the hardware accelerator device to the second tenant virtual instance via the third communication channel, wherein the second virtual function VF or the second physical function PF of the hardware accelerator device is directly passed through to the second enclave virtual instance in accordance with the Peripheral Component Interconnect Express (PCIe) protocol, and the fourth communication channel is a pass-through channel based on the PCIe protocol; 13. The method of claim 12, further comprising:
17. The method of claim 11 , wherein the first tenant virtual instance and the first enclave virtual instance run on a host machine, and the hardware accelerator device is inserted into a mainboard slot of the host machine.
18. 20. The method of claim 17, wherein the hardware accelerator device is a smart card having an independent operating system, memory, and processor.
19. 12. The method of claim 11, wherein the first tenant virtual instance and the first enclave virtual instance run on a host machine, the host machine connected to the hardware accelerator device via a PCIe bus.
20. The method of claim 11 , wherein the calculations include one or any combination of a data encryption calculation, a data decryption calculation, a data encoding calculation, a data decoding calculation, a data compression calculation, and a data decompression calculation.
Citation Information
Patent Citations
Configurable logic platform having multiple reconfigurable regions - Patent Application 20070122999
JP2019530100A
Method, apparatus, and computer program for protecting information in a secure processor-based cloud computing environment
JP2021500669A
Systems and methods for hypervisor-assisted hardware accelerator offloads in a virtualized information handling system environment
US20180336052A1
Unifying hardware trusted execution environment technologies using virtual secure enclave device
US20210133315A1