IP Library › Granted Patent US 12,267,423
Granted Patent B2
US 12,267,423 · App. 17/485,146 · Granted Apr 1, 2025

Seamless access to trusted domain protected memory by virtual machine manager using transformer key identifier

Inventors: David M. Durham (Beaverton, OR); Siddhartha Chhabra (Portland, OR)
Assignee: Intel Corporation
H04L9/088G06F9/45558G06F2009/45587
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,267,423
App. No.
17/485,146
Granted
Apr 1, 2025
Kind
B2
Abstract

In one embodiment, an apparatus includes a processor comprising at least one core to execute instructions of a plurality of virtual machines (VMs) and a virtual machine monitor (VMM), and a cryptographic engine to protect data associated with the plurality of VMs through use of a plurality of private keys and a trusted transformer key, where each of the plurality of private keys are to protect program instructions and data of a respective VM and the trusted transformer key is to protect management structure data for the plurality of VMs. The processor is further to provide, to the VMM, read and write access to the management structure data through an untrusted transformer key.

Claims (44)

1. An apparatus comprising:

a processor comprising:

at least one core to execute instructions of a plurality of virtual machines (VMs) and a virtual machine monitor (VMM); and

a cryptographic engine comprising circuitry to protect data associated with the plurality of VMs through use of a plurality of private keys and a trusted transformer key, wherein each of the plurality of private keys are to protect program instructions and data of a respective VM and the trusted transformer key is to protect management structure data for the plurality of VMs;

wherein the processor is to provide, to the VMM, read and write access to the management structure data through an untrusted transformer key and, upon detecting that VMM-written management structure data is protected using the untrusted transformer key, cause the VMM-written management structure data to be decrypted by using the untrusted transformer key and encrypted using the trusted transformer key.

2. The apparatus of claim 1 , wherein the processor is further to validate the management structure data prior to encrypting the management structure data using the trusted transformer key.

3. The apparatus of claim 1 , wherein the cryptographic engine is to:

set a trusted domain (TD) bit for writes to the management structure data using a private key of the plurality of private keys or the trusted transformer key; and

unset the TD bit for writes to the management structure data using the untrusted transformer key.

4. The apparatus of claim 1 , wherein the cryptographic engine is to:

access management structure data in response to a read;

return the accessed data to the core for reads using a private key of the plurality of private keys, the trusted transformer key, or the untrusted transformer key; and

return poisoned and zeroed data to the core for reads using other keys.

5. The apparatus of claim 4 , wherein the cryptographic engine is, before returning the accessed data to the core, to perform an integrity check on the accessed data based on the key used to access the data.

6. The apparatus of claim 1 , wherein the management structure data comprises page tables mapping guest physical addresses to physical addresses of a memory.

7. The apparatus of claim 1 , further comprising a memory to store program instructions and data of the plurality of VMs encrypted using the private keys.

8. The apparatus of claim 1 , wherein the cryptographic engine is to encrypt the management structure data using one of the trusted transformer key or the untrusted transformer key.

9. The apparatus of claim 1 , wherein the cryptographic engine is to integrity protect the management structure data using one of the trusted transformer key or the untrusted transformer key.

10. A method comprising:

executing, by a processor, instructions of a plurality of virtual machines (VMs) and a virtual machine monitor (VMM);

protecting data associated with the plurality of VMs through use of a plurality of private keys and a trusted transformer key, wherein each of the plurality of private keys are to protect program instructions and data of a respective VM and the trusted transformer key is to protect management structure data for the plurality of VMs;

providing, to the VMM, read and write access to the management structure data through an untrusted transformer key;

detecting, in response to a request to read management structure data, that the management structure data is protected using the untrusted transformer key;

accessing the management structure data protected with the untrusted transformer key;

decrypting the management structure data using the untrusted transformer key; and

encrypting the management structure data using the trusted transformer key.

11. The method of claim 10 , wherein detecting that the management structure data is protected using the untrusted transformer key is based on a trusted domain (TD) bit corresponding to the management structure data not being set.

12. The method of claim 11 , further comprising setting the TD bit for the management structure data based on encrypting the management structure data using the trusted transformer key.

13. The method of claim 10 , further comprising generating a message authentication code (MAC) for the management structure data based on the trusted transformer key.

14. The method of claim 10 , wherein the management structure data comprises page tables mapping guest physical addresses to physical addresses of a memory.

15. The method of claim 10 , wherein protecting the management structure data using the trusted transformer key comprises encrypting the management structure data based on the trusted transformer key.

16. The method of claim 10 , wherein protecting the management structure data using the trusted transformer key comprises integrity protecting the management structure data based on the trusted transformer key.

17. One or more non-transitory computer-readable media comprising code stored thereon, wherein the code is executable to cause a machine to:

protect data associated with a plurality of VMs through use of a plurality of private keys and a trusted transformer key, wherein each of the plurality of private keys are to protect program instructions and data of a respective VM and the trusted transformer key is to protect management structure data for the plurality of VMs;

provide, to a virtual machine monitor (VMM), read and write access to the management structure data through an untrusted transformer key;

detect, in response to a request to read management structure data, that the management structure data is protected using the untrusted transformer key;

access the management structure data protected with the untrusted transformer key;

decrypt the management structure data using the untrusted transformer key; and

encrypt the management structure data using the trusted transformer key.

18. The one or more computer-readable media of claim 17 , wherein the code is to cause the machine to detect that the management structure data is protected using the untrusted transformer key based on a trusted domain (TD) bit corresponding to the management structure data not being set.

19. The one or more computer-readable media of claim 18 , wherein the code is to cause the machine to set the TD bit for the management structure data based on encrypting the management structure data using the trusted transformer key.

20. The one or more computer-readable media of claim 17 , wherein the management structure data comprises page tables mapping guest physical addresses to physical addresses of a memory.

21. The one or more computer-readable media of claim 17 , wherein protecting the management structure data using the trusted transformer key comprises encrypting the management structure data based on the trusted transformer key.

22. The one or more computer-readable media of claim 17 , wherein protecting the management structure data using the trusted transformer key comprises integrity protecting the management structure data based on the trusted transformer key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2021
From: DURHAM, DAVID M.; CHHABRA, SIDDHARTHA
To: INTEL CORPORATION
Reel/Frame 058046/0261 →
Continuity (1)
Related Publication 20220014356A1 · Jan 13, 2022
References Cited (5)
US 20150271152A1 · Lie et al. · 2015 [cited by applicant]
US 20200057664A1 · Durham · 2020 [cited by examiner]
US 20210006395A1 · Durham et al. · 2021 [cited by applicant]
US 20210173685A1 · Tsirkin et al. · 2021 [cited by applicant]
EPO; Extended European Search Report issued in EP Patent Application No. 22184630.6, dated Dec. 15, 2022; 9 pages. [cited by applicant]