WO2023041037A1 - 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
WO2023041037A1
WO2023041037A1 PCT/CN2022/119318 CN2022119318W WO2023041037A1 WO 2023041037 A1 WO2023041037 A1 WO 2023041037A1 CN 2022119318 W CN2022119318 W CN 2022119318W WO 2023041037 A1 WO2023041037 A1 WO 2023041037A1
Authority
WO
WIPO (PCT)
Prior art keywords
instance
enclave
card
trusted execution
cloud
Prior art date
Application number
PCT/CN2022/119318
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 WO2023041037A1 publication Critical patent/WO2023041037A1/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 Confidential computing
  • TEE is a security 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 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 service 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.
  • a trusted execution module assigned to the enclave instance, and an application program is set in the enclave instance, and a master instance runs on the host machine, where the enclave instance is used to send the confidential computing tasks generated by the application program to the trusted execution module ;
  • the trusted execution module is used to process confidential computing tasks and return the processing results to the Enclave instance.
  • 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 uninstall 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. There is a master instance running on the host.
  • the enclave instance in this application runs an enclave instance, and is also equipped with a trusted execution module assigned to the enclave instance.
  • the enclave instance is a trusted execution environment and a trusted isolation space.
  • the trusted execution module is used to execute Confidential computing, where the Enclave instance is set with an application program.
  • the Enclave instance sends the confidential computing tasks generated by the application program to the trusted execution module.
  • the trusted execution module can process the confidential computing tasks and return the processing results to the Enclave instances, thus completing confidential computing tasks.
  • the computing node based on cloud technology 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.
  • An enclave instance runs on the offloading card, and the offloading card is also provided with
  • the trusted execution module assigned to the enclave instance has a master instance running on the host machine, and an application program is set in the enclave instance, where the enclave instance is used to send the confidential computing tasks generated by the application program to the trusted execution module; the trusted execution module It is used to handle confidential computing tasks.
  • Running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host machine and the offload card.
  • the host machine After the host machine is attacked, it will not affect the TEE in the offload card, thereby improving the security of user programs and data. Security, confidentiality, and integrity to ensure the security of the data processing process of confidential computing. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that the business performance will not be affected.
  • the unloading card is connected to the cloud management platform network, wherein: the unloading card is used to receive the master instance creation request sent by the cloud management platform, and notify the host to create the master instance through a communication channel.
  • the unloading card is also 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 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 master instance is further configured to notify the uninstallation card to create an enclave instance and a trusted execution module based on an enclave instance creation command entered by a tenant logging into 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 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.
  • the method 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 offloading card An enclave instance is running on the host machine, a trusted execution module assigned to the enclave instance is also set on the offloading card, and an application program is set in the enclave instance, and a master instance runs on the host machine.
  • the method includes the following steps: the enclave instance sends the application
  • the confidential computing tasks generated by the program are sent to the trusted execution module; the trusted execution module processes the confidential computing tasks and returns the processing results to the Enclave instance.
  • 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 can run on the host machine and be executed through a virtual machine manager.
  • a virtual machine manager is also called a virtual machine.
  • the host monitor, the uninstall card is a standard external device of the host, also known as a smart card, which is inserted into the host and establishes a communication channel with the host, in which the main instance runs on the host.
  • the enclave instance in this application runs an enclave instance, and is also equipped with a trusted execution module assigned to the enclave instance.
  • the enclave instance is a trusted execution environment and a trusted isolation space.
  • the trusted execution module is used to execute Confidential computing, where the Enclave instance is set with an application program.
  • the Enclave instance sends the confidential computing tasks generated by the application program to the trusted execution module.
  • the trusted execution module can process the confidential computing tasks and return the processing results to the Enclave instances, thus completing 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 offloading card.
  • the unloading card is also provided with a trusted execution module assigned to the Enclave instance, a master instance runs on the host machine, and an application program is set in the Enclave instance
  • the method includes: the Enclave instance sends the confidential computing tasks generated by the application program to the Trusted execution module; the trusted execution module handles confidential computing tasks.
  • Running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host and the offload card. After the host is attacked, it will not affect the TEE in the offload card, thereby improving The security, confidentiality and integrity of user programs and data ensure the safety of confidential computing data processing. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that business performance will not be affected.
  • 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 process 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 offload card.
  • the enclave instance is used to send the confidential computing tasks generated by the application program to the trusted execution module; the trusted execution module
  • the module is used to handle confidential computing tasks.
  • Running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host machine and the offload card.
  • the host machine After the host machine is attacked, it will not affect the TEE in the offload card, thereby improving the security of the TEE.
  • the data processing process of confidential computing is guaranteed to be safe.
  • the TEE in the offload card will not occupy the resources of the host computer, so that the business performance will not be affected.
  • 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 service 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 attempts 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 computing node based on the cloud technology provided by the embodiment of the present application will be described below in combination with the above-mentioned architecture of the cloud data center 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 computer 100 and an offloading card 200.
  • the offloading card 200 is inserted into the host computer 100 and establishes a communication channel with the host computer 100.
  • the enclave instance 210 is running on the card 200, and the trusted execution module 220 assigned to the enclave instance 210 is also set on the offloading card 200, and an application program is set in the enclave instance 210, and a master instance 110 runs on the host machine 100,
  • the number of Enclave instance 210 is one, and the communication channel may be a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) channel, or a compute express link (compute express link, CXL) channel.
  • PCIe peripheral component interconnect express
  • CXL compute express link
  • the host machine 100 also includes a virtual machine manager 130 and an instance emulator front-end module 120.
  • the instance emulator front-end module 120 is only applied to the master instance 110.
  • the simulated instance is an abstract concept and is not limited to virtual machines, containers, and functions, etc.
  • the example emulator front-end module 120 is used to simulate various chipsets of computer equipment, life cycle management of the central processing unit (central processing unit, CPU) in the virtual machine, virtual machine exit (VM Exit), etc.
  • the instance emulator front-end module 120 specifically includes an intelligent control module 121 and an isolated communication module 122, the intelligent control module 121 is a channel used by the main instance 110 to control the life cycle of the Enclave instance 210, and the isolated communication module 122 It is a secure communication channel used to connect the main instance 110 and the Enclave instance 210 of the unloading card 200 in the main instance 110, and has perfect security control.
  • the front-end module 120 of the instance emulator also includes other modules related to its use. This is not limited.
  • the offload card 200 also includes a control plane logic component 240 and an instance emulator backend module 230 .
  • the control plane logic component 240 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, operation and maintenance, the modules in the instance simulator back-end module 230 and the instance simulator front-end module There is a one-to-one correspondence between 120 and 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
  • components related to system installation, upgrade, deployment, operation and maintenance the modules in the instance simulator back-end module 230 and the instance simulator front-end module
  • the intelligent control module 121 includes a lifecycle management module 1211 and a virtual device simulation module 1212 .
  • the lifecycle management module 1211 is used to create, destroy and reconfigure the Enclave instance 210, and is also responsible for the connection management with the instance simulator backend module 230.
  • the virtual device simulation module 1212 is used to perform the device of the master instance 110 command channel
  • the simulation can be a virtual IO processing protocol (Virtual IO, VirtIO) device or any other peripheral component interconnect standard (peripheral component interconnect, PCI) device, memory-mapped I/O, MMIO simulation device, etc.
  • the isolated communication module 122 includes a control device module 1221 and a rights management module 1222 .
  • the control device module 1221 is mainly used to establish a secure channel connection between the main instance 110 and the Enclave instance 210.
  • the channel can be a VirtIO device, a network card device, a shared memory device, etc., and finally connect through a communication channel or a trusted network, and authority management Module 1222 is used to control and manage the authority of the communication channel to ensure that no other abnormal users or escaped attackers can access the communication channel.
  • the trusted execution module 220 includes an enclave security module 221 , a message management module 222 , a security processing module 223 and a hardware acceleration module 224 .
  • the enclave security module 221 is used to supply the trusted execution module 220 to complete operations related to the trusted execution environment command, and to complete the simulation management of related devices at the same time.
  • the message management module 222 is used to perform a handshake connection with the instance emulator front-end module 120, including the establishment of a communication channel, automatic reconnection, and message distribution.
  • the security processing module 223 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 224 is used to enable the capability of the security chip or TEE, store some confidential information, such as keys, values of platform configuration registers (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 enclave security module 221 includes a device management module 2211 , a backend communication management module 2212 , a resource management module 2213 and a security information encapsulation module 2214 .
  • the device management module 2211 is used 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 2212 establishes a connection with the Enclave instance 210, and transmits the request and response information of the Enclave instance 210.
  • the resource management module 2213 is responsible for the allocation or release of management resources of the entire trusted execution module 220, and the security information encapsulation module 2214.
  • the request delivered by the execution module 220 is securely encapsulated.
  • the security information encapsulation module 2214 is optional and not required in some scenarios, such as the direct scenario.
  • 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 key information, etc., and then the Enclave instance sends the confidential computing task to the trusted execution module.
  • the Enclave instance sends the confidential computing task to the device management module in the enclave security module, and the enclave security module receives the confidential computing task.
  • After the task analyze the header information used in the management of the confidential computing task without parsing the content of the specific confidential computing task, and then perform the analysis and processing of the confidential computing task through the security processing module.
  • the trusted execution module can call hardware acceleration according to the category of the confidential computing task The corresponding logic of the module performs accelerated processing, and the trusted execution module returns the processing result to the Enclave instance after obtaining the processing result to complete the confidential computing task.
  • an enclave security proxy module can also be set in the host computer. After the trusted execution module obtains the processing result, it returns the processing result to the enclave security proxy module of the host computer through the message management module, and the enclave security proxy module receives After the processing result is returned to the Enclave instance.
  • the Enclave instance can communicate with the master instance through the communication channel, and use the master instance as a proxy to obtain these parameters from the external network.
  • the host computer and the smart card can be migrated to other computing nodes together to ensure the portability of cloud services and the elasticity of virtualization.
  • 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 offload card.
  • Running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host and the offload card.
  • the TEE in the offload card After the host is attacked, it will not affect the TEE in the offload card, thereby improving The security, confidentiality and integrity of user programs and data ensure the safety of confidential computing data processing. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that business performance will not be affected.
  • the offload card 420 is also connected to the cloud management platform 404 through the network, that is, the computing node 401 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 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 management platform client Before performing confidential computing tasks, users need to create master instances and enclave instances. Administrators or users can send master instance creation requests. Because the cloud management platform client is uninstalled on the uninstall card, the management components of the uninstall card will receive the cloud The master instance creation request sent by the management platform, and then assemble the configuration file corresponding to the master instance, the configuration file includes CPU type, CPU quantity, memory size, disk, network card and mouse, etc.
  • the uninstall card passes through the communication channel Notify the host to create a master instance, that is, send the configuration file and master instance creation request to the host, and the host will start the front-end module of the instance emulator according to the content of the configuration file, call the virtual device simulation module of the front-end module of the emulator to work, and uninstall it after startup
  • the card will also start the back-end module of the instance simulator immediately, and establish a connection channel with the front-end module of the instance simulator for subsequent message transmission, 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 instance emulator front-end module of the main instance notifies the instance emulator back-end module of the unloading card through the communication channel to start building the Enclave instance, and the instance emulator back-end module pulls up the Enclave instance and the trusted execution module, and uses the message management module A secure connection is established with the main instance, and the Enclave instance and the trusted execution module start working at this time, 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. 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.
  • the trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance.
  • Computing nodes include a host computer and an offload card. There is also a trusted execution module assigned to the Enclave instance, and an application program is set in the Enclave instance, and there is a master instance running on the host computer, where the number of Enclave instances is 1, and the communication channel includes a high-speed serial computer expansion bus PCIe Channels and Compute Express Link CXL channels.
  • the Enclave instance of the computing node sends the confidential computing task generated by the application program to the trusted execution module, and then the trusted execution module of the computing node processes the confidential computing task and returns the processing result to the Enclave instance to complete the confidential computing task.
  • the embodiment of this application For the specific implementation of the provided instance management method based on cloud technology, reference may be made to the foregoing description about computing nodes based on cloud technology, and details will not be repeated in this embodiment of the present application.
  • 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 runs on the offloading card.
  • the unloading card is also provided with a trusted execution module assigned to the Enclave instance, the host machine runs a master instance, and an application program is set in the Enclave instance.
  • the method includes: the Enclave instance sends the confidential computing tasks generated by the application program to Trusted execution module; the trusted execution module handles confidential computing tasks, and running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host computer and the offload card. After the host computer is attacked, it will not affect the TEE in the offload card, thereby improving The security, confidentiality and integrity of user programs and data are guaranteed, and the data processing process of confidential computing is guaranteed to be safe. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that business performance will not be affected.
  • 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 Based on the enclave instance creation command entered by the tenant who logs in to the master instance, the master instance notifies the offloading card to create an enclave instance and a trusted execution module.
  • the Enclave instance sends the confidential computing task generated by the application program to the trusted execution module.
  • the trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance.
  • Computing nodes include a host computer and an offload card.
  • a trusted execution module assigned to the enclave instance, and the enclave instance is set with an application program, the main instance runs on the host computer, the offload card is connected to the cloud management platform network, and the number of enclave instances is N, where N is A positive integer greater than or equal to 2, N Enclave instances handle different types of confidential computing tasks, the number of trusted execution modules is N, and each trusted execution module is connected to different Enclave instances, in which the communication
  • the channels include high-speed serial computer expansion bus PCIe channels and computing express link CXL channels.
  • 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 trusted execution module, if the main instance of the computer node needs to perform some kind of 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 sends the application program running on the Enclave instance
  • the confidential computing task is given to the trusted execution module corresponding to the enclave instance, and finally the trusted execution module corresponding to the enclave instance processes the confidential computing task and returns the processing result to the enclave instance to complete the confidential computing task.
  • the instance management method of the cloud technology reference may be made to the foregoing description of the computing node based on the cloud technology, and the embodiments
  • 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. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)

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 offloading card; the offloading card is further provided with a trusted execution module that is allocated for the enclave instance; a main instance is run on the host machine; an application program is provided in the enclave instance; the enclave instance is used for sending, to the trusted execution module, a confidential computing task that is generated by the application program in the enclave instance; and the trusted execution module is used for processing the confidential computing task.

