×

Technologies for implementing mutually distrusting domains

  • US 10,686,605 B2
  • Filed: 09/29/2017
  • Issued: 06/16/2020
  • Est. Priority Date: 09/29/2017
  • Status: Active Grant
First Claim
Patent Images

1. A platform for cloud computing, comprising:

  • one or more hardware processors arranged to host a plurality of virtual machines (VMs), wherein individual VMs of the plurality of VMs are arranged into a plurality of mutually untrusting domains associated with individual cloud computing clients of a plurality of cloud computing clients;

    a single immutable shared virtual machine manager (sVMM) operated by the one or more hardware processors, the sVMM arranged to manage operations of the individual VMs of each domain of the plurality of mutually untrusting domains, wherein the sVMM is shared among the plurality of mutually untrusting domains without replicating the sVMM across each of the plurality of mutually untrusting domains and integrity protected with respective integrity values associated with individual domains of the plurality of mutually untrusting domains but not encrypted, and the respective integrity values being stored in a reserved memory space; and

    a cryptographic engine (CE) coupled with the one or more hardware processors, the CE arranged to;

    provide separated encryption services for the plurality of mutually untrusting domains, andprovide integrity protection services for individual ones of the plurality of mutually untrusting domains when accessing the sVMM, wherein, to provide integrity protection services, the CE is arranged to;

    obtain a read request indicating a requested memory location from which to read data, the read request including an immutable-bit (I-bit) and a domain identifier (DID) of a requesting domain of the plurality of mutually untrusting domains that issued the request;

    issue a read command to the requested memory location;

    issue another read command to another memory location in the reserved memory space associated with the requested memory location, the other memory location storing a first integrity value of the respective integrity values;

    generate a second integrity value using a domain key associated with the DID;

    send data read from the requested memory location to the one or more hardware processors when the first integrity value matches the second integrity value; and

    issue a security exception to the one or more hardware processors when the first integrity value does not match the second integrity value.

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