IP Library Granted Patent US 10,972,258
Granted Patent B2
US 10,972,258 · App. 16/050,972 · Granted Apr 6, 2021

Contextual key management for data encryption

Inventors: Mark Ian Gargett (Brighton, GB); Shashank Visweswara (Crawley, GB); Wayne Helm Gibson (Crawley, GB); David Paul Webb (Seaford, GB)
Assignee: McAfee, LLC
H04L9/083G06F21/62
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,972,258
App. No.
16/050,972
Granted
Apr 6, 2021
Kind
B2
Abstract

Example methods, apparatus, systems and articles of manufacture (e.g., physical storage media) to implement contextual key management for data encryption are disclosed. Example apparatus disclosed herein to perform contextual encryption key management, which are also referred to herein as contextual key managers, include an example context discoverer to discover context information associated with a request to access first encrypted data. Such disclosed example apparatus also include an example contextual key mapper to identify a combination of context rules associated with a key that is to provide access to the first encrypted data, validate the context information associated with the request based on the combination of context rules associated with the key to determine whether the request to access the first encrypted data is valid, and obtain the key from a key management service when the request to access the first encrypted data is valid.

Claims (49)

1. An apparatus to perform contextual encryption key management, the apparatus comprising:

a context discoverer implemented by hardware or at least one processor to:

evaluate, based on a plurality of possible contexts and associated context rules, first context information associated with first unencrypted data to determine a combination of context rules associated with a key, the first context information to be evaluated in response to a first request to encrypt the first unencrypted data to form first encrypted data; and

discover second context information associated with a second request to access the first encrypted data; and

a contextual key mapper implemented by hardware or the at least one processor to:

in response to the first request, (i) determine whether the combination of context rules has been determined previously for other unencrypted data that has undergone encryption, (ii) send a request to a key management service to retrieve the key when the combination of context rules has been determined previously for other unencrypted data that has undergone encryption, and (iii) send a request to the key management service to generate the key when the combination of context rules has not been determined previously for other unencrypted data that has undergone encryption; and

in response to the second request, (iv) validate the second context information associated with the second request based on the combination of context rules associated with the key to determine whether the second request to access the first encrypted data is valid, and (v) obtain the key from the key management service when the second request to access the first encrypted data is valid.

2. The apparatus of claim 1 , wherein the contextual key mapper is further to provide the key to an encryption engine that is to decrypt the first encrypted data in response to the second request to access the first encrypted data.

3. The apparatus of claim 1 , further including a context rule engine to define the plurality of possible contexts and associated context rules to be evaluated by the context discoverer and the contextual key mapper.

4. The apparatus of claim 1 , wherein the plurality of possible contexts is a plurality of heterogeneous contexts including at least two of a data classification context, an access classification context, a geographic location context, a time context, a business organization context, a user context or a data destination context, and the combination of context rules includes at least two of a data classification context rule associated with the key, an access classification context rule associated with the key, a geographic location context rule associated with the key, a time context rule associated with the key, a business organization context rule associated with the key, a user context rule associated with the key or a data destination context rule associated with the key.

5. The apparatus of claim 4 , wherein the context discoverer is to determine at least two of a data classification context value associated with the second request to access the first encrypted data, an access classification context value associated with the second request to access the first encrypted data, a geographic location context value associated with the second request to access the first encrypted data, a time context value associated with the second request to access the first encrypted data, a business organization context value associated with the second request to access the first encrypted data, a user context value associated with the second request to access the first encrypted data or a data destination context value associated with the second request to access the first encrypted data.

6. The apparatus of claim 1 , wherein the contextual key mapper is further to provide the key to an encryption engine to encrypt the first unencrypted data to form the first encrypted data.

7. The apparatus of claim 6 , wherein the contextual key mapper is further to:

map the combination of context rules associated with the key to a key identifier identifying the key;

provide the key identifier to the encryption engine, the encryption engine to include the key identifier with the first encrypted data; and

in response to the second request to access the first encrypted data, map the key identifier included with the first encrypted data to the combination of context rules associated with the key to identify the combination of context rules associated with the key.

8. A non-transitory computer readable storage medium comprising computer readable instructions that, when executed, cause one or more processors to at least:

evaluate, based on a plurality of possible contexts and associated context rules, first context information associated with first unencrypted data to determine a combination of context rules associated with a key, the first context information to be evaluated in response to a first request to encrypt first unencrypted data to form first encrypted data;

determine whether the combination of context rules has been determined previously for other unencrypted data that has undergone encryption;

send a request to a key management service to retrieve the key when the combination of context rules has been determined previously for other unencrypted data that has undergone encryption;

send a request to the key management service to generate the key when the combination of context rules has not been determined previously for other unencrypted data that has undergone encryption;

discover second context information associated with a second request to access the first encrypted data;

validate the second context information associated with the second request based on the combination of context rules associated with the key to determine whether the second request to access the first encrypted data is valid; and

obtain the key from the key management service when the second request to access the first encrypted data is valid.

