×

Secure public cloud with protected guest-verified host control

  • US 10,303,899 B2
  • Filed: 02/28/2017
  • Issued: 05/28/2019
  • Est. Priority Date: 08/11/2016
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus comprising:

  • a processor; and

    a memory coupled to the processor;

    whereinthe processor is to execute an untrusted host virtual machine monitor to manage execution by the processor of at least one guest virtual machine;

    the untrusted host virtual machine monitor is to receive 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, the key domain key inaccessible to the untrusted host virtual machine monitor;

    the untrusted host virtual machine monitor is to issue a create command to the processor to create a first key domain, the first key domain comprising a region of the memory to be encrypted by the key domain key;

    in response to receiving the create command, the processor is to create the first key domain and decrypt the encrypted key domain key to produce the key domain key;

    the untrusted host virtual machine monitor is to issue a launch command to the processor to launch a first guest virtual machine within the first key domain;

    in response to receiving the launch command, the processor is to (a) switch to the first key domain, (b) decrypt the encrypted guest control structure to produce a guest control structure containing guest processor state information, (c) decrypt the encrypted guest code image to produce a guest code image, and (d) execute the guest code image within the first key domain using the guest processor state information, wherein the guest control structure specifies a protected location of the memory where the processor may store the guest processor state information;

    in response to an event triggering an exit condition of the first guest virtual machine, the processor is to save the guest processor state information for the first guest virtual machine in the protected location of the memory;

    the untrusted host virtual machine monitor is to issue a resume command to the processor to resume the first guest virtual machine; and

    in response to receiving the resume command, the processor is to (a) switch to the first key domain, (b) retrieve the guest processor state information for the first guest virtual machine from the protected location of the memory, and (c) execute the guest code image within the first key domain using the guest processor state information.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×