Secure public cloud with protected guest-verified host control

US11989332B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11989332-B2
Application numberUS-202117449343-A
CountryUS
Kind codeB2
Filing dateSep 29, 2021
Priority dateAug 11, 2016
Publication dateMay 21, 2024
Grant dateMay 21, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

According to one embodiment, a method comprises executing an untrusted host virtual machine monitor (VMM) to manage execution of at least one guest virtual machine (VM). The VMM receives an encrypted key domain key, an encrypted guest code image, and an encrypted guest control structure. The VM also issues a create command. In response, a processor creates a first key domain comprising a region of memory to be encrypted by a key domain key. The encrypted key domain key is decrypted to produce the key domain key, which is inaccessible to the VMM. The VMM issues a launch command. In response, a first guest VM is launched within the first key domain. In response to a second launch command, a second guest VM is launched within the first key domain. The second guest VM provides an agent to act on behalf of the VMM. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

What is claimed is: 1. At least one non-transitory computer-readable medium comprising instructions that, when executed, cause a processor to facilitate operations comprising: creating a first key domain, the first key domain comprising a region of a memory to be encrypted by a key domain key; launching a first guest virtual machine within the first key domain; intercepting an interrupt; saving processor register information to a protected location of the memory in response to the interrupt or an exception thrown when the first guest virtual machine causes an exit condition; clearing a first processor register if the first processor register is not needed by an untrusted host virtual machine monitor managing execution of the first guest virtual machine; conditionally exposing a second processor register if the second processor register is needed by the untrusted host virtual machine monitor; invoking the untrusted host virtual machine monitor; and exiting the first guest virtual machine when the untrusted host virtual machine monitor is invoked. 2. The at least one computer-readable medium of claim 1 , wherein the operations further comprise: receiving an encrypted key domain key, an encrypted guest code image encrypted by a key domain key, and an encrypted guest control structure encrypted by the key domain key; verifying the encrypted guest control structure; receiving an encrypted updated guest control structure, install the encrypted updated guest control structure in the memory, and verify the encrypted updated guest control structure; and entering the first guest virtual machine using an updated guest control structure in response to verifying the encrypted updated guest control structure, the updated guest control structure produced by the processor decrypting the encrypted updated guest control structure. 3. The at least one computer-readable medium of claim 2 , wherein the operations further comprise: receiving an encrypted updated guest code image; and installing the encrypted updated guest code image in the memory. 4. The at least one computer-readable medium of claim 1 , wherein the operations further comprise: determining whether a change to the guest control structure is needed; verifying, by the first guest virtual machine, that the change to the guest control structure does not compromise security of the first guest virtual machine; producing, by the first guest virtual machine, an encrypted updated guest control structure incorporating the change using the key domain key; and sending, by the first guest virtual machine, the encrypted updated guest control structure to an untrusted host virtual machine monitor via a shared region of the memory shared by the untrusted host virtual machine monitor and the first guest virtual machine. 5. The at least one computer-readable medium of claim 4 , wherein the operations further comprise: installing the encrypted updated guest control structure in the memory; verifying the encrypted updated guest control structure; and entering the first guest virtual machine using an updated guest control structure in response to verifying the encrypted updated guest control structure, the updated guest control structure produced by the processor decrypting the encrypted updated guest control structure. 6. The at least one computer-readable medium of claim 1 , wherein the operations further comprise: verifying an agent control structure included within the encrypted guest control structure; and launching a second guest virtual machine within the first key domain using the agent control structure, the second guest virtual machine to provide an agent to act on behalf of the untrusted host virtual machine monitor within the first key domain. 7. The at least one computer-readable medium of claim 6 , wherein the operations further comprise: communicating a request to modify the guest control structure of the first guest virtual machine to the agent via a shared region of memory shared with the agent; modifying, by the agent, the guest control structure of the first guest virtual machine within the first key domain to produce a modified guest control structure of the first guest virtual machine in response to reading the request from the shared region of memory; verifying the modified guest control structure of the first guest virtual machine; and entering the first guest virtual machine within the first key domain using the modified guest control structure upon verifying the modified guest control structure. 8. An apparatus comprising: a processor coupled to a memory, the processor to: create a first key domain, the first key domain comprising a region of the memory to be encrypted by a key domain key; launch a first guest virtual machine within the first key domain; intercept an interrupt; save processor register information to a protected location of the memory in response to the interrupt or an exception thrown when the first guest virtual machine causes an exit condition; clear a first processor register if the first processor register is not needed by an untrusted host virtual machine monitor managing execution of the first guest virtual machine; conditionally expose a second processor register if the second processor register is needed by the untrusted host virtual machine monitor; invoke the untrusted host virtual machine monitor; and exit the first guest virtual machine when the untrusted host virtual machine monitor is invoked. 9. The apparatus of claim 8 , wherein the processor to: receive an encrypted key domain key, an encrypted guest code image encrypted by the key domain key, and an encrypted guest control structure encrypted by the key domain key; verify the encrypted guest control structure; receive an encrypted updated guest control structure, install the encrypted updated guest control structure in the memory, and verify the encrypted updated guest control structure; and enter the first guest virtual machine using an updated guest control structure in response to verifying the encrypted updated guest control structure, the updated guest control structure produced by the processor decrypting the encrypted updated guest control structure. 10. The apparatus of claim 9 , wherein the processor to: receive an encrypted updated guest code image; and install the encrypted updated guest code image in the memory. 11. The apparatus of claim 8 , wherein the processor to: determine whether a change to the guest control structure is needed; verify, by the first guest virtual machine, that the change to the guest control structure does not compromise security of the first guest virtual machine; produce, by the first guest virtual machine, an encrypted updated guest control structure incorporating the change using the key domain key; and send, by the first guest virtual machine, the encrypted updated guest control structure to an untrusted host virtual machine monitor via a shared region of the memory shared by the untrusted host virtual machine monitor and the first guest virtual machine. 12. The apparatus of claim 11 , wherein the processor to: install the encrypted updated guest control structure in the memory; verify the encrypted updated guest control structure; and enter the first guest virtual machine using an updated guest control structure in response to verifying the encrypted updated guest control structure, the updated guest control structure produced by the processor decrypting the encrypted updated guest control structure. 13. The apparatus of claim 8 , wherein the processor to: verify an agent control structure included within

Assignees

Inventors

Classifications

  • G06F21/71Primary

    to assure secure computing or processing of information · CPC title

  • Image based installation; Cloning; Build to order · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • G06F21/53Primary

    by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11989332B2 cover?
According to one embodiment, a method comprises executing an untrusted host virtual machine monitor (VMM) to manage execution of at least one guest virtual machine (VM). The VMM receives an encrypted key domain key, an encrypted guest code image, and an encrypted guest control structure. The VM also issues a create command. In response, a processor creates a first key domain comprising a region…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F21/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 21 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).