WO2024002342A1 - 基于云技术的可信执行系统及方法 - Google Patents

基于云技术的可信执行系统及方法 Download PDF

Info

Publication number
WO2024002342A1
WO2024002342A1 PCT/CN2023/104666 CN2023104666W WO2024002342A1 WO 2024002342 A1 WO2024002342 A1 WO 2024002342A1 CN 2023104666 W CN2023104666 W CN 2023104666W WO 2024002342 A1 WO2024002342 A1 WO 2024002342A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual instance
enclave
communication channel
acceleration device
hardware acceleration
Prior art date
Application number
PCT/CN2023/104666
Other languages
English (en)
French (fr)
Inventor
龚磊
于海鑫
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024002342A1 publication Critical patent/WO2024002342A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to the field of cloud technology, and in particular to a trusted execution system and method based on cloud technology.
  • trusted execution environment was proposed as a concept to solve data privacy issues. Its main principle is to create a new environment for processing customer data in the existing execution environment. As long as it ensures This secure environment is end-to-end trusted and verifiable, ensuring data security. TEE has been widely used in smart terminal scenarios. For example, applications for mobile payment and fingerprint data are stored and executed in a dedicated secure operating system to prevent confidential data from being stolen.
  • enclaves specific equipment or areas used for computing tenants' confidential data are called enclaves. Tenants cannot directly access the enclave. Confidential computing through the enclave can ensure the security of tenants' data.
  • Enclave is usually implemented by a virtual instance running on the host, and its functions are very limited. Moreover, the Enclave needs to occupy the host's processor and memory for confidential calculations. For example, to complete encryption and decryption functions, only the host can be used. The processor and memory are used for calculation. Since the tenant's virtual instance also runs on the host, the Enclave will occupy the processor and memory that could have been provided to the virtual instance, affecting the business on the host.
  • the present invention provides a trusted execution system and method based on cloud technology, which are used to improve the confidentiality and efficiency of tenants' computing requirements and reduce the impact on business performance.
  • the present invention provides a trusted execution system based on cloud technology.
  • the trusted execution system includes a first tenant virtual instance, a first enclave virtual instance and a hardware acceleration device.
  • the first tenant virtual instance and the first enclave virtual instance A first communication channel is provided between the instances, a second communication channel is provided between the first enclave virtual instance and the hardware acceleration device, and the first tenant virtual instance sends a first computing request to the first enclave virtual instance through the first communication channel.
  • the first enclave virtual instance receives the first computing request, and calls the hardware acceleration device to perform calculations through the second communication channel according to the first computing request.
  • the first enclave virtual instance can also generate the hardware acceleration device through the first communication channel.
  • the first calculation result is sent to the first tenant virtual instance.
  • the trusted execution system can perform confidential and efficient calculations on the first computing request sent by the first tenant virtual instance.
  • the first tenant virtual instance will send the first computing request to the first enclave virtual instance during the use of the cloud service.
  • the first enclave virtual instance will call the hardware acceleration device to accelerate the calculation of the first calculation request.
  • the first enclave virtual instance will use the first communication channel to accelerate the calculation.
  • the first calculation result generated by the hardware acceleration device is sent to the first tenant virtual instance.
  • the first enclave virtual instance calls the hardware acceleration device to accelerate calculations, which does not occupy additional resources in the host and reduces the impact on the host's business performance.
  • the first virtual function VF or the first physical function PF of the hardware acceleration device is pass-through to the first enclave virtual instance through the Peripheral Component Quick Interconnect PCIe protocol, and the second communication
  • the channel is a direct channel based on the PCIe protocol, and the first enclave virtual instance calls the first virtual function VF or the first physical function PF of the hardware acceleration device to perform calculations.
  • the first enclave virtual instance has the function of calling the hardware acceleration device for calculation through hardware pass-through, which increases the trustworthiness of the first enclave virtual instance. Executing the system's hardware acceleration function is helpful to improve the efficiency of computing requests.
  • the trusted execution system further includes a virtual instance manager.
  • the virtual instance manager provides a security module device that obtains authentication information required for calculation and sends the authentication information to Provided to the first enclave virtual instance.
  • the security module device set up in the virtual manager in the trusted execution system will obtain the relevant authentication information of the first computing request and provide the authentication information to the first enclave virtual instance. After the authentication information is passed, the first enclave The virtual instance starts to perform confidential calculations. By setting the relevant authentication information of the first calculation request, the confidentiality of the calculation performed by the trusted execution system on the first calculation request sent by the first tenant virtual instance can be further improved.
  • the security module device can obtain the relevant authentication information of the first computing request from the cloud management platform, where the cloud management platform is used to manage the authentication information, and the authentication information is, for example, the account information of the tenant of the first tenant virtual instance and/or The key associated with this account information.
  • the security module device is also used to set up a second communication channel between the first enclave virtual instance and the hardware acceleration device, and provide a software development tool kit SDK to the first enclave virtual instance.
  • the first enclave virtual instance is also used to call the second communication channel according to the SDK to send calculation-related data from the second communication channel to the hardware acceleration device.
  • the first enclave virtual instance can upgrade and call the hardware acceleration device for calculation by installing the SDK, which can expand the original functions, thereby reducing the difficulty of the function upgrade operation of the first enclave virtual instance.
  • the virtual instance manager is also used to provide an acceleration device, and the acceleration device is used to set a second communication channel between the first enclave virtual instance and the hardware acceleration device, the The first enclave virtual instance is also used to send calculation-related data to the hardware acceleration device through the second communication channel.
  • the virtual instance manager in the trusted execution system provides an acceleration device, the first enclave virtual instance receives the first computing request of the first tenant virtual instance, and the acceleration device sends relevant data of the first computing request to the hardware acceleration device , this solution increases the hardware acceleration function of the trusted execution system through acceleration devices, which is beneficial to improving the efficiency of computing requests.
  • the trusted execution system further includes a second tenant virtual instance and a second enclave virtual instance, and a third tenant virtual instance is provided between the second tenant virtual instance and the second enclave virtual instance.
  • Three communication channels a fourth communication channel is provided between the second enclave virtual instance and the hardware acceleration device, wherein the second tenant virtual instance is used to send the second computing request to the second enclave virtual instance through the third communication channel , the second enclave virtual instance is used to receive the second calculation request, call the second virtual function VF or the second physical function PF of the hardware acceleration device through the fourth communication channel according to the second calculation request, and perform calculation through the third communication
  • the channel sends the calculation results generated by the hardware acceleration device to the second tenant virtual instance, wherein the second virtual function VF or the second physical function PF of the hardware acceleration device is pass-through to the second enclave virtual through the Peripheral Component Quick Interconnect PCIe protocol
  • the fourth communication channel is a pass-through channel based on the
  • the trusted execution system also includes multiple tenant virtual instances and their corresponding multiple enclave virtual instances.
  • Each enclave virtual instance receives the computing request of the tenant virtual instance and calls the hardware acceleration device to perform calculations according to the computing request.
  • Hardware acceleration devices in trusted execution systems can be used by a single tenant or by multiple tenants simultaneously.
  • the first tenant virtual instance and the first enclave virtual instance run in the host, and the hardware acceleration device is inserted into the motherboard slot of the host.
  • the first tenant virtual instance and the first enclave virtual instance in the trusted execution system run in the host's operating system, and the hardware acceleration device is inserted into the mainboard slot of the host.
  • the hardware acceleration device can save money on the host. resources, reducing the impact on host business performance.
  • the hardware acceleration device is a smart card with an independent operating system, memory, and processor.
  • the smart card can provide hardware acceleration for the trusted execution system. It has an independent operating system, memory and processor, making it more efficient and stable in terms of performance.
  • the first tenant virtual instance and the first enclave virtual instance run in the operating system of the host, and the host and the hardware acceleration device are connected through the PCIE high-speed communication bus.
  • the host and the hardware acceleration device in the trusted execution system are connected through the PCIE high-speed communication bus.
  • This high-speed communication bus can improve the communication efficiency between the host and the hardware acceleration device.
  • the host can flexibly utilize the hardware acceleration device. resources and help save costs.
  • the calculation includes: data encryption calculation, data decryption calculation, data encoding calculation One or any combination of code calculation, data decoding calculation, data compression calculation, and data decompression calculation.
  • the accelerated calculations performed by the hardware acceleration device in the trusted execution system include: one or any combination of data encryption calculations, data decryption calculations, data encoding calculations, data decoding calculations, data compression calculations, and data decompression calculations, which can satisfy tenant virtualization requirements. Different computing needs of instances.
  • the present invention provides a trusted execution method based on cloud technology, which method is applied to a trusted execution system.
  • the trusted execution system includes a first tenant virtual instance, a first enclave virtual instance and a hardware acceleration device.
  • a first communication channel is provided between a tenant virtual instance and the first enclave virtual instance, and a second communication channel is provided between the first enclave virtual instance and the hardware acceleration device.
  • the method includes the following steps.
  • the first tenant virtual instance Send a first calculation request to the first enclave virtual instance through the first communication channel.
  • the first enclave virtual instance receives the first calculation request, calls the hardware acceleration device to perform calculation through the second communication channel according to the first calculation request, and performs calculation through the first communication channel.
  • a communication channel sends the first calculation result generated by the hardware acceleration device to the first tenant virtual instance.
  • the second aspect or any implementation of the second aspect is implemented by the method corresponding to the first aspect or any implementation of the first aspect.
  • the description in the first aspect or any implementation of the first aspect applies to the second aspect. Or any implementation method of the second aspect, which will not be described again here.
  • the present invention provides a computer device.
  • the computer device includes: a processor and a memory, the memory is used to store computer execution instructions, and the processor is used to execute the computer execution instructions stored in the memory, so that the computer device runs the first
  • the tenant virtual instance and the first enclave virtual instance implement the second aspect and the method disclosed in any possible implementation manner of the second aspect.
  • a fourth aspect of the present invention is a computer storage medium, including computer readable instructions.
  • the computer readable instructions When executed, run the first tenant virtual instance and the first enclave virtual instance to implement the second aspect and any of the second aspects.
  • a possible implementation is revealed.
  • a fifth aspect of the present invention is a computer program product containing instructions that, when run on a computer, cause the computer to run a first tenant virtual instance and a first enclave virtual instance to perform the second aspect and any one of the second aspect Methods revealed for possible implementations.
  • Figure 1 is an architectural diagram of a cloud data center according to an embodiment of the present application
  • Figure 2 is a schematic diagram of a trusted execution system based on cloud technology according to an embodiment of the present application
  • Figure 3 is a data interaction diagram of the trusted execution system based on cloud technology according to the embodiment of the present application.
  • Figure 4 is a schematic structural diagram of a hardware acceleration device implementing virtual function VF or physical function PF according to an embodiment of the present application
  • Figure 5 is another schematic diagram of a trusted execution system based on cloud technology according to an embodiment of the present application.
  • Figure 6 is another data interaction diagram of the trusted execution system based on cloud technology according to the embodiment of the present application.
  • Figure 7 is another schematic diagram of a trusted execution system based on cloud technology according to an embodiment of the present application.
  • Figure 8 is another data interaction diagram of the trusted execution system based on cloud technology according to the embodiment of the present application.
  • Figure 9 is another schematic diagram of a trusted execution system based on cloud technology according to an embodiment of the present application.
  • VM Virtual Machine
  • VM refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment. Everything that can be done in a server can be done in a virtual machine.
  • Each virtual machine has an independent hard disk and operating system. Users of the virtual machine can use it just like using the server. virtual machine to operate.
  • Hypervisor Virtual machine manager; it is the actual operating system. It establishes and maintains a framework for managing virtual machines and provides many important services to other vxd programs.
  • VMM Virtual Machine Monitor, virtual machine monitor; another name for virtual machine manager.
  • Docker Container; uses the namespace and cgroup technology supported by the Linux kernel to isolate the application APP process and its dependent packages (running environment bins/libs, specifically all files required to run the APP) in an independent running environment.
  • APP Application; refers to a computer program that performs one or more specific tasks. It runs in user mode, can interact with users, and has a visual user interface.
  • TEE Trusted Execution Environment, Trusted Execution Environment; it is an independent processing environment with computing and storage functions that can provide security and integrity protection.
  • CPU Central Processing Unit, central processing unit; as the computing and control core of the computer system, it is the final execution unit for information processing and program execution.
  • Enclave An enclave, a specific area used to run confidential customer data.
  • PF Physical Function, physical function; used to support the PCI function of SR-IOV, with the ability to fully configure or control PCIe device resources.
  • VF Virtual Function, virtual function; is a lightweight PCIe function associated with PF that can share one or more physical resources with physical functions and other VFs associated with the same physical function.
  • SDK Software Development Kit; it is a collection of development tools used by software engineers to create application software for specific software packages, software frameworks, hardware platforms, operating systems, etc.
  • SMD Secure Module Device, security module device; used to provide functional interfaces to complete enclave operation requests.
  • AD Accelerator Device, acceleration device; a device used to provide hardware acceleration capabilities for the enclave.
  • PCIe Peripheral Component Interconnect Express, a high-speed serial computer expansion bus, is an interface standard for connecting high-speed components.
  • Embodiments of this application provide a trusted execution system and method based on cloud technology to improve the confidentiality and efficiency of tenant computing requirements and reduce the impact on business performance. Each is explained in detail below.
  • FIG 1 is an architectural diagram of a cloud data center according to an embodiment of the present application.
  • the cloud data center 1 includes a cloud management platform 10, a data center internal network 20, a client 40 and multiple hosts.
  • Two hosts are taken as an example for illustration.
  • host 51 and host 52 are taken as an example for illustration.
  • Host 51 and host 52 complete information interaction with the data center internal network 20 and the cloud management platform 10 through the network card 5124 and the network card 5224 respectively.
  • the cloud management platform 10 Completes information interaction through the Internet 30 and the client 40.
  • the host 51 includes a software layer 511 and a hardware layer 512.
  • the host operating system 5115 on the software layer 511 runs a tenant virtual instance 5111, an enclave virtual instance 5112, and a virtual instance manager 5113. and cloud management platform client 5114.
  • the hardware layer 512 includes a memory 5121, a hardware acceleration device 5122, a processor 5123 and a network card 5124 that are connected to each other through a bus 5125.
  • the host machine 52 has a similar structure to the host machine 51 and will not be described again here.
  • the tenant virtual instance 5111 and the enclave virtual instance 5112 may be, for example, a virtual machine (VM).
  • the virtual instance manager 5113 is a virtual machine manager (Hypervisor).
  • the virtual machine manager is also called a virtual machine monitor ( virtual machine monitor (VMM); when the tenant virtual instance 5111 and the enclave virtual instance 5112 can be, for example, containers (Docker), correspondingly, the virtual instance manager 5113 is a container manager.
  • the cloud management platform 10 provides an access interface (such as a configuration interface for tenant configuration or an API for tenant configuration), and the tenant of the cloud data center 1 can operate the client 40 to remotely access the access interface, and register the cloud on the cloud management platform 10 Account and password, and log in to the cloud management platform 10.
  • the tenant can further select and purchase a virtual instance of specific specifications (processor, memory, disk) on the cloud management platform for a fee.
  • the cloud management platform 10 provides the remote login account and password of the purchased virtual instance.
  • the client 40 can remotely log in to the virtual instance and install and run the tenant's application in the virtual instance.
  • the cloud management platform client 5114 receives the control plane command sent by the cloud management platform 10, creates on the host computer according to the control plane control command, and performs full life cycle management of the virtual instance. Therefore, the tenant can use the cloud management platform 10 to perform full life cycle management in the cloud data center. Create, manage, log in and operate virtual instances in 1.
  • the application (APP) running in the virtual instance first decrypts the data in the memory 5121 of the host 51 before processing the data. This makes the data vulnerable while it is being processed in memory. Confidential computing often utilizes hard-based To solve this problem, we use the trusted execution environment (TEE) of the software.
  • the TEE is a secure area inside the central processing unit (CPU).
  • the TEE is secured using embedded encryption keys and an embedded attestation mechanism to ensure the keys can only be accessed by authorized application code. If malware or other unauthorized code attempts to access the key or the authorized code is hacked or altered in any way, the TEE will deny access to the key and cancel the calculation. This way, sensitive data can remain protected in memory until the application notifies the TEE to decrypt it for processing. During the decryption process and throughout the calculation, the data cannot be accessed by anyone.
  • the enclave virtual instance 5112 when a tenant has a request for confidential computing, when the tenant virtual instance 5111 is created in the software layer 511 of the host 51, the enclave virtual instance 5112 will be simultaneously created.
  • the enclave is used for A specific area that runs client confidential data.
  • Enclave virtual instance 5112 is a virtual instance used to run client confidential calculations.
  • FIG 2 is a schematic diagram of a trusted execution system based on cloud technology according to an embodiment of the present application.
  • the system can be, for example, the host 51 or the host 52 shown in Figure 1.
  • the trusted execution system includes a tenant virtual instance 5111, an enclave virtual instance 5112, and a hardware acceleration device 5122.
  • a communication channel 100 is provided between the tenant virtual instance 5111 and the enclave virtual instance 5112.
  • the tenant virtual instance 5111 and the enclave virtual instance 5112 are The local virtual instances 5112 all run on the host operating system 5115.
  • the tenant virtual instance 5111 sends calculation requests to the enclave virtual instance 5112 through the communication channel 100.
  • the enclave virtual instance 5112 calls the hardware acceleration device 5122 through the communication channel 200 to perform calculations, and then returns the calculation results to the tenant virtual instance 5111 through the communication channel 100.
  • the hardware acceleration device 5122 can be, for example, a smart card with an independent operating system, memory, and processor.
  • the hardware acceleration device 5122 can be directly inserted into the motherboard slot of the host 51 .
  • the hardware acceleration device 5122 can also be It is connected to the host machine 51 through the PCIE bus.
  • the accelerated calculations performed by the hardware acceleration device in the trusted execution system include: one or any combination of data encryption calculations, data decryption calculations, data encoding calculations, data decoding calculations, data compression calculations, and data decompression calculations, which can meet the needs of Different computing requirements of tenant virtual instances 5111.
  • the trusted execution system also includes a virtual instance manager 5113.
  • the virtual instance manager 5113 is used to manage the tenant virtual instance 5111 and the enclave virtual instance 5112.
  • the virtual instance manager 5113 also provides a security module device 5116.
  • the security module device 5116 is used to obtain the authentication information required by the enclave virtual instance 5112 to perform confidential calculations, and provide the authentication information to the enclave virtual instance 5112. .
  • Figure 3 is a data interaction diagram of the trusted execution system based on cloud technology according to an embodiment of the present application, wherein the method shown in Figure 3 Assume that the tenant enters the specifications for creating the tenant virtual instance 5111 by logging into the cloud management platform 10. The cloud management platform 10 notifies the cloud management platform client 5114 of the specifications of the virtual instance 5111 to be created. The virtual instance manager 5113 where the cloud management platform client 5114 is located Create a virtual instance 5111 in the operating system of the host machine 51, and allocate virtualized hardware resources in the host machine 51 to the virtual instance 5111. If the tenant has a need for confidential computing, the tenant can notify the cloud management platform 10 to create and virtualize the virtual instance 5111.
  • Instance 5111 is used in conjunction with the enclave virtual instance 5112.
  • the cloud management platform 10 notifies the cloud management platform client 5114 to create the enclave virtual instance 5112.
  • the virtual instance manager 5113 where the cloud management platform client 5114 is located is created in the operating system of the host machine 51 Enclave virtual instance 5112, and allocate other virtualized hardware resources in the host 51 to the enclave virtual instance 5112.
  • the tenant can determine the specifications of the enclave virtual instance 5112 in the cloud management platform 10, and the cloud management platform 10 Notify the cloud management platform client 5114 to create an enclave virtual instance 5112 with corresponding specifications. Alternatively, the tenant does not need to specify the specifications of the enclave virtual instance 5112 in the cloud management platform 10.
  • the enclave virtual instance 5112 can use the applicable specifications in the cloud management platform 10. The default specifications for virtual instances belonging to the enclave type. Among them, enclave virtual instance 5112 is used in conjunction with virtual instance 5111. Tenants can log in to virtual instance 5111, but tenants cannot log in to enclave virtual instance 5112. When tenants have confidential computing requirements in virtual instance 5111, virtual instance 5111 generates confidential computing requirements. demand, and sends the demand to the enclave virtual instance 5112 for processing.
  • no other tenant or cloud service provider can access or use the enclave virtual instance 5112.
  • the enclave virtual instance 5112 can only communicate with the virtual instance 5111 through the communication channel 100, and, the enclave virtual instance 5112 The local virtual instance 5112 and the virtual instance 5111 have the same life cycle.
  • the enclave virtual instance 5112 will also be released, and when the enclave virtual instance 5112 is released, the memory corresponding to the enclave virtual instance 5112 The data will be strictly formatted to ensure that the tenant's confidential computing information will not be leaked.
  • the enclave virtual instance 5112 stores the tenant's identity authentication information in advance.
  • the virtual instance 5111 when a tenant needs to perform any one or any combination of data encryption calculation, data decryption calculation, data encoding calculation, data decoding calculation, data compression calculation, and data decompression calculation in the virtual instance 5111, the virtual instance 5111 generates a secret Calculate the demand and send the demand to the enclave virtual instance 5112 for processing.
  • the virtual instance 5111 can also be called a tenant virtual instance.
  • the workflow of the trusted execution system is as follows:
  • Step S301 The tenant virtual instance 5111 sends the calculation request 1 to the enclave virtual instance 5112 through the communication channel 100;
  • the virtual instance manager 5113 When a tenant generates a requirement for confidential computing in the virtual instance 5111, the virtual instance manager 5113 receives the requirement and sends the requirement to the enclave virtual instance 5112 through the communication channel 100, where the communication channel 100 is the virtual instance manager 5113 A communication channel established between the tenant virtual instance 5111 and the enclave virtual instance 5112, used to transmit data information between the tenant virtual instance 5111 and the enclave virtual instance 5112.
  • Step S302 The security module device 5116 obtains authentication information 1 from the cloud management platform client 5114;
  • the tenant virtual instance 5111 sends the calculation request 1 to the enclave virtual instance 5112 through the communication channel 100, the calculation request 1 will be sent to the enclave virtual instance 5112 through the virtual instance manager 5113.
  • the virtual instance manager 5113 The security module device 5116 in the security module can learn that the tenant virtual instance 5111 issues a calculation request 1.
  • the security module device 5116 obtains the authentication information 1 corresponding to the tenant virtual instance 5111 from the cloud management platform client 5114.
  • the tenant will register some relevant personal information before purchasing the tenant virtual instance 5111 on the cloud management platform 10.
  • the content of this personal information is, for example, the account number, mobile phone number, email address and/or login registered by the tenant on the cloud management platform 10. Passwords, these personal information are stored in the cloud management platform 10.
  • the security module device 5116 obtains the tenant's personal information from the cloud management platform 10 through the cloud management platform client 5114. This personal information will be used as tenant identification. Certification information 1.
  • Step S303 The security module device 5116 returns the obtained authentication information 1 to the enclave virtual instance 5112;
  • the security module device 5116 After the security module device 5116 obtains the tenant's authentication information 1 from the cloud management platform 10 through the cloud management platform client 5114, the cloud management platform 10 returns the tenant's authentication information 1 to the security module device 5116 through the cloud management platform client 5114. The security module device 5116 then returns the obtained authentication information 1 to the enclave virtual instance 5112.
  • the enclave virtual instance 5112 will reserve tenant authentication information 1 after creation.
  • the enclave virtual instance 5112 receives the tenant's confidential computing request, it needs to verify whether the tenant's identity is legal.
  • the enclave virtual instance 5112 determines whether to perform confidential calculation by comparing whether the reserved tenant authentication information 1 matches the tenant authentication information 1 obtained by the security module device 5116 from the cloud management platform 10 through the cloud management platform client 5114. If there is a match, the enclave virtual instance 5112 continues to perform the request for confidential calculation. If there is no match, the enclave virtual instance 5112 rejects the request to perform confidential calculation.
  • Step S304 The enclave virtual instance 5112 calls the virtual function VF or physical function PF of the hardware acceleration device 5122 through the communication channel 200 to perform calculations;
  • the enclave virtual instance 5112 matches the tenant authentication information 1 reserved by the enclave virtual instance 5112 with the tenant authentication information 1 obtained by the security module device 5116 from the cloud management platform 10 through the cloud management platform client 5114 In this case, the enclave virtual instance 5112 calls the virtual function VF or physical function PF of the hardware acceleration device through the communication channel 200 to perform calculations.
  • the communication channel 200 is a communication channel established by the security module device 5116 between the enclave virtual instance 5112 and the hardware acceleration device 5122 based on the PLCe protocol, and is used for data information between the enclave virtual instance 5112 and the hardware acceleration device 5122.
  • the virtual function (Virtual Function, VF) or physical function (PF) of the hardware acceleration device 5122 is directly connected to the enclave virtual instance 5112 through the peripheral component fast interconnection PCIe protocol, as shown in Figure 4, which is an embodiment of the present application.
  • the hardware acceleration device 5122 can be cut into multiple functional modules that implement virtual functions VF1, VF2...VFn. Each VF can be mounted to a different aircraft respectively. Accelerate calculations for different enclave virtual instances on the local virtual instance.
  • the hardware acceleration device 5122 can be cut into multiple functional modules that implement physical functions PF1, PF2...PFn, and each PF can be mounted to Accelerate calculations for different enclave virtual instances on different enclave virtual instances.
  • VF1 can be mounted to the enclave virtual instance 5112.
  • each VF unit or PF unit is a computing function unit divided by the hardware acceleration device 5122 through the SRIOV protocol.
  • Each unit is isolated from each other, and each unit can be mounted to a virtual instance for direct use through pass-through technology.
  • Step S305 The hardware acceleration device 5122 returns the calculation result 1 to the enclave virtual instance 5112;
  • the hardware acceleration device 5122 After the hardware acceleration device 5122 completes the calculation, it sends the calculation result 1 to the enclave virtual instance 5112 through the communication channel 200.
  • Step S306 The enclave virtual instance 5112 returns the calculation result 1 to the tenant virtual instance 5111.
  • the enclave virtual instance 5112 sends the calculation result 1 to the tenant virtual instance 5111 through the communication channel 100, and the entire confidential calculation process is completed.
  • the trusted execution system can perform confidential and efficient calculations on the calculation requests sent by the tenant virtual instance.
  • the enclave virtual instance passes through the hard pass-through method.
  • the hardware acceleration device is called to perform calculations and the results are returned to the enclave virtual instance.
  • the enclave virtual instance then returns the calculation results to the tenant virtual instance.
  • the enclave virtual instance calls the hardware acceleration device to perform calculations without occupying additional resources in the host machine. , reducing the impact on the host business performance.
  • FIG. 5 is another schematic diagram of the trusted execution system based on cloud technology according to the embodiment of the present application. As shown in Figure 5, the difference between the trusted execution system and the embodiment shown in Figure 2 is that the security module device 5116 is an enclave virtual instance 5112 A software development kit (SDK) is provided, and the enclave virtual instance 5112 calls the hardware acceleration device 5122 through the software development kit tool SDK to perform calculations.
  • SDK software development kit
  • the interface functions provided by the current security module device 5116 are limited, mainly including: DescribePCR (view the specified PCR value), ExtendPCR (PCR extension operation), LockPCRs (lock the specified PCRs), DescribeNSM (query the NSM device status), GetAttestationDoc (Get certification documents) and GetRandom (get random numbers), the interface function of the security module device 5116 can be expanded through the software development kit tool SDK, so that it has a hardware-accelerated interface function.
  • Figure 6 is another data interaction diagram of the trusted execution system based on cloud technology according to an embodiment of the present application. As shown in Figure 6, the workflow of the trusted execution system is as follows:
  • Step S601 The tenant virtual instance 5111 sends the calculation request 2 to the enclave virtual instance 5112 through the communication channel 100;
  • Step S602 The security module device 5116 obtains authentication information 2 from the cloud management platform client 5114;
  • Step S603 The security module device 5116 returns the obtained authentication information 2 to the enclave virtual instance 5112;
  • steps S601-S603 For the specific implementation of steps S601-S603, reference can be made to the description of steps S301-S303 in Figure 3, which will not be described again here.
  • Step S604 The enclave virtual instance 5112 calls the hardware acceleration device 5122 through the communication channel 200 to perform calculations;
  • the communication channel 200 is a communication channel established by the security module device 5116 between the enclave virtual instance 5112 and the hardware acceleration device 5122 based on the software development kit SDK. It is used for the enclave virtual instance 5112 and the hardware acceleration device. Data information between 5122. Based on the software development tool kit SDK, the security module device 5116 has the interface function of hardware acceleration, so that the enclave virtual instance 5112 can call the hardware acceleration device 5122 for calculation.
  • Step S605 The hardware acceleration device 5122 returns the calculation result 2 to the enclave virtual instance 5112;
  • Step S606 The enclave virtual instance 5112 returns the calculation result 2 to the tenant virtual instance 5111;
  • steps S605-S606 For the specific implementation of steps S605-S606, reference can be made to the description of steps S305-S306 in Figure 3, which will not be described again here.
  • the enclave virtual instance in the trusted execution system is upgraded by installing the SDK and calling the hardware acceleration device for calculation.
  • Functions can be expanded on the original functions of the security module device, thereby reducing the cost of the enclave virtual instance.
  • the difficulty of function upgrade operation is not limited to:
  • FIG. 7 is another schematic diagram of the trusted execution system based on cloud technology according to the embodiment of the present application. As shown in Figure 7, the difference between this trusted execution system and the embodiment shown in Figure 2 is that the virtual instance manager 5113 is an enclave virtual instance. 5112 provides an acceleration device 5117, and the acceleration device 5117 sends the calculation request to the hardware acceleration device 5122 for calculation.
  • Figure 8 is another data interaction diagram of the trusted execution system based on cloud technology according to an embodiment of the present application. As shown in Figure 8, the workflow of the trusted execution system is as follows:
  • Step S801 The tenant virtual instance 5111 sends the calculation request 3 to the enclave virtual instance 5112 through the communication channel 100;
  • Step S802 The security module device 5116 obtains authentication information 3 from the cloud management platform client 5114;
  • Step S803 The security module device 5116 returns the obtained authentication information 3 to the enclave virtual instance 5112;
  • steps S801-S803 For the specific implementation of steps S801-S803, reference can be made to the description of steps S301-S303 in Figure 3, which will not be described again here.
  • Step S804 The enclave virtual instance 5112 calls the hardware acceleration device 5122 through the communication channel 200 to perform calculations;
  • the acceleration device 5117 is a virtualized accelerator device configured by the virtual instance manager 5113 when the enclave virtual instance 5112 is created.
  • the communication channel 200 is the acceleration device 5117 in the enclave virtual instance 5112 and the hardware acceleration device.
  • a communication channel established between 5122 is used for data information between the enclave virtual instance 5112 and the hardware acceleration device 5122.
  • the acceleration device 5117 sends the computing request 3 to the hardware acceleration device.
  • 5122 performs calculations to complete the process of calling the hardware acceleration device 5122 by the enclave virtual instance 5112. Step S805: The hardware acceleration device 5122 returns the calculation result 3 to the enclave virtual instance 5112;
  • Step S806 The enclave virtual instance 5112 returns the calculation result 3 to the tenant virtual instance 5111.
  • steps S805-S806 For the specific implementation of steps S805-S806, reference can be made to the description of steps S305-S306 in Figure 3, which will not be described again here.
  • the virtual instance manager in the trusted execution system configures a virtualized acceleration device for the enclave virtual instance.
  • the acceleration device sends the computing request of the tenant virtual instance to the hardware acceleration device for calculation, so that Enclave virtual instances feature hardware acceleration.
  • FIG 9 is another schematic diagram of the trusted execution system based on cloud technology according to the embodiment of the present application.
  • the trusted execution system includes two tenant virtual machines. Instance 5111 and virtual tenant instance 6111, two enclave virtual instances 5112 and enclave virtual instance 6112, and hardware acceleration device 5122.
  • a communication channel 100 is provided between the tenant virtual instance 5111 and the enclave virtual instance 5112.
  • the tenant virtual instance 6111 A communication channel 300 is provided with 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).
  • Tenant virtual instance 5111, tenant virtual instance 6111, enclave virtual instance 5112 and enclave virtual instance 6112 all run on the host operating system 5115; a communication channel 200 is provided between the enclave virtual instance 5122 and the hardware acceleration device 5122. There is a communication channel 400 between the local virtual instance 6122 and the hardware acceleration device 5122.
  • the communication channel 200 (400) is a communication channel established by the security module device 5116 between the enclave virtual instance 5112 (6112) and the hardware acceleration device 5122. For data information between the enclave virtual instance 5112 (6112) and the hardware acceleration device 5122.
  • the tenant virtual instance 5111 sends a calculation request to the enclave virtual instance 5112 through the communication channel 100.
  • the enclave virtual instance 5112 calls the virtual function VF1 of the hardware acceleration device 5122 through the communication channel 200 to perform calculations, and then returns the calculation results to the tenant through the communication channel 100.
  • Virtual instance 5111, tenant virtual instance 6111 sends a calculation request to the enclave virtual instance 6112 through the communication channel 300.
  • the enclave virtual instance 6112 calls the virtual function VF2 of the hardware acceleration device 5122 through the communication channel 400 to perform calculations, and then sends the calculation results through the communication channel 200 is returned to the tenant virtual instance 6111, that is, the trusted execution system can meet the needs of multiple virtual tenant instances to perform confidential calculations at the same time.
  • the trusted execution system can also be implemented through a computer cluster including multiple computer devices, which is not limited in this embodiment of the present invention.
  • embodiments of the present invention further provide a computer storage medium that includes computer-readable instructions.
  • the method executed by the trusted execution system is implemented.
  • Embodiments of the present invention also provide a computer program product containing instructions that, when run on a computer, cause the computer to execute the method executed by the trusted execution system.
  • the present invention can be implemented by software plus necessary general hardware. Of course, it can also be implemented by dedicated hardware including dedicated integrated circuits, dedicated CPUs, dedicated memories, Special components, etc. to achieve. In general, all functions performed by computer programs can be easily implemented with corresponding hardware. Moreover, the specific hardware structures used to implement the same function can also be diverse, such as analog circuits, digital circuits or special-purpose circuits. circuit etc. However, software program implementation is the preferred implementation mode for the present invention in many cases. Based on this understanding, the technical solution of the present invention can be embodied in the form of a software product in essence or that contributes to the existing technology.
  • the computer software product is stored in a readable storage medium, such as a computer floppy disk. , U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., including several instructions to cause a computer device (which can be a personal computer, training device, or network device, etc.) to execute the steps described in various embodiments of the present invention. method.
  • a computer device which can be a personal computer, training device, or network device, etc.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, the computer instructions may be transferred from a website, computer, training device, or data
  • the center transmits to another website site, computer, training equipment or data center through wired (such as coaxial cable, optical fiber, digital tenant line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means.
  • wired such as coaxial cable, optical fiber, digital tenant line (DSL)
  • wireless such as infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that a computer can store, or a data storage device such as a training device or a data center integrated with one or more available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, solid state disk (Solid State Disk, SSD)), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种基于云技术的可信执行系统及方法,用于提高租户计算需求的机密性和高效性并减少对业务性能的影响。该系统包括第一租户虚拟实例、第一飞地虚拟实例以及硬件加速设备,第一租户虚拟实例与第一飞地虚拟实例之间设置有第一通信通道,第一飞地虚拟实例与硬件加速设备之间设置有第二通信通道,第一租户虚拟实例通过第一通信通道发送第一计算请求至第一飞地虚拟实例,第一飞地虚拟实例接收第一计算请求,并根据第一计算请求通过第二通信通道调用硬件加速设备进行计算,第一飞地虚拟实例还可以通过第一通信通道将硬件加速设备产生的第一计算结果发送至第一租户虚拟实例。

