IP Library › Granted Patent US 11,398,900
Granted Patent B2
US 11,398,900 · App. 16/269,736 · Granted Jul 26, 2022

Cloud based key management

Inventors: Sirish V. Vepa (Pune, IN); Prateek Mishra (Junction, NY); Sreedhar Katti (Karnataka, IN); Varanasi Kumar Ravi (Cupertino, CA); Harold William Lockhart (Newton, MA); Rakesh Keshava (Freemont, CA)
Assignee: Oracle International Corporation
H04L9/083H04L9/0869
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,398,900
App. No.
16/269,736
Granted
Jul 26, 2022
Kind
B2
Abstract

Embodiments are directed to managing cryptographic keys in a multi-tenant cloud based system. Embodiments receive from a client a request for a wrapped data encryption key (“DEK”). Embodiments generate a random key and fetch encryption context that corresponds to the client. Embodiments generate the wrapped DEK including the random key and the encryption context encoded in the wrapped DEK. Embodiments then return the wrapped DEK to the client.

Claims (58)

1. A method of managing cryptographic keys in a multitenant cloud based system, the method comprising:

receiving from a client a wrapping request for a wrapped data encryption key (DEK); generating a random key;

fetching additional authentication data (AAD) that corresponds to the client, the AAD comprising a first location of the client and a first tenancy of the multi-tenant cloud based system;

generating the wrapped DEK comprising the random key and the AAD encoded in the wrapped DEK, wherein the wrapped DEK comprises a header and the AAD is encoded in the header; and

returning the wrapped DEK to the client;

receiving a unwrapping request from the client to unwrap the wrapped DEK, the unwrapping request comprising a second location from which the client is making the unwrapping request and is directed to a second tenancy of the multi-tenant cloud based system;

before unwrapping the DEK, using the encoded AAD in the header to compare the first location to the second location and compare the first tenancy to the second tenancy to determine whether the client is authorized to unwrap the wrapped DEK; and

unwrapping the DEK when the first location matches the second location and the first tenancy matches the second tenancy.

2. The method of claim 1 , further comprising embedding tags in the wrapped DEK, the tags used for enforcing policy decisions in response to the unwrapping request to unwrap.

3. The method of claim 1 , wherein the wrapped DEK comprises a JavaScript Object Notation (JSON) Web Encryption (JWE) structure.

4. The method of claim 1 , further comprising:

receiving the unwrapping request to unwrap the wrapped DEK; parsing the wrapped DEK;

validating the encoded AAD;

validating a master encryption key (MEK) presence in a hardware security module (HSM); and

returning an unwrapped DEK.

5. The method of claim 1 , the generating the wrapped DEK further comprising an Initialization Vector (IV) and an authentication TAG key.

6. The method of claim 1 , wherein the unwrapping request comprises a representational state transfer (REST) application program interface (API).

7. The method of claim 2 , the tags comprising a service instance identifier.

8. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, cause the processor to manage cryptographic keys in a multi-tenant cloud based system, the managing comprising:

receiving from a client a wrapping request for a wrapped data encryption key (DEK);

generating a random key;

fetching additional authentication data (AAD) that corresponds to the client, the AAD comprising a first location of the client and a first tenancy of the multi-tenant cloud based system;

generating the wrapped DEK comprising the random key and the AAD encoded in the wrapped DEK, wherein the wrapped DEK comprises a header and the AAD is encoded in the header; and

returning the wrapped DEK to the client;

receiving a unwrapping request from the client to unwrap the wrapped DEK, the unwrapping request comprising a second location from which the client is making the unwrapping request and is directed to a second tenancy of the multi-tenant cloud based system;

before unwrapping the DEK, using the encoded AAD in the header to compare the first location to the second location and compare the first tenancy to the second tenancy to determine whether the client is authorized to unwrap the wrapped DEK; and

unwrapping the DEK when the first location matches the second location and the first tenancy matches the second tenancy.

9. The computer readable medium of claim 8 , further comprising embedding tags in the wrapped DEK, the tags used for enforcing policy decisions in response to the unwrapping request to unwrap.

10. The computer readable medium of claim 8 , wherein the wrapped DEK comprises a JavaScript Object Notation (JSON) Web Encryption (JWE) structure.

11. The computer readable medium of claim 8 , the managing further comprising:

receiving the unwrapping request to unwrap the wrapped DEK;

parsing the wrapped DEK; validating the encoded AAD;

validating a master encryption key (MEK) presence in a hardware security module (HSM); and returning an unwrapped DEK.

12. The computer readable medium of claim 8 , the generating the wrapped DEK further comprising an Initialization Vector (IV) and an authentication TAG key.

13. The computer readable medium of claim 8 , wherein the unwrapping request comprises a representational state transfer (REST) application program interface (API).

14. The computer readable medium of claim 9 , the tags comprising a service instance identifier.

15. A multi-tenant cloud based key management system comprising:

a mid-tier comprising one or more microservices, each of the one or more microservices comprising a hardware processor executing instructions; and

a data tier coupled to the mid-tier and comprising one or more databases and one or more hardware security modules;

the one or more microservices:

receiving from a client a wrapping request for a wrapped data encryption key (DEK);

generating a random key;

fetching additional authentication data (AAD) that corresponds to the client, the AAD comprising a first location of the client and a first tenancy of the multi-tenant cloud based system;

generating the wrapped DEK comprising the random key and the AAD encoded in the wrapped DEK, wherein the wrapped DEK comprises a header and the AAD is encoded in the header; and

returning the wrapped DEK to the client;

receiving a unwrapping request from the client to unwrap the wrapped DEK, the unwrapping request comprising a second location from which the client is making the unwrapping request and is directed to a second tenancy of the multi-tenant cloud based system;

before unwrapping the DEK, using the encoded AAD in the header to compare the first location to the second location and compare the first tenancy to the second tenancy to determine whether the client is authorized to unwrap the wrapped DEK; and

unwrapping the DEK when the first location matches the second location and the first tenancy matches the second tenancy.

16. The multi-tenant cloud based key management system of claim 15 , wherein the wrapped DEK comprises a JavaScript Object Notation (JSON) Web Encryption (JWE) structure.

17. The multi-tenant cloud based key management system of claim 15 , the one or more microservices further:

receiving the unwrapping request to unwrap the wrapped DEK;

parsing the wrapped DEK;

validating the encoded AAD;

validating a master encryption key (MEK) presence in a hardware security module (HSM); and

returning an unwrapped DEK.

18. The multi-tenant cloud based key management system of claim 5 , the generating the wrapped DEK further comprising an Initialization Vector (IV) and an authentication TAG key.

19. The multi-tenant cloud based key management system of claim 15 , wherein the unwrapping request comprises a representational state transfer (REST) application program interface (API).

20. The multi-tenant cloud based key management system of claim 15 , the one or more microservices further comprising embedding tags in the wrapped DEK, the tags used for enforcing policy decisions in response to the unwrapping request to unwrap.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2019
From: VEPA, SIRISH V.; MISHRA, PRATEEK; KATTI, SREEDHAR; RAVI, VARANASI KUMAR; LOCKHART, HAROLD WILLIAM; KESHAVA, RAKESH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 048265/0840 →
Priority Claims (1)
IN 201841023140 · Jun 21, 2018 · national
Continuity (1)
Related Publication 20190394024A1 · Dec 26, 2019