Secure management of operations on protected virtual machines

US10176095B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10176095-B2
Application numberUS-201615243647-A
CountryUS
Kind codeB2
Filing dateAug 22, 2016
Priority dateMay 5, 2014
Publication dateJan 8, 2019
Grant dateJan 8, 2019

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 virtual secure mode is enabled for a virtual machine operating in a computing environment that is associated with a plurality of different trust levels. First, a virtual secure mode image is loaded into one or more memory pages of a virtual memory space of the virtual machine. Then, the one or more memory pages of the virtual memory space are made inaccessible to one or more trust levels having a relatively lower trust level than a launching trust level that is used by a virtual secure mode loader to load the virtual secure mode image. A target virtual trust level is also enabled on a launching virtual processor for the virtual machine that is higher than the launching trust level.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for operating a computing architecture in a manner that can improve data security by facilitating a controlled transition from one security trust level to a different security trust level, the method comprising: causing a virtual secure mode loader, which is an application being executed by a virtual machine that is executing on a computer system and which is different than a hypervisor that is also executing on the computer system, to load a virtual secure mode image into one or more memory pages of a virtual memory space of the virtual machine; causing the hypervisor to make the one or more memory pages of the virtual memory space inaccessible to one or more trust levels that are relatively lower than a launching trust level that is used by the virtual secure mode loader to load the virtual secure mode image; and causing the hypervisor to enable a target virtual trust level on a launching virtual processor for the virtual machine, the target virtual trust level being higher than the launching trust level. 2. The method of claim 1 , wherein the method further includes: causing the hypervisor to enable the target virtual trust level on other virtual processors in the virtual machine. 3. The method of claim 1 , wherein causing the hypervisor to enable the target virtual trust level on the launching virtual processor includes processing a hypercall that has a parameter that identifies the virtual processor to be enabled. 4. The method of claim 3 , wherein the hypercall further includes a parameter identifying a context of use for the virtual processor. 5. The method of claim 1 , wherein the launching trust level and the target virtual trust level are included in a plurality of different trust levels, the plurality of different trust levels including at least three different trust levels. 6. The method of claim 1 , wherein causing the virtual secure mode loader to load is performed by processing a hypercall to the hypervisor or a virtual machine manager, the hypercall including a parameter that identifies the one or more memory pages. 7. The method of claim 1 , wherein the method further includes preparing the virtual secure mode image and wherein the preparing includes at least recording an internal state of the one or more memory pages. 8. The method of claim 7 , wherein the preparing further includes generating at least one hash of the virtual secure mode image. 9. The method of claim 8 , wherein generating the at least one hash includes generating a separate hash for each of the one or more memory pages. 10. The method of claim 8 , wherein the method further includes sending the at least one hash to a trusted platform module for attestation of software configuration for the virtual machine. 11. A computing system comprising: one or more processors; and one or more storage media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computing system to perform a method that can improve data security by facilitating a controlled transition from one security trust level to a different security trust level, the method comprising: causing a virtual secure mode loader, which is an application being executed by a virtual machine that is executing on the computer system and which is different than a hypervisor that is also executing on the computer system, to load a virtual secure mode image into one or more memory pages of a virtual memory space of the virtual machine; causing the hypervisor to make the one or more memory pages of the virtual memory space inaccessible to one or more trust levels that are relatively lower than a launching trust level that is used by the virtual secure mode loader to load the virtual secure mode image; and causing the hypervisor to enable a target virtual trust level on a launching virtual processor for the virtual machine, the target virtual trust level being higher than the launching trust level. 12. The computing system of claim 11 , wherein the hypervisor further enables the target virtual trust level on other virtual processors in the virtual machine. 13. The computing system of claim 11 , wherein the hypervisor is included as a part of a virtual machine manager. 14. The computing system of claim 11 , wherein the launching trust level and the target virtual trust level are included in a plurality of different trust levels, the plurality of different trust levels including at least three different trust levels. 15. The computing system of claim 11 , wherein the hypervisor further prepares the virtual secure mode image and wherein the preparing includes at least recording an internal state of the one or more memory pages. 16. The computing system of claim 15 , wherein the hypervisor further prepares at least one hash of the virtual secure mode image. 17. The computing system of claim 16 , wherein the hypervisor generates a separate hash for each of the one or more memory pages. 18. The computing system of claim 16 , wherein the hypervisor sends the at least one hash to a trusted platform module for attestation of software configuration for the virtual machine. 19. The computing system of claim 11 , wherein the stored computer-executable instructions are further executable by the one or more processors for causing the computing system to instantiate: a virtual secure mode module that keeps a record of devices associated with a plurality of different trust levels and that tracks which of a plurality of different virtual processors are associated with each of the plurality of different trust levels. 20. One or more hardware storage devices having stored thereon computer-executable instructions that are executable by one or more processors of a computer system to cause the computer system to perform a method that can improve data security by facilitating a controlled transition from one security trust level to a different security trust level, the method comprising: causing a virtual secure mode loader, which is an application being executed by a virtual machine that is executing on the computer system and which is different than a hypervisor that is also executing on the computer system, to load a virtual secure mode image into one or more memory pages of a virtual memory space of the virtual machine; causing the hypervisor to make the one or more memory pages of the virtual memory space inaccessible to one or more trust levels that are relatively lower than a launching trust level that is used by the virtual secure mode loader to load the virtual secure mode image; causing the hypervisor to prepare the virtual secure mode image by at least recording an internal state of the one or more memory pages and by at least generating one or more hash for the virtual secure mode image; causing the hypervisor to enable a target virtual trust level on a launching virtual processor for the virtual machine, the target virtual trust level being higher than the launching trust level; and causing the hypervisor to enable the target virtual trust level on other virtual processors in the virtual machine.

Assignees

Inventors

Classifications

  • G06F12/08Primary

    in hierarchically structured memory systems, e.g. virtual memory systems · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage · CPC title

  • Isolation or security of virtual machine instances · CPC title

  • wherein the data content is protected, e.g. by encrypting or encapsulating the payload · 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 US10176095B2 cover?
A virtual secure mode is enabled for a virtual machine operating in a computing environment that is associated with a plurality of different trust levels. First, a virtual secure mode image is loaded into one or more memory pages of a virtual memory space of the virtual machine. Then, the one or more memory pages of the virtual memory space are made inaccessible to one or more trust levels havi…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/08. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 08 2019 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).