Description

基于云技术的可信执行系统及方法 技术领域
本发明涉及云技术领域,尤其涉及一种基于云技术的可信执行系统及方法。
背景技术
随着公有云和混合云市场的日益成熟与飞速发展,安全问题逐渐成为企业关注的焦点。以政府、金融行业为代表在自身业务逐步云化过程中,对数据安全的机密性产生了较多的顾虑,在整条数据链中,云服务提供商、运营商、设备提供商、芯片提供商、软件提供商都有可能窃取或篡改相关数据,如何最大化保障客户数据可信和安全成为现有云技术开发的关键点。基于以上问题,可信执行环境(trusted execution environment,TEE)作为其中解决数据隐私问题的概念被提出来,其主要原理是在现有执行环境下新建一个用于处理客户数据的全新环境,只要确保这个安全环境的端到端可信和可验证的,即可保障数据安全。TEE在智能终端场景下已经得到较为广泛的应用,比如用于手机支付的应用和指纹数据存放在专用的安全操作系统中执行,避免机密数据被窃取。
云场景下,用于针对租户的机密数据进行计算的特定设备或区域被称为飞地(Enclave),租户不能直接访问飞地,通过飞地进行机密计算可以保障租户的数据安全。
但是,目前的Enclave通常由运行在宿主机的虚拟实例实现,其功能非常有限,且该Enclave需占用宿主机的处理器和内存进行机密计算,例如要完成加密和解密功能,只能使用宿主机的处理器和内存进行计算,由于租户的虚拟实例的同样运行在宿主机上,因此Enclave会占用本可提供给虚拟实例的处理器和内存,使宿主机中的业务受到影响。
发明内容
本发明提供了一种基于云技术的可信执行系统及方法,用于提高租户计算需求的机密性和高效性并减少对业务性能的影响。
第一方面,本发明提供基于云技术的可信执行系统,该可信执行系统包括第一租户虚拟实例、第一飞地虚拟实例以及硬件加速设备,第一租户虚拟实例与第一飞地虚拟实例之间设置有第一通信通道,第一飞地虚拟实例与硬件加速设备之间设置有第二通信通道,第一租户虚拟实例通过第一通信通道发送第一计算请求至第一飞地虚拟实例,第一飞地虚拟实例接收第一计算请求,并根据第一计算请求通过第二通信通道调用硬件加速设备进行计算,第一飞地虚拟实例还可以通过第一通信通道将硬件加速设备产生的第一计算结果发送至第一租户虚拟实例。
该可信执行系统可以对第一租户虚拟实例发送的第一计算请求进行机密又高效的计算,第一租户虚拟实例会在云服务使用的过程中向第一飞地虚拟实例发送第一计算请求,为了提高计算的高效性,该第一飞地虚拟实例会调用硬件加速设备对该第一计算请求进行加速计算,为了提高计算的机密性,该第一飞地虚拟实例通过第一通信通道将硬件加速设备产生的第一计算结果发送至第一租户虚拟实例。该第一飞地虚拟实例调用硬件加速设备进行加速计算,不额外占用宿主机中的资源,减少了对宿主机业务性能的影响。
在第一方面的一种可能的实现方式中,该硬件加速设备的第一虚拟功能VF或第一物理功能PF通过外围组件快速互连PCIe协议直通至第一飞地虚拟实例,该第二通信通道为基于PCIe协议的直通通道,该第一飞地虚拟实例调用该硬件加速设备的第一虚拟功能VF或第一物理功能PF进行计算。
该第一飞地虚拟实例通过硬件直通的方式调用硬件加速设备进行计算的功能,增加了该可信 执行系统的硬件加速功能,有利于提高计算请求的高效性。
在第一方面的一种可能的实现方式中,该可信执行系统还包括虚拟实例管理器,虚拟实例管理器提供安全模块设备,该安全模块设备获取计算所需的认证信息,并将认证信息提供给第一飞地虚拟实例。
该可信执行系统中的虚拟管理器里面设置的安全模块设备会获取第一计算请求的相关认证信息,并将认证信息提供给第一飞地虚拟实例,认证信息通过后,该第一飞地虚拟实例开始进行机密计算,通过设置第一计算请求的相关认证信息,可进一步的提高该可信执行系统对第一租户虚拟实例发送的第一计算请求执行计算的机密性。
可选地,安全模块设备可从云管理平台获取第一计算请求的相关认证信息,其中,云管理平台用于管理认证信息,认证信息例如为第一租户虚拟实例的租户的账号信息和/或与该账号信息相关的密钥。
该种可能的实现方式中,该安全模块设备还用于在第一飞地虚拟实例与硬件加速设备之间设置第二通信通道,并提供软件开发工具包SDK给第一飞地虚拟实例,该第一飞地虚拟实例还用于根据SDK调用第二通信通道,以将计算相关的数据从第二通信通道发送至硬件加速设备。
第一飞地虚拟实例通过安装SDK升级调用硬件加速设备进行计算的功能,可在原有功能上进行功能扩展,从而降低第一飞地虚拟实例的功能升级操作难度。
在第一方面的一种可能的实现方式中,该虚拟实例管理器还用于提供加速设备,该加速设备用于在第一飞地虚拟实例与硬件加速设备之间设置第二通信通道,该第一飞地虚拟实例还用于将计算相关的数据通过第二通信通道发送至硬件加速设备。
该可信执行系统中的虚拟实例管理器通过提供加速设备,第一飞地虚拟实例接收第一租户虚拟实例的第一计算请求,该加速设备将第一计算请求的相关数据发送至硬件加速设备,该方案通过加速设备增加了该可信执行系统的硬件加速功能,有利于提高计算请求的高效性。
在第一方面的一种可能的实现方式中,该可信执行系统还包括第二租户虚拟实例和第二飞地虚拟实例,第二租户虚拟实例与第二飞地虚拟实例之间设置有第三通信通道,第二飞地虚拟实例与硬件加速设备之间设置有第四通信通道,其中,该第二租户虚拟实例用于通过第三通信通道发送第二计算请求至第二飞地虚拟实例,该第二飞地虚拟实例用于接收第二计算请求,根据第二计算请求通过第四通信通道调用硬件加速设备的第二虚拟功能VF或第二物理功能PF进行计算,并通过第三通信通道将硬件加速设备产生的计算结果发送至第二租户虚拟实例,其中,该硬件加速设备的第二虚拟功能VF或第二物理功能PF通过外围组件快速互连PCIe协议直通至第二飞地虚拟实例,该第四通信通道为基于PCIe协议的直通通道。
该可信执行系统还包括多个租户虚拟实例和其对应的多个飞地虚拟实例,每一个飞地虚拟实例接收租户虚拟实例的计算请求,并根据该计算请求调用硬件加速设备进行计算,该可信执行系统中的硬件加速设备可以单租户使用或多租户同时使用。
在第一方面的一种可能的实现方式中,第一租户虚拟实例、第一飞地虚拟实例运行在宿主机中,硬件加速设备插置于宿主机的主板插槽中。
该可信执行系统中的第一租户虚拟实例、第一飞地虚拟实例运行在宿主机的操作系统中,硬件加速设备插置于宿主机的主板插槽中,该硬件加速设备可节约宿主机的资源,减少了对宿主机业务性能的影响。
该种可能的实现方式中,硬件加速设备为具有独立的操作系统、内存以及处理器的智能卡。
该智能卡可以为该可信执行系统提供硬件加速功能,其具有独立的操作系统、内存以及处理器,在使用性能上更为高效稳定。
在第一方面的一种可能的实现方式中,第一租户虚拟实例、第一飞地虚拟实例运行在宿主机的操作系统中,宿主机与硬件加速设备通过PCIE高速通信总线连接。
该可信执行系统中的宿主机与硬件加速设备通过PCIE高速通信总线连接,该高速通信总线可以提高宿主机与硬件加速设备之间的通信效率,该宿主机可以灵活的利用硬件加速设备中的资源,有利于节约成本。
在第一方面的一种可能的实现方式中,该计算包括:数据加密计算、数据解密计算、数据编 码计算、数据解码计算、数据压缩计算、数据解压计算中的一者或任意组合。
该可信执行系统中硬件加速设备执行的加速计算包括:数据加密计算、数据解密计算、数据编码计算、数据解码计算、数据压缩计算、数据解压计算中的一者或任意组合,可满足租户虚拟实例的不同计算需求。
第二方面,本发明提供一种基于云技术的可信执行方法,该方法应用于可信执行系统,可信执行系统包括第一租户虚拟实例、第一飞地虚拟实例以及硬件加速设备,第一租户虚拟实例与第一飞地虚拟实例之间设置有第一通信通道,第一飞地虚拟实例与硬件加速设备之间设置有第二通信通道,该方法包括以下步骤,第一租户虚拟实例通过第一通信通道发送第一计算请求至第一飞地虚拟实例,第一飞地虚拟实例接收第一计算请求,根据第一计算请求通过第二通信通道调用硬件加速设备进行计算,并通过第一通信通道将硬件加速设备产生的第一计算结果发送至第一租户虚拟实例。
第二方面或第二方面任意一种实现方式是第一方面或第一方面任意一种实现方式对应的方法实现,第一方面或第一方面任意一种实现方式中的描述适用于第二方面或第二方面任意一种实现方式,在此不再赘述。
第三方面,本发明提供一种计算机设备,计算机设备包括:处理器和存储器,存储器用于存储计算机执行指令,处理器用于执行存储器所存储的计算机执行指令,以使所述计算机设备运行第一租户虚拟实例和第一飞地虚拟实例以实现第二方面及第二方面任一种可能的实现方式所揭示的方法。
第四方面,本发明一种计算机存储介质,包括计算机可读指令,当计算机可读指令被执行时,运行第一租户虚拟实例和第一飞地虚拟实例以实现第二方面及第二方面任一种可能的实现方式所揭示的方法。
第五方面,本发明一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机运行第一租户虚拟实例和第一飞地虚拟实例以执行第二方面及第二方面任一种可能的实现方式所揭示的方法。
附图说明
图1是本申请实施例的云数据中心的架构图;
图2是本申请实施例的基于云技术的可信执行系统示意图;
图3是本申请实施例的基于云技术的可信执行系统的数据交互图;
图4是本申请实施例硬件加速设备实现虚拟功能VF或物理功能PF的结构示意图;
图5是本申请实施例的基于云技术的可信执行系统另一示意图;
图6是本申请实施例的基于云技术的可信执行系统的另一数据交互图;
图7是本申请实施例的基于云技术的可信执行系统另一示意图;
图8是本申请实施例的基于云技术的可信执行系统的另一数据交互图;
图9是本申请实施例的基于云技术的可信执行系统另一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本申请实施例涉及的名词进行解释说明:
缩略语和关键术语定义
VM:Virtual Machine,虚拟机;指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在服务器中能够完成的工作在虚拟机中都能够实现。在服务器中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量,每个虚拟机都有独立的硬盘和操作系统,虚拟机的用户可以像使用服务器一样对虚拟机进行操作。
Hypervisor:虚拟机管理器;是实际操作系统,它建立和维护一个管理虚拟机的框架,同时为其他vxd程序提供许多重要的服务。
VMM:Virtual Machine Monitor,虚拟机监视器;虚拟机管理器的另一个叫法。
Docker:容器;利用linux内核支持的命名空间namespace和cgroup技术,将应用APP进程及其依赖包(运行环境bins/libs,具体为运行APP所需的所有文件)隔离在一个独立运行环境中。
APP:Application,应用程序;指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。
TEE:Trusted Execution Environment,可信执行环境;是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。
CPU:Central Processing Unit,中央处理器;作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
Enclave:飞地,用于运行客户机密数据的特定区域。
PF:Physical Function,物理功能;用于支持SR-IOV的PCI功能,拥有完全配置或控制PCIe设备资源的能力。
VF:Virtual Funtion,虚拟功能;是一种轻量级的PCIe功能,与PF相关联,可以与物理功能以及同一物理功能关联的其他VF共享一个或多个物理资源。
SDK:Software Development Kit,软件开发工具包;是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
SMD:Secure Module Device,安全模块设备;用于提供功能接口,完成飞地的操作请求。
AD:Accelerator Device,加速设备;用于为飞地提供硬件加速能力的设备。
PCIe:Peripheral Component Interconnect Express,高速串行计算机扩展总线,是用于连接高速组件的接口标准。
本申请实施例提供一种基于云技术的可信执行系统及方法,用于提高租户计算需求的机密性和高效性并减少对业务性能的影响。以下分别进行详细说明。
图1是本申请实施例的云数据中心的架构图,如图1所示,云数据中心1包括云管理平台10、数据中心内部网络20、客户端40和多个宿主机,图1中以两个宿主机为例进行说明,例如宿主机51和宿主机52,宿主机51和宿主机52分别通过网卡5124和网卡5224与数据中心内部网络20及云管理平台10完成信息交互,云管理平台10通过互联网30和客户端40完成信息交互。以宿主机51为例进行说明,宿主机51包括软件层511和硬件层512,软件层511上的宿主机操作系统5115上运行有租户虚拟实例5111、飞地虚拟实例5112,虚拟实例管理器5113和云管理平台客户端5114,硬件层512上包括通过总线5125相互连接的内存5121、硬件加速设备5122、处理器5123和网卡5124。
宿主机52具有与宿主机51类似的结构,于此不作赘述。
租户虚拟实例5111和飞地虚拟实例5112可例如为虚拟机(virtual machine,VM),对应的,虚拟实例管理器5113为虚拟机管理器(Hypervisor),虚拟机管理器又称虚拟机监视器(virtual machine monitor,VMM);租户虚拟实例5111和飞地虚拟实例5112可例如为容器(Docker)时,对应的,虚拟实例管理器5113为容器管理器。
具体的,云管理平台10提供访问接口(如供租户配置的配置界面或供租户配置的API),云数据中心1的租户可操作客户端40远程接入访问接口,在云管理平台10注册云账号和密码,并登录云管理平台10,云管理平台10对云账号和密码鉴权成功后,租户可进一步在云管理平台付费选择并购买特定规格(处理器、内存、磁盘)的虚拟实例,付费购买成功后,云管理平台10提供所购买的虚拟实例的远程登录账号密码,客户端40可远程登录该虚拟实例,在该虚拟实例中安装并运行租户的应用。云管理平台客户端5114接收云管理平台10发送的控制面命令,根据控制面控制命令在宿主机上创建并对虚拟实例进行全生命周期管理,因此,租户可通过云管理平台10在云数据中心1中创建、管理、登录和操作虚拟实例。
运行在虚拟实例的应用程序(application,APP)在处理数据之前,先在宿主机51的内存5121中对数据进行解密。这使得数据在内存5121处理中变得容易受到攻击。机密计算通常利用基于硬 件的可信执行环境(trusted execution environment,TEE)来解决此问题,TEE是中央处理器(central processing unit,CPU)内部的安全区域。使用嵌入式加密密钥和嵌入式证明机制确保TEE的安全,以确保密钥只能由授权的应用程序代码访问。如果恶意软件或其他未经授权的代码尝试访问密钥或授权的代码被黑客入侵或以任何方式更改TEE将拒绝访问密钥并取消计算。这样,敏感数据可以在内存中保持受保护状态,直到应用程序通知TEE对其解密以进行处理。在解密过程中以及整个计算过程中,数据无法被任何人访问。
具体的,在云场景中,当租户有机密计算的诉求时,在宿主机51的软件层511中创建租户虚拟实例5111的同时会同步创建飞地虚拟实例5112,飞地(Enclave)就是用于运行客户机密数据的特定区域,飞地虚拟实例5112就是用于运行客户机密计算的虚拟实例。
下面结合上述云数据中心的架构和机密计算的概念对本申请实施例提供的基于云技术的可信执行系统及方法进行描述。
图2是本申请实施例基于云技术的可信执行系统示意图,该系统可例如为图1所示的宿主机51或宿主机52,此处我们以宿主机51为例进行说明,如图2所示,该可信执行系统包括租户虚拟实例5111、飞地虚拟实例5112、以及硬件加速设备5122,租户虚拟实例5111与飞地虚拟实例5112之间设置有通信通道100,租户虚拟实例5111与飞地虚拟实例5112均运行在宿主机操作系统5115上,飞地虚拟实例5122与硬件加速设备5122之间设有通信通道200,租户虚拟实例5111通过通信通道100发送计算请求至飞地虚拟实例5112,飞地虚拟实例5112通过通信通道200调用硬件加速设备5122进行计算,再将计算结果通过通信通道100返回给租户虚拟实例5111。
具体的,该硬件加速设备5122可例如为具有独立的操作系统、内存以及处理器的智能卡,该硬件加速设备5122可直接插置于宿主机51的主板插槽中,该硬件加速设备5122也可以通过PCIE总线与宿主机51连接。同时,该可信执行系统中硬件加速设备执行的加速计算包括:数据加密计算、数据解密计算、数据编码计算、数据解码计算、数据压缩计算、数据解压计算中的一者或任意组合,可满足租户虚拟实例5111的不同计算需求。
进一步的,该可信执行系统还包括虚拟实例管理器5113,虚拟实例管理器5113用于管理的租户虚拟实例5111和飞地虚拟实例5112,虚拟实例管理器5113还提供一个安全模块设备5116,该安全模块设备5116用于获取飞地虚拟实例5112进行机密计算所需的认证信息,并将该认证信息提供给飞地虚拟实例5112。。
具体可结合图3对图2所示的可信执行系统的工作流程进行具体说明,图3是根据本申请实施例基于云技术的可信执行系统的数据交互图,其中,图3所示方法假设租户通过登录云管理平台10输入创建租户虚拟实例5111的规格,云管理平台10通知云管理平台客户端5114要创建的虚拟实例5111的规格,云管理平台客户端5114所在的虚拟实例管理器5113在宿主机51的操作系统创建虚拟实例5111,并分配宿主机51中经虚拟化的硬件资源给虚拟实例5111,在租户有机密计算的需求的情况下,租户可通知云管理平台10创建与虚拟实例5111配合使用的飞地虚拟实例5112,云管理平台10通知云管理平台客户端5114创建飞地虚拟实例5112,云管理平台客户端5114所在的虚拟实例管理器5113在宿主机51的操作系统创建飞地虚拟实例5112,并分配宿主机51中经虚拟化的其它硬件资源给飞地虚拟实例5112,其中,租户可在云管理平台10中确定飞地虚拟实例5112的规格,由云管理平台10通知云管理平台客户端5114创建对应规格的飞地虚拟实例5112,或者,租户无需在云管理平台10中指定飞地虚拟实例5112的规格,飞地虚拟实例5112可采用云管理平台10中适用于属于飞地类型的虚拟实例的默认规格。其中,飞地虚拟实例5112与虚拟实例5111配合使用,租户可登陆虚拟实例5111,但是租户不能登录飞地虚拟实例5112,当租户在虚拟实例5111有机密计算需求时,虚拟实例5111产生机密计算的需求,并将该需求发送至飞地虚拟实例5112进行处理。
值得注意的是,除租户之外,任何其他租户或云服务提供商均不能访问或使用飞地虚拟实例5112,飞地虚拟实例5112只能通过通信通道100与虚拟实例5111进行通信,并且,飞地虚拟实例5112与虚拟实例5111具有相同的生命周期,当租户释放虚拟实例5111时,飞地虚拟实例5112也会被释放,且飞地虚拟实例5112被释放时,飞地虚拟实例5112对应的内存数据会被严格地执行格式化处理,从而确保该租户的机密计算信息不会被泄露。
并且,飞地虚拟实例5112预先存储有租户的身份认证信息。
举例而言,租户在虚拟实例5111中若需进行数据加密计算、数据解密计算、数据编码计算、数据解码计算、数据压缩计算、数据解压计算中的一者或任意组合时,虚拟实例5111产生机密计算的需求,并将该需求发送至飞地虚拟实例5112进行处理。
由于租户可登陆虚拟实例5111,因此在本申请实施例中,虚拟实例5111又可称为租户虚拟实例。
如图3所示,可信执行系统的工作流程如下:
步骤S301:租户虚拟实例5111通过通信通道100发送计算请求1给飞地虚拟实例5112;
当租户在虚拟实例5111中产生机密计算的需求时,虚拟实例管理器5113接收到该需求,并通过通信通道100将该需求发送给飞地虚拟实例5112,其中,通信通道100是虚拟实例管理器5113在租户虚拟实例5111和飞地虚拟实例5112之间建立的一条通信通道,用于传输租户虚拟实例5111和飞地虚拟实例5112之间的数据信息。
步骤S302:安全模块设备5116从云管理平台客户端5114获取认证信息1;
值得注意的是,租户虚拟实例5111通过通信通道100发送计算请求1给飞地虚拟实例5112时,计算请求1会经过虚拟实例管理器5113发送至飞地虚拟实例5112,此时虚拟实例管理器5113中的安全模块设备5116可获知租户虚拟实例5111发出计算请求1。
因此,安全模块设备5116从云管理平台客户端5114获取租户虚拟实例5111对应的认证信息1。具体而言,租户在云管理平台10购买租户虚拟实例5111之前会注册一些相关的个人信息,这些个人信息的内容例如为租户在云管理平台10注册的账号、手机号码、邮箱地址和/或登录密码,这些个人信息存储在云管理平台10中,在执行机密计算之前,安全模块设备5116通过云管理平台客户端5114向云管理平台10获取租户的个人信息,这些个人信息将作为租户身份识别的认证信息1。
步骤S303:安全模块设备5116将获取到的认证信息1返回给飞地虚拟实例5112;
安全模块设备5116通过云管理平台客户端5114向云管理平台10获取租户的认证信息1后,云管理平台10通过云管理平台客户端5114向安全模块设备5116返回租户的认证信息1,安全模块设备5116再将获取到的认证信息1返回给飞地虚拟实例5112。
具体的,飞地虚拟实例5112在创建后会预留租户认证信息1,当飞地虚拟实例5112收到租户的机密计算请求后,需要对租户的身份是否合法进行验证,此时飞地虚拟实例5112通过比对预留的租户认证信息1的与安全模块设备5116通过云管理平台客户端5114向云管理平台10获取到的租户认证信息1是否匹配来决定是否进行执行机密计算。若匹配,飞地虚拟实例5112继续执行机密计算的请求,若不匹配,飞地虚拟实例5112拒绝执行机密计算的请求。
步骤S304:飞地虚拟实例5112通过通信通道200调用硬件加速设备5122的虚拟功能VF或物理功能PF进行计算;
在本步骤中,飞地虚拟实例5112通过比对飞地虚拟实例5112预留的租户认证信息1与安全模块设备5116通过云管理平台客户端5114向云管理平台10获取到的租户认证信息1匹配的情况下,飞地虚拟实例5112通过通信通道200调用硬件加速设备的虚拟功能VF或物理功能PF进行计算。其中,通信通道200是安全模块设备5116基于PLCe协议在飞地虚拟实例5112和硬件加速设备5122之间建立的一条通信通道,用于飞地虚拟实例5112和硬件加速设备5122之间的数据信息。
该硬件加速设备5122的虚拟功能(Virtual Funtion,VF)或物理功能(Physical Function,PF)通过外围组件快速互连PCIe协议直通至飞地虚拟实例5112,如图4所示,是本申请实施例硬件加速设备5122实现虚拟功能VF或物理功能PF的结构示意图,该硬件加速设备5122可以被切割成多个实现虚拟功能VF1,VF2…VFn的功能模块,每个VF可以分别挂载到不同的飞地虚拟实例上,为不同的飞地虚拟实例进行加速计算,同理,该硬件加速设备5122可以被切割成多个实现物理功能PF1,PF2…PFn的功能模块,每个PF可以分别挂载到不同的飞地虚拟实例上,为不同的飞地虚拟实例进行加速计算。
举例而言,可将VF1挂载到飞地虚拟实例5112中。
值得注意的是,每个VF单元或PF单元为硬件加速设备5122通过SRIOV协议划分的计算功能单元,每个单元之间相互隔离,每个单元可通过直通技术挂载给虚拟实例直接使用。
步骤S305:硬件加速设备5122将计算结果1返回飞地虚拟实例5112;
硬件加速设备5122完成计算后,通过通信通道200将计算结果1发送给飞地虚拟实例5112。
步骤S306:飞地虚拟实例5112再将计算结果1返回租户虚拟实例5111。
飞地虚拟实例5112通过通信通道100将计算结果1发送给租户虚拟实例5111,整个机密计算的过程完成。
本申请实施例中,该可信执行系统可以对租户虚拟实例发送的计算请求进行机密又高效的计算,租户虚拟实例的计算请求发送给飞地虚拟实例后,飞地虚拟实例通过硬直通的方式调用硬件加速设备进行计算并将结果返回给飞地虚拟实例,飞地虚拟实例再将计算结果返回给租户虚拟实例,飞地虚拟实例调用硬件加速设备进行计算,不再额外占用宿主机中的资源,减少了对宿主机业务性能的影响。
图5是本申请实施例基于云技术的可信执行系统另一示意图,如图5所示,该可信执行系统与图2所示实施例的区别在于安全模块设备5116为飞地虚拟实例5112提供软件开发工具包(Software Development Kit,SDK),飞地虚拟实例5112通过软件开发包工具SDK调用硬件加速设备5122进行计算。
目前的安全模块设备5116提供的接口功能是有限的,主要包括:DescribePCR(查看指定的PCR值)、ExtendPCR(PCR扩展操作)、LockPCRs(锁定指定的PCRs)、DescribeNSM(查询NSM设备状态)、GetAttestationDoc(获取证明文档)和GetRandom(获取随机数),通过软件开发包工具SDK可以扩展安全模块设备5116的接口功能,使其具有硬件加速的接口功能。
具体可结合图6对图5所示的可信执行系统的工作流程进行具体说明,图6是根据本申请实施例基于云技术的可信执行系统的另一数据交互图。如图6所示,可信执行系统的工作流程如下:
步骤S601:租户虚拟实例5111通过通信通道100发送计算请求2给飞地虚拟实例5112;
步骤S602:安全模块设备5116从云管理平台客户端5114获取认证信息2;
步骤S603:安全模块设备5116将获取到的认证信息2返回给飞地虚拟实例5112;
步骤S601-S603的具体实施方式可以参照图3中的步骤S301-S303中的描述,此处不再赘述。
步骤S604:飞地虚拟实例5112通过通信通道200调用硬件加速设备5122进行计算;
在本实施例中,通信通道200是安全模块设备5116基于软件开发工具包SDK在飞地虚拟实例5112和硬件加速设备5122之间建立的一条通信通道,用于飞地虚拟实例5112和硬件加速设备5122之间的数据信息。基于软件开发工具包SDK使得安全模块设备5116具有硬件加速的接口功能,从而使得飞地虚拟实例5112可以调用硬件加速设备5122进行计算。
步骤S605:硬件加速设备5122将计算结果2返回飞地虚拟实例5112;
步骤S606:飞地虚拟实例5112再将计算结果2返回租户虚拟实例5111;
步骤S605-S606的具体实施方式可以参照图3中的步骤S305-S306中的描述,此处不再赘述。
本申请实施例中,该可信执行系统中的飞地虚拟实例通过安装SDK升级调用硬件加速设备进行计算的功能,可在安全模块设备的原有功能上进行功能扩展,从而降低飞地虚拟实例的功能升级操作难度。
图7是本申请实施例基于云技术的可信执行系统另一示意图,如图7所示,该可信执行系统与图2所示实施例的区别在于虚拟实例管理器5113为飞地虚拟实例5112提供加速设备5117,加速设备5117将计算请求发送给硬件加速设备5122进行计算。
具体可结合图8对图7所示的可信执行系统的工作流程进行具体说明,图8是根据本申请实施例基于云技术的可信执行系统的另一数据交互图。如图8所示,可信执行系统的工作流程如下:
步骤S801:租户虚拟实例5111通过通信通道100发送计算请求3给飞地虚拟实例5112;
步骤S802:安全模块设备5116从云管理平台客户端5114获取认证信息3;
步骤S803:安全模块设备5116将获取到的认证信息3返回给飞地虚拟实例5112;
步骤S801-S803的具体实施方式可以参照图3中的步骤S301-S303中的描述,此处不再赘述。
步骤S804:飞地虚拟实例5112通过通信通道200调用硬件加速设备5122进行计算;
本实施例中,加速设备5117是虚拟实例管理器5113在飞地虚拟实例5112创建时为其配置的一个虚拟化的加速器设备,通信通道200是加速设备5117在飞地虚拟实例5112和硬件加速设备5122之间建立的一条通信通道,用于飞地虚拟实例5112和硬件加速设备5122之间的数据信息,租户虚拟实例5111通过通信通道100发送计算请求3给飞地虚拟实例5112时,计算请求3会经过虚拟实例管理器5113发送至飞地虚拟实例5112,此时虚拟实例管理器5113中的加速设备5117可获知租户虚拟实例5111发出计算请求3,当飞地虚拟实例5112通过比对飞地虚拟实例5112预留的租户认证信息3与安全模块设备5116通过云管理平台客户端5114向云管理平台10获取到的租户认证信息3匹配的情况下,加速设备5117将计算请求3发送给硬件加速设备5122进行计算,从而完成飞地虚拟实例5112调用硬件加速设备5122的过程。步骤S805:硬件加速设备5122将计算结果3返回飞地虚拟实例5112;
步骤S806:飞地虚拟实例5112再将计算结果3返回租户虚拟实例5111
步骤S805-S806的具体实施方式可以参照图3中的步骤S305-S306中的描述,此处不再赘述。
本申请实施例中,该可信执行系统中的虚拟实例管理器为飞地虚拟实例配置一个虚拟化的加速设备,该加速设备将租户虚拟实例的计算请求发送给硬件加速设备进行计算,从而使得飞地虚拟实例具有硬件加速的功能。
图9是本申请实施例基于云技术的可信执行系统另一示意图,如图9所示,该可信执行系统与图2所示实施例的区别在于该可信执行系统包括两个租户虚拟实例5111和虚拟租户实例6111、两个飞地虚拟实例5112和飞地虚拟实例6112、以及硬件加速设备5122,租户虚拟实例5111与飞地虚拟实例5112之间设置有通信通道100,租户虚拟实例6111与飞地虚拟实例6112之间设置有通信通道300,通信通道100(300)是虚拟实例管理器5113在租户虚拟实例5111(6111)和飞地虚拟实例5112(6112)之间建立的一条通信通道,用于传输租户虚拟实例5111(6111)和飞地虚拟实例5112(6112)之间的数据信息。租户虚拟实例5111、租户虚拟实例6111、飞地虚拟实例5112和飞地虚拟实例6112均运行在宿主机操作系统5115上;飞地虚拟实例5122与硬件加速设备5122之间设有通信通道200,飞地虚拟实例6122与硬件加速设备5122之间设有通信通道400,通信通道200(400)是安全模块设备5116在飞地虚拟实例5112(6112)和硬件加速设备5122之间建立的一条通信通道,用于飞地虚拟实例5112(6112)和硬件加速设备5122之间的数据信息。租户虚拟实例5111通过通信通道100发送计算请求至飞地虚拟实例5112,飞地虚拟实例5112通过通信通道200调用硬件加速设备5122的虚拟功能VF1进行计算,再将计算结果通过通信通道100返回给租户虚拟实例5111,租户虚拟实例6111通过通信通道300发送计算请求至飞地虚拟实例6112,飞地虚拟实例6112通过通信通道400调用硬件加速设备5122的虚拟功能VF2进行计算,再将计算结果通过通信通道200返回给租户虚拟实例6111,即该可信执行系统可以满足多个虚拟租户实例同时进行机密计算的需求。
可选地,可信执行系统也可以通过包括多个计算机设备的计算机集群来实现,本发明实施例对此不作限定。
并且,本发明实施例还提供一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现上述可信执行系统所执行的方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述可信执行系统所执行的方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本发明各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地生成按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字租户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (23)

  1. 一种基于云技术的可信执行系统,其特征在于,包括第一租户虚拟实例、第一飞地虚拟实例以及硬件加速设备,所述第一租户虚拟实例与所述第一飞地虚拟实例之间设置有第一通信通道,所述第一飞地虚拟实例与所述硬件加速设备之间设置有第二通信通道,其中:
    所述第一租户虚拟实例,用于通过所述第一通信通道发送第一计算请求至所述第一飞地虚拟实例;
    所述第一飞地虚拟实例,用于接收所述第一计算请求,根据所述第一计算请求通过所述第二通信通道调用所述硬件加速设备进行计算,并通过所述第一通信通道将所述硬件加速设备产生的第一计算结果发送至所述第一租户虚拟实例。
  2. 根据权利要求1所述的系统,其特征在于,
    所述硬件加速设备的第一虚拟功能VF或第一物理功能PF通过外围组件快速互连PCIe协议直通至所述第一飞地虚拟实例,所述第二通信通道为基于PCIe协议的直通通道,所述第一飞地虚拟实例调用所述硬件加速设备的第一虚拟功能VF或第一物理功能PF进行计算。
  3. 根据权利要求1或2所述的系统,其特征在于,还包括虚拟实例管理器,
    所述虚拟实例管理器,用于提供安全模块设备;
    所述安全模块设备,用于获取计算所需的认证信息,并将所述认证信息提供给所述第一飞地虚拟实例。
  4. 根据权利要求3所述的系统,其特征在于,
    所述安全模块设备,还用于在所述第一飞地虚拟实例与所述硬件加速设备之间设置所述第二通信通道,并提供软件开发工具包SDK给所述第一飞地虚拟实例;
    所述第一飞地虚拟实例,还用于根据所述SDK调用所述第二通信通道,以将计算相关的数据从所述第二通信通道发送至所述硬件加速设备。
  5. 根据权利要求3所述的系统,其特征在于,
    所述虚拟实例管理器,还用于提供加速设备;
    所述加速设备,用于在所述第一飞地虚拟实例与所述硬件加速设备之间设置所述第二通信通道;
    所述第一飞地虚拟实例,还用于将计算相关的数据通过所述第二通信通道发送至所述硬件加速设备。
  6. 根据权利要求2至5任一项所述的系统,其特征在于,还包括第二租户虚拟实例和第二飞地虚拟实例,所述第二租户虚拟实例与所述第二飞地虚拟实例之间设置有第三通信通道,所述第二飞地虚拟实例与所述硬件加速设备之间设置有第四通信通道,其中:
    所述第二租户虚拟实例,用于通过所述第三通信通道发送第二计算请求至所述第二飞地虚拟实例;
    所述第二飞地虚拟实例,用于接收所述第二计算请求,根据所述第二计算请求通过所述第四通信通道调用所述硬件加速设备的第二虚拟功能VF或第二物理功能PF进行计算,并通过所述第三通信通道将所述硬件加速设备产生的计算结果发送至所述第二租户虚拟实例,其中,所述硬件加速设备的第二虚拟功能VF或第二物理功能PF通过外围组件快速互连PCIe协议直通至所述第二飞地虚拟实例,所述第四通信通道为基于PCIe协议的直通通道。
  7. 根据权利要求1至6任一项所述的系统,其特征在于,所述第一租户虚拟实例、所述第一飞地虚拟实例运行在宿主机中,所述硬件加速设备插置于所述宿主机的主板插槽中。
  8. 根据权利要求7所述的系统,其特征在于,所述硬件加速设备为具有独立的操作系统、内存以及处理器的智能卡。
  9. 根据权利要求1至6任一项所述的系统,其特征在于,所述第一租户虚拟实例、所述第一飞地虚拟实例运行在宿主机中,所述宿主机与所述硬件加速设备通过PCIE总线连接。
  10. 根据权利要求1至9任一项所述的系统,其特征在于,所述计算包括:数据加密计算、数据解密计算、数据编码计算、数据解码计算、数据压缩计算、数据解压计算中的一者或任意组合。
  11. 一种基于云技术的可信执行方法,其特征在于,所述方法应用于可信执行系统,所述可信执行系统包括第一租户虚拟实例、第一飞地虚拟实例以及硬件加速设备,所述第一租户虚拟实例与所述第一飞地虚拟实例之间设置有第一通信通道,所述第一飞地虚拟实例与所述硬件加速设备之间设置有第二通信通道,所述方法包括以下步骤:
    所述第一租户虚拟实例通过所述第一通信通道发送第一计算请求至所述第一飞地虚拟实例;
    所述第一飞地虚拟实例接收所述第一计算请求,根据所述第一计算请求通过所述第二通信通道调用所述硬件加速设备进行计算,并通过所述第一通信通道将所述硬件加速设备产生的第一计算结果发送至所述第一租户虚拟实例。
  12. 根据权利要求11所述的方法,其特征在于,
    所述硬件加速设备的第一虚拟功能VF或第一物理功能PF通过外围组件快速互连PCIe协议直通至所述第一飞地虚拟实例,所述第二通信通道为基于PCIe协议的直通通道,所述第一飞地虚拟实例调用所述硬件加速设备的第一虚拟功能VF或第一物理功能PF进行计算。
  13. 根据权利要求11或12所述的方法,其特征在于,所述系统还包括虚拟实例管理器,所述虚拟实例管理器用于提供安全模块设备;所述方法还包括:
    所述安全模块设备获取计算所需的认证信息,并将所述认证信息提供给所述第一飞地虚拟实例。
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:
    所述安全模块设备在所述第一飞地虚拟实例与所述硬件加速设备之间设置所述第二通信通道,并提供软件开发工具包SDK给所述第一飞地虚拟实例;
    所述第一飞地虚拟实例根据所述SDK调用所述第二通信通道,以将计算相关的数据从所述第二通信通道发送至所述硬件加速设备。
  15. 根据权利要求13所述的方法,其特征在于,所述虚拟实例管理器还用于提供加速设备,所述方法还包括:
    所述加速设备在所述第一飞地虚拟实例与所述硬件加速设备之间设置所述第二通信通道;
    所述第一飞地虚拟实例将计算相关的数据通过所述第二通信通道发送至所述硬件加速设备。
  16. 根据权利要求12至15任一项所述的方法,其特征在于,所述系统还包括第二租户虚拟实例和第二飞地虚拟实例,所述第二租户虚拟实例与所述第二飞地虚拟实例之间设置有第三通信通道,所述第二飞地虚拟实例与所述硬件加速设备之间设置有第四通信通道,所述方法还包括:
    所述第二租户虚拟实例通过所述第三通信通道发送第二计算请求至所述第二飞地虚拟实例;
    所述第二飞地虚拟实例接收所述第二计算请求,根据所述第二计算请求通过所述第四通信通道调用所述硬件加速设备的第二虚拟功能VF或第二物理功能PF进行计算,并通过所述第三通信通道将所述硬件加速设备产生的计算结果发送至所述第二租户虚拟实例,其中,所述硬件加速设备的第二虚拟功能VF或第二物理功能PF通过外围组件快速互连PCIe协议直通至所述第二飞地虚拟实例,所述第四通信通道为基于PCIe协议的直通通道。
  17. 根据权利要求11至16任一项所述的方法,其特征在于,所述第一租户虚拟实例、所述第一飞地虚拟实例运行在宿主机中,所述硬件加速设备插置于所述宿主机的主板插槽中。
  18. 根据权利要求17所述的方法,其特征在于,所述硬件加速设备为具有独立的操作系统、内存以及处理器的智能卡。
  19. 根据权利要求11至16任一项所述的方法,其特征在于,所述第一租户虚拟实例、所述第一飞地虚拟实例运行在宿主机中,所述宿主机与所述硬件加速设备通过PCIE总线连接。
  20. 根据权利要求11至19任一项所述的方法,其特征在于,所述计算包括:数据加密计算、数据解密计算、数据编码计算、数据解码计算、数据压缩计算、数据解压计算中的一者或任意组合。
  21. 一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器;
    所述存储器用于存储计算机执行指令;
    所述处理器用于执行所述存储器所存储的计算机执行指令,以使所述计算机设备运行第一租户虚拟实例和第一飞地虚拟实例以实现如所述权利要求11至20任一项所述的方法。
  22. 一种计算机存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令被执行时,运行第一租户虚拟实例和第一飞地虚拟实例以实现如所述权利要求11至20任一项所述的方法。
  23. 一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机运行第一租户虚拟实例和第一飞地虚拟实例以执行如所述权利要求11至20任一项所述的方法。
