IP Library › Granted Patent US 10,824,728
Granted Patent B2
US 10,824,728 · App. 15/992,202 · Granted Nov 3, 2020

Reliable detection of co-located virtual machines in the cloud using a trusted execution environment

Inventor: Wenting Li (Heidelberg, DE)
Assignee: NEC CORPORATION
G06F21/57G06F9/45558G06F21/44G06F21/71H04L63/20G06F2009/45562G06F2009/45587
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,824,728
App. No.
15/992,202
Granted
Nov 3, 2020
Kind
B2
Abstract

A method for detecting co-located virtual machines (VMs) includes receiving one or more VM deployment requests from a user device. One or more VMs are deployed in a cloud infrastructure based on the VM deployment requests. The cloud infrastructure includes one or more host machines each having a trusted execution environment (TEE). Evidence is collected for each of the one or more VMs using a trusted application running in the respective TEE of the respective host machine. The collected evidence is inspected to determine whether at least two VMs in the one or more VMs share a same host machine in the one or more host machines. At least one VM is requested to be redeployed to meet a policy based on results of inspecting the collected evidence.

Claims (53)

1. A method for detecting co-located virtual machines (VMs), the method comprising:

receiving one or more VM deployment requests from a user device;

deploying one or more VMs in a cloud infrastructure based on the VM deployment requests, the cloud infrastructure comprising one or more host machines each having a trusted execution environment (TEE);

collecting evidence for each of the one or more VMs using a trusted application running in the respective TEE of the respective host machine;

inspecting the collected evidence to determine that at least two VMs in the one or more VMs share different host machines in the one or more host machines; and

requesting at least one VM of the at least two VMs be redeployed to meet an affinity policy based on results of inspecting the collected evidence such that the at least two VMs share a same host machine.

2. The method according to claim 1 , wherein each of the TEE is based on Software Guard Extensions (SGX), ARM TrustZone, or Trusted Platform Module.

3. The method according to claim 1 , wherein deploying the one or more VMs in the cloud infrastructure comprises:

instantiating the one or more VMs on the one or more host machines;

installing an untrusted application on each of the one or more VMs; and for each untrusted application installation, installing the trusted application on the respective TEE of the respective host machine.

4. The method according to claim 3 , wherein the installed untrusted application interfaces with the corresponding trusted application on the respective host machine for access to a secure hardware of the respective host machine.

5. The method according to claim 3 , wherein the installed untrusted application handles the requests from the user device.

6. The method according to claim 3 , further comprising:

for each VM deployed, performing a remote attestation procedure to obtain credentials from the user device.

7. The method according to claim 6 , wherein the credentials include one or more of a signing key pair or a shared secret.

8. The method according to claim 1 , wherein collecting the evidence for each of the one or more VMs comprises:

receiving a collect request from the user device;

generating, by the trusted application on the respective host machine, the evidence for each of the one or more VMs based on the collect request by interacting with a secure hardware to use its platform-specific credentials; and

providing the evidence to the user device via a corresponding untrusted application.

9. The method according to claim 8 , wherein evidence generation is based on at least one of local attestation or data sealing and unsealing.

10. The method according to claim 1 , wherein inspecting the collected evidence comprises:

receiving an inspect request from the user device, the inspect request comprising the collected evidence;

verifying, by the trusted application on a corresponding host machine, the collected evidence based on the inspect request by interacting with a secure hardware to use its platform-specific credentials; and

providing, to the user device, an inspect report based on the verification of the collected evidence.

11. The method according to claim 10 , wherein the inspect report comprises:

nothing or NULL based on the at least two VMs sharing the different host machines.

12. A system for detecting co-located virtual machines (VMs), the system comprising one or more processors, which alone or together, are configured to provide for execution of the following steps:

receiving one or more VM deployment requests from a user device;

deploying one or more VMs in a cloud infrastructure based on the VM deployment requests, the cloud infrastructure comprising one or more host machines each having a trusted execution environment (TEE);

collecting evidence for each of the one or more VMs using a trusted application running in a corresponding TEE of a corresponding host machine;

inspecting the collected evidence to determine that at least two VMs in the one or more VMs share different host machines in the one or more host machines; and

requesting at least one VM of the at least two VMs be redeployed to meet an affinity policy based on results of inspecting the collected evidence such that the at least two VMs share a same host machine.

13. The system according to claim 12 , wherein deploying the one or more VMs in the cloud infrastructure comprises:

instantiating the one or more VMs on the one or more host machines;

installing an untrusted application on each of the one or more VMs; and for each untrusted application installation, installing the trusted application on the respective TEE of the respective host machine.

14. The system according to claim 13 , wherein the installed untrusted application interfaces with the corresponding trusted application on the respective host machine for access to a secure hardware of the respective host machine.

15. The system according to claim 13 , wherein the installed untrusted application handles the requests from the user device.

16. A method for detecting co-located virtual machines (VMs), the method comprising:

receiving one or more VM deployment requests from a user device;

deploying one or more VMs in a cloud infrastructure based on the VM deployment requests, the cloud infrastructure comprising one or more host machines each having a trusted execution environment (TEE);

collecting evidence for each of the one or more VMs using a trusted application running in the respective TEE of the respective host machine;

inspecting the collected evidence to determine that at least two VMs in the one or more VMs share a same host machine in the one or more host machines; and

requesting at least one VM of the at least two VMs be redeployed to meet an anti-affinity policy based on results of inspecting the collected evidence such that the at least two VMs share different host machines within the cloud infrastructure.

17. The method according to claim 16 , wherein each of the TEE is based on Software Guard Extensions (SGX), ARM TrustZone, or Trusted Platform Module.

18. The method according to claim 16 , wherein deploying the one or more VMs in the cloud infrastructure comprises:

instantiating the one or more VMs on the one or more host machines;

installing an untrusted application on each of the one or more VMs; and for each untrusted application installation, installing the trusted application on the respective TEE of the respective host machine.

19. The method according to claim 16 , wherein inspecting the collected evidence comprises:

receiving an inspect request from the user device, the inspect request comprising the collected evidence;

verifying, by the trusted application on a corresponding host machine, the collected evidence based on the inspect request by interacting with a secure hardware to use its platform-specific credentials; and

providing, to the user device, an inspect report based on the verification of the collected evidence.

20. The method according to claim 19 , wherein the inspect report comprises:

a list of VMs from the at least two VMs that share the same host machine.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2020
From: NEC LABORATORIES EUROPE GMBH
To: NEC CORPORATION
Reel/Frame 053896/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2018
From: LI, WENTING
To: NEC LABORATORIES EUROPE GMBH
Reel/Frame 046171/0464 →
Continuity (1)
Related Publication 20190370467A1 · Dec 5, 2019