WO2022206811A1 - 一种云服务系统以及基于云服务的数据处理方法 - Google Patents

一种云服务系统以及基于云服务的数据处理方法 Download PDF

Info

Publication number
WO2022206811A1
WO2022206811A1 PCT/CN2022/083961 CN2022083961W WO2022206811A1 WO 2022206811 A1 WO2022206811 A1 WO 2022206811A1 CN 2022083961 W CN2022083961 W CN 2022083961W WO 2022206811 A1 WO2022206811 A1 WO 2022206811A1
Authority
WO
WIPO (PCT)
Prior art keywords
physical device
server
execution environment
trusted execution
operating system
Prior art date
Application number
PCT/CN2022/083961
Other languages
English (en)
French (fr)
Inventor
叶川
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Priority to EP22778993.0A priority Critical patent/EP4303745A4/en
Publication of WO2022206811A1 publication Critical patent/WO2022206811A1/zh
Priority to US18/477,053 priority patent/US20240020412A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present application relates to the field of computer technology, and in particular, to a cloud service system and a data processing method based on a cloud service.
  • the server in order to ensure data security, for users who have confidential computing needs, the server can create a trusted execution environment for them on the basis of allocating ordinary virtual machines to them. Confidential computing is performed on the data of ordinary virtual machines, and the calculation results are returned to ordinary virtual machines for users to use, thus ensuring the security of sensitive data.
  • the entered password can be sent to the trusted execution environment through a common virtual machine. The password is verified, and the verification result is returned to the ordinary virtual machine for the user to use, thereby preventing the leakage of the correct password.
  • the common virtual machine and the trusted execution environment are all controlled by the virtual machine monitor (VMM).
  • VMM virtual machine monitor
  • the VMM may be maliciously compromised by hackers (that is, the server's operating system is compromised). , so the hacker can obtain the user's sensitive data from the trusted execution environment through the VMM. It can be seen that virtualization escape will cause certain security problems to the trusted execution environment.
  • the embodiments of the present application provide a cloud service system and a data processing method based on a cloud service, which can avoid potential risks caused by virtualization escape to a trusted execution environment.
  • a first aspect of the embodiments of the present application provides a cloud service system, the system includes: a first server and a physical device, and the first server and the physical device are connected through a physical channel.
  • the first server includes a cloud instance serving a certain user
  • the physical device includes a trusted execution environment corresponding to the cloud instance, that is, the cloud instance and the trusted execution environment are bound to each other to provide services for the user together, So as to meet the user's confidential computing needs.
  • the first server may create a common virtual machine serving a certain user, and a physical device connected to the first server may create a trusted execution environment corresponding to the common virtual machine. Then, the trusted execution environment and the common virtual machine are bound together to jointly provide services for users.
  • the data to be computed can be input to the cloud instance of the first server, so that the cloud instance sends the data to the trusted execution environment of the physical device.
  • the trusted execution environment of the physical device performs confidential computation on the data from the cloud instance, and sends the computation result to the cloud instance for the user to use, thereby ensuring the security of the user's sensitive data.
  • the user can input the password to be verified to the common virtual machine of the first server, and the common virtual machine sends the password entered by the user to the trusted execution environment of the physical device.
  • the trusted virtual machine stores the correct password set by the user in advance, can verify the password entered by the user according to the correct password, and return the verification result to the common virtual machine for the user to use.
  • the cloud service system includes a first server and a physical device, the first server is deployed with a cloud instance, and the physical device is deployed with a trusted execution environment corresponding to the cloud instance, wherein the physical device is used to pass the trusted execution environment Perform confidential computations on data from cloud instances and send the results of computations to cloud instances. Since the first server and the physical device are connected through a physical channel, there is physical isolation between the cloud instance equivalent to the first server and the trusted execution environment of the physical device. Even if the operating system of the first server is maliciously compromised, the The user's sensitive data is obtained in the trusted execution environment of the physical device, so as to avoid the potential risks caused by virtualization escape to the trusted execution environment.
  • the first server further includes a first operating system
  • the physical device further includes a second operating system
  • a physical channel may pass between the first operating system of the first server and the second operating system of the physical device achieve communication.
  • the data to be calculated may be input to the cloud instance of the first server, and the cloud instance will then send the data to the first operating system of the first server.
  • the first operating system sends the data to the second operating system of the physical device, so that the second operating system sends the data to the trusted execution environment of the physical device.
  • the trusted execution environment of the physical device can perform confidential calculation on the data, and send the calculation result to the second operating system.
  • the second operating system sends the calculation result to the first operating system, so that the first operating system sends the calculation result to the cloud instance for the user to use.
  • the communication between the first operating system and the second operating system is implemented through a physical channel, so the achievable communication behavior between the cloud instance and the trusted execution environment can be limited. Operations related to confidential computing requests.
  • the trusted execution environment will refuse to execute the operation related to the request after receiving the request. In this way, even if the hacker breaches the first operating system, the user cannot obtain the user's sensitive data from the trusted execution environment, thereby avoiding the potential risks caused by virtualization escape to the trusted execution environment.
  • the second operating system of the physical device may first obtain the key corresponding to the cloud instance, that is, the user's key. The second operating system then sends the key to the trusted execution environment of the physical device, so that the trusted execution environment can perform confidential computations on data from the cloud instance based on the key, for example, the trusted execution environment can The key performs authentication operations, data encryption operations, sensitive operations, etc. in confidential computing on the data, thereby obtaining the computing results.
  • the cloud instance is a virtual machine, a container or a bare metal server
  • the trusted execution environment is a virtual machine, a container or a bare metal server.
  • the virtual machine and the supporting trusted execution environment are deployed on the same server, that is, in the related art, a feasible execution environment can only be realized in the virtual machine scenario.
  • both the cloud instance and the trusted execution environment can be bare metal servers, so the cloud service system provided by the present application can also implement a feasible execution environment in a bare metal scenario.
  • the physical device is a second server, a smart card or an offload card.
  • the physical device may be a second server of the same type as the first server, or may be a smart card or an uninstall card inserted into the first server.
  • the physical channel is a high-speed communication backplane, a high-speed computer expansion bus, or a physical network.
  • the physical channel is a high-speed computer expansion bus.
  • a second aspect of the embodiments of the present application provides a data processing method based on a cloud service system, the system includes: a first server and a physical device, the first server and the physical device are connected through a physical channel, and the first server includes a cloud
  • the physical device includes a trusted execution environment corresponding to the cloud instance
  • the method includes: the physical device performs confidential calculation on data from the cloud instance through the trusted execution environment, and sends the calculation result to the cloud instance.
  • the cloud service system includes a first server and a physical device, the first server is deployed with a cloud instance, and the physical device is deployed with a trusted execution environment corresponding to the cloud instance, wherein the physical device is used to pass the trusted execution environment Perform confidential computations on data from cloud instances and send the results of computations to cloud instances. Since the first server and the physical device are connected through a physical channel, there is physical isolation between the cloud instance equivalent to the first server and the trusted execution environment of the physical device. Even if the operating system of the first server is maliciously compromised, the The user's sensitive data is obtained in the trusted execution environment of the physical device, so as to avoid the potential risks caused by virtualization escape to the trusted execution environment.
  • the first server further includes a first operating system
  • the physical device further includes a second operating system
  • the physical device performs confidential computing on the data from the cloud instance through a trusted execution environment, and sends the computing result
  • To the cloud instance specifically includes: the physical device receives the data of the cloud instance sent by the first operating system through the second operating system; the physical device performs confidential computing on the data through the trusted execution environment, and obtains the calculation result; The calculation result is sent to the first operating system, so that the first operating system sends the calculation result to the cloud instance.
  • the method further includes: the physical device obtains the key corresponding to the cloud instance through the second operating system; the physical device performs confidential calculation on the data through the trusted execution environment, and the obtained calculation result specifically includes: The device performs confidential calculation on the data according to the key through the trusted execution environment, and obtains the calculation result.
  • the physical device is a second server, a smart card or an offload card.
  • the physical channel is a high-speed communication backplane, a high-speed computer expansion bus, or a physical network.
  • the physical channel is a high-speed computer expansion bus.
  • the cloud instance is a virtual machine, a container or a bare metal server
  • the trusted execution environment is a virtual machine, a container or a bare metal server.
  • a third aspect of the embodiments of the present application provides a physical device, the physical device is set in a cloud service system, the system further includes a first server, the first server and the physical device are connected through a physical channel, and the first server includes Cloud instance, the physical device includes a trusted execution environment corresponding to the cloud instance, and the physical device includes a memory and a processor;
  • the memory stores code
  • the processor is configured to execute the code
  • the physical device executes the method as described in the second aspect or any one of the possible implementations of the second aspect.
  • a fourth aspect of the embodiments of the present application provides a computer storage medium, wherein the computer storage medium stores a computer program, and when the program is executed by a computer, the computer can implement any one of the second aspect or the second aspect. possible ways to implement the method described.
  • a fifth aspect of the embodiments of the present application provides a computer program product, characterized in that the computer program product stores instructions, and when the instructions are executed by a computer, the instructions enable the computer to implement any one of the second aspect or the second aspect. implement the method described.
  • the cloud service system includes a first server and a physical device, the first server is deployed with a cloud instance, and the physical device is deployed with a trusted execution environment corresponding to the cloud instance, wherein the physical device is used to pass the trusted execution environment Perform confidential computations on data from cloud instances and send the results of computations to cloud instances. Since the first server and the physical device are connected through a physical channel, there is physical isolation between the cloud instance equivalent to the first server and the trusted execution environment of the physical device. Even if the operating system of the first server is maliciously compromised, the The user's sensitive data is obtained in the trusted execution environment of the physical device, so as to avoid the potential risks caused by virtualization escape to the trusted execution environment.
  • FIG. 1 is a schematic diagram of a cloud service system in the related art
  • FIG. 2 is a schematic diagram of a cloud service system provided by an embodiment of the present application.
  • FIG. 3 is another schematic diagram of a cloud service system provided by an embodiment of the present application.
  • FIG. 4 is another schematic diagram of a cloud service system provided by an embodiment of the present application.
  • FIG. 5 is another schematic diagram of a cloud service system provided by an embodiment of the present application.
  • FIG. 6 is another schematic diagram of a cloud service system provided by an embodiment of the present application.
  • FIG. 7 is another schematic diagram of a cloud service system provided by an embodiment of the present application.
  • FIG. 8 is a flowchart of a data processing method based on a cloud service system provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a physical device provided by an embodiment of the present application.
  • the embodiments of the present application provide a cloud service system and a data processing method based on a cloud service, which can avoid potential risks caused by virtualization escape to a trusted execution environment.
  • FIG. 1 is a schematic diagram of a cloud service system in the related art.
  • a common virtual machine A that provides business services for user a
  • a common virtual machine B that provides business services for user b
  • a trusted virtual machine supporting common virtual machine A are deployed on the server.
  • a machine C and a VMM that manages and controls each virtual machine, wherein the trusted virtual machine C can be regarded as a trusted execution environment of the common virtual machine A.
  • trusted virtual machine C is different from common virtual machine A and common virtual machine B.
  • Trusted virtual machine C does not have any external network access channel, which can completely prevent other users from intrusion, thereby ensuring the security of users' sensitive data.
  • the trusted virtual machine C has two security channels, one of which is used to transmit data entered by the user with the common virtual machine A, and the other is used to pass the VMM, from identity and access management (IAM) to identity and access management. )
  • the server obtains the key of user a to perform confidential computation on the data input by the user according to the key.
  • both the common virtual machine A and the trusted virtual machine C are controlled by the VMM.
  • the VMM Once the VMM has an escape vulnerability, the VMM may be maliciously breached by hackers (that is, the server's operating system is breached). Obtain sensitive data of user a in virtual machine C. It can be seen that virtualization escape will cause certain security problems to the trusted execution environment.
  • an embodiment of the present application provides a new cloud service system, where the cloud service system includes a first server and a physical device, which can be presented in various forms.
  • the first form means that both the first server and the physical device provide services for one or more users based on virtualization technology.
  • the second form means that the first server side is bare metal and provides services for a certain user.
  • the third form means that multiple first servers form heterogeneous servers, providing services for multiple users.
  • FIG. 2 is a schematic diagram of a cloud service system provided by an embodiment of the present application. As shown in FIG. 2 , the cloud service system includes a first server and a smart card.
  • the first server and the smart card are connected through a physical channel, and the physical channel can be a high-speed computer expansion bus.
  • the smart card can be inserted into the high-speed peripheral component interconnect express (PCIE) interface of the first server, thereby realizing the physical connection of the two.
  • PCIE peripheral component interconnect express
  • the first server is deployed with a common virtual machine serving users and a first VMM for managing and controlling the common virtual machine, and the first VMM is set on a first operating system of the first server.
  • the smart card is deployed with a trusted execution environment (trusted execution environment, TEE) corresponding to the common virtual machine and a second VMM that controls the trusted execution environment (trusted virtual machine).
  • TEE trusted execution environment
  • the second VMM is set in the second operating system of the smart card.
  • the first operating system may be a general-purpose operating system
  • the second operating system may be an embedded operating system (embedded operating system, EOS) or a general-purpose operating system.
  • the first server is deployed with a common virtual machine A that provides business services for user a, a common virtual machine B that provides business services for user b, and a first server that manages and controls common virtual machines A and common virtual machines B.
  • a VMM a VMM.
  • the smart card is deployed with a trusted execution environment C corresponding to the common virtual machine A, a trusted execution environment D corresponding to the common virtual machine B, and a second VMM that manages and controls the trusted execution environment C and the trusted execution environment D.
  • the common virtual machine equivalent to the first server and the trusted execution environment of the smart card communicate through the physical channel, so it can be agreed in advance that the common virtual machine and the trusted execution environment can communicate with each other.
  • the communication behavior of the implementation for example, the two pre-agreed that only the operations related to the confidential computing request can be implemented. Then, even if the trusted execution environment receives other requests except confidential computing requests, it will refuse to execute these requests, thereby ensuring the security of the user's sensitive data.
  • the second VMM may first obtain the key corresponding to the common virtual machine, that is, the user's key, and send the key to the trusted execution environment, so that the trusted execution environment can be based on This key enables confidential computations.
  • the second VMM can obtain the key corresponding to the common virtual machine in various ways.
  • the smart card has an IAM service preset, that is, the user's key is preset, so the second VMM can directly obtain the user's key.
  • the second VMM may obtain the user's key (as shown in FIG. 2 ) from a remote IAM server, etc., which is not limited here.
  • the second VMM may first obtain the key of user a (ie the key corresponding to the common virtual machine A) and the key of user b (ie the key corresponding to the common virtual machine B) from the IAM server. Then, the second VMM sends user a's key to trusted execution environment C, and sends user b's key to trusted execution environment D.
  • the data to be calculated can be input to the ordinary virtual machine serving it.
  • the normal virtual machine sends the data input by the user to the first VMM.
  • the first VMM sends the data to the second VMM, so that the second VMM sends the data to the trusted execution environment.
  • the trusted execution environment can perform confidential calculation on the data according to the user's key, and send the calculation result to the second VMM.
  • the second VMM sends the calculation result to the first VMM, so that the first VMM sends the calculation result to the common virtual machine for the user to use.
  • confidential computing includes authentication operations, data encryption operations, data verification operations, etc. The following will briefly introduce the aforementioned operations with two examples:
  • the common virtual machine A When user a needs to make electronic payment, he can input the password to be verified to the common virtual machine A.
  • the common virtual machine A generates a confidential computing request, the request includes authentication information and a password to be verified, and sends the request to the first VMM.
  • the first VMM sends the request to the second VMM, so that the second VMM sends the request to the trusted execution environment C.
  • the trusted execution environment C can parse the request to obtain the password to be verified and the authentication information.
  • the trusted execution environment C first verifies the authentication information according to the key of the user a. If the authentication is successful, it indicates that the request is the request. If the request comes from user a, subsequent operations can be performed.
  • the trusted execution environment C sends the verification result to the second VMM, and the second VMM sends the verification result to the first VMM, so that the first VMM sends the verification result to the common virtual machine A for the user a to use.
  • the common virtual machine A When user a needs to set a password for electronic payment, he can input the password to be set to the common virtual machine A.
  • the common virtual machine A generates a confidential computing request, the request includes authentication information and a password to be set, and sends the request to the first VMM.
  • the first VMM sends the request to the second VMM, so that the second VMM sends the request to the trusted execution environment C.
  • the trusted execution environment C can parse the request to obtain the password to be set and the authentication information.
  • the trusted execution environment C first verifies the authentication information according to the key of the user a. If the authentication is successful, it indicates that the request is the request. If the request comes from user a, subsequent operations can be performed.
  • the trusted execution environment C encrypts the password to be set according to the key of user a, and obtains the encrypted password. Finally, the trusted execution environment C sends the encrypted password to the second VMM, and the second VMM sends the encrypted password to the first VMM, so that the first VMM sends the encrypted password to the common virtual machine A for storage . In this way, the ordinary virtual machine A stores the encrypted password, not the original password input by the user, thereby ensuring the security of the user's sensitive data.
  • one or more cloud instances ie, common virtual machines
  • one or more trusted execution environments may also be deployed on the smart card.
  • the present embodiment takes the cloud instance of the first server as a virtual machine for schematic illustration, and the cloud instance of the first server may also be a container or the like.
  • the cloud instance of the first server may also be a container or the like.
  • the trusted execution environment of the smart card In the example shown in FIG. 3 (FIG. 3 is another schematic diagram of the cloud service system provided by the embodiment of the application), the cloud instance of the first server and the trusted execution environment of the smart card are both presented in the form of containers, which are the same as those shown in FIG. 2 .
  • the difference of the example is that the VMM does not need to be set in the operating system of the first server and the smart card.
  • this embodiment is schematically illustrated by taking the physical device as a smart card, and the physical device may also be a second server or an unloading card, etc., and the unloading card can pass through a field programmable gate array (FPGA), Special application integrated circuit (application specific integrated circuit, ASIC) and other forms.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • FIG. 4 is another schematic diagram of a cloud service system provided by an embodiment of the present application.
  • a first server and a smart card are connected through a physical channel.
  • the physical channel please refer to FIG. 2
  • the relevant description parts in the illustrated embodiment will not be repeated here.
  • the first server as a separate physical server, provides business services for a certain user in the form of bare metal (ie, a bare metal server).
  • bare metal ie, a bare metal server.
  • a trusted execution environment trusted container
  • a second operating system that manages and controls the trusted execution environment can be deployed based on the virtualization technology.
  • the aforementioned cloud instance of the first server is the bare metal server
  • the operations performed by the aforementioned cloud instance of the first server can be understood as operations performed by the first operating system of the first server, that is, receiving user input Operations such as forwarding the data entered by the user, forwarding the data input by the user, and forwarding the calculation result are all completed by the first operating system of the first server.
  • the second operating system of the smart card still completes operations such as acquiring the user's key, forwarding the data input by the user, and forwarding the calculation result
  • the trusted execution environment of the smart card still completes operations such as confidential calculation of the data input by the user.
  • the cloud instance of the first server is a bare metal server
  • the trusted execution environment of the smart card is used as a container for schematic illustration.
  • the trusted execution environment of the smart card may also be a bare metal server (as shown in FIG. 5 , which is another schematic diagram of the cloud service system provided by the embodiment of the application), and the trusted execution environment of the smart card may also be a virtual machine (such as As shown in FIG. 6, FIG. 6 is another schematic diagram of a cloud service system provided by an embodiment of the present application) and so on.
  • the physical device is a smart card for schematic illustration, and the physical device may also be a second server, an uninstall card, and so on.
  • FIG. 7 is another schematic diagram of a cloud service system provided by an embodiment of the present application.
  • the cloud service system includes a second server and a plurality of first servers, wherein the plurality of first servers are heterogeneous servers, That is, different first servers come from different manufacturers.
  • the second server and the plurality of first servers may be connected through a physical channel, and the physical channel may be a high-speed communication backplane, a high-speed computer expansion bus, a physical network, or the like.
  • the high-speed computer expansion bus can be a PCIE switch (PCIE switch), and the physical network can be a remote direct memory access over converged ethernet through the internet protocol (IP) and converged Ethernet.
  • PCIE switch PCIE switch
  • IP internet protocol
  • RDMA remote direct memory access
  • the cloud service system includes a first server X and a first server Y.
  • the first server X provides business services for user c in the form of bare metal
  • the first server Y is deployed with a common virtual machine A that provides services for user a, a common virtual machine B that provides services for user b, and the common virtual machines A and B are deployed.
  • the second server is deployed with a trusted execution environment C corresponding to the first server X, a trusted execution environment D corresponding to the common virtual machine A, and a second server that manages and controls the trusted execution environment C and the trusted execution environment D.
  • VMM the cloud service system
  • the trusted execution environment C can complete the confidential computing requirements of user c with the first server X
  • the trusted execution environment D can complete the confidential computing requirements of user a with the common virtual machine A.
  • the confidential computing process reference may be made to the relevant description part in the embodiment shown in FIG. 2 , and details are not repeated here.
  • this embodiment is schematically illustrated by taking the cloud instance of the first server as a combination of a virtual machine and a bare metal server, the cloud instance of the first server may also be a combination of a container and a bare metal server, and the cloud instance of the first server It can also be all virtual machines, the cloud instances of the first server can all be containers, the cloud instances of the first server can all be bare metal servers, and so on.
  • this embodiment takes the cloud instance of the second server as a virtual machine for schematic illustration, and the cloud instance of the second server may also be a container or the like.
  • a physical device is used as the second server for schematic illustration, and the physical device may also be a smart card or an uninstall card or the like.
  • the cloud service system includes a first server and a physical device, the first server is deployed with a cloud instance, and the physical device is deployed with a trusted execution environment corresponding to the cloud instance, wherein the physical device is used to pass the trusted execution environment Perform confidential computations on data from cloud instances and send the results of computations to cloud instances. Since the first server and the physical device are connected through a physical channel, there is physical isolation between the cloud instance equivalent to the first server and the trusted execution environment of the physical device. Even if the operating system of the first server is maliciously compromised, the The user's sensitive data is obtained in the trusted execution environment of the physical device, so as to avoid the potential risks caused by virtualization escape to the trusted execution environment.
  • both the cloud instance of the first server and the trusted execution environment of the physical device can be bare metal servers (ie, the examples shown in FIGS. 4 to 6 ). Therefore, the cloud service provided by the present application
  • the system can also implement a feasible execution environment in a bare metal scenario.
  • multiple trusted execution environments configured for different first servers can be uniformly deployed on the same physical device (ie, the example shown in FIG.
  • the ability of the cluster to provide a unified trusted execution environment can improve resource utilization.
  • the physical channel can be made into the manufacturer's dedicated hardware according to actual needs, or the security of the entire cloud service system can be further improved through a dedicated network.
  • the trusted execution environment after the pooling on the cloud can be sold to the outside world through cloud services, and can also be flexibly deployed on the node side of hybrid cloud and edge cloud to further improve the local security on the user side.
  • FIG. 8 is a flowchart of a data processing method based on a cloud service system provided by an embodiment of the present application.
  • the method can be applied to a cloud service system.
  • the system (refer to the cloud service system shown in FIG. 2 to FIG. 7 ) includes : A first server and a physical device, the first server and the physical device are connected through a physical channel, the first server includes a cloud instance and a first operating system, and the physical device includes a trusted execution environment corresponding to the cloud instance and a second operating system , the method includes:
  • the second operating system of the physical device obtains a key corresponding to the cloud instance.
  • the second operating system of the physical device sends the key to the trusted execution environment of the physical device.
  • the cloud instance of the first server receives the data input by the user.
  • the cloud instance of the first server sends the data input by the user to the first operating system of the first server.
  • the second operating system of the physical device receives the data input by the user sent by the first operating system.
  • the second operating system of the physical device sends the data input by the user to the trusted execution environment of the physical device.
  • the trusted execution environment of the physical device performs confidential calculation on the data input by the user according to the key, and obtains a calculation result.
  • the trusted execution environment of the physical device sends the calculation result to the second operating system of the physical device.
  • the second operating system of the physical device sends the calculation result to the first operating system of the first server.
  • the first operating system of the first server sends the calculation result to the cloud instance of the first server.
  • step 801 to step 810 reference may be made to the relevant description parts of example (1) and example (2) in the embodiment shown in FIG. 2 , and details are not repeated here.
  • the physical device is a second server, a smart card or an offload card.
  • the physical channel is a high-speed communication backplane, a high-speed computer expansion bus, or a physical network.
  • the physical channel is a high-speed computer expansion bus.
  • the cloud instance is a virtual machine, a container or a bare metal server
  • the trusted execution environment is a virtual machine, a container or a bare metal server.
  • FIG. 9 is a schematic structural diagram of a physical device provided by an embodiment of the present application.
  • the physical device is set in a cloud service system (refer to the cloud service system shown in FIG. 2 to FIG. 7 ), the system further includes a first server, and a physical channel is used between the first server and the physical device connected, the first server includes a cloud instance, and the physical device includes a trusted execution environment corresponding to the cloud instance.
  • An embodiment of the physical device in this embodiment of the present application may include one or more central processing units 901 , a memory 902 , an input/output interface 903 , a wired or wireless network interface 904 , and a power supply 905 .
  • the memory 902 may be ephemeral storage or persistent storage. Further, the central processing unit 901 may be configured to communicate with the memory 902 to execute a series of instruction operations in the memory 902 on a physical device.
  • the central processing unit 901 may perform the operations performed by the physical device in the foregoing embodiment shown in FIG. 8 , and details are not repeated here.
  • the division of specific functional modules in the central processing unit 901 may be similar to the division of modules such as the trusted execution environment and the second operating system described in FIG. 2 to FIG. 7 , which will not be repeated here.
  • the embodiments of the present application also relate to a computer storage medium, including computer-readable instructions, when the computer-readable instructions are executed, the method described in FIG. 8 is implemented.
  • Embodiments of the present application also relate to a computer program product containing instructions, which, when executed on a computer, cause the computer to execute the method described in FIG. 8 .
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus 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 may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种云服务系统以及基于云服务的数据处理方法,可避免虚拟化逃逸对可信执行环境所造成的潜在风险。本申请的云服务系统包括:第一服务器和物理设备,第一服务器和物理设备之间通过物理通道连接,第一服务器包括云实例,物理设备包括与云实例对应的可信执行环境;物理设备,用于通过可信执行环境对来自云实例的数据进行机密计算,并将计算结果发送至云实例。

Description

一种云服务系统以及基于云服务的数据处理方法
本申请要求于2021年3月31日提交中国专利局、申请号为202110352472.3、申请名称为“一种云服务系统以及基于云服务的数据处理方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种云服务系统以及基于云服务的数据处理方法。
背景技术
随着云服务系统的日益成熟与飞速发展,数据的安全问题逐渐成为了关注焦点。
在云服务系统中,为了确保数据安全,对于存在机密计算需求的用户,服务器在为其分配普通虚拟机的基础上,还可为其创建一个可信执行环境,该可信执行环境可对来自普通虚拟机的数据进行机密计算,并将计算结果返回至普通虚拟机供用户使用,从而确保敏感数据的安全。例如,当用户需要进行电子支付时,可通过普通虚拟机将输入的密码发送至可信执行环境,可信执行环境存储有用户提前设置的正确的密码,故可根据正确的密码对用户输入的密码进行验证,并将验证结果返回至普通虚拟机供用户使用,从而防止正确的密码泄露。
在服务器中,普通虚拟机和与可信执行环境均受虚拟机监视器(virtual machine monitor,VMM)的管控,一旦VMM出现逃逸漏洞,VMM可能被黑客恶意攻破(即服务器的操作系统被攻破),故黑客可通过VMM从可信执行环境中获取用户的敏感数据。由此可见,虚拟化逃逸会对可信执行环境造成一定的安全问题。
发明内容
本申请实施例提供了一种云服务系统以及基于云服务的数据处理方法,可避免虚拟化逃逸对可信执行环境所造成的潜在风险。
本申请实施例的第一方面提供了一种云服务系统,该系统包括:第一服务器和物理设备,第一服务器和物理设备之间通过物理通道连接。第一服务器包括为某个用户服务的云实例,物理设备包括与该云实例对应的可信执行环境,即该云实例与该可信执行环境绑定相互绑定,共同为该用户提供服务,从而满足用户的机密计算需求。例如,第一服务器可创建为某个用户服务的普通虚拟机,与第一服务器连接的物理设备可创建与该普通虚拟机对应的可信执行环境。那么,该可信执行环境与该普通虚拟机绑定在一起,共同为用户提供服务。
当用户有机密计算需求时,可向第一服务器的云实例输入待计算的数据,以使得云实例将数据发送至物理设备的可信执行环境。物理设备的可信执行环境对来自云实例的数据进行机密计算,并将计算结果发送至云实例供用户使用,从而保证用户的敏感数据的安全。依旧如上述例子,当用户需进行电子支付时,可向第一服务器的普通虚拟机输入待验证的 密码,普通虚拟机将用户输入的密码发送至物理设备的可信执行环境。可信虚拟机存储有用户提前设置的正确的密码,可根据正确的密码对用户输入的密码进行验证,并将验证结果返回至普通虚拟机供用户使用。
本申请实施例中,云服务系统包含第一服务器和物理设备,第一服务器部署有云实例,物理设备部署有与云实例对应的可信执行环境,其中,物理设备用于通过可信执行环境对来自云实例的数据进行机密计算,并将计算结果发送至云实例。由于第一服务器和物理设备之间通过物理通道连接,相当于第一服务器的云实例和物理设备的可信执行环境之间存在物理隔离,即使第一服务器的操作系统被恶意攻破,也无法从物理设备的可信执行环境中获取用户的敏感数据,从而避免虚拟化逃逸对可信执行环境所造成的潜在风险。
在一种可能的实现方式中,第一服务器还包括第一操作系统,物理设备还包括第二操作系统,第一服务器的第一操作系统和物理设备的第二操作系统之间可通过物理通道实现通信。具体地,当用户有机密计算需求时,可向第一服务器的云实例输入待计算的数据,云实例再将数据发送至第一服务器的第一操作系统。然后,第一操作系统再将数据发送至物理设备的第二操作系统,以使得第二操作系统将数据发送至物理设备的可信执行环境。物理设备的可信执行环境接收到数据后,可对数据进行机密计算,并将计算结果发送至第二操作系统。最后,第二操作系统将计算结果发送至第一操作系统,以使得第一操作系统将计算结果发送至云实例,供用户使用。前述实现方式中,第一操作系统和第二操作系统之间通过物理通道实现通信,故可限制云实例和可信执行环境之间可实现的通信行为,例如,二者事先约定仅能实现跟机密计算请求相关的操作。那么,即使第一操作系统被黑客恶意攻破,黑客控制第一操作系统向第二操作系统发出敏感数据获取请求,可信执行环境接收到该请求后,也会拒绝执行与该请求相关的操作。如此一来,黑客即使攻破第一操作系统,也无法从可信执行环境中获取用户的敏感数据,从而避免虚拟化逃逸对可信执行环境所造成的潜在风险。
在一种可能的实现方式中,物理设备的第二操作系统可先获取与云实例对应的密钥,即用户的密钥。然后,第二操作系统将该密钥发送至物理设备的可信执行环境,以使得可信执行环境可根据该密钥对来自云实例的数据进行机密计算,例如,可信执行环境可根据该密钥对数据执行机密计算中的鉴权操作、数据加密操作、敏感操作等等,从而得到计算结果。
在一种可能的实现方式中,云实例为虚拟机、容器或裸金属服务器,可信执行环境为虚拟机、容器或裸金属服务器。在相关技术中,虚拟机和与之配套的可信执行环境部署于同一台服务器上,即相关技术中仅能在虚拟机场景下,实现可行执行环境。而在本申请的前述实现方式中,云实例和可信执行环境均可为裸金属服务器,故本申请提供的云服务系统也可在裸机场景下,实现可行执行环境。
在一种可能的实现方式中,物理设备为第二服务器、智能卡或卸载卡。前述实现方式中,物理设备可以是与第一服务器类型相同的第二服务器,也可以是插于第一服务器上的智能卡或卸载卡。
在一种可能的实现方式中,若物理设备为第二服务器,则物理通道为高速通信背板、 高速计算机扩展总线或物理网络。
在一种可能的实现方式中,若物理设备为智能卡或卸载卡,则物理通道为高速计算机扩展总线。
本申请实施例的第二方面提供了一种基于云服务系统的数据处理方法,该系统包括:第一服务器和物理设备,第一服务器和物理设备之间通过物理通道连接,第一服务器包括云实例,物理设备包括与云实例对应的可信执行环境,该方法包括:物理设备通过可信执行环境对来自云实例的数据进行机密计算,并将计算结果发送至云实例。
本申请实施例中,云服务系统包含第一服务器和物理设备,第一服务器部署有云实例,物理设备部署有与云实例对应的可信执行环境,其中,物理设备用于通过可信执行环境对来自云实例的数据进行机密计算,并将计算结果发送至云实例。由于第一服务器和物理设备之间通过物理通道连接,相当于第一服务器的云实例和物理设备的可信执行环境之间存在物理隔离,即使第一服务器的操作系统被恶意攻破,也无法从物理设备的可信执行环境中获取用户的敏感数据,从而避免虚拟化逃逸对可信执行环境所造成的潜在风险。
在一种可能的实现方式中,第一服务器还包括第一操作系统,物理设备还包括第二操作系统,物理设备通过可信执行环境对来自云实例的数据进行机密计算,并将计算结果发送至云实例具体包括:物理设备通过第二操作系统接收第一操作系统发送的云实例的数据;物理设备通过可信执行环境对数据进行机密计算,得到计算结果;物理设备通过第二操作系统将计算结果发送至第一操作系统,以使得第一操作系统将计算结果发送至云实例。
在一种可能的实现方式中,该方法还包括:物理设备通过第二操作系统获取与云实例对应的密钥;物理设备通过可信执行环境对数据进行机密计算,得到计算结果具体包括:物理设备通过可信执行环境根据密钥对数据进行机密计算,得到计算结果。
在一种可能的实现方式中,物理设备为第二服务器、智能卡或卸载卡。
在一种可能的实现方式中,若物理设备为第二服务器,则物理通道为高速通信背板、高速计算机扩展总线或物理网络。
在一种可能的实现方式中,若物理设备为智能卡或卸载卡,则物理通道为高速计算机扩展总线。
在一种可能的实现方式中,云实例为虚拟机、容器或裸金属服务器,可信执行环境为虚拟机、容器或裸金属服务器。
本申请实施例的第三方面提供了一种物理设备,该物理设备设置于云服务系统中,该系统还包括第一服务器,第一服务器和物理设备之间通过物理通道连接,第一服务器包括云实例,物理设备包括与云实例对应的可信执行环境,物理设备包括存储器和处理器;
存储器存储有代码,处理器被配置为执行代码,当代码被执行时,物理设备执行如第二方面或第二方面中任意一种可能实现的方式所述的方法。
本申请实施例的第四方面提供了一种计算机存储介质,其特征在于,计算机存储介质存储有计算机程序,该程序由计算机执行时,使得计算机实施如第二方面或第二方面中任意一种可能实现的方式所述的方法。
本申请实施例的第五方面提供了一种计算机程序产品,其特征在于,计算机程序产品 存储有指令,指令在由计算机执行时,使得计算机实施如第二方面或第二方面中任意一种可能实现的方式所述的方法。
本申请实施例中,云服务系统包含第一服务器和物理设备,第一服务器部署有云实例,物理设备部署有与云实例对应的可信执行环境,其中,物理设备用于通过可信执行环境对来自云实例的数据进行机密计算,并将计算结果发送至云实例。由于第一服务器和物理设备之间通过物理通道连接,相当于第一服务器的云实例和物理设备的可信执行环境之间存在物理隔离,即使第一服务器的操作系统被恶意攻破,也无法从物理设备的可信执行环境中获取用户的敏感数据,从而避免虚拟化逃逸对可信执行环境所造成的潜在风险。
附图说明
图1为相关技术中的云服务系统的一个示意图;
图2为本申请实施例提供的云服务系统的一个示意图;
图3为本申请实施例提供的云服务系统的另一示意图;
图4为本申请实施例提供的云服务系统的另一示意图;
图5为本申请实施例提供的云服务系统的另一示意图;
图6为本申请实施例提供的云服务系统的另一示意图;
图7为本申请实施例提供的云服务系统的另一示意图;
图8为本申请实施例提供的基于云服务系统的数据处理方法的一个流程图;
图9为本申请实施例提供的物理设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种云服务系统以及基于云服务的数据处理方法,可避免虚拟化逃逸对可信执行环境所造成的潜在风险。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”并他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
随着云服务系统的日益成熟与飞速发展,数据的安全问题逐渐成为了关注焦点。
图1为相关技术中的云服务系统的一个示意图。如图1所示,该云服务系统中,服务器上部署有为用户a提供业务服务的普通虚拟机A,为用户b提供业务服务的普通虚拟机B、与普通虚拟机A配套的可信虚拟机C以及管控各个虚拟机的VMM,其中,可信虚拟机C可视为普通虚拟机A的可信执行环境。其中,可信虚拟机C不同于普通虚拟机A和普通虚拟机B,可信虚拟机C无任何外部网络访问通道,可彻底杜绝其他用户侵入,从而确保用户的敏感数据的安全。可信虚拟机C具有两个安全通道,其中一个安全通道用于与普通虚拟机A传输用户输入的数据,另一个安全通道用于通过VMM,从身份识别与访问管理(identity  and access management,IAM)服务器获取用户a的密钥,以根据该密钥对用户输入的数据进行机密计算。
在服务器中,普通虚拟机A和可信虚拟机C均受VMM的管控,一旦VMM出现逃逸漏洞,VMM可能被黑客恶意攻破(即服务器的操作系统被攻破),故黑客可通过VMM从可信虚拟机C中获取用户a的敏感数据。由此可见,虚拟化逃逸会对可信执行环境造成一定的安全问题。
为了解决上述问题,本申请实施例提供了一种新的云服务系统,该云服务系统包含第一服务器和物理设备,二者可通过多种形式呈现。其中,第一种形式指第一服务器和物理设备均基于虚拟化技术,为一个或多个用户提供服务。第二种形式指第一服务器一侧为裸机,为某个用户提供服务。第三种形式指多个第一服务器形成异构服务器,为多个用户提供服务。下文将结合图2对本申请实施例提供的云服务系统的第一种形式进行介绍。图2为本申请实施例提供的云服务系统的一个示意图,如图2所示,该云服务系统包含第一服务器和智能卡。第一服务器和智能卡之间通过物理通道连接,该物理通道可以为高速计算机扩展总线,例如,智能卡可插于第一服务器的高速外围组件互连(peripheral component interconnect express,PCIE)接口中,从而实现二者的物理连接。
基于虚拟化技术,第一服务器部署有为用户服务的普通虚拟机以及管控普通虚拟机的第一VMM,第一VMM设置于第一服务器的第一操作系统。智能卡部署有与普通虚拟机对应的可信执行环境(trusted execution environment,TEE)以及管控可信执行环境(可信虚拟机)的第二VMM,第二VMM设置与智能卡的第二操作系统中。可以理解的是,第一操作系统可为通用操作系统,第二操作系统可为嵌入式操作系统(embedded operating system,EOS)或通用操作系统。如图2所示的例子,第一服务器部署有为用户a提供业务服务的普通虚拟机A,为用户b提供业务服务的普通虚拟机B,以及管控普通虚拟机A和普通虚拟机B的第一VMM。智能卡部署有与普通虚拟机A对应的可信执行环境C,与普通虚拟机B对应的可信执行环境D,以及管控可信执行环境C和可信执行环境D的第二VMM。
由于第一服务器和智能卡之间通过物理通道连接,相当于第一服务器的普通虚拟机与智能卡的可信执行环境通过物理通道实现通信,故可事先约定普通虚拟机与可信执行环境之间可实现的通信行为,例如,二者事先约定仅能实现跟机密计算请求相关的操作。那么,可信执行环境即使接收到除机密计算请求之外的其余请求,也会拒绝执行这些请求,从而保证用户的敏感数据的安全。
具体地,在进行机密计算之前,第二VMM可先获取与普通虚拟机对应的密钥,即用户的密钥,并将该密钥发送至可信执行环境,以使得可信执行环境能够基于该密钥实现机密计算。其中,第二VMM可通过多种方式获取普通虚拟机对应的密钥,例如,智能卡内预置有IAM服务,即预置了用户的密钥,故第二VMM可直接获取用户的密钥。又如,第二VMM可从远端的IAM服务器获取用户的密钥(如图2所示)等等,此处不做限制。依旧如上述例子,第二VMM可先从IAM服务器获取用户a的密钥(即普通虚拟机A对应的密钥)和用户b的密钥(即普通虚拟机B对应的密钥)。然后,第二VMM将用户a的密钥发送至可信执行环境C,并将用户b的密钥发送至可信执行环境D。
当用户有计算机密需求时,可向为其服务的普通虚拟机输入待计算的数据。普通虚拟机将用户输入的数据发送至第一VMM。然后,第一VMM再将数据发送至第二VMM,以使得第二VMM将数据发送至可信执行环境。可信执行环境接收到数据后,可根据用户的密钥对数据进行机密计算,并将计算结果发送至第二VMM。最后,第二VMM将计算结果发送至第一VMM,以使得第一VMM将计算结果发送至普通虚拟机,供用户使用。其中,机密计算包含鉴权操作、数据加密操作、数据验证操作等等,下文将结合两个例子对前述的操作分别进行简单的介绍:
(1)当用户a需要进行电子支付时,可向普通虚拟机A输入待验证的密码。普通虚拟机A生成机密计算请求,该请求包含身份验证信息以及待验证的密码,并将该请求发送至第一VMM。接着,第一VMM将该请求发送至第二VMM,以使得第二VMM将该请求发送至可信执行环境C。然后,可信执行环境C可解析该请求得到待验证的密码以及身份验证信息,可信执行环境C先根据用户a的密钥对身份验证信息进行验证,若身份验证成功,则表明是该请求来源于用户a,可执行后续的操作,若身份验证失败,则表明该请求并非来源于通用户a,则拒绝执行后续的操作。身份验证成功后,由于可信执行环境C中存储有用户预先输入的正确的密码,可将正确的密码与用户输入的密码进行比对,得到验证结果(即密码验证成功或密码验证失败)。最后,可信执行环境C将验证结果发送至第二VMM,第二VMM将验证结果发送至第一VMM,以使得第一VMM将验证结果发送至普通虚拟机A,供用户a使用。
(2)当用户a需要进行电子支付的密码设置时,可向普通虚拟机A输入待设置的密码。普通虚拟机A生成机密计算请求,该请求包含身份验证信息以及待设置的密码,并将该请求发送至第一VMM。接着,第一VMM将该请求发送至第二VMM,以使得第二VMM将该请求发送至可信执行环境C。然后,可信执行环境C可解析该请求得到待设置的密码以及身份验证信息,可信执行环境C先根据用户a的密钥对身份验证信息进行验证,若身份验证成功,则表明是该请求来源于用户a,可执行后续的操作,若身份验证失败,则表明该请求并非来源于通用户a,则拒绝执行后续的操作。身份验证成功后,可信执行环境C根据用户a的密钥对待设置的密码进行加密,得到加密后的密码。最后,可信执行环境C将加密后的密码发送至第二VMM,第二VMM将加密后的密码发送至第一VMM,以使得第一VMM将加密后的密码发送至普通虚拟机A进行存储。如此一来,普通虚拟机A保存的是加密后的密码,并非用户输入的原始密码,从而确保用户的敏感数据的安全。此外,当用户a需要进行电子支付时,可向普通虚拟机A输入待验证的密码,那么,可信执行环境C会再次对待验证的密码进行加密(具体过程参数前述的说明部分即可,此处不再赘述),并向普通虚拟机A返回加密后的密码,普通虚拟机A将原先存储的密码与该加密后的密码进行比对,从而得到验证结果。
应理解,本实施例中,第一服务器上可部署有一个或多个云实例(即普通虚拟机),从而为一个或多个用户提供业务服务。相应地,智能卡上也可部署有一个或多个可信执行环境。
还应理解,本实施例以第一服务器的云实例为虚拟机进行示意性说明,第一服务器的 云实例还可以是容器等等。同样地,智能卡的可信执行环境也是如此。如图3所示的例子(图3为本申请实施例提供的云服务系统的另一示意图),第一服务器的云实例和智能卡的可信执行环境均以容器的形式呈现,与图2所示例子的区别在于,第一服务器和智能卡的操作系统中不需设置VMM。
还应理解,本实施例以物理设备为智能卡进行示意性说明,物理设备还可以是第二服务器或卸载卡等等,卸载卡可以通过现场可编程逻辑门阵列(field programmable gate array,FPGA)、特殊应用集成电路(application specific integrated circuit,ASIC)等形式呈现。
以上是对本申请实施例提供的云服务系统的第一种形式所进行的详细说明,以下将对本申请实施例提供的云服务系统的第二种形式进行介绍。图4为本申请实施例提供的云服务系统的另一示意图,如图4所示,该云服务系统中,第一服务器和智能卡之间通过物理通道连接,关于物理通道的说明可参考图2所示实施例中的相关说明部分,此处不再赘述。
第一服务器作为单独的一台物理服务器,以裸机(即裸金属服务器)的形式为某一个用户提供业务服务。对于智能卡而言,可基于虚拟化技术,部署有与第一服务器对应的可信执行环境(可信容器)以及管控可信执行环境的第二操作系统。
在此种情况下,前述的第一服务器的云实例即为裸金属服务器,前述第一服务器的云实例所执行的操作可理解为第一服务器的第一操作系统执行的操作,即接收用户输入的数据、转发用户输入的数据以及转发计算结果等操作均由第一服务器的第一操作系统完成。而智能卡的第二操作系统则依旧完成获取用户的密钥、转发用户输入的数据以及转发计算结果等操作,智能卡的可信执行环境依旧完成对用户输入的数据进行机密计算等操作。关于各个操作的说明,可参考图2所示实施例中的相关说明部分,此处不再赘述。
应理解,本实施例以第一服务器的云实例为裸金属服务器、智能卡的可信执行环境为容器进行示意性说明。智能卡的可信执行环境也可以为裸金属服务器(如图5所示,图5为本申请实施例提供的云服务系统的另一示意图),智能卡的可信执行环境还可以为虚拟机(如图6所示,图6为本申请实施例提供的云服务系统的另一示意图)等等。
还应理解,本实施例中以物理设备为智能卡进行示意性说明,物理设备还可以为第二服务器和卸载卡等等。
以上是对本申请实施例提供的云服务系统的第二种形式所进行的详细说明,以下将对本申请实施例提供的云服务系统的第三种形式进行介绍。图7为本申请实施例提供的云服务系统的另一示意图,如图7所示,该云服务系统包含第二服务器和多个第一服务器,其中,多个第一服务器为异构服务器,即不同的第一服务器来源于不同的厂商。第二服务器和多个第一服务器之间可通过物理通道连接,该物理通道可以为高速通信背板、高速计算机扩展总线或物理网络等等。其中,高速计算机扩展总线可以为PCIE交换机(PCIE switch),物理网络可以为通过网际互连协议(internet protocol,IP)、基于融合以太网的远程直接数据存取(remote direct memory access over converged ethernet,RoCE)协议、远程直接数据存取(remote direct memory access,RDMA)协议进行通信的网络设备等等。
如图7所示的例子,云服务系统包含第一服务器X和第一服务器Y。第一服务器X以 裸机的形式为用户c提供业务服务,第一服务器Y部署有为用户a提供服务的普通虚拟机A,为用户b提供服务的普通虚拟机B,以及管控普通虚拟机A和普通虚拟机B的第一VMM。相应地,第二服务器部署有与第一服务器X对应的可信执行环境C,与普通虚拟机A对应的可信执行环境D,以及管控可信执行环境C和可信执行环境D的第二VMM。
可信执行环境C可与第一服务器X完成用户c的机密计算需求,可信执行环境D可与普通虚拟机A完成用户a的机密计算需求。关于机密计算过程的说明,可参考图2所示实施例中的相关说明部分,此处不再赘述。
应理解,本实施例以第一服务器的云实例为虚拟机+裸金属服务器的组合进行示意性说明,第一服务器的云实例还可以是容器+裸金属服务器的组合,第一服务器的云实例还可以全是虚拟机,第一服务器的云实例还可以全是容器,第一服务器的云实例还可以全是裸金属服务器等等。
还应理解,本实施例以第二服务器的云实例为虚拟机进行示意性说明,第二服务器的云实例还可以是容器等等。
还应理解,本实施例以物理设备为第二服务器进行示意性说明,物理设备还可以是智能卡或卸载卡等等。
本申请实施例中,云服务系统包含第一服务器和物理设备,第一服务器部署有云实例,物理设备部署有与云实例对应的可信执行环境,其中,物理设备用于通过可信执行环境对来自云实例的数据进行机密计算,并将计算结果发送至云实例。由于第一服务器和物理设备之间通过物理通道连接,相当于第一服务器的云实例和物理设备的可信执行环境之间存在物理隔离,即使第一服务器的操作系统被恶意攻破,也无法从物理设备的可信执行环境中获取用户的敏感数据,从而避免虚拟化逃逸对可信执行环境所造成的潜在风险。
更进一步地,在相关技术中,虚拟机和与之配套的可信执行环境部署于同一台服务器上,即相关技术中仅能在虚拟机场景下,实现可行执行环境。而在本申请的前述实现方式中,第一服务器的云实例和物理设备的可信执行环境均可为裸金属服务器(即图4至图6所示的例子),故本申请提供的云服务系统也可在裸机场景下,实现可行执行环境。
更进一步地,在异构服务器的场景中,为不同第一服务器配置的多个可信执行环境可统一部署于同一物理设备上(即图7所示的例子),即具备为异构服务器形成的集群提供统一的可信执行环境的能力,可提升资源利用率。
更进一步地,物理通道可根据实际需求,制作成厂商的专用硬件,或通过专用网络进一步提升整个云服务系统的安全性。
更进一步地,云上池化后的可信执行环境后续可以通过云服务方式对外售卖,也可灵活部署与混合云、边缘云节点侧,进一步提升用户侧的本地安全。
以上是对本申请实施例提供的云服务系统所进行的详细说明,以下将对基于云服务系统的数据处理方法进行介绍。图8为本申请实施例提供的基于云服务系统的数据处理方法的一个流程图,该方法可应用于云服务系统中,该系统(可参考图2至图7所示的云服务系统)包括:第一服务器和物理设备,第一服务器和物理设备之间通过物理通道连接,第一服务器包括云实例和第一操作系统,物理设备包括与云实例对应的可信执行环境和第二 操作系统,该方法包括:
801、物理设备的第二操作系统获取与云实例对应的密钥。
802、物理设备的第二操作系统将密钥发送至物理设备的可信执行环境。
803、第一服务器的云实例接收用户输入的数据。
804、第一服务器的云实例将用户输入的数据发送至第一服务器的第一操作系统。
805、物理设备的第二操作系统接收第一操作系统发送的用户输入的数据。
806、物理设备的第二操作系统将用户输入的数据发送至物理设备的可信执行环境。
807、物理设备的可信执行环境根据密钥对用户输入的数据进行机密计算,得到计算结果。
808、物理设备的可信执行环境将计算结果发送至物理设备的第二操作系统。
809、物理设备的第二操作系统将计算结果发送至第一服务器的第一操作系统。
810、第一服务器的第一操作系统将计算结果发送至第一服务器的云实例。
需要说明的是,步骤801至步骤810的说明,可参考图2所示实施例中的例子(1)和例子(2)的相关说明部分,此处不再赘述。
在一种可能的实现方式中,物理设备为第二服务器、智能卡或卸载卡。
在一种可能的实现方式中,若物理设备为第二服务器,则物理通道为高速通信背板、高速计算机扩展总线或物理网络。
在一种可能的实现方式中,若物理设备为智能卡或卸载卡,则物理通道为高速计算机扩展总线。
在一种可能的实现方式中,云实例为虚拟机、容器或裸金属服务器,可信执行环境为虚拟机、容器或裸金属服务器。
需要说明的是,上述方法各模块/单元之间的信息交互、执行过程等内容,由于与本申请系统实施例基于同一构思,其带来的技术效果与本申请系统实施例相同,具体内容可参考本申请实施例前述所示的系统实施例中的叙述,此处不再赘述。
图9为本申请实施例提供的物理设备的一个结构示意图。如图9所示,该物理设备设置于云服务系统(可参考图2至图7所示的云服务系统)中,该系统还包括第一服务器,第一服务器和物理设备之间通过物理通道连接,第一服务器包括云实例,物理设备包括与云实例对应的可信执行环境。本申请实施例中物理设备一个实施例可以包括一个或一个以上中央处理器901,存储器902,输入输出接口903,有线或无线网络接口904,电源905。
存储器902可以是短暂存储或持久存储。更进一步地,中央处理器901可以配置为与存储器902通信,在物理设备上执行存储器902中的一系列指令操作。
本实施例中,中央处理器901可以执行前述图8所示实施例中物理设备所执行的操作,具体此处不再赘述。
本实施例中,中央处理器901中的具体功能模块划分可以与前述图2至图7中所描述的可信执行环境和第二操作系统等模块的划分方式类似,此处不再赘述。
本申请实施例还涉及一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现如图8所述的方法。
本申请实施例还涉及一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图8所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (17)

  1. 一种云服务系统,其特征在于,所述系统包括:第一服务器和物理设备,所述第一服务器和所述物理设备之间通过物理通道连接,所述第一服务器包括云实例,所述物理设备包括与所述云实例对应的可信执行环境;
    所述物理设备,用于通过所述可信执行环境对来自所述云实例的数据进行机密计算,并将计算结果发送至所述云实例。
  2. 根据权利要求1所述的系统,其特征在于,所述第一服务器还包括第一操作系统,所述物理设备还包括第二操作系统,所述物理设备,具体于:
    通过所述第二操作系统接收所述第一操作系统发送的所述云实例的数据;
    通过所述可信执行环境对所述数据进行机密计算,得到计算结果;
    通过所述第二操作系统将所述计算结果发送至所述第一操作系统,以使得所述第一操作系统将所述计算结果发送至所述云实例。
  3. 根据权利要求2所述的系统,其特征在于,所述物理设备,还用于通过所述第二操作系统获取与所述云实例对应的密钥;
    所述物理设备,具体用于通过所述可信执行环境根据所述密钥对所述数据进行机密计算,得到计算结果。
  4. 根据权利要求1至3任意一项所述的系统,其特征在于,所述物理设备为第二服务器、智能卡或卸载卡。
  5. 根据权利要求4所述的系统,其特征在于,若所述物理设备为第二服务器,则所述物理通道为高速通信背板、高速计算机扩展总线或物理网络。
  6. 根据权利要求4所述的系统,其特征在于,若所述物理设备为智能卡或卸载卡,则所述物理通道为高速计算机扩展总线。
  7. 根据权利要求1至6任意一项所述的系统,其特征在于,所述云实例为虚拟机、容器或裸金属服务器,所述可信执行环境为虚拟机、容器或裸金属服务器。
  8. 一种基于云服务系统的数据处理方法,其特征在于,所述系统包括:第一服务器和物理设备,所述第一服务器和所述物理设备之间通过物理通道连接,所述第一服务器包括云实例,所述物理设备包括与所述云实例对应的可信执行环境,所述方法包括:
    所述物理设备通过所述可信执行环境对来自所述云实例的数据进行机密计算,并将计算结果发送至所述云实例。
  9. 根据权利要求8所述的方法,其特征在于,所述第一服务器还包括第一操作系统,所述物理设备还包括第二操作系统,所述物理设备通过所述可信执行环境对来自所述云实例的数据进行机密计算,并将计算结果发送至所述云实例具体包括:
    所述物理设备通过所述第二操作系统接收所述第一操作系统发送的所述云实例的数据;
    所述物理设备通过所述可信执行环境对所述数据进行机密计算,得到计算结果;
    所述物理设备通过所述第二操作系统将所述计算结果发送至所述第一操作系统,以使得所述第一操作系统将所述计算结果发送至所述云实例。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:所述物理设备通过所述第二操作系统获取与所述云实例对应的密钥;
    所述物理设备通过所述可信执行环境对所述数据进行机密计算,得到计算结果具体包括:
    所述物理设备通过所述可信执行环境根据所述密钥对所述数据进行机密计算,得到计算结果。
  11. 根据权利要求8至10任意一项所述的方法,其特征在于,所述物理设备为第二服务器、智能卡或卸载卡。
  12. 根据权利要求11所述的方法,其特征在于,若所述物理设备为第二服务器,则所述物理通道为高速通信背板、高速计算机扩展总线或物理网络。
  13. 根据权利要求11所述的方法,其特征在于,若所述物理设备为智能卡或卸载卡,则所述物理通道为高速计算机扩展总线。
  14. 根据权利要求8至13任意一项所述的方法,其特征在于,所述云实例为虚拟机、容器或裸金属服务器,所述可信执行环境为虚拟机、容器或裸金属服务器。
  15. 一种物理设备,其特征在于,所述物理设备设置于云服务系统,所述系统还包括第一服务器,所述第一服务器和所述物理设备之间通过物理通道连接,所述第一服务器包括云实例,所述物理设备包括与所述云实例对应的可信执行环境,所述物理设备包括存储器和处理器;
    所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述物理设备执行如权利要求8至14任意一项所述的方法。
  16. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该程序由计算机执行时,使得所述计算机实施权利要求8至14任意一项所述的方法。
  17. 一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时,使得所述计算机实施权利要求8至14任意一项所述的方法。
PCT/CN2022/083961 2021-03-31 2022-03-30 一种云服务系统以及基于云服务的数据处理方法 WO2022206811A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22778993.0A EP4303745A4 (en) 2021-03-31 2022-03-30 CLOUD SERVICE SYSTEM AND DATA PROCESSING METHOD BASED ON CLOUD SERVICE
US18/477,053 US20240020412A1 (en) 2021-03-31 2023-09-28 Cloud Service System and Data Processing Method Based on Cloud Service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110352472.3 2021-03-31
CN202110352472.3A CN115146276A (zh) 2021-03-31 2021-03-31 一种云服务系统以及基于云服务的数据处理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/477,053 Continuation US20240020412A1 (en) 2021-03-31 2023-09-28 Cloud Service System and Data Processing Method Based on Cloud Service

Publications (1)

Publication Number Publication Date
WO2022206811A1 true WO2022206811A1 (zh) 2022-10-06

Family

ID=83405221

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/083961 WO2022206811A1 (zh) 2021-03-31 2022-03-30 一种云服务系统以及基于云服务的数据处理方法

Country Status (4)

Country Link
US (1) US20240020412A1 (zh)
EP (1) EP4303745A4 (zh)
CN (1) CN115146276A (zh)
WO (1) WO2022206811A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682159A (zh) * 2017-10-12 2018-02-09 北京握奇智能科技有限公司 一种智能终端的可信应用管理方法和可信应用管理系统
US20180097809A1 (en) * 2016-09-30 2018-04-05 Intel Corporation Securing access to cloud components
CN109844748A (zh) * 2016-10-25 2019-06-04 微软技术许可有限责任公司 托管在虚拟安全环境中的安全服务
US20200134200A1 (en) * 2018-10-25 2020-04-30 Enveil, Inc. Computational Operations in Enclave Computing Environments

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037854B2 (en) * 2013-01-22 2015-05-19 Amazon Technologies, Inc. Privileged cryptographic services in a virtualized environment
US9147086B1 (en) * 2013-06-07 2015-09-29 Amazon Technologies, Inc. Trusted computing host

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180097809A1 (en) * 2016-09-30 2018-04-05 Intel Corporation Securing access to cloud components
CN109844748A (zh) * 2016-10-25 2019-06-04 微软技术许可有限责任公司 托管在虚拟安全环境中的安全服务
CN107682159A (zh) * 2017-10-12 2018-02-09 北京握奇智能科技有限公司 一种智能终端的可信应用管理方法和可信应用管理系统
US20200134200A1 (en) * 2018-10-25 2020-04-30 Enveil, Inc. Computational Operations in Enclave Computing Environments

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4303745A4

Also Published As

Publication number Publication date
US20240020412A1 (en) 2024-01-18
EP4303745A4 (en) 2024-09-11
EP4303745A1 (en) 2024-01-10
CN115146276A (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
US11695757B2 (en) Fast smart card login
US11641361B2 (en) Dynamic access control to network resources using federated full domain logon
US11722465B2 (en) Password encryption for hybrid cloud services
KR102188919B1 (ko) 클라이언트 애플리케이션들에 대한 보안 싱글 사인 온 및 조건부 액세스
US9509692B2 (en) Secured access to resources using a proxy
KR102036758B1 (ko) 빠른 스마트 카드 로그온 및 연합된 풀 도메인 로그온
US11652613B2 (en) Secure information exchange in federated authentication
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
US11711214B2 (en) Enhanced token transfer
CN112425130A (zh) 使用与装置相关联的身份数据来将通信引导至另一装置
CA3166710A1 (en) Optically scannable representation of a hardware secured artifact
US11032708B2 (en) Securing public WLAN hotspot network access
WO2022206811A1 (zh) 一种云服务系统以及基于云服务的数据处理方法
CN117879819B (zh) 密钥管理方法、装置、存储介质、设备及算力服务系统
CN117763529A (zh) 一种实现云桌面与云应用融合管理的方法
CN114584398A (zh) 一种计费管理方法及系统

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022778993

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022778993

Country of ref document: EP

Effective date: 20231006

NENP Non-entry into the national phase

Ref country code: DE