PCT/CN2023/104666 2022-07-01 2023-06-30 基于云技术的可信执行系统及方法 WO2024002342A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210773428.4 2022-07-01
CN202210773428.4A CN117370983A (zh) 2022-07-01 2022-07-01 基于云技术的可信执行系统及方法

Publications (1)

Publication Number Publication Date
WO2024002342A1 true WO2024002342A1 (zh) 2024-01-04

Family

ID=89383351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/104666 WO2024002342A1 (zh) 2022-07-01 2023-06-30 基于云技术的可信执行系统及方法

Country Status (2)

Country Link
CN (1) CN117370983A (zh)
WO (1) WO2024002342A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107533609A (zh) * 2015-05-29 2018-01-02 英特尔公司 用于对系统中的多个可信执行环境进行控制的系统、设备和方法
US20180285560A1 (en) * 2017-03-31 2018-10-04 Ansuya Negi System, Apparatus And Method For Providing Locality Assertion Between A Security Processor And An Enclave
US20200257794A1 (en) * 2019-02-13 2020-08-13 Nec Laboratories America, Inc. Graphics processing unit accelerated trusted execution environment
US20210397698A1 (en) * 2020-06-18 2021-12-23 Vmware, Inc. System and method for remote attestation in trusted execution environment creation using virtualization technology
CN114117412A (zh) * 2021-11-30 2022-03-01 中国互联网络信息中心 一种基于可信技术的虚拟加密机平台及其创建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107533609A (zh) * 2015-05-29 2018-01-02 英特尔公司 用于对系统中的多个可信执行环境进行控制的系统、设备和方法
US20180285560A1 (en) * 2017-03-31 2018-10-04 Ansuya Negi System, Apparatus And Method For Providing Locality Assertion Between A Security Processor And An Enclave
US20200257794A1 (en) * 2019-02-13 2020-08-13 Nec Laboratories America, Inc. Graphics processing unit accelerated trusted execution environment
US20210397698A1 (en) * 2020-06-18 2021-12-23 Vmware, Inc. System and method for remote attestation in trusted execution environment creation using virtualization technology
CN114117412A (zh) * 2021-11-30 2022-03-01 中国互联网络信息中心 一种基于可信技术的虚拟加密机平台及其创建方法

