IP Library › Granted Patent US 10,579,544
Granted Patent B2
US 10,579,544 · App. 16/218,454 · Granted Mar 3, 2020

Virtualized trusted storage

Inventors: Joel R. Spurlock (Portland, OR); Zheng Zhang (Portland, OR); Aditya Kapoor (Portland, OR); Jonathan L. Edwards (Portland, OR); Khai N. Pham (Beaverton, OR)
Assignee: McAfee, LLC
G06F12/145G06F16/00G06F16/25G06F21/55G06F21/57G06F21/62G06F21/6218G06F21/78H04L63/10H04L67/1097G06F2212/1052G06F2221/2141G06F2221/2149
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 10,579,544
App. No.
16/218,454
Granted
Mar 3, 2020
Kind
B2
Abstract

Particular embodiments described herein provide for an electronic device that can be configured to receive a request from a process to access data is a system, determine if the data is in a virtualized protected area of memory in the system, and allow access to the data if the data is in the virtualized protected area of memory and the process is a trusted process. The electronic device can also be configured to determine if new data should be protected, store the new data in the virtualized protected area of memory in the system if the new data should be protected, and store the new data in an unprotected area of memory in the system if the new data should not be protected.

Claims (57)

1. At least one non-transitory machine-readable medium comprising one or more instructions that when executed by a processor, cause the processor to:

receive a request from a process to access data in a system;

determine whether the data is in a virtualized protected area of memory in the system, wherein the virtualized protected area of memory is a secured storage area;

responsive to determining that the data is in the virtualized protected area of memory, determine whether the process is a trusted process; and

display an untrusted view of the location of the data based on a determination that the process is an untrusted process, wherein the untrusted view includes only data stored in an unprotected area of memory; or

display a trusted view of the location of the data and allow access to the data based on a determination that the process is a trusted process, wherein the trusted view includes data stored in the unprotected and the virtualized protected areas of memory.

2. The at least one non-transitory machine-readable medium of claim 1 , further comprising one or more instructions that when executed by the processor, cause the processor to:

determine whether new data should be protected;

store the new data in the virtualized protected area of memory in the system based on a determination that the new data should be protected; and

store the new data in the unprotected area of memory in the system based on a determination that the new data should not be protected.

3. The at least one non-transitory machine-readable medium of claim 1 , wherein the virtualized protected area of memory is a secured vault.

4. The at least one non-transitory machine-readable medium of claim 1 , wherein the virtualized protected area of memory is a cloud vault.

5. The at least one non-transitory machine-readable medium of claim 1 , further comprising one or more instructions that when executed by the processor, cause the processor to:

responsive to determining that the data is not in a virtualized protected area of memory, allow access to the data.

6. An apparatus comprising:

a hardware processor configured to:

receive a request from a process to access data in a system;

determine whether the data is in a virtualized protected area of memory in the system, wherein the virtualized protected area of memory is a secure storage area;

responsive to determining that the data is in the virtualized protected area of memory, determine whether the process is a trusted process; and

display an untrusted view of the location of the data based on a determination that the process is an untrusted process, wherein the untrusted view includes only data stored in an unprotected area of memory; or

display a trusted view of the location of the data and allow access to the data based on a determination that the process is a trusted process, wherein the trusted view includes data stored in the unprotected and the virtualized protected areas of memory.

7. The apparatus of claim 6 , wherein the hardware processor is further configured to:

determine whether new data should be protected;

store the new data in the virtualized protected area of memory in the system based on a determination that the new data should be protected; and

store the new data in the unprotected area of memory in the system based on a determination that the new data should not be protected.

8. The apparatus of claim 6 , wherein the virtualized protected area of memory is a secured vault.

9. The apparatus of claim 6 , wherein the virtualized protected area of memory is a cloud vault.

10. The apparatus of claim 6 , wherein a filter driver controls input and output access to the virtualized protected area of memory.

11. A method comprising:

receiving a request from a process to access data in a system;

determining whether the data is in a virtualized protected area of memory in the system, wherein the virtualized protected area of memory is a secured storage area;

responsive to determining that the data is in a virtualized protected area of memory, determining whether the process is a trusted process; and

displaying an untrusted view of the location of the data based on a determination that the process is an untrusted process, wherein the untrusted view includes only data stored in an unprotected area of memory; or

displaying a trusted view of the location of the data and allowing access to the data based on a determination that the process is a trusted process, wherein the trusted view includes data stored in the unprotected and the virtualized protect areas of memory.

12. The method of claim 11 , further comprising:

determining whether new data should be protected;

storing the new data in the virtualized protected area of memory in the system based on a determination that the new data should be protected; and

storing the new data in the unprotected area of memory in the system based on a determination that the new data should not be protected.

13. The method of claim 11 , wherein the virtualized protected area of memory is a secured vault.

14. The method of claim 11 , wherein the virtualized protected area of memory is a cloud vault.

15. The method of claim 11 , further comprising:

denying access to the data based on a determination that the data is in the virtualized protected area of memory and the process is an untrusted process.

16. A system for virtualized trusted secure storage, the system comprising:

a hardware processor configured to:

receive a request from a process to access data in a system;

determine whether the data is in a virtualized protected area of memory in the system, wherein the virtualized protected area of memory is a secured storage area;

responsive to determining that the data is in a virtualized protected area of memory, determine whether the process is a trusted process; and

display an untrusted view of the location of the data based on a determination that the process is an untrusted process, wherein the untrusted view includes only data stored in an unprotected area of memory; or

display a trusted view of the location of the data and allow access to the data based on a determination that the process is a trusted process, wherein the trusted view includes data stored in the unprotected and the virtualized protected areas of memory.

17. The system of claim 16 , wherein the system is further configured to:

determine whether new data should be protected;

store the new data in the virtualized protected area of memory in the system based on a determination that the new data should be protected; and

store the new data in the unprotected area of memory in the system based on a determination that the new data should not be protected.

18. The system of claim 16 , wherein the virtualized protected area of memory is a secured vault.

19. The system of claim 16 , wherein the virtualized protected area of memory is a cloud vault.

20. The system of claim 16 , wherein the hardware processor is further configured to:

responsive to determining that the data is not in a virtualized protected area of memory, allow access to the data.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
Continuity (2)
Continuation 14752914 · Jun 27, 2015
Related Publication 20190155752A1 · May 23, 2019