WO2023041025A1 - Cloud-technology-based computing node and cloud-technology-based instance management method - Google Patents

Cloud-technology-based computing node and cloud-technology-based instance management method Download PDF

Info

Publication number
WO2023041025A1
WO2023041025A1 PCT/CN2022/119266 CN2022119266W WO2023041025A1 WO 2023041025 A1 WO2023041025 A1 WO 2023041025A1 CN 2022119266 W CN2022119266 W CN 2022119266W WO 2023041025 A1 WO2023041025 A1 WO 2023041025A1
Authority
WO
WIPO (PCT)
Prior art keywords
instance
enclave
trusted execution
card
master
Prior art date
Application number
PCT/CN2022/119266
Other languages
French (fr)
Chinese (zh)
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 WO2023041025A1 publication Critical patent/WO2023041025A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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
    • 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

Definitions

  • the embodiments of the present application relate to the field of cloud technology, and in particular, to a cloud technology-based computing node and a cloud technology-based instance management method.
  • Cloud technology has been widely used in various fields, such as cloud services, and the security of the data environment of cloud services is related to the security of data privacy in the cloud.
  • Data in cloud services are generally divided into three forms: static data, data in transmission, and data in use.
  • the former two can be encrypted to ensure data security.
  • confidential computing is generally used at present.
  • Protecting the security of data in use mainly lies in providing a trusted execution environment (TEE), which is a secure area inside the central processing unit (CPU).
  • TEE trusted execution environment
  • the confidential data placed in the TEE and the software used to process the confidential data can only be accessed in an authorized manner, ensuring the confidentiality and integrity of the confidential data and reducing processing time.
  • Confidential data is the attack surface of the software.
  • the existing TEE is constructed based on a virtual machine monitor (virtual machine monitor, VMM). Specifically, part of the CPU and memory is isolated from the host computer through the VMM, and the isolated CPU and memory are used to create a TEE.
  • VMM virtual machine monitor
  • the host machine is attacked maliciously, for example, after the VMM of the host machine is compromised, the CPU and memory in the host machine can be accessed through the VMM, the security of the TEE is affected, and the security of the TEE is reduced. In addition, the TEE will occupy the host machine. The resources on the host machine are affected.
  • the embodiment of the present application provides a computing node based on cloud technology, which is used to improve the security, confidentiality and integrity of user programs and data and reduce the impact on business performance.
  • the embodiment of the present application also provides a corresponding instance management method based on cloud technology.
  • the first aspect of the present application provides a computing node based on cloud technology, including a host computer and an offload card, the offload card is inserted into the host computer and establishes a communication channel with the host computer, an enclave instance runs on the host computer, and the offload card
  • a trusted execution module assigned to the Enclave instance is set on the Enclave instance, and an application program is set in the Enclave instance, wherein the Enclave instance is used to send the confidential computing tasks generated by the application program to the Trusted Execution Module through a communication channel; the Trusted Execution Module It is used to process confidential computing tasks and return the processing results to the Enclave instance through the communication channel.
  • the computing node based on cloud technology in this application can be a server.
  • the server includes a host machine and an offloading card.
  • One or more virtual machines (virtual machine, VM) can run on the host machine, and the virtual machine manager (Hypervisor) Execution, the virtual machine manager is also called virtual machine monitor (virtual machine monitor, VMM).
  • the offload card is a standard external device of the host machine, also known as a smart card, which is inserted into the host machine and establishes a communication channel with the host machine.
  • Enclave instance It is a trusted execution environment and a trusted isolation space.
  • the unloading card in this application is provided with a trusted execution module assigned to the Enclave instance.
  • the trusted execution module is used to perform confidential calculations.
  • the Enclave instance is provided with an application program. During the application process, the Enclave instance passes the application program through the communication channel.
  • the generated confidential computing tasks are sent to the trusted execution module, and the trusted execution module can process the confidential computing tasks and return the processing results to the Enclave instance, thus completing the confidential computing tasks.
  • the computing node based on cloud technology includes a host computer and an offload card.
  • the offload card is inserted into the host computer and establishes a communication channel with the host computer.
  • An enclave instance runs on the host computer.
  • the trusted execution module assigned by the Enclave instance where the Enclave instance is used to send confidential computing tasks to the trusted execution module; the trusted execution module is used to process confidential computing tasks, and the trusted execution module set on the uninstall card makes the TEE
  • the trusted execution module responsible for confidential computing is physically isolated from the main instance through the host computer and the offloading card. After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving the security of user programs and data. , confidentiality and integrity.
  • the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
  • a master instance is also running on the host machine, a virtual channel is established between the master instance and the Enclave instance, and the Enclave instance is also used to exchange information with the master instance through the virtual channel.
  • the master instance is also running on the host machine, and a virtual channel is established between the master instance and the enclave instance.
  • the enclave instance can exchange information with the master instance through the virtual channel, such as notifying the master instance of the processing result.
  • the virtual channel It can be a vsock channel, which can assist other security encryption schemes, such as digital signature algorithms such as RSA public key encryption, so that the master instance and the enclave instance can communicate securely and minimize the attack surface.
  • the unloading card is connected to the cloud management platform network, and the unloading card is also used to receive the master instance creation request sent by the cloud management platform, and notify the host computer to create the master instance through the communication channel.
  • the offload card is connected to the cloud management platform network, that is, the computing node based on cloud technology can be applied in the cloud data center, and the user can input a master instance creation request on the client side and send it to the cloud management platform through the Internet , the cloud management platform sends the master instance creation request to the offload card of the computing node through the internal network of the data center, and the offload card notifies the host to create the master instance through the communication channel, which improves the feasibility of the solution.
  • the cloud management platform network that is, the computing node based on cloud technology can be applied in the cloud data center
  • the user can input a master instance creation request on the client side and send it to the cloud management platform through the Internet
  • the cloud management platform sends the master instance creation request to the offload card of the computing node through the internal network of the data center
  • the offload card notifies the host to create the master instance through the communication channel, which improves the feasibility of the solution.
  • the master instance is further configured to notify the host machine to create an enclave instance based on an enclave instance creation command entered by a tenant logging into the master instance.
  • the computing node can be shared by multiple tenants.
  • the tenant After logging in to the master instance, the tenant can enter the enclave instance creation command to notify the host to create an enclave instance, which improves the feasibility of the solution.
  • the number of Enclave instances is one.
  • one master instance is configured with one enclave instance, which improves the feasibility of the solution.
  • the number of Enclave instances is N, where N is a positive integer greater than or equal to 2, and the N Enclave instances handle different types of confidential computing tasks respectively.
  • a master instance can be configured with multiple enclave instances, and each enclave instance handles different types of confidential computing tasks.
  • the master instance starts an enclave instance, the application running on the encalve instance will generate a corresponding If a specific type of confidential computing task needs to be processed, the master instance only needs to start the corresponding Encalve instance, thereby improving the ability to split confidential computing tasks at a fine-grained level and ensuring the minimum authority.
  • the number of trusted execution modules is N, and each trusted execution module is connected to a different enclave instance.
  • the number of trusted execution modules is the same as the number of enclave instances, and each trusted execution module is connected to different enclave instances, which improves the feasibility of the solution.
  • one master instance corresponds to one trusted execution module.
  • the number of master instances is the same as the number of trusted execution modules, and the trusted execution modules corresponding to one master instance can be connected to different enclave instances to provide services, which improves the feasibility of the solution sex.
  • the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing express link CXL channel.
  • the communication channel can be a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) channel, or a computing express link (compute express link, CXL) channel, thereby improving the host computer and Offload the communication speed between cards.
  • PCIe peripheral component interconnect express
  • CXL compute express link
  • the second aspect of the present application provides an instance management method based on cloud technology, which is applied to a computing node.
  • the computing node includes a host computer and an offloading card.
  • the offloading card is inserted into the host computer and establishes a communication channel with the host computer.
  • the host computer An enclave instance runs on the enclave, the offloading card is provided with a trusted execution module assigned to the enclave instance, and the enclave instance is provided with an application program, the method includes the following steps: the enclave instance uses the communication channel to generate the confidential computing The task is sent to the trusted execution module; the trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance through the communication channel.
  • the computing node based on cloud technology in this application can be a server.
  • the server includes a host machine and an offloading card.
  • One or more virtual machines (virtual machine, VM) can run on the host machine, and the virtual machine manager (Hypervisor) Execution, the virtual machine manager is also called virtual machine monitor (virtual machine monitor, VMM).
  • the offload card is a standard external device of the host machine, also known as a smart card, which is inserted into the host machine and establishes a communication channel with the host machine.
  • Enclave instance It is a trusted execution environment and a trusted isolation space.
  • the unloading card in this application is provided with a trusted execution module assigned to the Enclave instance.
  • the trusted execution module is used to perform confidential calculations.
  • the Enclave instance is provided with an application program. During the application process, the Enclave instance passes the application program through the communication channel.
  • the generated confidential computing tasks are sent to the trusted execution module, and the trusted execution module can process the confidential computing tasks and return the processing results to the Enclave instance, thus completing the confidential computing tasks.
  • the instance management method based on cloud technology is applied to the computing node.
  • the computing node includes a host computer and an offloading card.
  • the offloading card is inserted into the host computer and establishes a communication channel with the host computer.
  • An enclave enclave runs on the host computer.
  • the trusted execution module assigned to the Enclave instance is set on the uninstall card, the method includes: the Enclave instance sends the confidential computing task to the trusted execution module; the trusted execution module processes the confidential computing task, and the trusted execution module set on the uninstall card
  • the execution module makes the trusted execution module responsible for confidential computing in the TEE physically isolated from the main instance through the host computer and the offloading card.
  • the trusted execution module in the offloading card After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving user The security, confidentiality and integrity of programs and data. In addition, the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
  • a master instance is also running on the host computer, and a virtual channel is established between the master instance and the Enclave instance, and the Enclave instance is used to exchange information with the master instance through the virtual channel.
  • the method also includes : The Enclave instance notifies the master instance of the processing result through the virtual channel.
  • the master instance is also running on the host machine, and a virtual channel is established between the master instance and the enclave instance.
  • the enclave instance can exchange information with the master instance through the virtual channel, such as notifying the master instance of the processing result.
  • the virtual channel It can be a vsock channel, which can assist other security encryption schemes, such as digital signature algorithms such as RSA public key encryption, so that the master instance and the enclave instance can communicate securely and minimize the attack surface.
  • the unloading card is connected to the cloud management platform network, and the method further includes: the unloading card receives a master instance creation request sent by the cloud management platform, and notifies the host computer to create a master instance through a communication channel .
  • the unloading card is also connected to the network of the cloud management platform, that is, the instance management method based on cloud technology can be applied in the cloud data center, and the user can input the master instance creation request on the client and send it to the cloud through the Internet.
  • the management platform the cloud management platform sends the master instance creation request to the unloading card of the computing node through the internal network of the data center, and the unloading card notifies the host to create the master instance through the communication channel, which improves the feasibility of the solution.
  • the method further includes: the master instance notifies the uninstallation card to create the enclave instance and the trusted execution module based on the enclave instance creation command entered by the tenant who logs in to the master instance.
  • the computing node can be shared with multiple tenants.
  • the tenant After logging in to the main instance, the tenant can enter the Enclave instance creation command to notify the uninstaller card to create an Enclave instance and a trusted execution module, which improves the feasibility of the solution. .
  • the number of Enclave instances is one.
  • one master instance is configured with one enclave instance, which improves the feasibility of the solution.
  • the number of Enclave instances is N, where N is a positive integer greater than or equal to 2, and the N Enclave instances handle different types of confidential computing tasks respectively.
  • a master instance can be configured with multiple enclave instances, and each enclave instance handles different types of confidential computing tasks.
  • the master instance starts an enclave instance, the application running on the encalve instance will generate a corresponding If a specific type of confidential computing task needs to be processed, the master instance only needs to start the corresponding Encalve instance, thereby improving the ability to split confidential computing tasks at a fine-grained level and ensuring the minimum authority.
  • the number of trusted execution modules is N, and each trusted execution module is connected to a different enclave instance.
  • the number of trusted execution modules is the same as the number of enclave instances, and each trusted execution module is connected to different enclave instances, which improves the feasibility of the solution.
  • one master instance corresponds to one trusted execution module.
  • the number of master instances is the same as the number of trusted execution modules, and the trusted execution modules corresponding to one master instance can be connected to different enclave instances to provide services, which improves the feasibility of the solution sex.
  • the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing express link CXL channel.
  • the communication channel may be a high-speed serial computer expansion bus channel, or a computing fast link channel, thereby increasing the communication speed between the host computer and the offloading card.
  • the computing node based on cloud technology includes a host computer and an offload card.
  • the offload card is inserted into the host computer and establishes a communication channel with the host computer.
  • An enclave instance runs on the host computer, and the offload card is set with The trusted execution module assigned to the Enclave instance, where the Enclave instance is used to send confidential computing tasks to the trusted execution module; the trusted execution module is used to process confidential computing tasks, and the trusted execution module set on the uninstall card makes the TEE
  • the trusted execution module responsible for confidential computing is physically isolated from the main instance through the host computer and the offloading card. After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving the security of the TEE.
  • the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
  • Figure 1 is an architecture diagram of a cloud data center
  • FIG. 2 is a schematic diagram of software layers of an embodiment of a computing node based on cloud technology provided by an embodiment of the present application;
  • FIG. 3 is a schematic diagram of a hardware layer of an embodiment of a computing node based on cloud technology provided by an embodiment of the present application;
  • FIG. 4 is a schematic diagram of the hardware layer of another embodiment of a computing node based on cloud technology provided by the embodiment of the present application;
  • FIG. 5 is a schematic diagram of an embodiment of a cloud-based instance management method provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another embodiment of the cloud technology-based instance management method provided by the embodiment of the present application.
  • the embodiment of the present application provides a computing node based on cloud technology, which is used to improve the security, confidentiality and integrity of user programs and data and reduce the impact on business performance.
  • the embodiment of the present application also provides a corresponding instance management method based on cloud technology. Each will be described in detail below.
  • the cloud data center includes a cloud management platform, an internal network of the data center, and multiple servers.
  • Each server is the same, such as server 1 and server 2.
  • the cloud management platform completes information interaction, and the cloud management platform completes information interaction with the client through the Internet.
  • the network card is installed on the offload card.
  • the offload card is also called a smart card. It is a standard external device for the server.
  • the server also includes a host machine. The unloading card is inserted into the host machine and establishes a communication channel with the host machine.
  • One or more virtual machines can run on the host machine, such as virtual machine 1 and virtual machine 2.
  • the host machine can also be called a cloud server (elastic compute service, ECS) or an elastic instance, etc., and the host machine is executed through a virtual machine manager (Hypervisor), which is also called a virtual machine monitor (virtual machine monitor, VMM).
  • ECS elastic compute service
  • Hypervisor virtual machine manager
  • VMM virtual machine monitor
  • the cloud management platform provides an access interface (such as an interface or API), and tenants can operate the remote access interface of the client to register a cloud account and password on the cloud management platform and log in to the cloud management platform.
  • the tenant can further select and purchase a virtual machine with specific specifications (processor, memory, disk) on the cloud management platform.
  • the cloud management platform provides the remote login account password of the purchased virtual machine.
  • the client can remotely log in to the virtual machine, install and run the tenant's application in the virtual machine.
  • the client of the cloud management platform receives the control plane commands sent by the cloud management platform, creates virtual machines on the server according to the control plane control commands, and performs full life cycle management of virtual machines. Therefore, tenants can create and manage virtual machines in the cloud data center through the cloud management platform. , Log in and operate the virtual machine.
  • TEE hardware-based trusted execution environment
  • a secure enclave inside the CPU.
  • TEEs are secured using embedded encryption keys and embedded proof mechanisms to ensure keys are only accessible by authorized application code. If malware or other unauthorized code tries to access the key - or authorized code is hacked or altered in any way the TEE will deny access to the key and cancel the computation. This way, sensitive data can remain protected in memory until the application tells the TEE to decrypt it for processing.
  • the operating system or the VMM in the VM, other computing stack resources, and the cloud provider and its employees cannot see the data.
  • Confidential computing protects sensitive data in use. When used with data-at-rest encryption and in transit with exclusive control of the keys, confidential computing eliminates the need for sensitive or highly regulated data sets and application workloads from inflexible, expensive local internet technology (IT) The biggest barrier to infrastructure migration to a more flexible and modern public cloud platform.
  • IT local internet technology
  • Confidential computing protects intellectual property. Confidential computing isn't just for data protection. TEEs can also be used to protect proprietary business logic, analytics functions, machine learning algorithms, or entire applications.
  • Confidential computing enables secure collaboration with partners on new cloud solutions. For example, a company can combine its sensitive data with another company's proprietary computing to create new solutions without requiring either company to share any data or intellectual property it does not wish to share.
  • Confidential computing can take the worry out of choosing a cloud provider. Confidential computing allows companies to choose the cloud computing service that best meets their technical and business requirements without having to worry about storing and processing customer data, know-how and other sensitive assets. This also helps mitigate any other competition concerns if the cloud provider also offers competing business services.
  • Edge computing is a distributed computing framework that brings enterprise applications closer to data sources, such as internet of things (IoT) devices or local edge servers.
  • IoT internet of things
  • confidential computing can be used to protect data and applications on edge nodes.
  • the following describes the computing node based on cloud technology provided by the embodiment of this application in combination with the above-mentioned cloud data center architecture and the concept of confidential computing.
  • an embodiment of the computing node based on cloud technology provided by the embodiment of the present application includes a host machine 100 and an offloading card 200.
  • the offloading card 200 is inserted into the host machine 100 and establishes a communication channel with the host machine 100.
  • An enclave instance 120 is running on the host 100, and a trusted execution module 210 assigned to the enclave instance 120 is also provided on the unloading card 200, and an application program is arranged in the enclave instance 120, wherein the number of the enclave instance 120 is 1 , the communication channel may be a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) channel, or a computing express link (compute express link, CXL) channel.
  • PCIe peripheral component interconnect express
  • CXL compute express link
  • the master instance 110 is also running on the host machine 100, and a virtual channel is established between the master instance 110 and the enclave instance 120, and the enclave instance 120 is also used to exchange information with the master instance 110 through the virtual channel, for example, to notify the master instance 110 of the processing result .
  • the host computer 100 also includes a virtual machine manager 140 and an instance simulator front-end module 130.
  • the instance simulated by the instance simulator front-end module 130 is an abstract concept, not limited to virtual machines, containers, and functions.
  • the instance simulator front-end module 130 is used to simulate various chipsets of computer equipment, life cycle management of central processing unit (CPU) in virtual machine, virtual machine exit (VM Exit) and other logic processing strongly related to virtual machine business, instance simulation
  • the front-end module 130 specifically includes an intelligent control module 131, an isolated communication module 132, and an enclave security module 133.
  • the intelligent control module 131 is used to control channels related to the life cycle of the Enclave instance 120, including but not limited to PCIe devices, virtualized IO Processing protocol (virtual IO, VirtIO) equipment, etc., and is responsible for isolating independent CPU and memory from the main instance 110 for use by the Enclave instance 120.
  • the isolated communication module 132 is used to connect the master instance 110 and the safe communication channel of the Enclave instance 120, has perfect security control, and is a closed-loop connection (end to end) at the same time, and will not spread the attack surface of the virtual machine manager 140 itself, is A secure connection channel.
  • the enclave security module 133 is used to complete trusted execution environment command-related operations for the enclave instance 120, and is used to transfer security-related commands and messages that need to be carried out in the enclave instance 120.
  • the enclave security module 133 supports both virtual devices and real devices. Physical devices, including physical functions (physical function, PF), virtual functions (virtual function, VF) and standard (single root I/O virtualization, SR-IOV) endpoint devices that do not support PCIe sharing to virtual machines .
  • the example simulator front-end module 130 also includes other modules related to its use, which is not limited in this embodiment of the present application.
  • the offload card 200 also includes a control plane logic component 230 and an instance emulator backend module 220 .
  • the management control plane logic component 230 includes multiple components, such as components related to the life cycle of the virtual machine, such as components Nova and libvirt (components used to manage virtualization platforms) of open source OpenStack (an open source cloud computing management platform project) , kubernetes (for managing containerized applications on multiple hosts in the cloud platform), and components related to system installation, upgrade, deployment, and operation and maintenance, modules in the instance simulator back-end module 220 and instance simulator front-end modules 130 corresponds to one-to-one, which will not be repeated in this embodiment of the present application.
  • Nova and libvirt components used to manage virtualization platforms
  • OpenStack an open source cloud computing management platform project
  • kubernetes for managing containerized applications on multiple hosts in the cloud platform
  • modules in the instance simulator back-end module 220 and instance simulator front-end modules 130 corresponds to one-to-one, which will not be repeated in this embodiment of the
  • the intelligent control module 131 includes a life cycle management module 1311 , a memory isolation module 1312 , a CPU isolation module 1313 and a virtual device simulation module 1314 .
  • the lifecycle management module 1311 is used to create, destroy and reconfigure the Enclave instance 120, and is also responsible for the connection management with the instance simulator backend module 220.
  • the memory isolation module 1312 is used to perform memory isolation operations, which need to be connected with the virtual
  • the machine manager 140 cooperates to ensure that the users of the main instance 110 or simulation programs have no access to the memory of the enclave instance 120.
  • the CPU isolation module 1313 is used to perform CPU isolation operations and needs to work with the virtual machine manager 140 to ensure that the main instance The user or simulation program of 110 has no right to use the CPU independently used by the Enclave instance 120.
  • the virtual device simulation module 1314 is used to simulate the device of the master instance 110 command channel, which can be a VirtIO device or any other peripheral component interconnection standard (peripheral component interconnect, PCI) devices, memory-mapped I/O (MMIO) analog devices, etc.
  • PCI peripheral component interconnection standard
  • MMIO memory-mapped I/O
  • the isolated communication module 132 includes a control device module 1321 , an unowned communication management module 1322 and a rights management module 1323 .
  • the control device module 1321 is mainly used to establish a secure internal channel connection between the master instance 110 and the Enclave instance 120.
  • the channel can be a VirtIO device, a network card device, and a shared memory device.
  • the function of the virtual machine manager 140 directly performs end-to-end communication between the main instance 110 and the enclave instance 120, which does not expand the attack surface of the virtual machine manager 140, and also ensures the absolute security of the enclave instance 120.
  • the authority management module 1323 It is used to control and manage the permissions of the communication channel to ensure that no other abnormal users or escaped attackers can access the communication channel.
  • the enclave security module 133 includes a device management module 1331 , a backend communication management module 1332 , a resource management module 1333 and a security information encapsulation module 1334 .
  • the device management module 1331 is used for the simulation of the lightweight trusted execution environment, and includes the device management function of the security module device, the virtual security module device or the direct access to the real module device.
  • the back-end communication management module 1332 establishes a connection with the trusted execution module 210 of the unloading card 200, and transmits the request and response information of the Enclave instance 120.
  • the resource management module 1333 is responsible for the management resource allocation or release of the entire Enclave instance 120, etc., and the security information encapsulation module 1334 securely encapsulates the request issued by the Enclave instance 120, the security information encapsulation module 1334 is optional, and is not required in some scenarios, such as the direct scenario.
  • the trusted execution module 210 includes a message management module 211 , a security processing module 212 and a hardware acceleration module 213 .
  • the message management module 211 is used to perform a handshake connection with the instance emulator front-end module 130, including the establishment of a communication channel, automatic reconnection, and message distribution.
  • the security processing module 212 is used to perform security operation processing related to confidential computing tasks, such as encryption and decryption, random number generation processing, and certificate generation logic.
  • the hardware acceleration module 213 is used to enable the capability of the security chip or TEE, store some confidential information, such as keys, values of the platform configuration register (PCR), etc. in the hardware, or use hardware to accelerate security operations.
  • the entire trusted execution module 220 can be placed entirely or partially in the TEE, thereby constructing a completely isolated confidential computing environment.
  • the host machine 310 includes a CPU 311 , a memory 312 and a root multiplexer (root complex, RC) chip 313 .
  • the RC chip 313 is a chip defined in the PCIe specification, and its function is to provide a hardware interface for the CPU 311 of the host machine 310 to send and receive PCIe messages to and from external devices.
  • the host machine 310 and the offloading card 320 are interconnected using the standard PCIe protocol, that is, the communication channel is a PCIe channel, and the communication channel can also be a CXL channel, and the RC chip 313 can be replaced at this time.
  • the uninstall card 320 includes a CPU 321 , a memory 322 , an endpoint (end point, EP) chip 323 and a security chip 324 .
  • the EP chip 324 is a chip defined in the PCIe specification, and its function is to send and receive PCIe messages to the host computer 310 as a peripheral interface, that is, the communication channel is a PCIe channel, and the communication channel can also be a CXL channel.
  • the EP chip 323 Substitutions can be made.
  • the security chip 324 can be a TEE security chip, and the TEE security chip can also be set in the CPU 321 , so as to further strengthen the security of confidential computing through hardware.
  • the application program (application, APP) running on the Enclave instance generates confidential computing tasks.
  • the application program is self-developed by the user, that is, the user pre-creates the application program according to his own confidential computing needs.
  • the specific confidential computing task can be obtained Random numbers or obtain key information, etc., and then the Enclave instance sends the confidential computing task to the trusted execution module.
  • After computing the task parse the header information used in the management of the confidential computing task without parsing the content of the specific confidential computing task.
  • the enclave security module continues to call the back-end communication management module to send the assembled confidential computing task request through a secure communication channel.
  • the trusted execution module To uninstall the trusted execution module of the card, after the trusted execution module receives the request of the confidential computing task, it analyzes and processes it through the security processing module, and the trusted execution module can call the corresponding logic of the hardware acceleration module according to the category of the confidential computing task. To speed up the processing, the trusted execution module returns the processing result to the Enclave instance after obtaining the processing result, specifically, it returns to the enclave security module of the front-end module of the instance simulator first, and the enclave security module receives the processing result and sends the processing result to the Enclave instance, and finally the Enclave instance can also notify the master instance of the processing result through the virtual channel to complete confidential computing tasks.
  • the Enclave instance can communicate with the master instance through a virtual channel, and use the master instance as a proxy to obtain these parameters from the external network.
  • the host and the smart card can be migrated to other computing nodes together to ensure the portability of cloud services and the elasticity of virtualization, and the bare metal server will not be consumed during the hot migration process
  • Server resources such as CPU and memory, do not affect tenant business performance, such as performance jitter.
  • the computing node based on cloud technology includes a host computer and an offload card.
  • the offload card is inserted into the host computer and establishes a communication channel with the host computer.
  • An enclave instance runs on the host computer, and the offload card is set with The trusted execution module assigned to the Enclave instance, where the Enclave instance is used to send confidential computing tasks to the trusted execution module; the trusted execution module is used to process confidential computing tasks, and the trusted execution module set on the uninstall card makes the TEE
  • the trusted execution module responsible for confidential computing is physically isolated from the main instance through the host computer and the offloading card. After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving the security of user programs and data.
  • the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
  • the offload card 420 is also connected to the cloud management platform 404 network, that is, the computing node 400 is applied to the data center 400 .
  • the host machine 410 includes a CPU 411 , a memory 412 and a root multiplexer (root complex, RC) chip 413 .
  • the RC chip 413 is a chip defined in the PCIe specification, and its function is to provide a hardware interface for the CPU 411 of the host machine 410 to send and receive PCIe messages to and from external devices.
  • the host computer 410 and the offloading card 420 are interconnected using the standard PCIe protocol, that is, the communication channel is a PCIe channel, and the communication channel can also be a CXL channel, and the RC chip 413 can be replaced at this time.
  • the uninstall card 420 includes a CPU 421 , a memory 422 , an endpoint (end point, EP) chip 423 and a security chip 424 .
  • the EP chip 424 is a chip defined in the PCIe specification, and its function is to send and receive PCIe messages to the host computer 410 as a peripheral interface, that is, the communication channel is a PCIe channel, and the communication channel can also be a CXL channel.
  • the EP chip 423 Substitutions can be made.
  • the security chip 424 can be a TEE security chip, and the TEE security chip can also be set in the CPU 421 , so as to further strengthen the security of confidential computing through hardware.
  • the offloading card 420 also includes a network card 425, and the offloading card 420 is connected to global storage resources and network resources through the network card 425.
  • the network card 425 can be connected to the cloud management platform 404 through the data center internal network 403, the data center internal network 403 can also be connected to the network cards of other computing nodes 402, and the cloud management platform 404 is connected to the client 406 through the Internet 405.
  • the cloud management platform client in the embodiment is offloaded in the network card 425 of the offloading card 420 , that is, external users do not directly communicate with the host machine 410 , but communicate securely with the host machine 410 through the offloading card 420 .
  • the user Before performing confidential computing tasks, the user needs to create a master instance and an enclave instance, and the offload card receives the master instance creation request sent by the cloud management platform, and notifies the host to create a master instance through the communication channel.
  • the master instance notifies the host to create an enclave instance based on the enclave instance creation command entered by the tenant who logs in to the master instance, and the master instance also notifies the uninstaller card to create a trusted execution module based on the enclave instance creation command.
  • the administrator or user can send a master instance creation request.
  • the management component of the uninstall card will first receive the master instance creation request sent by the cloud management platform, and then assemble the corresponding master instance.
  • the configuration file of the instance which includes the CPU type, number of CPUs, memory size, disk, network card, mouse, etc.
  • the uninstallation card notifies the host to create a master instance through the communication channel, that is, the configuration file and the master instance
  • the creation request is sent to the host, and the host will start the front-end module of the instance simulator according to the content of the configuration file, and call the virtual device simulation module of the front-end module of the instance simulator to work. Uninstalling the card after startup will also start the back-end module of the instance simulator. And establish a connection channel with the front-end module of the instance emulator for the transmission of subsequent messages, thereby completing the creation of the master instance, and the master instance starts working.
  • the tenant can log in to the master instance, select Enclave on the interface of the master instance or during the creation process of the master instance, and then initiate an Enclave instance creation command on the master instance through the Enclave tool.
  • the enclave instance creation command includes Information such as the number of CPUs and memory size required by the enclave instance, the life cycle management module of the intelligent command control module of the instance emulator front-end module of the main instance receives the enclave instance creation command, and will analyze the parameters of the enclave instance creation command, and prepare the enclave instance creation command before starting Prepare, and then the intelligent control module calls the memory isolation module according to the parameters, and cooperates with the virtual machine manager to isolate the memory of the corresponding size from the main instance. The intelligent control module also calls the CPU isolation module according to the parameters, and the virtual machine manager.
  • the corresponding CPU resources are allocated from the main instance for the exclusive use of the Enclave instance, and then the life cycle management module starts the Enclave instance of the host machine, and calls the device management module of the enclave security module to perform device simulation. Then the front-end module of the instance simulator of the main instance notifies the back-end module of the instance simulator of the unloading card through the communication channel to start building a trusted execution environment. The back-end module of the instance simulator pulls up the trusted execution module and uses the message management module to communicate with the host The enclave instance establishes a secure connection. At this time, the enclave instance and the trusted execution module start to work, and can perform subsequent confidential computing tasks.
  • the number of Enclave instances is N, and N is a positive integer greater than or equal to 2.
  • N Enclave instances process different types of confidential computing tasks respectively, and the number of trusted execution modules on the offload card is also N.
  • each trusted execution module is respectively connected with different enclave instances, that is, each enclave instance is connected with a trusted execution module.
  • a master instance can also correspond to a trusted execution module, and the number of master instances and trusted execution modules is the same, and the trusted execution modules corresponding to a master instance can be connected to different enclave instances to provide services.
  • the computing node is applied to the cloud data center, and the unloading card is also connected to the cloud management platform network, thereby creating a master instance and an enclave instance, which improves the feasibility of the solution.
  • the number of enclave instances is multiple. The ability to fine-grained split confidential computing tasks has been improved to ensure that permissions are minimized.
  • the method includes:
  • the Enclave instance sends the confidential computing task generated by the application program to the trusted execution module through a communication channel.
  • the trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance through the communication channel.
  • Computing nodes include a host and an offload card.
  • the offload card is inserted into the host and establishes a communication channel with the host.
  • Enclave instances run on the host.
  • the card is also provided with a trusted execution module assigned to the Enclave instance, and the Enclave instance is provided with an application program, wherein the number of the Enclave instance is 1, and the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing fast link CXL aisle.
  • the Enclave instance of the computing node sends the confidential computing tasks generated by the application to the trusted execution module through the communication channel.
  • the trusted execution module of the computing node processes the confidential computing tasks and returns the processing results to the Enclave instance to complete the confidential computing tasks.
  • the instance management method based on cloud technology is applied to the computing node.
  • the computing node includes a host computer and an offload card.
  • the offload card is inserted into the host computer and establishes a communication channel with the host computer.
  • An enclave runs on the host computer.
  • a trusted execution module assigned to the enclave instance is set on the unloading card.
  • the method includes: the enclave instance sends the confidential computing task to the trusted execution module;
  • the trusted execution module makes the trusted execution module responsible for confidential computing in the TEE physically isolated from the main instance through the host computer and the offloading card.
  • the trusted execution module in the offloading card After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving The security, confidentiality and integrity of user programs and data. In addition, the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
  • the method includes:
  • the uninstallation card receives a master instance creation request sent by the cloud management platform, and notifies the host computer to create the master instance through a communication channel.
  • the master instance notifies the unloading card to create an enclave instance based on the enclave instance creation command input by the tenant who logs in to the master instance.
  • the master instance Based on the Enclave instance creation command, the master instance notifies the offload card to create a trusted execution module.
  • the Enclave instance sends the confidential computing task generated by the application program to the trusted execution module through the communication channel.
  • the trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance.
  • the enclave instance notifies the master instance of the processing result through the virtual channel.
  • the instance management method based on cloud technology is applied to computing nodes.
  • Computing nodes include a host computer and an offload card.
  • the offload card is inserted into the host computer and establishes a communication channel with the host computer.
  • Enclave instances run on the host computer.
  • the offload card There is also a trusted execution module assigned to the Enclave instance, and an application program is set in the Enclave instance, a master instance runs on the host computer, a virtual channel is established between the master instance and the Enclave instance, and the Enclave instance is used to communicate with the master instance through the virtual channel.
  • the instance performs information exchange, and the offload card is connected to the network of the cloud management platform.
  • the number of Enclave instances is N, and N is a positive integer greater than or equal to 2.
  • N Enclave instances handle different types of confidential computing tasks respectively.
  • the trusted execution module The number is N, and each trusted execution module is connected to a different Enclave instance, wherein the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing express link CXL channel.
  • a master instance can also correspond to a trusted execution module, and the number of master instances and trusted execution modules is the same, and the trusted execution modules corresponding to a master instance can be connected to different enclave instances to provide services.
  • the unloading card of the computing node receives the master instance creation request sent by the cloud management platform, and notifies the host to create a master instance through the communication channel, and then the master instance of the computing node notifies the unloading card to create an enclave based on the enclave instance creation command entered by the tenant who logged in to the master instance instance, and based on the Enclave instance creation command, the offloading card is notified to create a trusted execution module. If the main instance of the computer node needs to perform some confidential computing task, it only needs to start the Enclave instance corresponding to the confidential computing task, and the Enclave instance of the computing node The confidential computing tasks generated by the applications running on the enclave instance are sent to the trusted execution module through the communication channel.
  • the trusted execution module of the computing node processes the confidential computing tasks and returns the processing results to the enclave instance. Finally, the enclave instance of the computing node The master instance is notified of the processing result through the virtual channel to complete the confidential computing task.
  • the instance management method based on cloud technology provided by the embodiment of this application, please refer to the foregoing description about computing nodes based on cloud technology. repeat.
  • the instance management method based on cloud technology is applied to the computing node, and the computing node is applied to the cloud data center, and the offloading card is also connected to the cloud management platform network, thereby creating a master instance and an enclave instance, which improves the reliability of the solution.
  • the number of enclave instances is multiple, which improves the ability to split confidential computing tasks at a fine-grained level and ensures the minimum authority.
  • the disclosed system, device and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), magnetic disk or optical disc, etc., which can store program codes. .

