Secure computing mechanism

US12056512B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12056512-B2
Application numberUS-202117357999-A
CountryUS
Kind codeB2
Filing dateJun 25, 2021
Priority dateJun 25, 2021
Publication dateAug 6, 2024
Grant dateAug 6, 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.

A system comprising a hosting service configured to perform: providing, to a trusted entity on a central processing unit, a command for a launch of a virtual machine (VM); assigning, to the VM, at least a portion of memory for the guest operating system; submitting, to the trusted entity, a request to measure an address space of the VM to provide a measurement digest of the address space of the guest operating system; including, in a configuration object, a policy provided by the user for the service logic, wherein the policy defines one or more rules for the service logic, wherein the one or more rules include at least one rule for which containers may run in the guest operating system; hashing the policy to provide a hash digest of the policy; submitting, to the trusted entity, the hash digest of the policy; and completing the launch of the VM.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a memory; and a processor configured to run service logic in a guest operating system of a virtual machine and a hosting service, wherein the processor runs the hosting service to perform: providing, to a trusted entity on a central processing unit of the processor, a command for a launch of the virtual machine; assigning, to the virtual machine, at least a portion of the memory for the guest operating system; submitting, to the trusted entity, a request to measure an address space of the virtual machine to provide a measurement digest of the address space of the guest operating system; including, in a configuration object, a policy provided by a user for the service logic, wherein the policy for the service logic defines a rule for the service logic, wherein the rule indicates which container may run in the guest operating system; hashing the policy for the service logic to provide a hash digest of the policy; submitting, to the trusted entity, the hash digest of the policy for the service logic; and completing the launch of the virtual machine. 2. The system as claimed in claim 1 , wherein the hash digest of the policy for the service logic and the measurement digest of the address space of the guest operating system are used by the system as immutable fields in any attestation reports for the virtual machine. 3. The system as claimed in claim 1 , wherein the policy for the service logic comprises at least one of: a definition for the service logic as to which containers are permitted to run in the guest operating system of the virtual machine; a set of hashes of container image layer file systems of the containers which are permitted to run in the guest operating system of the virtual machine; a command line rule for the containers which are permitted to run in the guest operating system of the virtual machine; or a set of encrypted filesystems of the user that will be mounted during execution of the containers which are permitted to run in the guest operating system of the virtual machine. 4. The system as claimed in claim 3 , wherein the processor runs the hosting service to send the configuration object to the service logic; wherein the processor runs the service logic to perform, in response to receiving the configuration object: storing the configuration object; extracting the policy for the service logic from the configuration object; hashing the extracted policy for the service logic to generate a hash digest of the extracted policy; retrieving an attestation report from the trusted entity; checking if a hash digest of the policy for the service logic in the attestation report matches the hash digest of the extracted policy of the service logic; and storing the policy for the service logic to be enforced by the service logic in the guest operating system of the virtual machine. 5. The system as claimed in claim 4 , wherein the processor runs the service logic to perform: during an attempt to run a container: making a read-write temporary encrypted filesystem for the container, wherein the filesystem is integrity-protected; mounting an integrity-protected filesystem of the container; and only running the container if a hash of a filesystem layer of the container is the same as an expected hash reported in the policy for the service logic. 6. The system as claimed in claim 1 , wherein the processor runs the service to perform: checking if a run command line recorded in the policy for the service logic corresponds to a runtime specification of a container; executing a container workload of the container when the run command line recorded in the policy for the service logic corresponds to the runtime specification of the container; and not executing the container workload of the container when the runtime specification of the container does not correspond to the run command line recorded in the policy for the service logic. 7. The system as claimed in claim 1 , wherein the processor is configured to run preparation logic, wherein the processor runs the preparation logic to perform: generating a symmetric key used for encrypting a filesystem for a container workload; generating, in response to user input, a key release policy for releasing the symmetric key; and sending the symmetric key and the key release policy to a secure key store. 8. The system as claimed in claim 7 , wherein the processor runs the preparation logic to perform: encrypting the filesystem using the symmetric key and storing the encrypted filesystem in a storage. 9. The system as claimed in claim 8 , wherein the processor runs the service logic to perform: provisioning a wrapping key for releasing user information from a secure key store, wherein the wrapping key includes a public key and a private key; generating key information based on the public key of the wrapping key; hashing the key information to provide a hash digest of the key information; and requesting an attestation report from the trusted entity using the hash digest of the key information. 10. The system as claimed in claim 9 , wherein the processor runs the service logic to perform: retrieving certificate information of hardware running the virtual machine; sending the attestation report, certificate information, key information and the policy for the service logic to an attestation platform for attestation report verification, wherein the key information includes the public key of the wrapping key; and upon the attestation report verification succeeding, receiving a signed token from the attestation platform that includes information extracted from the attestation report, key information, and the policy for the service logic. 11. The system as claimed in claim 10 , wherein the processor runs the service logic to perform: sending the signed token to the secure key store requesting the symmetric key is released, wherein the secure key store releases the symmetric key if claims in the token meet the key release policy; upon the claims meeting the key release policy, receiving from the secure key store, the symmetric key wrapped with the public key of the wrapping key; unwrapping the symmetric key using the private key of the wrapping key; and using the symmetric key to decrypt the encrypted filesystem of the container workload. 12. A computer-implemented method comprising: providing, to a trusted entity on a central processing unit, a command for a launch of a virtual machine; assigning, to the virtual machine, at least a portion of memory for a guest operating system; submitting, to the trusted entity, a request to measure an address space of the virtual machine to provide a measurement digest of the address space of the guest operating system; including, in a configuration object, a policy provided by a user for service logic in a guest operating system of the virtual machine, wherein the policy for the service logic defines a rule for the service logic, wherein the indicates which container may run in the guest operating system; hashing the policy for the service logic to provide a hash digest of the policy for the service logic; submitting, to the trusted entity, the hash digest of the policy for the service logic; and completing the launch of the virtual machine. 13. The method as claimed in claim 12 , wherein the hash digest of the policy for the service logic and the measurement digest of the address space of the guest operating system are used as immutable fields in any attestation reports for the virtual machine. 14. The method as claimed in claim 12 , wherein the pol

Assignees

Inventors

Classifications

  • involving digital signatures · CPC title

  • using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807) · CPC title

  • Generation of secret information including derivation or calculation of cryptographic keys or passwords · CPC title

  • using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates · CPC title

  • Isolation or security of virtual machine instances · 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 US12056512B2 cover?
A system comprising a hosting service configured to perform: providing, to a trusted entity on a central processing unit, a command for a launch of a virtual machine (VM); assigning, to the VM, at least a portion of memory for the guest operating system; submitting, to the trusted entity, a request to measure an address space of the VM to provide a measurement digest of the address space of the…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/45545. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 06 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).