9. The storage medium of claim 8 , wherein the plurality of possible contexts and associated context rules are defined based on user input data.

10. The storage medium of claim 8 , wherein the plurality of possible contexts is a plurality of heterogeneous contexts including at least two of a data classification context, an access classification context, a geographic location context, a time context, a business organization context, a user context or a data destination context, and the combination of context rules includes at least two of a data classification context rule associated with the key, an access classification context rule associated with the key, a geographic location context rule associated with the key, a time context rule associated with the key, a business organization context rule associated with the key, a user context rule associated with the key or a data destination context rule associated with the key.

11. The storage medium of claim 10 , wherein to discover the second context information associated with the second request to access the first encrypted data, the computer readable instructions, when executed, cause the one or more processors to determine at least two of a data classification context value associated with the second request to access the first encrypted data, an access classification context value associated with the second request to access the first encrypted data, a geographic location context value associated with the second request to access the first encrypted data, a time context value associated with the second request to access the first encrypted data, a business organization context value associated with the second request to access the first encrypted data, a user context value associated with the second request to access the first encrypted data, or a data destination context associated with the second request to access the first encrypted data.

12. The storage medium of claim 8 , wherein the computer readable instructions, when executed, further cause the one or more processors to provide the key to an encryption engine to encrypt the first unencrypted data to form the first encrypted data.

13. The storage medium of claim 12 , wherein the computer readable instructions, when executed, further cause the one or more processors to:

map the combination of context rules associated with the key to a key identifier identifying the key;

provide the key identifier to the encryption engine, the encryption engine to include the key identifier with the first encrypted data; and

in response to the second request to access the first encrypted data, map the key identifier included with the first encrypted data to the combination of context rules associated with the key to identify the combination of context rules associated with the key.

14. The storage medium of claim 8 , wherein the computer readable instructions, when executed, further cause the one or more processors to provide the key to an encryption engine that is to decrypt the first encrypted data in response to the second request to access the first encrypted data.

15. A method to perform contextual encryption key management, the method comprising:

evaluating, by executing an instruction with at least one processor, and based on a plurality of possible contexts and associated context rules, first context information associated with first unencrypted data to determine a combination of context rules associated with a key, the first context information associated with the first unencrypted data to be evaluated in response to a first request to encrypt the first unencrypted data to form first encrypted data;

determining whether the combination of context rules has been determined previously for other unencrypted data that has undergone encryption;

sending a request to a key management service to retrieve the key when the combination of context rules has been determined previously for other unencrypted data that has undergone encryption;

sending a request to the key management service to generate the key when the combination of context rules has not been determined previously for other unencrypted data that has undergone encryption;

discovering, by executing an instruction with the at least one processor, second context information associated with a second request to access the first encrypted data;

validating, by executing an instruction with the at least one processor, the second context information associated with the second request based on the combination of context rules associated with the key to determine whether the second request to access the first encrypted data is valid; and

obtaining, by executing an instruction with the at least one processor, the key from the key management service when the second request to access the first encrypted data is valid.

16. The method of claim 15 , wherein the plurality of possible contexts and associated context rules are defined based on user input data.

17. The method of claim 15 , further including providing the key to an encryption engine to encrypt the first unencrypted data to form the first encrypted data.

18. The method of claim 17 , further including:

mapping the combination of context rules associated with the key to a key identifier identifying the key;

providing the key identifier to the encryption engine, the encryption engine to include the key identifier with the first encrypted data; and

in response to the second request to access the first encrypted data, mapping the key identifier included with the first encrypted data to the combination of context rules associated with the key to identify the combination of context rules associated with the key.

19. The method of claim 15 , further including providing the key to an encryption engine that is to decrypt the first encrypted data in response to the second request to access the first encrypted data.

20. The method of claim 15 , wherein the plurality of possible contexts is a plurality of heterogeneous contexts including at least two of a data classification context, an access classification context, a geographic location context, a time context, a business organization context, a user context or a data destination context, the combination of context rules includes at least two of a data classification context rule associated with the key, an access classification context rule associated with the key, a geographic location context rule associated with the key, a time context rule associated with the key, a business organization context rule associated with the key, a user context rule associated with the key or a data destination context rule associated with the key, and the discovering of the context information associated with the second request to access the first encrypted data includes determining at least two of a data classification context value associated with the second request to access the first encrypted data, an access classification context value associated with the second request to access the first encrypted data, a geographic location context value associated with the second request to access the first encrypted data, a time context value associated with the second request to access the first encrypted data, a business organization context value associated with the second request to access the first encrypted data, a user context value associated with the second request to access the first encrypted data or a data destination context value associated with the second request to access the first encrypted data.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2018
From: GARGETT, MARK IAN; VISWESWARA, SHASHANK; GIBSON, WAYNE HELM; WEBB, DAVID PAUL
To: MCAFEE, LLC
Reel/Frame 046811/0205 →
Continuity (1)
Related Publication 20200044830A1 · Feb 6, 2020
Cited By (1)
US 12,452,040