Also Published As

Publication number Publication date
CN117370983A (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
US9575790B2 (en) Secure communication using a trusted virtual machine
US8201239B2 (en) Extensible pre-boot authentication
US9258290B2 (en) Secure administration of virtual machines
US8909940B2 (en) Extensible pre-boot authentication
US8595483B2 (en) Associating a multi-context trusted platform module with distributed platforms
JP4498416B2 (ja) トラステッドプラットフォームモジュールのセキュアな仮想化を提供する方法および装置
US10482257B2 (en) System and method to enforce the secure boot policy of a platform on a virtual machine
US11381566B2 (en) Isolating network resources in a virtualized environment
US20160164880A1 (en) Systems And Methods Of Transaction Authorization Using Server-Triggered Switching To An Integrity-Attested Virtual Machine
US20100146267A1 (en) Systems and methods for providing secure platform services
KR102527949B1 (ko) 보안 실행 게스트 소유자 환경 컨트롤
CN102495750A (zh) 虚拟桌面配置和操作技术
CN107704308B (zh) 虚拟平台vTPM管理系统、信任链构建方法及装置、存储介质
US9537738B2 (en) Reporting platform information using a secure agent
CN111669351B (zh) 鉴权方法、业务服务器、客户端及计算机可读存储介质
US11636184B2 (en) Method for providing cloud-based service
US11847253B2 (en) Efficient launching of trusted execution environments
CN111158857A (zh) 数据加密方法、装置、设备及存储介质
WO2023041025A1 (zh) 基于云技术的计算节点及基于云技术的实例管理方法
US11347859B2 (en) Systems and methods for leveraging authentication for cross operating system single sign on (SSO) capabilities
WO2024002342A1 (zh) 基于云技术的可信执行系统及方法
US11671422B1 (en) Systems and methods for securing authentication procedures
US10938857B2 (en) Management of a distributed universally secure execution environment
WO2023041037A1 (zh) 基于云技术的计算节点及基于云技术的实例管理方法
US20230345240A1 (en) Contextual authentication for secure remote sessions

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23830505

Country of ref document: EP

Kind code of ref document: A1