Abstract

Disclosed in the embodiments of the present application are a cloud-technology-based computing node and a cloud-technology-based instance management method, which are used for improving the security, confidentiality and integrity of user programs and data and reducing the impact on the service performance. The cloud-technology-based computing node specifically comprises a host machine and an offloading card, wherein the offloading card is inserted into the host machine and establishes a communication channel with the host machine. An enclave instance is run on the host machine, the offloading card is provided with a trusted execution module that is allocated for the enclave instance, and an application program is provided in the enclave instance, wherein the enclave instance is used for sending, by means of the communication channel and to the trusted execution module, a confidential computation task that is generated by the application program; and the trusted execution module is used for processing the confidential computation task, and for returning a processing result to the enclave instance by means of the communication channel.

Description

基于云技术的计算节点及基于云技术的实例管理方法Computing node based on cloud technology and instance management method based on cloud technology
本申请要求于2021年9月18日提交中国专利局、申请号为202111112194.0、发明名称为“基于云技术的计算节点及基于云技术的实例管理方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 202111112194.0 and the title of the invention "Computing node based on cloud technology and instance management method based on cloud technology" submitted to the China Patent Office on September 18, 2021, the entire content of which Incorporated in this application by reference.
技术领域technical field
本申请实施例涉及云技术领域,尤其涉及一种基于云技术的计算节点及基于云技术的实例管理方法。The embodiments of the present application relate to the field of cloud technology, and in particular, to a cloud technology-based computing node and a cloud technology-based instance management method.
背景技术Background technique
云技术目前已经广泛运用于各个领域,例如云服务,云服务的数据环境的安全,关系着云中的数据隐私的安全。Cloud technology has been widely used in various fields, such as cloud services, and the security of the data environment of cloud services is related to the security of data privacy in the cloud.
云服务中的数据一般分为三种形态:静态数据、传输中的数据以及使用中的数据,前两者可以通过加密等方式来保障数据安全,对于使用中的数据,目前一般采用机密计算来保护使用中的数据的安全性,其主要在于提供一个可信执行环境(trusted execution environment,TEE),TEE是中央处理器(central processing unit,CPU)内部的安全区域。待处理的机密数据和软件都放置于该TEE中,放置在TEE中的机密数据以及用于处理该机密数据的软件只能由授权的方式访问,保障机密数据的机密性与完整性,减少处理机密数据时软件的攻击面。现有的TEE是基于虚拟机监视程序(virtual machine monitor,VMM)实现的构建,具体的,通过VMM从宿主机中隔离出部分CPU及内存,将隔离出的CPU和内存用于创建TEE。Data in cloud services are generally divided into three forms: static data, data in transmission, and data in use. The former two can be encrypted to ensure data security. For data in use, confidential computing is generally used at present. Protecting the security of data in use mainly lies in providing a trusted execution environment (TEE), which is a secure area inside the central processing unit (CPU). The confidential data and software to be processed are placed in the TEE. The confidential data placed in the TEE and the software used to process the confidential data can only be accessed in an authorized manner, ensuring the confidentiality and integrity of the confidential data and reducing processing time. Confidential data is the attack surface of the software. The existing TEE is constructed based on a virtual machine monitor (virtual machine monitor, VMM). Specifically, part of the CPU and memory is isolated from the host computer through the VMM, and the isolated CPU and memory are used to create a TEE.
但是,当宿主机遭受恶意攻击时,例如宿主机的VMM被攻破后,就可以通过VMM访问宿主机中的CPU以及内存,则TEE安全受到影响,TEE的安全性降低,此外TEE会占用宿主机的资源,使宿主机中的业务受到影响。However, when the host machine is attacked maliciously, for example, after the VMM of the host machine is compromised, the CPU and memory in the host machine can be accessed through the VMM, the security of the TEE is affected, and the security of the TEE is reduced. In addition, the TEE will occupy the host machine. The resources on the host machine are affected.
发明内容Contents of the invention
本申请实施例提供一种基于云技术的计算节点,用于提高用户程序和数据的安全性、机密性和完整性并减少对业务性能的影响。本申请实施例还提供了相应的基于云技术的实例管理方法。The embodiment of the present application provides a computing node based on cloud technology, which is used to improve the security, confidentiality and integrity of user programs and data and reduce the impact on business performance. The embodiment of the present application also provides a corresponding instance management method based on cloud technology.
本申请第一方面提供一种基于云技术的计算节点,包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上运行有飞地Enclave实例,卸载卡上设置有为Enclave实例分配的可信执行模块,且Enclave实例中设置有应用程序,其中,Enclave实例用于通过通信通道将应用程序产生的机密计算任务发送至可信执行模块;可信执行模块用于处理机密计算任务,并通过通信信道将处理结果返回给Enclave实例。The first aspect of the present application provides a computing node based on cloud technology, including a host computer and an offload card, the offload card is inserted into the host computer and establishes a communication channel with the host computer, an enclave instance runs on the host computer, and the offload card A trusted execution module assigned to the Enclave instance is set on the Enclave instance, and an application program is set in the Enclave instance, wherein the Enclave instance is used to send the confidential computing tasks generated by the application program to the Trusted Execution Module through a communication channel; the Trusted Execution Module It is used to process confidential computing tasks and return the processing results to the Enclave instance through the communication channel.
本申请中的基于云技术的计算节点可以是一个服务器,服务器包括宿主机和卸载卡,宿主机上可以运行一个或多个虚拟机(virtual machine,VM),并通过虚拟机管理器 (Hypervisor)执行,虚拟机管理器又称虚拟机监视器(virtual machine monitor,VMM),卸载卡是宿主机的标准外接设备,又称智能卡,插置于宿主机并与宿主机建立有通信通道,Enclave实例是一个可信执行环境,也是一个可信隔离空间。The computing node based on cloud technology in this application can be a server. The server includes a host machine and an offloading card. One or more virtual machines (virtual machine, VM) can run on the host machine, and the virtual machine manager (Hypervisor) Execution, the virtual machine manager is also called virtual machine monitor (virtual machine monitor, VMM). The offload card is a standard external device of the host machine, also known as a smart card, which is inserted into the host machine and establishes a communication channel with the host machine. Enclave instance It is a trusted execution environment and a trusted isolation space.
本申请中的卸载卡设置有为Enclave实例分配的可信执行模块,可信执行模块用于执行机密计算,其中Enclave实例中设置有应用程序,在应用过程中,Enclave实例通过通信通道将应用程序产生的机密计算任务发送至可信执行模块,可信执行模块就可以处理机密计算任务,并将处理结果返回给Enclave实例,由此完成了机密计算任务。The unloading card in this application is provided with a trusted execution module assigned to the Enclave instance. The trusted execution module is used to perform confidential calculations. The Enclave instance is provided with an application program. During the application process, the Enclave instance passes the application program through the communication channel. The generated confidential computing tasks are sent to the trusted execution module, and the trusted execution module can process the confidential computing tasks and return the processing results to the Enclave instance, thus completing the confidential computing tasks.
该第一方面,基于云技术的计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上运行有飞地Enclave实例,卸载卡上设置有为Enclave实例分配的可信执行模块,其中,Enclave实例用于将机密计算任务发送至可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上设置的可信执行模块使得TEE中的负责机密计算的可信执行模块与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的可信执行模块的机密计算,从而提高了用户程序和数据的安全性、机密性和完整性,此外卸载卡中的可信执行模块不会占用宿主机的资源,从而降低机密计算对业务性能的影响。In the first aspect, the computing node based on cloud technology includes a host computer and an offload card. The offload card is inserted into the host computer and establishes a communication channel with the host computer. An enclave instance runs on the host computer. The trusted execution module assigned by the Enclave instance, where the Enclave instance is used to send confidential computing tasks to the trusted execution module; the trusted execution module is used to process confidential computing tasks, and the trusted execution module set on the uninstall card makes the TEE The trusted execution module responsible for confidential computing is physically isolated from the main instance through the host computer and the offloading card. After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving the security of user programs and data. , confidentiality and integrity. In addition, the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
在第一方面的一种可能的实现方式中,宿主机上还运行有主实例,主实例与Enclave实例建立有虚拟通道,Enclave实例还用于通过虚拟通道与主实例进行信息交互。In a possible implementation manner of the first aspect, a master instance is also running on the host machine, a virtual channel is established between the master instance and the Enclave instance, and the Enclave instance is also used to exchange information with the master instance through the virtual channel.
该种可能的实现方式中,宿主机上还运行有主实例,主实例与Enclave实例建立有虚拟通道,Enclave实例可以通过虚拟通道与主实例进行信息交互,例如通知主实例处理结果,其中虚拟通道可以是vsock通道,可以辅助其他安全加密方案,例如RSA公钥加密等数字签名算法,使得主实例与Enclave实例之间可以安全通信,最大程度缩小攻击面。In this possible implementation, the master instance is also running on the host machine, and a virtual channel is established between the master instance and the enclave instance. The enclave instance can exchange information with the master instance through the virtual channel, such as notifying the master instance of the processing result. The virtual channel It can be a vsock channel, which can assist other security encryption schemes, such as digital signature algorithms such as RSA public key encryption, so that the master instance and the enclave instance can communicate securely and minimize the attack surface.
在第一方面的一种可能的实现方式中,卸载卡与云管理平台网络连接,卸载卡还用于接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。In a possible implementation of the first aspect, the unloading card is connected to the cloud management platform network, and the unloading card is also used to receive the master instance creation request sent by the cloud management platform, and notify the host computer to create the master instance through the communication channel.
该种可能的实现方式中,卸载卡与云管理平台网络连接,即该基于云技术的计算节点可以应用在云数据中心,用户可以在客户端输入主实例创建请求,通过互联网发送给云管理平台,云管理平台通过数据中心内部网络将主实例创建请求发送给该计算节点的卸载卡中,卸载卡通过通信通道通知宿主机创建主实例,提升了方案的可实现性。In this possible implementation, the offload card is connected to the cloud management platform network, that is, the computing node based on cloud technology can be applied in the cloud data center, and the user can input a master instance creation request on the client side and send it to the cloud management platform through the Internet , the cloud management platform sends the master instance creation request to the offload card of the computing node through the internal network of the data center, and the offload card notifies the host to create the master instance through the communication channel, which improves the feasibility of the solution.
在第一方面的一种可能的实现方式中,主实例还用于基于登录主实例的租户输入的Enclave实例创建命令通知宿主机创建Enclave实例。In a possible implementation manner of the first aspect, the master instance is further configured to notify the host machine to create an enclave instance based on an enclave instance creation command entered by a tenant logging into the master instance.
该种可能的实现方式中,该计算节点可以共享给多个租户使用,租户在登录主实例后可以输入Enclave实例创建命令通知宿主机创建Enclave实例,提升了方案的可实现性。In this possible implementation, the computing node can be shared by multiple tenants. After logging in to the master instance, the tenant can enter the enclave instance creation command to notify the host to create an enclave instance, which improves the feasibility of the solution.
在第一方面的一种可能的实现方式中,Enclave实例的数量为1个。In a possible implementation manner of the first aspect, the number of Enclave instances is one.
该种可能的实现方式中,一个主实例配置一个Enclave实例,提升了方案的可实现性。In this possible implementation, one master instance is configured with one enclave instance, which improves the feasibility of the solution.
在第一方面的一种可能的实现方式中,Enclave实例的数量为N个,N为大于或等于2的正整数,N个Enclave实例分别处理不同类型的机密计算任务。In a possible implementation of the first aspect, the number of Enclave instances is N, where N is a positive integer greater than or equal to 2, and the N Enclave instances handle different types of confidential computing tasks respectively.
该种可能的实现方式中,一个主实例可以配置多个Enclave实例,每个Enclave实例分别处理不同类型的机密计算任务,当主实例启动一个Enclave实例后,该Encalve实例 上运行的应用程序会产生对应的机密计算任务,若需要处理特定类型的机密计算任务,主实例只需要启动对应的Encalve实例即可,从而提升了细粒度拆分机密计算任务的能力,保证权限最小化。In this possible implementation, a master instance can be configured with multiple enclave instances, and each enclave instance handles different types of confidential computing tasks. When the master instance starts an enclave instance, the application running on the encalve instance will generate a corresponding If a specific type of confidential computing task needs to be processed, the master instance only needs to start the corresponding Encalve instance, thereby improving the ability to split confidential computing tasks at a fine-grained level and ensuring the minimum authority.
在第一方面的一种可能的实现方式中,可信执行模块的数量为N个,且每个可信执行模块分别与互不相同的Enclave实例连接。In a possible implementation manner of the first aspect, the number of trusted execution modules is N, and each trusted execution module is connected to a different enclave instance.
该种可能的实现方式中,可信执行模块的数量和Enclave实例的数量相同,每个可信执行模块分别与互不相同的Enclave实例连接,提升了方案的可实现性。In this possible implementation, the number of trusted execution modules is the same as the number of enclave instances, and each trusted execution module is connected to different enclave instances, which improves the feasibility of the solution.
在第一方面的一种可能的实现方式中,一个主实例对应一个可信执行模块。In a possible implementation manner of the first aspect, one master instance corresponds to one trusted execution module.
该种可能的实现方式中,主实例的数量和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的Enclave实例连接以提供服务,提升了方案的可实现性。In this possible implementation, the number of master instances is the same as the number of trusted execution modules, and the trusted execution modules corresponding to one master instance can be connected to different enclave instances to provide services, which improves the feasibility of the solution sex.
在第一方面的一种可能的实现方式中,通信通道包括高速串行计算机扩展总线PCIe通道和计算快速链路CXL通道。In a possible implementation manner of the first aspect, the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing express link CXL channel.
该种可能的实现方式中,通信通道可以是高速串行计算机扩展总线(peripheral component interconnect express,PCIe)通道,也可以是计算快速链路(compute express link,CXL)通道,从而提升了宿主机和卸载卡之间的通信速度。In this possible implementation, the communication channel can be a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) channel, or a computing express link (compute express link, CXL) channel, thereby improving the host computer and Offload the communication speed between cards.
本申请第二方面提供一种基于云技术的实例管理方法,该方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上运行有飞地Enclave实例,卸载卡上设置有为Enclave实例分配的可信执行模块,且Enclave实例中设置有应用程序,该方法包括以下步骤:Enclave实例通过通信通道将应用程序产生的机密计算任务发送至可信执行模块;可信执行模块处理机密计算任务,并通过通信信道将处理结果返回给Enclave实例。The second aspect of the present application provides an instance management method based on cloud technology, which is applied to a computing node. The computing node includes a host computer and an offloading card. The offloading card is inserted into the host computer and establishes a communication channel with the host computer. The host computer An enclave instance runs on the enclave, the offloading card is provided with a trusted execution module assigned to the enclave instance, and the enclave instance is provided with an application program, the method includes the following steps: the enclave instance uses the communication channel to generate the confidential computing The task is sent to the trusted execution module; the trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance through the communication channel.
本申请中的基于云技术的计算节点可以是一个服务器,服务器包括宿主机和卸载卡,宿主机上可以运行一个或多个虚拟机(virtual machine,VM),并通过虚拟机管理器(Hypervisor)执行,虚拟机管理器又称虚拟机监视器(virtual machine monitor,VMM),卸载卡是宿主机的标准外接设备,又称智能卡,插置于宿主机并与宿主机建立有通信通道,Enclave实例是一个可信执行环境,也是一个可信隔离空间。The computing node based on cloud technology in this application can be a server. The server includes a host machine and an offloading card. One or more virtual machines (virtual machine, VM) can run on the host machine, and the virtual machine manager (Hypervisor) Execution, the virtual machine manager is also called virtual machine monitor (virtual machine monitor, VMM). The offload card is a standard external device of the host machine, also known as a smart card, which is inserted into the host machine and establishes a communication channel with the host machine. Enclave instance It is a trusted execution environment and a trusted isolation space.
本申请中的卸载卡设置有为Enclave实例分配的可信执行模块,可信执行模块用于执行机密计算,其中Enclave实例中设置有应用程序,在应用过程中,Enclave实例通过通信通道将应用程序产生的机密计算任务发送至可信执行模块,可信执行模块就可以处理机密计算任务,并将处理结果返回给Enclave实例,由此完成了机密计算任务。The unloading card in this application is provided with a trusted execution module assigned to the Enclave instance. The trusted execution module is used to perform confidential calculations. The Enclave instance is provided with an application program. During the application process, the Enclave instance passes the application program through the communication channel. The generated confidential computing tasks are sent to the trusted execution module, and the trusted execution module can process the confidential computing tasks and return the processing results to the Enclave instance, thus completing the confidential computing tasks.
该第二方面,基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上运行有飞地Enclave实例,卸载卡上设置有为Enclave实例分配的可信执行模块,该方法包括:Enclave实例将机密计算任务发送至可信执行模块;可信执行模块处理机密计算任务,卸载卡上设置的可信执行模块使得TEE中的负责机密计算的可信执行模块与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的可信执行模块的机密计算,从而提高了用户程 序和数据的安全性、机密性和完整性,此外卸载卡中的可信执行模块不会占用宿主机的资源,从而降低机密计算对业务性能的影响。In the second aspect, the instance management method based on cloud technology is applied to the computing node. The computing node includes a host computer and an offloading card. The offloading card is inserted into the host computer and establishes a communication channel with the host computer. An enclave enclave runs on the host computer. For instance, the trusted execution module assigned to the Enclave instance is set on the uninstall card, the method includes: the Enclave instance sends the confidential computing task to the trusted execution module; the trusted execution module processes the confidential computing task, and the trusted execution module set on the uninstall card The execution module makes the trusted execution module responsible for confidential computing in the TEE physically isolated from the main instance through the host computer and the offloading card. After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving user The security, confidentiality and integrity of programs and data. In addition, the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
在第二方面的一种可能的实现方式中,宿主机上还运行有主实例,主实例与Enclave实例建立有虚拟通道,Enclave实例用于通过虚拟通道与主实例进行信息交互,该方法还包括:Enclave实例通过虚拟通道通知主实例处理结果。In a possible implementation of the second aspect, a master instance is also running on the host computer, and a virtual channel is established between the master instance and the Enclave instance, and the Enclave instance is used to exchange information with the master instance through the virtual channel. The method also includes : The Enclave instance notifies the master instance of the processing result through the virtual channel.
该种可能的实现方式中,宿主机上还运行有主实例,主实例与Enclave实例建立有虚拟通道,Enclave实例可以通过虚拟通道与主实例进行信息交互,例如通知主实例处理结果,其中虚拟通道可以是vsock通道,可以辅助其他安全加密方案,例如RSA公钥加密等数字签名算法,使得主实例与Enclave实例之间可以安全通信,最大程度缩小攻击面。In this possible implementation, the master instance is also running on the host machine, and a virtual channel is established between the master instance and the enclave instance. The enclave instance can exchange information with the master instance through the virtual channel, such as notifying the master instance of the processing result. The virtual channel It can be a vsock channel, which can assist other security encryption schemes, such as digital signature algorithms such as RSA public key encryption, so that the master instance and the enclave instance can communicate securely and minimize the attack surface.
在第二方面的一种可能的实现方式中,卸载卡与云管理平台网络连接,该方法还包括:卸载卡接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。In a possible implementation of the second aspect, the unloading card is connected to the cloud management platform network, and the method further includes: the unloading card receives a master instance creation request sent by the cloud management platform, and notifies the host computer to create a master instance through a communication channel .
该种可能的实现方式中,卸载卡还与云管理平台网络连接,即该基于云技术的实例管理方法可以应用在云数据中心,用户可以在客户端输入主实例创建请求,通过互联网发送给云管理平台,云管理平台通过数据中心内部网络将主实例创建请求发送给该计算节点的卸载卡中,卸载卡通过通信通道通知宿主机创建主实例,提升了方案的可实现性。In this possible implementation, the unloading card is also connected to the network of the cloud management platform, that is, the instance management method based on cloud technology can be applied in the cloud data center, and the user can input the master instance creation request on the client and send it to the cloud through the Internet. The management platform, the cloud management platform sends the master instance creation request to the unloading card of the computing node through the internal network of the data center, and the unloading card notifies the host to create the master instance through the communication channel, which improves the feasibility of the solution.
在第二方面的一种可能的实现方式中,该方法还包括:主实例基于登录主实例的租户输入的Enclave实例创建命令通知卸载卡创建Enclave实例和可信执行模块。In a possible implementation manner of the second aspect, the method further includes: the master instance notifies the uninstallation card to create the enclave instance and the trusted execution module based on the enclave instance creation command entered by the tenant who logs in to the master instance.
该种可能的实现方式中,该计算节点可以共享给多个租户使用,租户在登录主实例后可以输入Enclave实例创建命令通知卸载卡创建Enclave实例和可信执行模块,提升了方案的可实现性。In this possible implementation, the computing node can be shared with multiple tenants. After logging in to the main instance, the tenant can enter the Enclave instance creation command to notify the uninstaller card to create an Enclave instance and a trusted execution module, which improves the feasibility of the solution. .
在第二方面的一种可能的实现方式中,Enclave实例的数量为1个。In a possible implementation manner of the second aspect, the number of Enclave instances is one.
该种可能的实现方式中,一个主实例配置一个Enclave实例,提升了方案的可实现性。In this possible implementation, one master instance is configured with one enclave instance, which improves the feasibility of the solution.
在第二方面的一种可能的实现方式中,Enclave实例的数量为N个,N为大于或等于2的正整数,N个Enclave实例分别处理不同类型的机密计算任务。In a possible implementation of the second aspect, the number of Enclave instances is N, where N is a positive integer greater than or equal to 2, and the N Enclave instances handle different types of confidential computing tasks respectively.
该种可能的实现方式中,一个主实例可以配置多个Enclave实例,每个Enclave实例分别处理不同类型的机密计算任务,当主实例启动一个Enclave实例后,该Encalve实例上运行的应用程序会产生对应的机密计算任务,若需要处理特定类型的机密计算任务,主实例只需要启动对应的Encalve实例即可,从而提升了细粒度拆分机密计算任务的能力,保证权限最小化。In this possible implementation, a master instance can be configured with multiple enclave instances, and each enclave instance handles different types of confidential computing tasks. When the master instance starts an enclave instance, the application running on the encalve instance will generate a corresponding If a specific type of confidential computing task needs to be processed, the master instance only needs to start the corresponding Encalve instance, thereby improving the ability to split confidential computing tasks at a fine-grained level and ensuring the minimum authority.
在第二方面的一种可能的实现方式中,可信执行模块的数量为N个,且每个可信执行模块分别与互不相同的Enclave实例连接。In a possible implementation manner of the second aspect, the number of trusted execution modules is N, and each trusted execution module is connected to a different enclave instance.
该种可能的实现方式中,可信执行模块的数量和Enclave实例的数量相同,每个可信执行模块分别与互不相同的Enclave实例连接,提升了方案的可实现性。In this possible implementation, the number of trusted execution modules is the same as the number of enclave instances, and each trusted execution module is connected to different enclave instances, which improves the feasibility of the solution.
在第二方面的一种可能的实现方式中,一个主实例对应一个可信执行模块。In a possible implementation manner of the second aspect, one master instance corresponds to one trusted execution module.
该种可能的实现方式中,主实例的数量和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的Enclave实例连接以提供服务,提升了方案的可实现性。In this possible implementation, the number of master instances is the same as the number of trusted execution modules, and the trusted execution modules corresponding to one master instance can be connected to different enclave instances to provide services, which improves the feasibility of the solution sex.
在第二方面的一种可能的实现方式中,通信通道包括高速串行计算机扩展总线PCIe通道和计算快速链路CXL通道。In a possible implementation manner of the second aspect, the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing express link CXL channel.
该种可能的实现方式中,通信通道可以是高速串行计算机扩展总线通道,也可以是计算快速链路通道,从而提升了宿主机和卸载卡之间的通信速度。In this possible implementation manner, the communication channel may be a high-speed serial computer expansion bus channel, or a computing fast link channel, thereby increasing the communication speed between the host computer and the offloading card.
本申请实施例中,基于云技术的计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上运行有飞地Enclave实例,卸载卡上设置有为Enclave实例分配的可信执行模块,其中,Enclave实例用于将机密计算任务发送至可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上设置的可信执行模块使得TEE中的负责机密计算的可信执行模块与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的可信执行模块的机密计算,从而提高了TEE的安全性,此外卸载卡中的可信执行模块不会占用宿主机的资源,从而降低机密计算对业务性能的影响。In the embodiment of this application, the computing node based on cloud technology includes a host computer and an offload card. The offload card is inserted into the host computer and establishes a communication channel with the host computer. An enclave instance runs on the host computer, and the offload card is set with The trusted execution module assigned to the Enclave instance, where the Enclave instance is used to send confidential computing tasks to the trusted execution module; the trusted execution module is used to process confidential computing tasks, and the trusted execution module set on the uninstall card makes the TEE The trusted execution module responsible for confidential computing is physically isolated from the main instance through the host computer and the offloading card. After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving the security of the TEE. In addition, The trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
附图说明Description of drawings
图1为云数据中心的架构图;Figure 1 is an architecture diagram of a cloud data center;
图2为本申请实施例提供的基于云技术的计算节点的一个实施例的软件层示意图;FIG. 2 is a schematic diagram of software layers of an embodiment of a computing node based on cloud technology provided by an embodiment of the present application;
图3为本申请实施例提供的基于云技术的计算节点的一个实施例的硬件层示意图;FIG. 3 is a schematic diagram of a hardware layer of an embodiment of a computing node based on cloud technology provided by an embodiment of the present application;
图4为本申请实施例提供的基于云技术的计算节点的另一实施例的硬件层示意图;FIG. 4 is a schematic diagram of the hardware layer of another embodiment of a computing node based on cloud technology provided by the embodiment of the present application;
图5为本申请实施例提供的基于云技术的实例管理方法的一个实施例示意图;FIG. 5 is a schematic diagram of an embodiment of a cloud-based instance management method provided by an embodiment of the present application;
图6为本申请实施例提供的基于云技术的实例管理方法的另一实施例示意图。FIG. 6 is a schematic diagram of another embodiment of the cloud technology-based instance management method provided by the embodiment of the present application.
具体实施方式Detailed ways
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。Embodiments of the present application are described below in conjunction with the accompanying drawings. Apparently, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Those of ordinary skill in the art know that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second" and the like in the specification and claims of the present application and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments described herein can be practiced in sequences other than those illustrated or described herein. Furthermore, the terms "comprising" and "having", as well as any variations thereof, are intended to cover a non-exclusive inclusion, for example, a process, method, system, product or device comprising a sequence of steps or elements is not necessarily limited to the expressly listed instead, may include other steps or elements not explicitly listed or inherent to the process, method, product or apparatus.
本申请实施例提供一种基于云技术的计算节点,用于提高用户程序和数据的安全性、机密性和完整性并减少对业务性能的影响。本申请实施例还提供了相应的基于云技术的实例管理方法。以下分别进行详细说明。The embodiment of the present application provides a computing node based on cloud technology, which is used to improve the security, confidentiality and integrity of user programs and data and reduce the impact on business performance. The embodiment of the present application also provides a corresponding instance management method based on cloud technology. Each will be described in detail below.
如图1所示,云数据中心包括云管理平台、数据中心内部网络和多个服务器,每个服务器都相同,例如服务器1和服务器2,服务器1和服务器2通过其网卡和数据中心内部网络和云管理平台完成信息交互,云管理平台通过互联网和客户端完成信息交互,其中网卡安装 在卸载卡上,卸载卡又称智能卡,是服务器的标准外接设备,每台服务器都会配备该卸载卡。服务器还包括宿主机,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上可以运行一个或多个虚拟机(virtual machine,VM),例如虚拟机1和虚拟机2,虚拟机也可称为云服务器(elastic compute service,ECS)或弹性实例等,宿主机通过虚拟机管理器(Hypervisor)执行,虚拟机管理器又称虚拟机监视器(virtual machine monitor,VMM)。As shown in Figure 1, the cloud data center includes a cloud management platform, an internal network of the data center, and multiple servers. Each server is the same, such as server 1 and server 2. The cloud management platform completes information interaction, and the cloud management platform completes information interaction with the client through the Internet. The network card is installed on the offload card. The offload card is also called a smart card. It is a standard external device for the server. The server also includes a host machine. The unloading card is inserted into the host machine and establishes a communication channel with the host machine. One or more virtual machines (virtual machines, VMs) can run on the host machine, such as virtual machine 1 and virtual machine 2. The host machine can also be called a cloud server (elastic compute service, ECS) or an elastic instance, etc., and the host machine is executed through a virtual machine manager (Hypervisor), which is also called a virtual machine monitor (virtual machine monitor, VMM).
具体的,云管理平台提供访问接口(如界面或API),租户可操作客户端远程接入访问接口在云管理平台注册云账号和密码,并登录云管理平台,云管理平台对云账号和密码鉴权成功后,租户可进一步在云管理平台付费选择并购买特定规格(处理器、内存、磁盘)的虚拟机,付费购买成功后,云管理平台提供所购买的虚拟机的远程登录账号密码,客户端可远程登录该虚拟机,在该虚拟机中安装并运行租户的应用。云管理平台客户端接收云管理平台发送的控制面命令,根据控制面控制命令在服务器上创建并对虚拟机进行全生命周期管理,因此,租户可通过云管理平台在云数据中心中创建、管理、登录和操作虚拟机。Specifically, the cloud management platform provides an access interface (such as an interface or API), and tenants can operate the remote access interface of the client to register a cloud account and password on the cloud management platform and log in to the cloud management platform. After the authentication is successful, the tenant can further select and purchase a virtual machine with specific specifications (processor, memory, disk) on the cloud management platform. After the payment is successful, the cloud management platform provides the remote login account password of the purchased virtual machine. The client can remotely log in to the virtual machine, install and run the tenant's application in the virtual machine. The client of the cloud management platform receives the control plane commands sent by the cloud management platform, creates virtual machines on the server according to the control plane control commands, and performs full life cycle management of virtual machines. Therefore, tenants can create and manage virtual machines in the cloud data center through the cloud management platform. , Log in and operate the virtual machine.
在应用程序可以处理数据之前,一般情况下必须先在内存中对数据进行解密。这使得数据在内存处理中变得容易受到攻击。机密计算通常利用基于硬件的可信执行环境(trusted execution environment,TEE)来解决此问题,TEE是CPU内部的安全区域。使用嵌入式加密密钥和嵌入式证明机制确保TEE的安全,以确保密钥只能由授权的应用程序代码访问。如果恶意软件或其他未经授权的代码尝试访问密钥-或授权的代码被黑客入侵或以任何方式更改TEE将拒绝访问密钥并取消计算。这样,敏感数据可以在内存中保持受保护状态,直到应用程序告诉TEE对其解密以进行处理。在解密过程中以及整个计算过程中,操作系统或VM中的VMM,其他计算堆栈资源以及云提供商及其员工看不到数据。Data typically must be decrypted in memory before an application can process it. This makes the data vulnerable to in-memory processing. Confidential computing typically addresses this issue by utilizing a hardware-based trusted execution environment (TEE), a secure enclave inside the CPU. TEEs are secured using embedded encryption keys and embedded proof mechanisms to ensure keys are only accessible by authorized application code. If malware or other unauthorized code tries to access the key - or authorized code is hacked or altered in any way the TEE will deny access to the key and cancel the computation. This way, sensitive data can remain protected in memory until the application tells the TEE to decrypt it for processing. During the decryption process and throughout the computing process, the operating system or the VMM in the VM, other computing stack resources, and the cloud provider and its employees cannot see the data.
机密计算可以保护使用中的敏感数据。当与静态数据加密一起使用以及通过密钥的独占控制进行传输时,机密计算消除了将敏感或高度管制的数据集和应用程序工作负载从不灵活、昂贵的本地互联网技术(internet technology,IT)基础架构迁移到更加灵活和现代的公有云平台的最大障碍。Confidential computing protects sensitive data in use. When used with data-at-rest encryption and in transit with exclusive control of the keys, confidential computing eliminates the need for sensitive or highly regulated data sets and application workloads from inflexible, expensive local internet technology (IT) The biggest barrier to infrastructure migration to a more flexible and modern public cloud platform.
机密计算可以保护知识产权。机密计算不仅用于数据保护。TEE还可以用于保护专有业务逻辑、分析功能、机器学习算法或整个应用程序。Confidential computing protects intellectual property. Confidential computing isn't just for data protection. TEEs can also be used to protect proprietary business logic, analytics functions, machine learning algorithms, or entire applications.
机密计算可以使得新的云解决方案上与合作伙伴安全地进行协作。例如,一家公司可以将其敏感数据与另一家公司的专有计算相结合,以创建新的解决方案,而无需任何公司共享任何其不希望共享的数据或知识产权。Confidential computing enables secure collaboration with partners on new cloud solutions. For example, a company can combine its sensitive data with another company's proprietary computing to create new solutions without requiring either company to share any data or intellectual property it does not wish to share.
机密计算可以消除选择云提供商时的担忧。机密计算使公司可以选择最能满足其技术和业务要求的云计算服务,而不必担心存储和处理客户数据、专有技术和其他敏感资产。如果云提供商还提供竞争性业务服务,这也有助于减轻任何其他竞争问题。Confidential computing can take the worry out of choosing a cloud provider. Confidential computing allows companies to choose the cloud computing service that best meets their technical and business requirements without having to worry about storing and processing customer data, know-how and other sensitive assets. This also helps mitigate any other competition concerns if the cloud provider also offers competing business services.
机密计算可以保护在边缘处理的数据。边缘计算是一种分布式计算框架,可使企业应用程序更靠近数据源,例如物联网(internet of things,IoT)设备或本地边缘服务器。当将其用作分布式云模式的一部分时,可以使用机密计算保护边缘节点上的数据和应用程序。Confidential computing protects data processed at the edge. Edge computing is a distributed computing framework that brings enterprise applications closer to data sources, such as internet of things (IoT) devices or local edge servers. When used as part of a distributed cloud model, confidential computing can be used to protect data and applications on edge nodes.
下面结合上述云数据中心的架构和机密计算的概念对本申请实施例提供的基于云技术 的计算节点进行描述。The following describes the computing node based on cloud technology provided by the embodiment of this application in combination with the above-mentioned cloud data center architecture and the concept of confidential computing.
如图2所示,本申请实施例提供的基于云技术的计算节点一实施例包括宿主机100和卸载卡200,卸载卡200插置于宿主机100并与宿主机100建立有通信通道,宿主机100上运行有飞地Enclave实例120,卸载卡200上还设置有为Enclave实例120分配的可信执行模块210,且Enclave实例120中设置有应用程序,其中,Enclave实例120的数量为1个,通信通道可以是高速串行计算机扩展总线(peripheral component interconnect express,PCIe)通道,也可以是计算快速链路(compute express link,CXL)通道。As shown in Figure 2, an embodiment of the computing node based on cloud technology provided by the embodiment of the present application includes a host machine 100 and an offloading card 200. The offloading card 200 is inserted into the host machine 100 and establishes a communication channel with the host machine 100. An enclave instance 120 is running on the host 100, and a trusted execution module 210 assigned to the enclave instance 120 is also provided on the unloading card 200, and an application program is arranged in the enclave instance 120, wherein the number of the enclave instance 120 is 1 , the communication channel may be a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) channel, or a computing express link (compute express link, CXL) channel.
进一步的,宿主机100上还运行有主实例110,主实例110与Enclave实例120建立有虚拟通道,Enclave实例120还用于通过虚拟通道与主实例110进行信息交互,例如通知主实例110处理结果。Further, the master instance 110 is also running on the host machine 100, and a virtual channel is established between the master instance 110 and the enclave instance 120, and the enclave instance 120 is also used to exchange information with the master instance 110 through the virtual channel, for example, to notify the master instance 110 of the processing result .
具体的,宿主机100还包括虚拟机管理器140和实例模拟器前端模块130,实例模拟器前端模块130模拟的实例是一个抽象概念,不限于虚拟机、容器和函数等,实例模拟器前端模块130用于模拟计算机设备的各种芯片组、虚拟机内中央处理器(central processing unit,CPU)的生命周期管理、虚拟机退出(VM Exit)等与虚拟机业务强相关的逻辑处理,实例模拟器前端模块130具体包括智能控制模块131、隔离通信模块132和飞地安全模块133,智能控制模块131用来进行Enclave实例120的生命周期控制相关的通道,包括但不限于PCIe设备、虚拟化IO处理协议(virtual IO,VirtIO)设备等,同时负责从主实例110中隔离出独立的CPU和内存供Enclave实例120使用。隔离通信模块132是用来连接主实例110与Enclave实例120安全的通信通道,具有完善的安全控制,同时是闭环连接(end to end),不会扩散虚拟机管理器140本身的攻击面,是一条安全连接通道。飞地安全模块133用来给供Enclave实例120完成可信执行环境命令相关操作,用来将Enclave实例120中需要进行的安全相关命令和消息的传递,飞地安全模块133同时支持虚拟设备及真实物理设备,包括物理功能(physical function,PF)、虚拟功能(virtual function,VF)及不支持将PCIe共享给虚拟机的标准(single root I/O virtualization,SR-IOV)的端点(endpoint)设备。实例模拟器前端模块130还包括与其用途相关的其他模块,本申请实施例对此不作限制。Specifically, the host computer 100 also includes a virtual machine manager 140 and an instance simulator front-end module 130. The instance simulated by the instance simulator front-end module 130 is an abstract concept, not limited to virtual machines, containers, and functions. The instance simulator front-end module 130 is used to simulate various chipsets of computer equipment, life cycle management of central processing unit (CPU) in virtual machine, virtual machine exit (VM Exit) and other logic processing strongly related to virtual machine business, instance simulation The front-end module 130 specifically includes an intelligent control module 131, an isolated communication module 132, and an enclave security module 133. The intelligent control module 131 is used to control channels related to the life cycle of the Enclave instance 120, including but not limited to PCIe devices, virtualized IO Processing protocol (virtual IO, VirtIO) equipment, etc., and is responsible for isolating independent CPU and memory from the main instance 110 for use by the Enclave instance 120. The isolated communication module 132 is used to connect the master instance 110 and the safe communication channel of the Enclave instance 120, has perfect security control, and is a closed-loop connection (end to end) at the same time, and will not spread the attack surface of the virtual machine manager 140 itself, is A secure connection channel. The enclave security module 133 is used to complete trusted execution environment command-related operations for the enclave instance 120, and is used to transfer security-related commands and messages that need to be carried out in the enclave instance 120. The enclave security module 133 supports both virtual devices and real devices. Physical devices, including physical functions (physical function, PF), virtual functions (virtual function, VF) and standard (single root I/O virtualization, SR-IOV) endpoint devices that do not support PCIe sharing to virtual machines . The example simulator front-end module 130 also includes other modules related to its use, which is not limited in this embodiment of the present application.
卸载卡200还包括管控面逻辑组件230和实例模拟器后端模块220。管控面逻辑组件230内部包括多个组件,比如跟虚拟机生命周期相关的组件,如开源的OpenStack(一个开源的云计算管理平台项目)的组件Nova、libvirt(用于管理虚拟化平台的组件),kubernetes(用于管理云平台中多个主机上的容器化的应用),以及系统安装、升级、部署、运维相关的组件,实例模拟器后端模块220内的模块与实例模拟器前端模块130一一对应,本申请实施例不再赘述。The offload card 200 also includes a control plane logic component 230 and an instance emulator backend module 220 . The management control plane logic component 230 includes multiple components, such as components related to the life cycle of the virtual machine, such as components Nova and libvirt (components used to manage virtualization platforms) of open source OpenStack (an open source cloud computing management platform project) , kubernetes (for managing containerized applications on multiple hosts in the cloud platform), and components related to system installation, upgrade, deployment, and operation and maintenance, modules in the instance simulator back-end module 220 and instance simulator front-end modules 130 corresponds to one-to-one, which will not be repeated in this embodiment of the present application.
更具体的,智能控制模块131包括生命周期管理模块1311、内存隔离模块1312、CPU隔离模块1313和虚拟设备模拟模块1314。生命周期管理模块1311用来进行Enclave实例120的创建、销毁和改配等操作,同时负责与实例模拟器后端模块220的连接管理,内存隔离模块1312用于进行内存隔离的操作,需要与虚拟机管理器140配合工作,保证主实例110的用户或者模拟程序完全无权限访问Enclave实例120的内存,CPU隔离模块1313用于进行CPU隔离 操作,需要与虚拟机管理器140配合工作,保证主实例110的用户或者模拟程序完全无权限使用Enclave实例120所独立使用的CPU,虚拟设备模拟模块1314用于进行主实例110命令通道的设备的模拟,可以是VirtIO设备或其他任何外设组件互连标准(peripheral component interconnect,PCI)设备、内存映射(memory-mapped I/O,MMIO)模拟设备等。More specifically, the intelligent control module 131 includes a life cycle management module 1311 , a memory isolation module 1312 , a CPU isolation module 1313 and a virtual device simulation module 1314 . The lifecycle management module 1311 is used to create, destroy and reconfigure the Enclave instance 120, and is also responsible for the connection management with the instance simulator backend module 220. The memory isolation module 1312 is used to perform memory isolation operations, which need to be connected with the virtual The machine manager 140 cooperates to ensure that the users of the main instance 110 or simulation programs have no access to the memory of the enclave instance 120. The CPU isolation module 1313 is used to perform CPU isolation operations and needs to work with the virtual machine manager 140 to ensure that the main instance The user or simulation program of 110 has no right to use the CPU independently used by the Enclave instance 120. The virtual device simulation module 1314 is used to simulate the device of the master instance 110 command channel, which can be a VirtIO device or any other peripheral component interconnection standard (peripheral component interconnect, PCI) devices, memory-mapped I/O (MMIO) analog devices, etc.
隔离通信模块132包括控制设备模块1321、无主通信管理模块1322和权限管理模块1323。控制设备模块1321主要用于将主实例110和Enclave实例120建立安全的内部通道连接,该通道可以是VirtIO设备、网卡设备和共享内存设备等,无主通信管理模块1322针对高安全场景,不使用虚拟机管理器140的功能,直接在主实例110和Enclave实例120间进行端到端的通信,不会扩大虚拟机管理器140的攻击面,同时也保证Enclave实例120的绝对安全,权限管理模块1323用于对通信通道的权限进行控制管理,保证无其他异常用户或者逃逸的攻击者能够访问该通信通道。The isolated communication module 132 includes a control device module 1321 , an unowned communication management module 1322 and a rights management module 1323 . The control device module 1321 is mainly used to establish a secure internal channel connection between the master instance 110 and the Enclave instance 120. The channel can be a VirtIO device, a network card device, and a shared memory device. The function of the virtual machine manager 140 directly performs end-to-end communication between the main instance 110 and the enclave instance 120, which does not expand the attack surface of the virtual machine manager 140, and also ensures the absolute security of the enclave instance 120. The authority management module 1323 It is used to control and manage the permissions of the communication channel to ensure that no other abnormal users or escaped attackers can access the communication channel.
飞地安全模块133包括设备管理模块1331、后端通信管理模块1332、资源管理模块1333和安全信息封装模块1334。设备管理模块1331用于轻量级可信执行环境的模拟,同时包括安全模块设备的设备管理功能、虚拟安全模块设备或者直通真实的模块设备。后端通信管理模块1332与卸载卡200的可信执行模块210建立连接,传递Enclave实例120的请求和响应信息,资源管理模块1333负责整个Enclave实例120的管理资源分配或者释放等,安全信息封装模块1334将Enclave实例120下发的请求进行安全封装,该安全信息封装模块1334是可选的,某些场景不需要,如直通场景。The enclave security module 133 includes a device management module 1331 , a backend communication management module 1332 , a resource management module 1333 and a security information encapsulation module 1334 . The device management module 1331 is used for the simulation of the lightweight trusted execution environment, and includes the device management function of the security module device, the virtual security module device or the direct access to the real module device. The back-end communication management module 1332 establishes a connection with the trusted execution module 210 of the unloading card 200, and transmits the request and response information of the Enclave instance 120. The resource management module 1333 is responsible for the management resource allocation or release of the entire Enclave instance 120, etc., and the security information encapsulation module 1334 securely encapsulates the request issued by the Enclave instance 120, the security information encapsulation module 1334 is optional, and is not required in some scenarios, such as the direct scenario.
可信执行模块210包括消息管理模块211、安全处理模块212和硬件加速模块213。消息管理模块211用于跟实例模拟器前端模块130进行握手连接,包括通信通道的建立、自动重连和消息的分发等。安全处理模块212用于进行机密计算任务相关的安全操作处理,如加解密、随机数生成处理和证书生成逻辑等。硬件加速模块213用于使能安全芯片或者TEE的能力,将一些机密的信息,如密钥、平台配置寄存器(platform configuration register,PCR)的值等存放在硬件中,或者使用硬件加速安全操作。整个可信执行模块220可以整体或者部分放置在TEE中,从而构筑完全隔离的机密计算环境。The trusted execution module 210 includes a message management module 211 , a security processing module 212 and a hardware acceleration module 213 . The message management module 211 is used to perform a handshake connection with the instance emulator front-end module 130, including the establishment of a communication channel, automatic reconnection, and message distribution. The security processing module 212 is used to perform security operation processing related to confidential computing tasks, such as encryption and decryption, random number generation processing, and certificate generation logic. The hardware acceleration module 213 is used to enable the capability of the security chip or TEE, store some confidential information, such as keys, values of the platform configuration register (PCR), etc. in the hardware, or use hardware to accelerate security operations. The entire trusted execution module 220 can be placed entirely or partially in the TEE, thereby constructing a completely isolated confidential computing environment.
如图3所示,对于硬件层面来说,宿主机310包括CPU311、内存312和根复用器(root complex,RC)芯片313。其中RC芯片313为PCIe规范中定义的芯片,其作用是为宿主机310的CPU311提供向外部设备发送和接收PCIe消息的硬件接口。宿主机310与卸载卡320之间采用标准规范PCIe协议进行互联,即通信通道为PCIe通道,此外通信通道还可以是CXL通道,此时RC芯片313可以进行替换。As shown in FIG. 3 , at the hardware level, the host machine 310 includes a CPU 311 , a memory 312 and a root multiplexer (root complex, RC) chip 313 . The RC chip 313 is a chip defined in the PCIe specification, and its function is to provide a hardware interface for the CPU 311 of the host machine 310 to send and receive PCIe messages to and from external devices. The host machine 310 and the offloading card 320 are interconnected using the standard PCIe protocol, that is, the communication channel is a PCIe channel, and the communication channel can also be a CXL channel, and the RC chip 313 can be replaced at this time.
卸载卡320包括CPU321、内存322、端点(end point,EP)芯片323和安全芯片324。其中EP芯片324为PCIe规范中定义的芯片,其作用是作为外设接口向宿主机310发送和接收PCIe消息,即通信通道为PCIe通道,此外通信通道还可以是CXL通道,此时EP芯片323可以进行替换。此外安全芯片324可以是TEE安全芯片,CPU321中也可以设置该TEE安全芯片,从而通过硬件进一步强化机密计算的安全性。The uninstall card 320 includes a CPU 321 , a memory 322 , an endpoint (end point, EP) chip 323 and a security chip 324 . Wherein the EP chip 324 is a chip defined in the PCIe specification, and its function is to send and receive PCIe messages to the host computer 310 as a peripheral interface, that is, the communication channel is a PCIe channel, and the communication channel can also be a CXL channel. At this time, the EP chip 323 Substitutions can be made. In addition, the security chip 324 can be a TEE security chip, and the TEE security chip can also be set in the CPU 321 , so as to further strengthen the security of confidential computing through hardware.
在应用时,Enclave实例上运行的应用程序(application,APP)产生机密计算任务,应用程序是用户自开发的,即用户根据自身的机密计算需求预先创建好应用程序,机密计 算任务具体可以是获取随机数或者获取密钥信息等,然后Enclave实例发送机密计算任务给可信执行模块,具体为Enclave实例将机密计算任务发给实例模拟器前端模块的飞地安全模块,飞地安全模块接收到机密计算任务后解析机密计算任务中管理使用的头部信息而不解析具体机密计算任务内容,飞地安全模块继续调用后端通信管理模块,将组装完的机密计算任务的请求通过安全的通信通道发送到卸载卡的可信执行模块,可信执行模块接收到机密计算任务的请求之后,通过安全处理模块进行解析处理,可信执行模块可以根据机密计算任务的类别,调用硬件加速模块的相应逻辑进行加速处理,可信执行模块得到处理结果后将处理结果返回给Enclave实例,具体为先返回给实例模拟器前端模块的飞地安全模块,飞地安全模块收到处理结果,将处理结果发给Enclave实例,最后Enclave实例还可以通过虚拟通道通知主实例处理结果,完成机密计算任务。During application, the application program (application, APP) running on the Enclave instance generates confidential computing tasks. The application program is self-developed by the user, that is, the user pre-creates the application program according to his own confidential computing needs. The specific confidential computing task can be obtained Random numbers or obtain key information, etc., and then the Enclave instance sends the confidential computing task to the trusted execution module. After computing the task, parse the header information used in the management of the confidential computing task without parsing the content of the specific confidential computing task. The enclave security module continues to call the back-end communication management module to send the assembled confidential computing task request through a secure communication channel. To uninstall the trusted execution module of the card, after the trusted execution module receives the request of the confidential computing task, it analyzes and processes it through the security processing module, and the trusted execution module can call the corresponding logic of the hardware acceleration module according to the category of the confidential computing task. To speed up the processing, the trusted execution module returns the processing result to the Enclave instance after obtaining the processing result, specifically, it returns to the enclave security module of the front-end module of the instance simulator first, and the enclave security module receives the processing result and sends the processing result to the Enclave instance, and finally the Enclave instance can also notify the master instance of the processing result through the virtual channel to complete confidential computing tasks.
进一步的,若处理机密计算任务时需要从外部获取参数,Enclave实例可以通过虚拟通道和主实例进行通信,将主实例作为代理从外部网络中获取这些参数。Furthermore, if parameters need to be obtained from the outside when processing confidential computing tasks, the Enclave instance can communicate with the master instance through a virtual channel, and use the master instance as a proxy to obtain these parameters from the external network.
此外,在该计算节点出现故障时,宿主机和智能卡可以整体一起迁移到其他的计算节点,保证云服务的可迁移性和虚拟化的弹性,在热迁移裸金属服务器的过程中不消耗裸金属服务器的资源,如CPU、内存等,且不影响租户业务性能,如性能抖动。In addition, when the computing node fails, the host and the smart card can be migrated to other computing nodes together to ensure the portability of cloud services and the elasticity of virtualization, and the bare metal server will not be consumed during the hot migration process Server resources, such as CPU and memory, do not affect tenant business performance, such as performance jitter.
本申请实施例中,基于云技术的计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上运行有飞地Enclave实例,卸载卡上设置有为Enclave实例分配的可信执行模块,其中,Enclave实例用于将机密计算任务发送至可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上设置的可信执行模块使得TEE中的负责机密计算的可信执行模块与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的可信执行模块的机密计算,从而提高了用户程序和数据的安全性、机密性和完整性,此外卸载卡中的可信执行模块不会占用宿主机的资源,从而降低机密计算对业务性能的影响。In the embodiment of this application, the computing node based on cloud technology includes a host computer and an offload card. The offload card is inserted into the host computer and establishes a communication channel with the host computer. An enclave instance runs on the host computer, and the offload card is set with The trusted execution module assigned to the Enclave instance, where the Enclave instance is used to send confidential computing tasks to the trusted execution module; the trusted execution module is used to process confidential computing tasks, and the trusted execution module set on the uninstall card makes the TEE The trusted execution module responsible for confidential computing is physically isolated from the main instance through the host computer and the offloading card. After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving the security of user programs and data. In addition, the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
如图4所示,本申请实施例提供的基于云技术的计算节点另一实施例中,卸载卡420还与云管理平台404网络连接,即该计算节点400应用于数据中心400。As shown in FIG. 4 , in another embodiment of the computing node based on cloud technology provided by the embodiment of the present application, the offload card 420 is also connected to the cloud management platform 404 network, that is, the computing node 400 is applied to the data center 400 .
对于硬件层面来说,宿主机410包括CPU411、内存412和根复用器(root complex,RC)芯片413。其中RC芯片413为PCIe规范中定义的芯片,其作用是为宿主机410的CPU411提供向外部设备发送和接收PCIe消息的硬件接口。宿主机410与卸载卡420之间采用标准规范PCIe协议进行互联,即通信通道为PCIe通道,此外通信通道还可以是CXL通道,此时RC芯片413可以进行替换。卸载卡420包括CPU421、内存422、端点(end point,EP)芯片423和安全芯片424。其中EP芯片424为PCIe规范中定义的芯片,其作用是作为外设接口向宿主机410发送和接收PCIe消息,即通信通道为PCIe通道,此外通信通道还可以是CXL通道,此时EP芯片423可以进行替换。此外安全芯片424可以是TEE安全芯片,CPU421中也可以设置该TEE安全芯片,从而通过硬件进一步强化机密计算的安全性。For the hardware level, the host machine 410 includes a CPU 411 , a memory 412 and a root multiplexer (root complex, RC) chip 413 . The RC chip 413 is a chip defined in the PCIe specification, and its function is to provide a hardware interface for the CPU 411 of the host machine 410 to send and receive PCIe messages to and from external devices. The host computer 410 and the offloading card 420 are interconnected using the standard PCIe protocol, that is, the communication channel is a PCIe channel, and the communication channel can also be a CXL channel, and the RC chip 413 can be replaced at this time. The uninstall card 420 includes a CPU 421 , a memory 422 , an endpoint (end point, EP) chip 423 and a security chip 424 . Wherein the EP chip 424 is a chip defined in the PCIe specification, and its function is to send and receive PCIe messages to the host computer 410 as a peripheral interface, that is, the communication channel is a PCIe channel, and the communication channel can also be a CXL channel. At this time, the EP chip 423 Substitutions can be made. In addition, the security chip 424 can be a TEE security chip, and the TEE security chip can also be set in the CPU 421 , so as to further strengthen the security of confidential computing through hardware.
此外,卸载卡420还包括网卡425,卸载卡420通过网卡425连接全局存储资源和网络资源。具体的,网卡425可以通过数据中心内部网络403与云管理平台404连接,数据中心内部网络403还可以和其他计算节点402的网卡连接,云管理平台404通过互联网405和客户端406 连接,本申请实施例中的云管理平台客户端卸载在卸载卡420的网卡425中,即外部的用户不会和宿主机410直接进行通信,而是通过卸载卡420和宿主机410进行安全通信。In addition, the offloading card 420 also includes a network card 425, and the offloading card 420 is connected to global storage resources and network resources through the network card 425. Specifically, the network card 425 can be connected to the cloud management platform 404 through the data center internal network 403, the data center internal network 403 can also be connected to the network cards of other computing nodes 402, and the cloud management platform 404 is connected to the client 406 through the Internet 405. The cloud management platform client in the embodiment is offloaded in the network card 425 of the offloading card 420 , that is, external users do not directly communicate with the host machine 410 , but communicate securely with the host machine 410 through the offloading card 420 .
在执行机密计算任务前,用户需要创建主实例和Enclave实例,卸载卡接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。主实例基于登录主实例的租户输入的Enclave实例创建命令通知宿主机创建Enclave实例,主实例还基于Enclave实例创建命令通知卸载卡创建可信执行模块。Before performing confidential computing tasks, the user needs to create a master instance and an enclave instance, and the offload card receives the master instance creation request sent by the cloud management platform, and notifies the host to create a master instance through the communication channel. The master instance notifies the host to create an enclave instance based on the enclave instance creation command entered by the tenant who logs in to the master instance, and the master instance also notifies the uninstaller card to create a trusted execution module based on the enclave instance creation command.
具体的,管理员或用户可以发送主实例创建请求,因云管理平台客户端卸载在卸载卡上,卸载卡的管理组件会最先收到云管理平台发送的主实例创建请求,然后组装对应主实例的配置文件,该配置文件包括CPU类型、CPU数量,内存大小,磁盘、网卡和鼠标等等,配置文件组装完毕之后,卸载卡通过通信通道通知宿主机创建主实例,即将配置文件和主实例创建请求发送给宿主机,宿主机会根据配置文件的内容启动实例模拟器前端模块,调用实例模拟器前端模块的虚拟设备模拟模块工作,启动后卸载卡也会紧接着启动实例模拟器后端模块,并与实例模拟器前端模块建立连接通道,用于后续消息的传递,由此完成主实例的创建,主实例开始工作。Specifically, the administrator or user can send a master instance creation request. Because the cloud management platform client is uninstalled on the uninstall card, the management component of the uninstall card will first receive the master instance creation request sent by the cloud management platform, and then assemble the corresponding master instance. The configuration file of the instance, which includes the CPU type, number of CPUs, memory size, disk, network card, mouse, etc. After the configuration file is assembled, the uninstallation card notifies the host to create a master instance through the communication channel, that is, the configuration file and the master instance The creation request is sent to the host, and the host will start the front-end module of the instance simulator according to the content of the configuration file, and call the virtual device simulation module of the front-end module of the instance simulator to work. Uninstalling the card after startup will also start the back-end module of the instance simulator. And establish a connection channel with the front-end module of the instance emulator for the transmission of subsequent messages, thereby completing the creation of the master instance, and the master instance starts working.
用户在购买主实例后成为租户,租户可以登录主实例,在主实例的界面或者在主实例的创建过程中选择Enclave,由此通过Enclave工具在主实例发起Enclave实例创建命令,Enclave实例创建命令包括Enclave实例需要的CPU数量和内存大小等信息,主实例的实例模拟器前端模块的智能命令控制模块的生命周期管理模块接收到Enclave实例创建命令,会解析Enclave实例创建命令的参数,做好启动前准备,然后智能控制模块根据参数情况调用内存隔离模块,与虚拟机管理器配合,从主实例中隔离出相应大小的内存,智能控制模块还会根据参数情况调用CPU隔离模块,与虚拟机管理器配合,从主实例中划分出对应的CPU资源供Enclave实例独享使用,然后生命周期管理模块启动宿主机的Enclave实例,调用飞地安全模块的设备管理模块进行设备模拟。然后主实例的实例模拟器前端模块通过通信通道通知卸载卡的实例模拟器后端模块启动构建可信执行环境,实例模拟器后端模块拉起可信执行模块,并使用消息管理模块与宿主机的Enclave实例建立安全连接,此时Enclave实例和可信执行模块开始工作,可以执行后续的机密计算任务。After the user purchases the master instance, the user becomes a tenant. The tenant can log in to the master instance, select Enclave on the interface of the master instance or during the creation process of the master instance, and then initiate an Enclave instance creation command on the master instance through the Enclave tool. The enclave instance creation command includes Information such as the number of CPUs and memory size required by the enclave instance, the life cycle management module of the intelligent command control module of the instance emulator front-end module of the main instance receives the enclave instance creation command, and will analyze the parameters of the enclave instance creation command, and prepare the enclave instance creation command before starting Prepare, and then the intelligent control module calls the memory isolation module according to the parameters, and cooperates with the virtual machine manager to isolate the memory of the corresponding size from the main instance. The intelligent control module also calls the CPU isolation module according to the parameters, and the virtual machine manager. In cooperation, the corresponding CPU resources are allocated from the main instance for the exclusive use of the Enclave instance, and then the life cycle management module starts the Enclave instance of the host machine, and calls the device management module of the enclave security module to perform device simulation. Then the front-end module of the instance simulator of the main instance notifies the back-end module of the instance simulator of the unloading card through the communication channel to start building a trusted execution environment. The back-end module of the instance simulator pulls up the trusted execution module and uses the message management module to communicate with the host The enclave instance establishes a secure connection. At this time, the enclave instance and the trusted execution module start to work, and can perform subsequent confidential computing tasks.
进一步的,Enclave实例的数量为N个,N为大于或等于2的正整数,N个Enclave实例分别处理不同类型的机密计算任务,同时卸载卡上的可信执行模块的数量也为N个,且每个可信执行模块分别与互不相同的Enclave实例连接,即每个Enclave实例连接有一个可信执行模块。执行机密计算任务时,当主实例启动一个Enclave实例后,该Encalve实例上运行的应用程序会产生对应的机密计算任务,若需要处理特定类型的机密计算任务,主实例只需要启动对应的Encalve实例即可。此外,一个主实例还可以对应一个可信执行模块,主实例和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的Enclave实例连接以提供服务。Further, the number of Enclave instances is N, and N is a positive integer greater than or equal to 2. N Enclave instances process different types of confidential computing tasks respectively, and the number of trusted execution modules on the offload card is also N. And each trusted execution module is respectively connected with different enclave instances, that is, each enclave instance is connected with a trusted execution module. When executing a confidential computing task, when the master instance starts an Encalve instance, the application program running on the Encalve instance will generate a corresponding confidential computing task. If a specific type of confidential computing task needs to be processed, the master instance only needs to start the corresponding Encalve instance. Can. In addition, a master instance can also correspond to a trusted execution module, and the number of master instances and trusted execution modules is the same, and the trusted execution modules corresponding to a master instance can be connected to different enclave instances to provide services.
本申请实施例中,该计算节点应用于云数据中心,卸载卡还与云管理平台网络连接,从而创建主实例和Enclave实例,提升了方案的可实现性,此外Enclave实例的数量为多个,提升了细粒度拆分机密计算任务的能力,保证权限最小化。In the embodiment of the present application, the computing node is applied to the cloud data center, and the unloading card is also connected to the cloud management platform network, thereby creating a master instance and an enclave instance, which improves the feasibility of the solution. In addition, the number of enclave instances is multiple. The ability to fine-grained split confidential computing tasks has been improved to ensure that permissions are minimized.
如图5所示,本申请实施例提供的基于云技术的实例管理方法一实施例中,该方法包括:As shown in Figure 5, in an embodiment of the instance management method based on cloud technology provided by the embodiment of the present application, the method includes:
501、Enclave实例通过通信通道将应用程序产生的机密计算任务发送至可信执行模块。501. The Enclave instance sends the confidential computing task generated by the application program to the trusted execution module through a communication channel.
502、可信执行模块处理机密计算任务,并通过通信信道将处理结果返回给Enclave实例。502. The trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance through the communication channel.
该基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上上运行有飞地Enclave实例,卸载卡上还设置有为Enclave实例分配的可信执行模块,且Enclave实例中设置有应用程序,其中Enclave实例的数量为1个,通信通道包括高速串行计算机扩展总线PCIe通道和计算快速链路CXL通道。The instance management method based on cloud technology is applied to computing nodes. Computing nodes include a host and an offload card. The offload card is inserted into the host and establishes a communication channel with the host. Enclave instances run on the host. The card is also provided with a trusted execution module assigned to the Enclave instance, and the Enclave instance is provided with an application program, wherein the number of the Enclave instance is 1, and the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing fast link CXL aisle.
计算节点的Enclave实例通过通信通道将应用程序产生的机密计算任务发送至可信执行模块,计算节点的可信执行模块处理机密计算任务,并将处理结果返回给Enclave实例,完成机密计算任务,本申请实施例提供的基于云技术的实例管理方法具体实施方式可以参照前述的关于基于云技术的计算节点的描述,本申请实施例不再赘述。The Enclave instance of the computing node sends the confidential computing tasks generated by the application to the trusted execution module through the communication channel. The trusted execution module of the computing node processes the confidential computing tasks and returns the processing results to the Enclave instance to complete the confidential computing tasks. For the specific implementation of the instance management method based on cloud technology provided by the embodiment of the application, reference may be made to the foregoing description of computing nodes based on cloud technology, and details will not be repeated in this embodiment of the application.
本申请实施例中,基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上运行有飞地Enclave实例,卸载卡上设置有为Enclave实例分配的可信执行模块,该方法包括:Enclave实例将机密计算任务发送至可信执行模块;可信执行模块处理机密计算任务,卸载卡上设置的可信执行模块使得TEE中的负责机密计算的可信执行模块与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的可信执行模块的机密计算,从而提高了用户程序和数据的安全性、机密性和完整性,此外卸载卡中的可信执行模块不会占用宿主机的资源,从而降低机密计算对业务性能的影响。In the embodiment of this application, the instance management method based on cloud technology is applied to the computing node. The computing node includes a host computer and an offload card. The offload card is inserted into the host computer and establishes a communication channel with the host computer. An enclave runs on the host computer. For an enclave instance, a trusted execution module assigned to the enclave instance is set on the unloading card. The method includes: the enclave instance sends the confidential computing task to the trusted execution module; The trusted execution module makes the trusted execution module responsible for confidential computing in the TEE physically isolated from the main instance through the host computer and the offloading card. After the host computer is attacked, it will not affect the confidential computing of the trusted execution module in the offloading card, thereby improving The security, confidentiality and integrity of user programs and data. In addition, the trusted execution module in the offload card will not occupy the resources of the host computer, thereby reducing the impact of confidential computing on business performance.
如图6所示,本申请实施例提供的基于云技术的实例管理方法另一实施例中,该方法包括:As shown in Figure 6, in another embodiment of the instance management method based on cloud technology provided by the embodiment of the present application, the method includes:
601、卸载卡接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。601. The uninstallation card receives a master instance creation request sent by the cloud management platform, and notifies the host computer to create the master instance through a communication channel.
602、主实例基于登录主实例的租户输入的Enclave实例创建命令通知卸载卡创建Enclave实例。602. The master instance notifies the unloading card to create an enclave instance based on the enclave instance creation command input by the tenant who logs in to the master instance.
603、主实例基于Enclave实例创建命令通知卸载卡创建可信执行模块。603. Based on the Enclave instance creation command, the master instance notifies the offload card to create a trusted execution module.
604、Enclave实例通过通信通道将应用程序产生的机密计算任务发送至可信执行模块。604. The Enclave instance sends the confidential computing task generated by the application program to the trusted execution module through the communication channel.
605、可信执行模块处理机密计算任务,并将处理结果返回给Enclave实例。605. The trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance.
606、Enclave实例通过虚拟通道通知主实例处理结果。606. The enclave instance notifies the master instance of the processing result through the virtual channel.
该基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,宿主机上运行有飞地Enclave实例,卸载卡上还设置有为Enclave实例分配的可信执行模块,且Enclave实例中设置有应用程序,宿主机上运行有主实例,主实例与Enclave实例建立有虚拟通道,Enclave实例用于通过虚拟通道与主实例进行信息交互,卸载卡与云管理平台网络连接,Enclave实例的数量为N个,N为大于或等于2的正整数,N个Enclave实例分别处理不同类型的机密计算任务,可信执行模块的 数量为N个,且每个可信执行模块分别与互不相同的Enclave实例连接,其中通信通道包括高速串行计算机扩展总线PCIe通道和计算快速链路CXL通道。此外,一个主实例还可以对应一个可信执行模块,主实例和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的Enclave实例连接以提供服务。The instance management method based on cloud technology is applied to computing nodes. Computing nodes include a host computer and an offload card. The offload card is inserted into the host computer and establishes a communication channel with the host computer. Enclave instances run on the host computer. The offload card There is also a trusted execution module assigned to the Enclave instance, and an application program is set in the Enclave instance, a master instance runs on the host computer, a virtual channel is established between the master instance and the Enclave instance, and the Enclave instance is used to communicate with the master instance through the virtual channel. The instance performs information exchange, and the offload card is connected to the network of the cloud management platform. The number of Enclave instances is N, and N is a positive integer greater than or equal to 2. N Enclave instances handle different types of confidential computing tasks respectively. The trusted execution module The number is N, and each trusted execution module is connected to a different Enclave instance, wherein the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing express link CXL channel. In addition, a master instance can also correspond to a trusted execution module, and the number of master instances and trusted execution modules is the same, and the trusted execution modules corresponding to a master instance can be connected to different enclave instances to provide services.
计算节点的卸载卡接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例,然后计算节点的主实例基于登录主实例的租户输入的Enclave实例创建命令通知卸载卡创建Enclave实例,并基于Enclave实例创建命令通知卸载卡创建可信执行模块,计算机节点的主实例若需要进行某种机密计算任务,则只需要启动与该机密计算任务对应的Enclave实例,计算节点的Enclave实例通过通信通道将Enclave实例上运行的应用程序产生的机密计算任务发送至可信执行模块,计算节点的可信执行模块处理机密计算任务,并将处理结果返回给Enclave实例,最后计算节点的Enclave实例通过虚拟通道通知主实例处理结果,完成机密计算任务,本申请实施例提供的基于云技术的实例管理方法具体实施方式可以参照前述的关于基于云技术的计算节点的描述,本申请实施例不再赘述。The unloading card of the computing node receives the master instance creation request sent by the cloud management platform, and notifies the host to create a master instance through the communication channel, and then the master instance of the computing node notifies the unloading card to create an enclave based on the enclave instance creation command entered by the tenant who logged in to the master instance instance, and based on the Enclave instance creation command, the offloading card is notified to create a trusted execution module. If the main instance of the computer node needs to perform some confidential computing task, it only needs to start the Enclave instance corresponding to the confidential computing task, and the Enclave instance of the computing node The confidential computing tasks generated by the applications running on the enclave instance are sent to the trusted execution module through the communication channel. The trusted execution module of the computing node processes the confidential computing tasks and returns the processing results to the enclave instance. Finally, the enclave instance of the computing node The master instance is notified of the processing result through the virtual channel to complete the confidential computing task. For the specific implementation of the instance management method based on cloud technology provided by the embodiment of this application, please refer to the foregoing description about computing nodes based on cloud technology. repeat.
本申请实施例中,基于云技术的实例管理方法应用于计算节点,该计算节点应用于云数据中心,卸载卡还与云管理平台网络连接,从而创建主实例和Enclave实例,提升了方案的可实现性,此外Enclave实例的数量为多个,提升了细粒度拆分机密计算任务的能力,保证权限最小化。In the embodiment of this application, the instance management method based on cloud technology is applied to the computing node, and the computing node is applied to the cloud data center, and the offloading card is also connected to the cloud management platform network, thereby creating a master instance and an enclave instance, which improves the reliability of the solution. In addition, the number of enclave instances is multiple, which improves the ability to split confidential computing tasks at a fine-grained level and ensures the minimum authority.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法的具体工作过程,可以参考前述单元实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the method described above can refer to the corresponding process in the foregoing unit embodiments, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-only memory)、 随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), magnetic disk or optical disc, etc., which can store program codes. .

