Secure platform voucher service for software components within an execution environment
First Claim
1. A method comprising:
- controlling, by a hardware processor running an operating system in a platform, operation of program logic in a guest execution environment;
identifying the program logic;
partitioning off a portion of the program logic to control access by the operating system to the portion of the program logic, wherein said partitioning comprises establishment of an active page table and a protected page table, which each store a copy of active content of the portion, wherein an attempt to access the active content of the portion in the active page table is referred to a corresponding location in the protected page table, such that any access of the protected page table outside locations storing the active content results in a page fault;
receiving a request from a remote entity for verification proof of integrity of the program logic, wherein the request includes a challenge;
signing the challenge with a private key for a virtual machine monitor (VMM); and
returning the signed challenge to the remote entity,wherein the request further includes a secret encrypted with a public key of a virtual machine monitor (VMM) of the platform, where the encrypted secret is decrypted by the VMM using the private key of the VMM and the secret is stored in the portion of the program logic such that only the program logic has access to the secret, and wherein the program logic uses the secret to establish a security association with the remote entity; and
wherein the VMM administers a plurality of parallel independent execution environments, including the guest execution environment, each of which has independent access to platform hardware resources and is configured to execute code on the hardware processor of the platform securely isolated from other execution environments and the VMM coordinates the access to the hardware platform resources from each of the plurality of parallel independent execution environments by monitoring and trapping register pointer changes.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of apparatus, articles, methods, and systems for secure platform voucher service for software components within an execution environment are generally described herein. An embodiment includes the ability for a Virtual Machine Monitor, Operating System Monitor, or other underlying platform capability to restrict memory regions for access only by specifically authenticated, authorized and verified software components, even when part of an otherwise compromised operating system environment. A provisioning remote entity or gateway only needs to know a platform'"'"'s public key or certificate hierarchy in order to receive verification proof for any component in the platform. The verification proof or voucher helps to assure to the remote entity that no man-in-the-middle, rootkit, spyware or other malware running in the platform or on the network will have access to the provisioned material. The underlying platform to lock and unlock secrets on behalf of the authenticated/authorized/verified software component provided in protected memory regions only accessible to the authenticated/authorized/verified software component. Other embodiments may be described and claimed.
41 Citations
9 Claims
-
1. A method comprising:
-
controlling, by a hardware processor running an operating system in a platform, operation of program logic in a guest execution environment; identifying the program logic; partitioning off a portion of the program logic to control access by the operating system to the portion of the program logic, wherein said partitioning comprises establishment of an active page table and a protected page table, which each store a copy of active content of the portion, wherein an attempt to access the active content of the portion in the active page table is referred to a corresponding location in the protected page table, such that any access of the protected page table outside locations storing the active content results in a page fault; receiving a request from a remote entity for verification proof of integrity of the program logic, wherein the request includes a challenge; signing the challenge with a private key for a virtual machine monitor (VMM); and returning the signed challenge to the remote entity, wherein the request further includes a secret encrypted with a public key of a virtual machine monitor (VMM) of the platform, where the encrypted secret is decrypted by the VMM using the private key of the VMM and the secret is stored in the portion of the program logic such that only the program logic has access to the secret, and wherein the program logic uses the secret to establish a security association with the remote entity; and wherein the VMM administers a plurality of parallel independent execution environments, including the guest execution environment, each of which has independent access to platform hardware resources and is configured to execute code on the hardware processor of the platform securely isolated from other execution environments and the VMM coordinates the access to the hardware platform resources from each of the plurality of parallel independent execution environments by monitoring and trapping register pointer changes. - View Dependent Claims (2, 3)
-
-
4. A non-transitory machine-readable medium containing instructions which, when executed by a processing system, cause the processing system to perform a method, the method comprising:
-
controlling, by a hardware processor running an operating system in a platform, operation of program logic in a guest execution environment; identifying the program logic; partitioning off a portion of the program logic to control access by the operating system to the portion of the program logic, wherein said partitioning comprises establishment of an active page table and a protected page table, which each store a copy of active content of the portion, wherein an attempt to access the active content of the portion in the active page table is referred to a corresponding location in the protected page table, such that any access of the protected page table outside locations storing the active content results in a page fault; receiving a request from a remote entity for verification proof of integrity of the program logic, wherein the request includes a challenge; signing the challenge with a private key for a virtual machine monitor (VMM); and returning the signed challenge to the remote entity, wherein the request further includes a secret encrypted with a public key of a virtual machine monitor (VMM) of the platform, where the encrypted secret is decrypted by the VMM using the private key of the VMM and the secret is stored in the portion of the program logic such that only the program logic has access to the secret, and wherein the program logic uses the secret to establish a security association with the remote entity; and wherein the VMM administers a plurality of parallel independent execution environments, including the guest execution environment, each of which has independent access to platform hardware resources and is configured to execute code on the hardware processor of the platform securely isolated from other execution environments and the VMM coordinates the access to the hardware platform resources from each of the plurality of parallel independent execution environments by monitoring and trapping register pointer changes. - View Dependent Claims (5, 6)
-
-
7. A system comprising:
-
a hardware memory device, which stores program logic configured to be controlled by an operating system in a platform to operate within a guest execution environment; and management instructions, executable by a hardware processor, that identifies the program logic and to partition off a portion of the program logic and to control access by the operating system to the portion of the program logic, wherein the partitioning comprises establishment of an active page table and a protected page table, which each store a copy of active content of the portion, wherein an attempt to access the active content of the portion in the active page table is referred to a corresponding location in the protected page table, such that any access of the protected page table outside locations storing the active content results in a page fault, wherein the program logic stored on the hardware memory device is configured to receive a request from a remote entity for verification proof of integrity of the program logic, wherein the request includes a challenge, wherein the management instructions, executable by the hardware processor is configured to sign the challenge with a private key for a virtual machine monitor (VMM), and wherein the program logic stored on the hardware memory device is configured to return the signed challenge to the remote entity, wherein the request further includes a secret encrypted with a public key of the VMM of the platform, where the encrypted secret is decrypted by the VMM using the private key of the VMM and the secret is stored in the portion of the program logic such that only the program logic has access to the secret, and wherein the program logic stored on the hardware memory device uses the secret to establish a security association with the remote entity; and wherein the VMM administers a plurality of parallel independent execution environments, including the guest execution environment, each of which has independent access to platform hardware resources and is configured to execute code on the hardware processor of the platform securely isolated from other execution environments and the VMM coordinates the access to the hardware platform resources from each of the plurality of parallel independent execution environments by monitoring and trapping register pointer changes. - View Dependent Claims (8, 9)
-
Specification