IP Library Granted Patent US 8,364,983
Granted Patent B2
US 8,364,983 · App. 12/117,059 · Granted Jan 29, 2013

Corralling virtual machines with encryption keys

Inventors: Dharshan Rangegowda (Seattle, WA); Robert M. Fries (Kirkland, WA)
Assignee: Microsoft Corporation
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 8,364,983
App. No.
12/117,059
Granted
Jan 29, 2013
Kind
B2
Abstract

A virtual machine comprises a unique identifier that is associated with one or more encryption keys. A management server encrypts the virtual machine's virtual hard disk(s) using the one or more associated encryption keys. The management server further provides the one or more encryption keys to a limited number of one or more servers in a system. Only those one or more servers that have been provided the one or more encryption keys can be used to load, access, and/or operate the virtual machine. The management server can thus differentiate which virtual machines can be operated on which servers by differentiating which servers can receive which encryption keys. In one implementation, a management server encrypts all virtual machines in the system, but encrypts virtual machines with sensitive data with a limited set of encryption keys, and further provides those encryption keys to a limited set of trusted servers.

Claims (30)

1. At a management service in a computerized environment comprising one or more virtual machines and one or more virtual hard disks corresponding to each of the one or more virtual machines, a method of securely managing the one or more virtual machines on one or more physical hosts using one or more encryption keys, comprising the acts of:

creating one or more virtual machines on the one or more physical hosts, wherein each of the one or more virtual machines comprises a unique ID, and is associated with the one or more virtual hard disks;

associating an encryption key with one or more of the one or more virtual machine unique IDs;

encrypting, using the encryption key, one or more of the one or more virtual hard disks for each of the one or more virtual machines associated with the encryption key;

providing the encryption key to one or more hypervisor components that interface between the virtual machines and the associated one or more virtual hard disks, wherein the one or more hypervisor components provide read/write access of the one or more encrypted drives to the corresponding virtual machine using the provided encryption key, the one or more hypervisor components maintain a separate scope and execution environment for each of the one or more virtual machines such that each virtual machine has a separate identity and operates as though it has complete access to all available resources but has visibility only to what is assigned to it by the hypervisor;

receiving one or more requests to move a virtual machine from one of the one or more physical hosts to another physical host, the virtual machine having one of the encrypted one or more virtual hard disks and a corresponding encryption key; and

determining if the another physical host has a copy of the corresponding encryption key.

2. The method as recited in claim 1 , wherein the act of providing the encryption key to one or more hypervisor components further comprises sending the encryption key to a particular physical host at which the corresponding virtual machine is executed.

3. The method as recited in claim 1 , wherein the act of providing the encryption key to one or more hypervisor components further comprises sending one or more messages to the physical host that associate the encryption key and the corresponding virtual machine.

4. The method as recited in claim 1 , further comprising an act of encrypting one or more additional virtual hard disks with one or more different encryption keys.

5. The method as recited in claim 4 , further comprising sending one or more messages to the physical host that associates each corresponding virtual machine with one of the one or more different encryption keys.

6. The method as recited in claim 5 , further comprising organizing a plurality of the one or more virtual machines by encryption key into a plurality of different groups.

7. The method as recited in claim 6 , wherein one group comprises all of the one or more virtual machines corresponding to a virtual hard disk that was encrypted with the encryption key, and another group comprises all of the one or more virtual machines corresponding to a virtual hard disk encrypted with at least one of the one or more different encryption keys.

8. The method as recited in claim 1 , wherein encrypting at least one of the one or more virtual hard disks occurs upon creation of the at least one of the one or more virtual hard disks.

9. The method as recited in claim 1 , further comprising the acts of:

receiving one or more requests to create a particular virtual machine at the physical host; and

determining which of the one or more encryption keys are stored at the physical host.

10. The method as recited in claim 9 , further comprising an act of identifying one or more encrypted virtual hard disks in a virtual hard disk library, wherein the one or more encrypted virtual hard disks have been encrypted with one of the encryption keys determined to be stored at the physical host.

11. The method as recited in claim 10 , further comprising an act of copying one or more of the one or more encrypted virtual hard disks in the library to a storage component that is managed by the physical host.

12. The method as recited in claim 11 , further comprising an act of installing a virtual machine at the physical host, the virtual machine corresponding to the copied, encrypted virtual hard disk, wherein the installed virtual machine comprises a unique ID that is associated with the encryption key used to encrypt the copied, encrypted virtual hard disk.

13. The method as recited in claim 1 , further comprising an act of, if the other physical host does not have the copy of the corresponding encryption key:

determining that the physical host can receive the corresponding encryption key based on one or more trust levels; and

providing the copy of the corresponding encryption key to the other physical host.

14. At a management service in a computerized environment comprising one or more virtual machines and one or more virtual hard disks corresponding to each of the one or more virtual machines, a computer program storage product having computer-executable instructions stored thereon that, when executed, cause one or more processors in a computer system to perform a method comprising:

creating one or more virtual machines on one or more physical hosts, wherein each of the one or more virtual machines comprises a unique ID, and is associated with one or more virtual hard disks;

associating an encryption key with one or more of the one or more virtual machine unique IDs;

encrypting one or more of the one or more virtual hard disks for each of the one or more virtual machines associated with the encryption key;

providing the encryption key to one or more hypervisor components that interface between the virtual machines and the associated one or more virtual hard disks, wherein the one or more hypervisor components provide read/write access of the one or more encrypted drives to the corresponding virtual machine using the provided encryption key, the one or more hypervisor components maintain a separate scope and execution environment for each of the one or more virtual machines such that each virtual machine has a separate identity and operates as though it has complete access to all available resources but has visibility only to what is assigned to it by the hypervisor;

receiving one or more requests to move a virtual machine from one of the one or more physical hosts to another physical host, the virtual machine having one of the encrypted one or more virtual hard disks and a corresponding encryption key; and

determining if the another physical host has a copy of the corresponding encryption key.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2008
From: FRIES, ROBERT M.; RANGEGOWDA, DHARSHAN
To: MICROSOFT CORPORATION
Reel/Frame 020917/0769 →
Continuity (1)
Related Publication 20090282266A1 · Nov 12, 2009