Claims (18)

  1. 一种基于云技术的计算节点,其特征在于,包括宿主机和卸载卡,所述卸载卡插置于所述宿主机并与所述宿主机建立有通信通道,所述宿主机上运行有飞地Enclave实例,所述卸载卡上设置有为所述Enclave实例分配的可信执行模块,且所述Enclave实例中设置有应用程序,其中,A computing node based on cloud technology, characterized in that it includes a host machine and an offloading card, the offloading card is inserted into the host machine and establishes a communication channel with the host machine, the host machine runs a flying An Enclave instance, the unloading card is provided with a trusted execution module allocated for the Enclave instance, and the Enclave instance is provided with an application program, wherein,
    所述Enclave实例,用于通过所述通信通道将所述应用程序产生的机密计算任务发送至所述可信执行模块;The Enclave instance is configured to send the confidential computing task generated by the application program to the trusted execution module through the communication channel;
    所述可信执行模块,用于处理所述机密计算任务,并通过所述通信信道将处理结果返回给所述Enclave实例。The trusted execution module is configured to process the confidential computing task, and return the processing result to the Enclave instance through the communication channel.
  2. 根据权利要求1所述的计算节点,其特征在于,所述宿主机上还运行有主实例,所述主实例与所述Enclave实例建立有虚拟通道,其中:The computing node according to claim 1, wherein a master instance is also running on the host computer, and a virtual channel is established between the master instance and the Enclave instance, wherein:
    所述Enclave实例,还用于通过所述虚拟通道与所述主实例进行信息交互。The Enclave instance is also used to exchange information with the master instance through the virtual channel.
  3. 根据权利要求2所述的计算节点,其特征在于,所述卸载卡与云管理平台网络连接,其中:The computing node according to claim 2, wherein the offloading card is connected to the cloud management platform network, wherein:
    所述卸载卡,用于接收所述云管理平台发送的主实例创建请求,并通过所述通信通道通知所述宿主机创建所述主实例。The unloading card is configured to receive the master instance creation request sent by the cloud management platform, and notify the host computer to create the master instance through the communication channel.
  4. 根据权利要求2所述的计算节点,其特征在于,The computing node according to claim 2, wherein,
    所述主实例,还用于基于登录所述主实例的租户输入的Enclave实例创建命令通知所述宿主机创建所述Enclave实例。The master instance is further configured to notify the host machine to create the enclave instance based on an enclave instance creation command entered by a tenant logging into the master instance.
  5. 根据权利要求4所述的计算节点,其特征在于,The computing node according to claim 4, wherein,
    所述主实例,还用于基于所述Enclave实例创建命令通知所述卸载卡创建所述可信执行模块。The master instance is further configured to notify the unloading card to create the trusted execution module based on the enclave instance creation command.
  6. 根据权利要求1至5任一项所述的计算节点,其特征在于,所述Enclave实例的数量为1个。The computing node according to any one of claims 1 to 5, wherein the number of Enclave instances is one.
  7. 根据权利要求2至5任一项所述的计算节点,其特征在于,所述Enclave实例的数量为N个,N为大于或等于2的正整数,所述N个Enclave实例分别处理不同类型的机密计算任务。The computing node according to any one of claims 2 to 5, wherein the number of Enclave instances is N, and N is a positive integer greater than or equal to 2, and the N Enclave instances process different types of Confidential computing tasks.
  8. 根据权利要求7所述的计算节点,其特征在于,所述可信执行模块的数量为N个,且每个所述可信执行模块通过所述通信信道分别与互不相同的Enclave实例连接。The computing node according to claim 7, wherein the number of the trusted execution modules is N, and each of the trusted execution modules is respectively connected to different Enclave instances through the communication channel.
  9. 根据权利要求1至8任一项所述的计算节点,其特征在于,所述通信通道包括高速串行计算机扩展总线PCIe通道和CXL通道。The computing node according to any one of claims 1 to 8, wherein the communication channel includes a high-speed serial computer expansion bus PCIe channel and a CXL channel.
  10. 一种基于云技术的实例管理方法,其特征在于,所述方法应用于计算节点,所述计算节点包括宿主机和卸载卡,所述卸载卡插置于所述宿主机并与所述宿主机建立有通信通道,所述宿主机上运行有飞地Enclave实例,所述卸载卡上设置有为所述Enclave实例分配的可信执行模块,且所述Enclave实例中设置有应用程序,所述方法包括以下步骤:A cloud-based instance management method, characterized in that the method is applied to a computing node, and the computing node includes a host machine and an offloading card, and the offloading card is inserted into the host machine and connected to the host machine A communication channel is established, an Enclave instance of an enclave runs on the host machine, a trusted execution module allocated for the Enclave instance is set on the offloading card, and an application program is set in the Enclave instance, and the method Include the following steps:
    所述Enclave实例通过所述通信通道将所述应用程序产生的机密计算任务发送至所述可信执行模块;The Enclave instance sends the confidential computing task generated by the application program to the trusted execution module through the communication channel;
    所述可信执行模块处理所述机密计算任务,并通过所述通信信道将处理结果返回给所述Enclave实例。The trusted execution module processes the confidential computing task, and returns a processing result to the Enclave instance through the communication channel.
  11. 根据权利要求10所述的方法,其特征在于,所述宿主机上还运行有主实例,所述主实例与所述Enclave实例建立有虚拟通道,所述Enclave实例用于通过所述虚拟通道与所述主实例进行信息交互,所述方法还包括:The method according to claim 10, wherein a master instance is also running on the host computer, a virtual channel is established between the master instance and the Enclave instance, and the Enclave instance is used to communicate with the Enclave instance through the virtual channel The main instance performs information interaction, and the method also includes:
    所述Enclave实例通过所述虚拟通道通知所述主实例所述处理结果。The Enclave instance notifies the master instance of the processing result through the virtual channel.
  12. 根据权利要求11所述的方法,其特征在于,所述卸载卡与云管理平台网络连接,所述方法还包括:The method according to claim 11, wherein the unloading card is connected to a cloud management platform network, and the method also includes:
    所述卸载卡接收所述云管理平台发送的主实例创建请求,并通过所述通信通道通知所述宿主机创建所述主实例。The unloading card receives the master instance creation request sent by the cloud management platform, and notifies the host machine to create the master instance through the communication channel.
  13. 根据权利要求11所述的方法,其特征在于,所述方法还包括:The method according to claim 11, characterized in that the method further comprises:
    所述主实例基于登录所述主实例的租户输入的Enclave实例创建命令通知所述宿主机创建所述Enclave实例。The master instance notifies the host machine to create the enclave instance based on an enclave instance creation command entered by a tenant logging into the master instance.
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:The method according to claim 13, further comprising:
    所述主实例基于所述Enclave实例创建命令通知所述卸载卡创建所述可信执行模块。The master instance notifies the unloading card to create the trusted execution module based on the enclave instance creation command.
  15. 根据权利要求10至14任一项所述的方法,其特征在于,所述Enclave实例的数量为1个。The method according to any one of claims 10 to 14, wherein the number of Enclave instances is one.
  16. 根据权利要求11至14任一项所述的方法,其特征在于,所述Enclave实例的数量为N个,N为大于或等于2的正整数,所述N个Enclave实例分别处理不同类型的机密计算任务。The method according to any one of claims 11 to 14, wherein the number of Enclave instances is N, and N is a positive integer greater than or equal to 2, and the N Enclave instances process different types of secrets respectively computing tasks.
  17. 根据权利要求16所述的方法,其特征在于,所述可信执行模块的数量为N个,且每个所述可信执行模块通过所述通信信道分别与互不相同的Enclave实例连接。The method according to claim 16, wherein the number of the trusted execution modules is N, and each of the trusted execution modules is respectively connected to different Enclave instances through the communication channel.
  18. 根据权利要求10至17任一项所述的方法,其特征在于,所述通信通道包括高速串行计算机扩展总线PCIe通道和CXL通道。The method according to any one of claims 10 to 17, wherein the communication channel comprises a high-speed serial computer expansion bus PCIe channel and a CXL channel.
