IP Library › Granted Patent US 11,836,094
Granted Patent B2
US 11,836,094 · App. 17/699,593 · Granted Dec 5, 2023

Cryptographic data objects page conversion

Inventors: David M. Durham (Beaverton, OR); Anna Trikalinou (Hillsboro, OR); Michael LeMay (Hillsboro, OR)
Assignee: INTEL CORPORATION
G06F12/1408G06F12/0238G06F12/1009G06F12/1441
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 11,836,094
App. No.
17/699,593
Granted
Dec 5, 2023
Kind
B2
Abstract

A method comprises identifying a first page in a computer readable memory communicatively coupled to the apparatus that has been marked as being stored in memory as plaintext even if accessed using cryptographic addresses, the first page in the computer readable memory comprising at least one encrypted data object, and set a page table entry bit for the first page to a first value which indicates that at least one memory allocation in the first page has been marked as being stored in memory as plaintext even if accessed using cryptographic addresses.

Claims (57)

1. An apparatus, comprising processing circuitry to:

identify, in response to a page in memory being pinned for input/output or being shared between processes by kernel, a first page in a computer readable memory communicatively coupled to the apparatus that has been marked as being stored in memory as plaintext, the first page in the computer readable memory comprising at least one encrypted data object; and

set a page table entry bit for the first page to a first value which indicates that the first page has been stored in memory as plaintext.

2. The apparatus of claim 1 , the processing circuitry to:

receive a first memory access request for the computer readable memory, the first memory access request comprising a first cryptographic pointer to the encrypted data object, the first cryptographic pointer comprising one or more capabilities associated with the encrypted data object;

decrypt the at least one encrypted data object using a first encryption key obtained from the cryptographic pointer to generate the decrypted data object; and

store the decrypted data object in a computer readable memory.

3. The apparatus of claim 2 , the processing circuitry to:

determine, from the first cryptographic pointer, a first address range in the computer readable memory accessible to the first cryptographic pointer; and

store, in a computer-readable memory, the first address range.

4. The apparatus of claim 3 , the processing circuitry to:

receive a second memory access request for the computer readable memory, the second memory access request comprising a second cryptographic pointer to the encrypted data object; and

in response to the second memory access, return the decrypted data object.

5. The apparatus of claim 2 , the processing circuitry to:

decrypt at least a portion of the cryptographic pointer to generate a plaintext pointer to the decrypted data object.

6. The apparatus of claim 1 , the processing circuitry to:

decrypt all data in the first page in the computer readable memory.

7. The apparatus of claim 6 , the processing circuitry to:

prevent memory access requests to the first page in the computer readable memory while the data in the first page of the computer readable memory is being decrypted.

8. A computer-based method, comprising:

identifying, in response to a page in memory being pinned for input/output or being shared between processes by kernel, a first page in a computer readable memory communicatively coupled to the apparatus that has been stored in memory as plaintext, the first page in the computer readable memory comprising at least one encrypted data object; and

setting a page table entry bit for the first page to a first value which indicates that at least one memory allocation in the first page has been stored in memory as plaintext.

9. The method of claim 8 , further comprising:

receiving a first memory access request for the computer readable memory, the first memory access request comprising a first cryptographic pointer to the encrypted data object, the first cryptographic pointer comprising one or more capabilities associated with the encrypted data object;

decrypting the at least one encrypted data object using a first encryption key obtained from the cryptographic pointer to generate the decrypted data object; and

storing the decrypted data object in the first page in the computer readable memory.

10. The method of claim 9 , further comprising:

determining, from the first cryptographic pointer, a first address range in the computer readable memory accessible to the first cryptographic pointer; and

storing, in a computer-readable memory, the first address range.

11. The method of claim 10 , further comprising:

receiving a second memory access request for the computer readable memory, the second memory access request comprising a second cryptographic pointer to the encrypted data object; and

in response to the second memory access, returning the decrypted data object.

12. The method of claim 9 , further comprising:

decrypting at least a portion of the cryptographic pointer to generate a plaintext pointer to the decrypted data object.

13. The method of claim 8 further comprising:

decrypting all data in the first page in the computer readable memory.

14. The method of claim 13 , further comprising:

preventing memory access requests to the first page in the computer readable memory while the data in the first page of the computer readable memory is being decrypted.

15. A non-transitory computer readable medium comprising instructions which, when executed by a processor, configure the processor to:

identify, in response to a page in memory being pinned for input/output or being shared between processes by kernel, a first page in a computer readable memory communicatively coupled to the apparatus that has been stored in memory as plaintext, the first page in the computer readable memory comprising at least one encrypted data object; and

set a page table entry bit for the first page to a first value which indicates that at least one memory allocation in the first page has been stored in memory as plaintext.

16. The computer readable medium of claim 15 , comprising instructions to:

receive a first memory access request for the computer readable memory, the first memory access request comprising a first cryptographic pointer to the encrypted data object, the first cryptographic pointer comprising one or more capabilities associated with the encrypted data object;

decrypt the at least one encrypted data object using a first encryption key obtained from the cryptographic pointer to generate the decrypted data object; and

store the decrypted data object in the first page in the computer readable memory.

17. The computer readable medium of claim 16 , comprising instructions to:

determine, from the first cryptographic pointer, a first address range in the computer readable memory accessible to the first cryptographic pointer; and

store, in a computer-readable memory, the first address range.

18. The computer readable medium of claim 17 , comprising instructions to:

receive a second memory access request for the computer readable memory, the second memory access request comprising a second cryptographic pointer to the encrypted data object; and

in response to the second memory access, return the decrypted data object.

19. The computer readable medium of claim 16 , comprising instructions to:

decrypt at least a portion of the cryptographic pointer to generate a plaintext pointer to the decrypted data object.

20. The computer readable medium of claim 15 , comprising instructions to:

decrypt all data in the first page in the computer readable memory.

21. The computer readable medium of claim 20 , comprising instructions to:

prevent memory access requests to the first page in the computer readable memory while the data in the first page of the computer readable memory is being decrypted.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2022
From: DURHAM, DAVID M.; TRIKALINOU, ANNA; LEMAY, MICHAEL
To: INTEL CORPORATION
Reel/Frame 059843/0364 →
Continuity (1)
Related Publication 20220206960A1 · Jun 30, 2022