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;
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) of the platform; and
returning 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 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.
0 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses, articles, methods, and systems for secure platform voucher service for software within an execution environment. 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 authenticated, authorized and verified software components. A provisioning remote entity or gateway only needs to know a platform'"'"'s public key or certificate hierarchy to receive verification for any component. The verification or voucher helps assure to the remote entity that no malware running in the platform or on the network will have access to 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 software component.
-
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; 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) of the platform; and returning 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 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; 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) of the platform; and returning 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 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, configured to identify 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 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) of the platform, 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