PCT/CN2022/119266 2021-09-18 2022-09-16 Cloud-technology-based computing node and cloud-technology-based instance management method WO2023041025A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111112194.0 2021-09-18
CN202111112194.0A CN115828249A (en) 2021-09-18 2021-09-18 Computing node based on cloud technology and instance management method based on cloud technology

Publications (1)

Publication Number Publication Date
WO2023041025A1 true WO2023041025A1 (en) 2023-03-23

Family

ID=85516055

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/119266 WO2023041025A1 (en) 2021-09-18 2022-09-16 Cloud-technology-based computing node and cloud-technology-based instance management method

Country Status (2)

Country Link
CN (1) CN115828249A (en)
WO (1) WO2023041025A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170091434A1 (en) * 2015-09-25 2017-03-30 Mcafee, Inc. Secure communication between a virtual smartcard enclave and a trusted i/o enclave
WO2017082966A1 (en) * 2015-11-09 2017-05-18 Intel IP Corporation Integrated universal integrated circuit card on mobile computing environments
CN110138799A (en) * 2019-05-30 2019-08-16 东北大学 A kind of secure cloud storage method based on SGX
WO2020197810A1 (en) * 2019-03-28 2020-10-01 Amazon Technologies, Inc. Verified isolated run-time environments for enhanced security computations within compute instances
US20210021580A1 (en) * 2019-07-17 2021-01-21 Red Hat, Inc. Protection of private data using an enclave cluster

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170091434A1 (en) * 2015-09-25 2017-03-30 Mcafee, Inc. Secure communication between a virtual smartcard enclave and a trusted i/o enclave
WO2017082966A1 (en) * 2015-11-09 2017-05-18 Intel IP Corporation Integrated universal integrated circuit card on mobile computing environments
WO2020197810A1 (en) * 2019-03-28 2020-10-01 Amazon Technologies, Inc. Verified isolated run-time environments for enhanced security computations within compute instances
CN110138799A (en) * 2019-05-30 2019-08-16 东北大学 A kind of secure cloud storage method based on SGX
US20210021580A1 (en) * 2019-07-17 2021-01-21 Red Hat, Inc. Protection of private data using an enclave cluster