Description

基于云技术的计算节点及基于云技术的实例管理方法Computing node based on cloud technology and instance management method based on cloud technology
本申请要求于2021年9月18日提交中国专利局、申请号为202111113344.X、发明名称为“基于云技术的计算节点及基于云技术的实例管理方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application submitted to the China Patent Office on September 18, 2021, with the application number 202111113344.X, and the title of the invention is "Computing node based on cloud technology and instance management method based on cloud technology". The entire contents are incorporated by reference in this application.
技术领域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.
云服务中的数据一般分为三种形态:静态数据、传输中的数据以及使用中的数据,前两者可以通过加密等方式来保障数据安全,对于使用中的数据,目前一般采用机密计算(confidential computing)来保护使用中的数据的安全性,其主要在于提供一个可信执行环境(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 ( Confidential computing) to protect the security of data in use, which mainly provides a trusted execution environment (trusted execution environment, TEE), TEE is a security 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 service 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. There is also a trusted execution module assigned to the enclave instance, and an application program is set in the enclave instance, and a master instance runs on the host machine, where the enclave instance is used to send the confidential computing tasks generated by the application program to the trusted execution module ; The trusted execution module is used to process confidential computing tasks and return the processing results to the Enclave instance.
本申请中的基于云技术的计算节点可以是一个服务器,服务器包括宿主机和卸载卡,宿主机上可以运行一个或多个虚拟机(virtual machine,VM),并通过虚拟机管理器 (Hypervisor)执行,虚拟机管理器又称虚拟机监视器(virtual machine monitor,VMM),卸载卡是宿主机的标准外接设备,又称智能卡,插置于宿主机并与宿主机建立有通信通道,其中宿主机上运行有主实例。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 uninstall 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. There is a master instance running on the host.
本申请中的卸载卡上运行有飞地Enclave实例,还设置有为Enclave实例分配的可信执行模块,Enclave实例是一个可信执行环境,也是一个可信隔离空间,可信执行模块用于执行机密计算,其中Enclave实例中设置有应用程序,在应用过程中,Enclave实例发送应用程序产生的机密计算任务给可信执行模块,可信执行模块就可以处理机密计算任务,并将处理结果返回给Enclave实例,由此完成了机密计算任务。The enclave instance in this application runs an enclave instance, and is also equipped with a trusted execution module assigned to the enclave instance. The enclave instance is a trusted execution environment and a trusted isolation space. The trusted execution module is used to execute Confidential computing, where the Enclave instance is set with an application program. During the application process, the Enclave instance sends the confidential computing tasks generated by the application program to the trusted execution module. The trusted execution module can process the confidential computing tasks and return the processing results to the Enclave instances, thus completing confidential computing tasks.
该第一方面,基于云技术的计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地Enclave实例,卸载卡上还设置有为Enclave实例分配的可信执行模块,宿主机上运行有主实例,Enclave实例中设置有应用程序,其中,Enclave实例用于发送应用程序产生的机密计算任务给可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上运行Enclave实例使得TEE与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的TEE,从而提高了用户程序和数据的安全性、机密性和完整性,保证机密计算的处理数据过程安全,此外卸载卡中的TEE不会占用宿主机的资源,使得业务性能不受影响。In the first aspect, the computing node based on cloud technology 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. An enclave instance runs on the offloading card, and the offloading card is also provided with The trusted execution module assigned to the enclave instance has a master instance running on the host machine, and an application program is set in the enclave instance, where the enclave instance is used to send the confidential computing tasks generated by the application program to the trusted execution module; the trusted execution module It is used to handle confidential computing tasks. Running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host machine and the offload card. After the host machine is attacked, it will not affect the TEE in the offload card, thereby improving the security of user programs and data. Security, confidentiality, and integrity to ensure the security of the data processing process of confidential computing. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that the business performance will not be affected.
在第一方面的一种可能的实现方式中,卸载卡与云管理平台网络连接,其中:卸载卡用于接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。In a possible implementation of the first aspect, the unloading card is connected to the cloud management platform network, wherein: the unloading card is used to receive the master instance creation request sent by the cloud management platform, and notify the host to create the master instance through a communication channel.
该种可能的实现方式中,卸载卡还与云管理平台网络连接,即该基于云技术的计算节点可以应用在云数据中心,用户可以在客户端输入主实例创建请求,通过互联网发送给云管理平台,云管理平台通过数据中心内部网络将主实例创建请求发送给该计算节点的卸载卡中,卸载卡通过通信通道通知宿主机创建主实例,提升了方案的可实现性。In this possible implementation, the unloading card is also 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 and send it to the cloud management platform through the Internet. Platform, 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 uninstallation card to create an enclave instance and a trusted execution module 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 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 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 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. The method 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 offloading card An enclave instance is running on the host machine, a trusted execution module assigned to the enclave instance is also set on the offloading card, and an application program is set in the enclave instance, and a master instance runs on the host machine. The method includes the following steps: the enclave instance sends the application The confidential computing tasks generated by the program are sent to the trusted execution module; the trusted execution module processes the confidential computing tasks and returns the processing results to the Enclave instance.
本申请中的基于云技术的计算节点可以是一个服务器,服务器包括宿主机和卸载卡,宿主机上可以运行一个或多个虚拟机,并通过虚拟机管理器执行,虚拟机管理器又称虚拟机监视器,卸载卡是宿主机的标准外接设备,又称智能卡,插置于宿主机并与宿主机建立有通信通道,其中宿主机上运行有主实例。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 can run on the host machine and be executed through a virtual machine manager. A virtual machine manager is also called a virtual machine. The host monitor, the uninstall card is a standard external device of the host, also known as a smart card, which is inserted into the host and establishes a communication channel with the host, in which the main instance runs on the host.
本申请中的卸载卡上运行有飞地Enclave实例,还设置有为Enclave实例分配的可信执行模块,Enclave实例是一个可信执行环境,也是一个可信隔离空间,可信执行模块用于执行机密计算,其中Enclave实例中设置有应用程序,在应用过程中,Enclave实例发送应用程序产生的机密计算任务给可信执行模块,可信执行模块就可以处理机密计算任务,并将处理结果返回给Enclave实例,由此完成了机密计算任务。The enclave instance in this application runs an enclave instance, and is also equipped with a trusted execution module assigned to the enclave instance. The enclave instance is a trusted execution environment and a trusted isolation space. The trusted execution module is used to execute Confidential computing, where the Enclave instance is set with an application program. During the application process, the Enclave instance sends the confidential computing tasks generated by the application program to the trusted execution module. The trusted execution module can process the confidential computing tasks and return the processing results to the Enclave instances, thus completing confidential computing tasks.
该第二方面,基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地Enclave实例,卸载卡上还设置有为Enclave实例分配的可信执行模块,宿主机上运行有主实例,Enclave实例中设置有应用程序,该方法包括:Enclave实例发送应用程序产生的机密计算任务给可信执行模块;可信执行模块处理机密计算任务,卸载卡上运行Enclave实例使得TEE与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的TEE,从而提高了用户程序和数据的安全性、机密性和完整性,保证机密计算的处理数据过程安全,此外卸载卡中的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 offloading card. instance, the unloading card is also provided with a trusted execution module assigned to the Enclave instance, a master instance runs on the host machine, and an application program is set in the Enclave instance, the method includes: the Enclave instance sends the confidential computing tasks generated by the application program to the Trusted execution module; the trusted execution module handles confidential computing tasks. Running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host and the offload card. After the host is attacked, it will not affect the TEE in the offload card, thereby improving The security, confidentiality and integrity of user programs and data ensure the safety of confidential computing data processing. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that business performance will not be affected.
在第二方面的一种可能的实现方式中,卸载卡与云管理平台网络连接,该方法还包括:卸载卡接收云管理平台发送的主实例创建请求,并通过通信通道通知宿主机创建主实例。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 process 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实例中设置有应用程序,其中,Enclave实例用于发送应用程序产生的机密计算任务给可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上运行Enclave实例使得TEE与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的TEE,从而提高了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 offload card. There is a trusted execution module assigned to the enclave instance. There is a master instance running on the host machine, and an application program is set in the enclave instance. The enclave instance is used to send the confidential computing tasks generated by the application program to the trusted execution module; the trusted execution module The module is used to handle confidential computing tasks. Running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host machine and the offload card. After the host machine is attacked, it will not affect the TEE in the offload card, thereby improving the security of the TEE. The data processing process of confidential computing is guaranteed to be safe. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that the business performance will not be affected.
附图说明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 service 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 attempts 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 computing node based on the cloud technology provided by the embodiment of the present application will be described below in combination with the above-mentioned architecture of the cloud data center and the concept of confidential computing.
如图2所示,本申请实施例提供的基于云技术的计算节点一实施例包括宿主机100和卸载卡200,卸载卡200插置于宿主机100并与宿主机100建立有通信通道,卸载卡200上运行有飞地Enclave实例210,卸载卡200上还设置有为Enclave实例210分配的可信执行模块220,且Enclave实例210中设置有应用程序,宿主机100上运行有主实例110,其中,Enclave实例210的数量为1个,通信通道可以是高速串行计算机扩展总线(peripheral component interconnect express,PCIe)通道,也可以是计算快速链路(compute express link,CXL)通道。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 computer 100 and an offloading card 200. The offloading card 200 is inserted into the host computer 100 and establishes a communication channel with the host computer 100. The enclave instance 210 is running on the card 200, and the trusted execution module 220 assigned to the enclave instance 210 is also set on the offloading card 200, and an application program is set in the enclave instance 210, and a master instance 110 runs on the host machine 100, Wherein, the number of Enclave instance 210 is one, and the communication channel may be a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe) channel, or a compute express link (compute express link, CXL) channel.
具体的,宿主机100还包括虚拟机管理器130和实例模拟器前端模块120,实例模拟器前端模块120只应用于主实例110,其模拟的实例是一个抽象概念,不限于虚拟机、容器和函 数等,实例模拟器前端模块120用于模拟计算机设备的各种芯片组、虚拟机内中央处理器(central processing unit,CPU)的生命周期管理、虚拟机退出(VM Exit)等与虚拟机业务强相关的逻辑处理,实例模拟器前端模块120具体包括智能控制模块121和隔离通信模块122,智能控制模块121是主实例110用来进行Enclave实例210的生命周期控制相关的通道,隔离通信模块122是主实例110中用来连接主实例110与卸载卡200的Enclave实例210安全的通信通道,具有完善的安全控制,实例模拟器前端模块120还包括与其用途相关的其他模块,本申请实施例对此不作限制。Specifically, the host machine 100 also includes a virtual machine manager 130 and an instance emulator front-end module 120. The instance emulator front-end module 120 is only applied to the master instance 110. The simulated instance is an abstract concept and is not limited to virtual machines, containers, and functions, etc., the example emulator front-end module 120 is used to simulate various chipsets of computer equipment, life cycle management of the central processing unit (central processing unit, CPU) in the virtual machine, virtual machine exit (VM Exit), etc. and virtual machine business Strongly related logical processing, the instance emulator front-end module 120 specifically includes an intelligent control module 121 and an isolated communication module 122, the intelligent control module 121 is a channel used by the main instance 110 to control the life cycle of the Enclave instance 210, and the isolated communication module 122 It is a secure communication channel used to connect the main instance 110 and the Enclave instance 210 of the unloading card 200 in the main instance 110, and has perfect security control. The front-end module 120 of the instance emulator also includes other modules related to its use. This is not limited.
卸载卡200还包括管控面逻辑组件240和实例模拟器后端模块230。管控面逻辑组件240内部包括多个组件,比如跟虚拟机生命周期相关的组件,如开源的OpenStack(一个开源的云计算管理平台项目)的组件Nova、libvirt(用于管理虚拟化平台的组件),kubernetes(用于管理云平台中多个主机上的容器化的应用),以及系统安装、升级、部署、运维相关的组件,实例模拟器后端模块230内的模块与实例模拟器前端模块120一一对应,本申请实施例不再赘述。The offload card 200 also includes a control plane logic component 240 and an instance emulator backend module 230 . The control plane logic component 240 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, operation and maintenance, the modules in the instance simulator back-end module 230 and the instance simulator front-end module There is a one-to-one correspondence between 120 and will not be repeated in this embodiment of the present application.
更具体的,智能控制模块121包括生命周期管理模块1211和虚拟设备模拟模块1212。生命周期管理模块1211用来进行Enclave实例210的创建、销毁和改配等操作,同时负责与实例模拟器后端模块230的连接管理,虚拟设备模拟模块1212用于进行主实例110命令通道的设备的模拟,可以是虚拟化IO处理协议(Virtual IO,VirtIO)设备或其他任何外设组件互连标准(peripheral component interconnect,PCI)设备、内存映射(memory-mapped I/O,MMIO)模拟设备等。隔离通信模块122包括控制设备模块1221和权限管理模块1222。控制设备模块1221主要用于将主实例110和Enclave实例210建立安全的通道连接,该通道可以是VirtIO设备、网卡设备和共享内存设备等,最终通过通信通道或者可信的网络进行连接,权限管理模块1222用于对通信通道的权限进行控制管理,保证无其他异常用户或者逃逸的攻击者能够访问该通信通道。More specifically, the intelligent control module 121 includes a lifecycle management module 1211 and a virtual device simulation module 1212 . The lifecycle management module 1211 is used to create, destroy and reconfigure the Enclave instance 210, and is also responsible for the connection management with the instance simulator backend module 230. The virtual device simulation module 1212 is used to perform the device of the master instance 110 command channel The simulation can be a virtual IO processing protocol (Virtual IO, VirtIO) device or any other peripheral component interconnect standard (peripheral component interconnect, PCI) device, memory-mapped I/O, MMIO simulation device, etc. . The isolated communication module 122 includes a control device module 1221 and a rights management module 1222 . The control device module 1221 is mainly used to establish a secure channel connection between the main instance 110 and the Enclave instance 210. The channel can be a VirtIO device, a network card device, a shared memory device, etc., and finally connect through a communication channel or a trusted network, and authority management Module 1222 is used to control and manage the authority of the communication channel to ensure that no other abnormal users or escaped attackers can access the communication channel.
可信执行模块220包括飞地安全模块221、消息管理模块222、安全处理模块223和硬件加速模块224。飞地安全模块221用于供给可信执行模块220完成可信执行环境命令相关操作,同时完成相关设备的模拟管理。消息管理模块222用于跟实例模拟器前端模块120进行握手连接,包括通信通道的建立、自动重连和消息的分发等。安全处理模块223用于进行机密计算任务相关的安全操作处理,如加解密、随机数生成处理和证书生成逻辑等。硬件加速模块224用于使能安全芯片或者TEE的能力,将一些机密的信息,如密钥、平台配置寄存器(platform configuration register,PCR)的值等存放在硬件中,或者使用硬件加速安全操作。整个可信执行模块220可以整体或者部分放置在TEE中,从而构筑完全隔离的机密计算环境。The trusted execution module 220 includes an enclave security module 221 , a message management module 222 , a security processing module 223 and a hardware acceleration module 224 . The enclave security module 221 is used to supply the trusted execution module 220 to complete operations related to the trusted execution environment command, and to complete the simulation management of related devices at the same time. The message management module 222 is used to perform a handshake connection with the instance emulator front-end module 120, including the establishment of a communication channel, automatic reconnection, and message distribution. The security processing module 223 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 224 is used to enable the capability of the security chip or TEE, store some confidential information, such as keys, values of platform configuration registers (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.
进一步的,飞地安全模块221包括设备管理模块2211、后端通信管理模块2212、资源管理模块2213和安全信息封装模块2214。设备管理模块2211用于轻量级可信执行环境的模拟,同时包括安全模块设备的设备管理功能、虚拟安全模块设备或者直通真实的模块设备。后端通信管理模块2212与Enclave实例210建立连接,传递Enclave实例210的请求和响应信息,资源管理模块2213负责整个可信执行模块220的管理资源分配或者释放等,安全信息封装模 块2214将可信执行模块220下发的请求进行安全封装,该安全信息封装模块2214是可选的,某些场景不需要,如直通场景。Further, the enclave security module 221 includes a device management module 2211 , a backend communication management module 2212 , a resource management module 2213 and a security information encapsulation module 2214 . The device management module 2211 is used 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 2212 establishes a connection with the Enclave instance 210, and transmits the request and response information of the Enclave instance 210. The resource management module 2213 is responsible for the allocation or release of management resources of the entire trusted execution module 220, and the security information encapsulation module 2214. The request delivered by the execution module 220 is securely encapsulated. The security information encapsulation module 2214 is optional and not required in some scenarios, such as the direct scenario.
如图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实例,完成机密计算任务。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 key information, etc., and then the Enclave instance sends the confidential computing task to the trusted execution module. Specifically, the Enclave instance sends the confidential computing task to the device management module in the enclave security module, and the enclave security module receives the confidential computing task. After the task, analyze the header information used in the management of the confidential computing task without parsing the content of the specific confidential computing task, and then perform the analysis and processing of the confidential computing task through the security processing module. The trusted execution module can call hardware acceleration according to the category of the confidential computing task The corresponding logic of the module performs accelerated processing, and the trusted execution module returns the processing result to the Enclave instance after obtaining the processing result to complete the confidential computing task.
需要说明的是,在宿主机中还可以设置飞地安全代理模块,可信执行模块得到处理结果后将处理结果通过消息管理模块返回给宿主机的飞地安全代理模块,飞地安全代理模块收到处理结果后再返回给Enclave实例。It should be noted that an enclave security proxy module can also be set in the host computer. After the trusted execution module obtains the processing result, it returns the processing result to the enclave security proxy module of the host computer through the message management module, and the enclave security proxy module receives After the processing result is returned to the Enclave instance.
进一步的,若处理机密计算任务时需要从外部获取参数,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 the communication channel, and use the master instance as a proxy to obtain these parameters from the external network.
此外,在该计算节点出现故障时,宿主机和智能卡可以整体一起迁移到其他的计算节点,保证云服务的可迁移性和虚拟化的弹性。In addition, when the computing node fails, the host computer and the smart card can be migrated to other computing nodes together to ensure the portability of cloud services and the elasticity of virtualization.
本申请实施例中,基于云技术的计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地Enclave实例,卸载卡上还设置有为Enclave实例分配的可信执行模块,宿主机上运行有主实例,Enclave实例中设置有应用程序,其中,主实例用于产生机密计算任务;Enclave实例用于发送机密计算任务给可信执行模块;可信执行模块用于处理机密计算任务,卸载卡上运行Enclave实例使得TEE与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的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 offload card. There is a trusted execution module assigned to the enclave instance. There is a master instance running on the host machine, and an application program is set in the enclave instance. The master instance is used to generate confidential computing tasks; the enclave instance is used to send confidential computing tasks to trusted execution module; the trusted execution module is used to process confidential computing tasks. Running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host and the offload card. After the host is attacked, it will not affect the TEE in the offload card, thereby improving The security, confidentiality and integrity of user programs and data ensure the safety of confidential computing data processing. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that business performance will not be affected.
如图4所示,本申请实施例提供的基于云技术的计算节点另一实施例中,卸载卡420还与云管理平台404网络连接,即该计算节点401应用于数据中心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 through the network, that is, the computing node 401 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 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实例,管理员或用户可以发送主实例创建请求,因云管理平台客户端卸载在卸载卡上,卸载卡的管理组件会最先收到云管理平台发送的主实例创建请求,然后组装对应主实例的配置文件,该配置文件包括CPU类型、CPU数量,内存大小,磁盘、网卡和鼠标等等,配置文件组装完毕之后,卸载卡通过通信通道通知宿主机创建主实例,即将配置文件和主实例创建请求发送给宿主机,宿主机会根据配置文件的内容启动实例模拟器前端模块,调用实例模拟器前端模块的虚拟设备模拟模块工作,启动后卸载卡也会紧接着启动实例模拟器后端模块,并与实例模拟器前端模块建立连接通道,用于后续消息的传递,由此完成主实例的创建,主实例开始工作。Before performing confidential computing tasks, users need to create master instances and enclave instances. Administrators or users can send master instance creation requests. Because the cloud management platform client is uninstalled on the uninstall card, the management components of the uninstall card will receive the cloud The master instance creation request sent by the management platform, and then assemble the configuration file corresponding to the master instance, the configuration file includes CPU type, CPU quantity, memory size, disk, network card and mouse, etc. After the configuration file is assembled, the uninstall card passes through the communication channel Notify the host to create a master instance, that is, send the configuration file and master instance creation request to the host, and the host will start the front-end module of the instance emulator according to the content of the configuration file, call the virtual device simulation module of the front-end module of the emulator to work, and uninstall it after startup The card will also start the back-end module of the instance simulator immediately, and establish a connection channel with the front-end module of the instance simulator for subsequent message transmission, thereby completing the creation of the master instance, and the master instance starts working.
用户在购买主实例后成为租户,租户可以登录主实例,在主实例的界面或者在主实例的创建过程中选择Enclave,由此通过Enclave工具在主实例发起Enclave实例创建命令,Enclave实例创建命令包括Enclave实例需要的CPU数量和内存大小等信息,主实例的实例模拟器前端模块的智能命令控制模块的生命周期管理模块接收到Enclave实例创建命令,会解析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 instance emulator front-end module of the main instance notifies the instance emulator back-end module of the unloading card through the communication channel to start building the Enclave instance, and the instance emulator back-end module pulls up the Enclave instance and the trusted execution module, and uses the message management module A secure connection is established with the main instance, and the Enclave instance and the trusted execution module start working at this time, 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. Yes, the corresponding trusted execution module completes the processing of the confidential computing task. In addition, a master instance can also correspond to a trusted execution module. 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.
502、可信执行模块处理机密计算任务,并将处理结果返回给Enclave实例。502. The trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance.
该基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地Enclave实例,卸载卡上还设置有为Enclave实例分配的可信执行模块,且Enclave实例中设置有应用程序,宿主机上运行有主实例,其中Enclave实例的数量为1个,通信通道包括高速串行计算机扩展总线PCIe通道和计算快速链路CXL通道。This instance management method based on cloud technology is applied to computing nodes. Computing nodes include a host computer and an offload card. There is also a trusted execution module assigned to the Enclave instance, and an application program is set in the Enclave instance, and there is a master instance running on the host computer, where the number of Enclave instances is 1, and the communication channel includes a high-speed serial computer expansion bus PCIe Channels and Compute Express Link CXL channels.
计算节点的Enclave实例发送应用程序产生的机密计算任务给可信执行模块,然后计算节点的可信执行模块处理机密计算任务,并将处理结果返回给Enclave实例,完成机密计算任务,本申请实施例提供的基于云技术的实例管理方法具体实施方式可以参照前述的关于基于云技术的计算节点的描述,本申请实施例不再赘述。The Enclave instance of the computing node sends the confidential computing task generated by the application program to the trusted execution module, and then the trusted execution module of the computing node processes the confidential computing task and returns the processing result to the Enclave instance to complete the confidential computing task. The embodiment of this application For the specific implementation of the provided instance management method based on cloud technology, reference may be made to the foregoing description about computing nodes based on cloud technology, and details will not be repeated in this embodiment of the present application.
本申请实施例中,基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地Enclave实例,卸载卡上还设置有为Enclave实例分配的可信执行模块,宿主机上运行有主实例,Enclave实例中设置有应用程序,该方法包括:Enclave实例发送应用程序产生的机密计算任务给可信执行模块;可信执行模块处理机密计算任务,卸载卡上运行Enclave实例使得TEE与主实例通过宿主机和卸载卡物理隔离,宿主机被攻击后不会影响卸载卡中的TEE,从而提高了用户程序和数据的安全性、机密性和完整性,保证机密计算的处理数据过程安全,此外卸载卡中的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 offloading card. The offloading card is inserted into the host computer and establishes a communication channel with the host computer. An enclave runs on the offloading card. For an Enclave instance, the unloading card is also provided with a trusted execution module assigned to the Enclave instance, the host machine runs a master instance, and an application program is set in the Enclave instance. The method includes: the Enclave instance sends the confidential computing tasks generated by the application program to Trusted execution module; the trusted execution module handles confidential computing tasks, and running the Enclave instance on the offload card makes the TEE physically isolated from the main instance through the host computer and the offload card. After the host computer is attacked, it will not affect the TEE in the offload card, thereby improving The security, confidentiality and integrity of user programs and data are guaranteed, and the data processing process of confidential computing is guaranteed to be safe. In addition, the TEE in the offload card will not occupy the resources of the host computer, so that business performance will not be affected.
如图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. Based on the enclave instance creation command entered by the tenant who logs in to the master instance, the master instance notifies the offloading card to create an enclave instance and a trusted execution module.
603、Enclave实例发送应用程序产生的机密计算任务给可信执行模块。603. The Enclave instance sends the confidential computing task generated by the application program to the trusted execution module.
604、可信执行模块处理机密计算任务,并将处理结果返回给Enclave实例。604. The trusted execution module processes the confidential computing task, and returns the processing result to the Enclave instance.
该基于云技术的实例管理方法应用于计算节点,计算节点包括宿主机和卸载卡,卸载卡插置于宿主机并与宿主机建立有通信通道,卸载卡上运行有飞地Enclave实例,卸载卡上还设置有为Enclave实例分配的可信执行模块,且Enclave实例中设置有应用程序,宿主机上运行有主实例,卸载卡与云管理平台网络连接,Enclave实例的数量为N个,N为大于或等于2的正整数,N个Enclave实例分别处理不同类型的机密计算任务,可信执行模块的数量为 N个,且每个可信执行模块分别与互不相同的Enclave实例连接,其中通信通道包括高速串行计算机扩展总线PCIe通道和计算快速链路CXL通道。此外,一个主实例还可以对应一个可信执行模块,主实例和可信执行模块的数量相同,与一个主实例对应的可信执行模块可以与互不相同的Enclave实例连接以提供服务。This instance management method based on cloud technology is applied to computing nodes. Computing nodes include a host computer and an offload card. There is also a trusted execution module assigned to the enclave instance, and the enclave instance is set with an application program, the main instance runs on the host computer, the offload card is connected to the cloud management platform network, and the number of enclave instances is N, where N is A positive integer greater than or equal to 2, N Enclave instances handle different types of confidential computing tasks, the number of trusted execution modules is N, and each trusted execution module is connected to different Enclave instances, in which the communication The channels include high-speed serial computer expansion bus PCIe channels and computing express link CXL channels. 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 trusted execution module, if the main instance of the computer node needs to perform some kind of 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 sends the application program running on the Enclave instance The confidential computing task is given to the trusted execution module corresponding to the enclave instance, and finally the trusted execution module corresponding to the enclave instance processes the confidential computing task and returns the processing result to the enclave instance to complete the confidential computing task. For the specific implementation of the instance management method of the cloud technology, reference may be made to the foregoing description of the computing node based on the cloud technology, and the embodiments of the present application will not repeat them here.
本申请实施例中,基于云技术的实例管理方法应用于计算节点,该计算节点应用于云数据中心,卸载卡还与云管理平台网络连接,从而创建主实例和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 (14)

  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, and an offloading card runs on the offloading card An Enclave instance, the unloading card is also provided with a trusted execution module allocated for the Enclave instance, and an application program is arranged in the Enclave instance, and a master instance runs on the host machine, wherein,
    所述Enclave实例,用于发送所述应用程序产生的机密计算任务给所述可信执行模块;The Enclave instance is configured to send the confidential computing tasks generated by the application to the trusted execution module;
    所述可信执行模块,用于处理所述机密计算任务,并将处理结果返回给所述Enclave实例。The trusted execution module is configured to process the confidential computing task, and return a processing result to the Enclave instance.
  2. 根据权利要求1所述的计算节点,其特征在于,所述卸载卡与云管理平台网络连接,其中:The computing node according to claim 1, 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.
  3. 根据权利要求1或2所述的计算节点,其特征在于,The computing node according to claim 1 or 2, wherein,
    所述主实例,还用于基于登录所述主实例的租户输入的Enclave实例创建命令通知所述卸载卡创建所述Enclave实例和所述可信执行模块。The master instance is further configured to notify the unloading card to create the enclave instance and the trusted execution module based on an enclave instance creation command entered by a tenant logging into the master instance.
  4. 根据权利要求1至3任一项所述的计算节点,其特征在于,所述Enclave实例的数量为1个。The computing node according to any one of claims 1 to 3, wherein the number of the Enclave instance is one.
  5. 根据权利要求1至3任一项所述的计算节点,其特征在于,所述Enclave实例的数量为N个,N为大于或等于2的正整数,所述N个Enclave实例分别处理不同类型的机密计算任务。The computing node according to any one of claims 1 to 3, 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 respectively process different types of Confidential computing tasks.
  6. 根据权利要求5所述的计算节点,其特征在于,所述可信执行模块的数量为N个,且每个所述可信执行模块分别与互不相同的Enclave实例连接。The computing node according to claim 5, wherein the number of the trusted execution modules is N, and each of the trusted execution modules is respectively connected to different Enclave instances.
  7. 根据权利要求1至6任一项所述的计算节点,其特征在于,所述通信通道包括高速串行计算机扩展总线PCIe通道和计算快速链路CXL通道。The computing node according to any one of claims 1 to 6, wherein the communication channel includes a high-speed serial computer expansion bus PCIe channel and a computing express link CXL channel.
  8. 一种基于云技术的实例管理方法,其特征在于,所述方法应用于计算节点,所述计算节点包括宿主机和卸载卡,所述卸载卡插置于所述宿主机并与所述宿主机建立有通信通道,所述卸载卡上运行有飞地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 offloading card, a trusted execution module allocated for the Enclave instance is also set on the offloading card, and an application program is set in the Enclave instance, the There is a master instance running on the host machine, and the method includes the following steps:
    所述Enclave实例发送所述应用程序产生的机密计算任务给所述可信执行模块;The Enclave instance sends the confidential computing task generated by the application program to the trusted execution module;
    所述可信执行模块处理所述机密计算任务,并将处理结果返回给所述Enclave实例。The trusted execution module processes the confidential computing task, and returns a processing result to the Enclave instance.
  9. 根据权利要求8所述的方法,其特征在于,所述卸载卡与云管理平台网络连接,所述方法还包括:The method according to claim 8, 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.
  10. 根据权利要求8或9所述的方法,其特征在于,所述方法还包括:The method according to claim 8 or 9, wherein the method further comprises:
    所述主实例基于登录所述主实例的租户输入的Enclave实例创建命令通知所述卸载卡 创建所述Enclave实例和所述可信执行模块。The master instance notifies the unloading card to create the enclave instance and the trusted execution module based on the enclave instance creation command entered by the tenant logging into the master instance.
  11. 根据权利要求8至10任一项所述的方法,其特征在于,所述Enclave实例的数量为1个。The method according to any one of claims 8 to 10, wherein the number of the Enclave instance is one.
  12. 根据权利要求8至10任一项所述的方法,其特征在于,所述Enclave实例的数量为N个,N为大于或等于2的正整数,所述N个Enclave实例分别处理不同类型的机密计算任务。The method according to any one of claims 8 to 10, wherein the number of the 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.
  13. 根据权利要求12所述的方法,其特征在于,所述可信执行模块的数量为N个,且每个所述可信执行模块分别与互不相同的Enclave实例连接。The method according to claim 12, wherein the number of the trusted execution modules is N, and each of the trusted execution modules is respectively connected to different Enclave instances.
  14. 根据权利要求8至13任一项所述的方法,其特征在于,所述通信通道包括高速串行计算机扩展总线PCIe通道和计算快速链路CXL通道。The method according to any one of claims 8 to 13, wherein the communication channel comprises a high-speed serial computer expansion bus PCIe channel and a calculation express link CXL channel.
PCT/CN2022/119318 2021-09-18 2022-09-16 Cloud-technology-based computing node and cloud-technology-based instance management method WO2023041037A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111113344.X 2021-09-18
CN202111113344.XA CN115840943A (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
WO2023041037A1 true WO2023041037A1 (en) 2023-03-23

Family

ID=85574543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/119318 WO2023041037A1 (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) CN115840943A (en)
WO (1) WO2023041037A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682159A (en) * 2017-10-12 2018-02-09 北京握奇智能科技有限公司 The trusted application management method and trusted application management system of a kind of intelligent terminal
CN110199288A (en) * 2017-01-24 2019-09-03 微软技术许可有限责任公司 Crossover-platform surrounds area's seal data
US20200134200A1 (en) * 2018-10-25 2020-04-30 Enveil, Inc. Computational Operations in Enclave Computing Environments
US11010309B2 (en) * 2018-05-18 2021-05-18 Intel Corporation Computer system and method for executing one or more software applications, host computer device and method for a host computer device, memory device and method for a memory device and non-transitory computer readable medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110199288A (en) * 2017-01-24 2019-09-03 微软技术许可有限责任公司 Crossover-platform surrounds area's seal data
CN107682159A (en) * 2017-10-12 2018-02-09 北京握奇智能科技有限公司 The trusted application management method and trusted application management system of a kind of intelligent terminal
US11010309B2 (en) * 2018-05-18 2021-05-18 Intel Corporation Computer system and method for executing one or more software applications, host computer device and method for a host computer device, memory device and method for a memory device and non-transitory computer readable medium
US20200134200A1 (en) * 2018-10-25 2020-04-30 Enveil, Inc. Computational Operations in Enclave Computing Environments

Also Published As

Publication number Publication date
CN115840943A (en) 2023-03-24

Similar Documents

Publication Publication Date Title
US8108668B2 (en) Associating a multi-context trusted platform module with distributed platforms
US9311507B2 (en) Method and apparatus for remotely provisioning software-based security coprocessors
US9575790B2 (en) Secure communication using a trusted virtual machine
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
US20060256105A1 (en) Method and apparatus for providing software-based security coprocessors
US11847253B2 (en) Efficient launching of trusted execution environments
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
WO2023041025A1 (en) Cloud-technology-based computing node and cloud-technology-based instance management method
Pop et al. Towards securely migrating webassembly enclaves
Xu et al. Virtualization of the encryption card for trust access in cloud computing
US20230106455A1 (en) Efficient launching of trusted execution environments
WO2023041037A1 (en) Cloud-technology-based computing node and cloud-technology-based instance management method
US11922211B2 (en) System and method for cross-architecture trusted execution environment migration
US11025594B2 (en) Secret information distribution method and device
Chu et al. Secure cryptography infrastructures in the cloud
WO2024002342A1 (en) Cloud technology-based trusted execution system and method
Johnson et al. Confidential Container Groups: Implementing confidential computing on Azure container instances
Bobda et al. Domain Isolation and Access Control in Multi-tenant Cloud FPGAs
CN116614241A (en) Authentication method, computing device and instance management device
Julian Cellar: Securing Data for Twister
Almantsri et al. Cellar: Securing Data for Twister
TW201317828A (en) Cloud competition isolation system

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22869403

Country of ref document: EP

Kind code of ref document: A1