Also Published As

Publication number Publication date
CN115828249A (en) 2023-03-21

Similar Documents

Publication Publication Date Title
US8108668B2 (en) Associating a multi-context trusted platform module with distributed platforms
US9575790B2 (en) Secure communication using a trusted virtual machine
US9830430B2 (en) Inherited product activation for virtual machines
JP4498416B2 (en) Method and apparatus for providing secure virtualization of a trusted platform module
Krautheim et al. Introducing the trusted virtual environment module: a new mechanism for rooting trust in cloud computing
CN102420846B (en) Remote access to hosted virtual machines by enterprise users
CN107704308B (en) Virtual platform vTPM management system, trust chain construction method and device, and storage medium
CN114036573A (en) Computing device supporting private computing
CN112948070A (en) Method for processing data by a data processing accelerator and data processing accelerator
US10382456B2 (en) Remote computing system providing malicious file detection and mitigation features for virtual machines
US20220374512A1 (en) Software-based hardware security module (hsm) for a virtualized computing environment
US11748520B2 (en) Protection of a secured application in a cluster
CA3117314A1 (en) Secure invocation of network security entities
Dai et al. Tnguard: Securing iot oriented tenant networks based on sdn
Xu et al. Virtualization of the encryption card for trust access in cloud computing
WO2023041025A1 (en) Cloud-technology-based computing node and cloud-technology-based instance management method
WO2023041037A1 (en) Cloud-technology-based computing node and cloud-technology-based instance management method
US20230066427A1 (en) Distributed trusted platform module key management protection for roaming data
US11025594B2 (en) Secret information distribution method and device
Chu et al. Secure cryptography infrastructures in the cloud
US11922211B2 (en) System and method for cross-architecture trusted execution environment migration
WO2024002342A1 (en) Cloud technology-based trusted execution system and method
EP4012587A1 (en) System and method for securely transmitting or storing data
Ma et al. TVMCM: A trusted VM clone model in cloud computing
CN116614241A (en) Authentication method, computing device and instance management device

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: 22869391

Country of ref document: EP

Kind code of ref document: A1