IP Library Granted Patent US 11,611,558
Granted Patent B2
US 11,611,558 · App. 16/683,025 · Granted Mar 21, 2023

Integration of third-party encryption key managers with cloud services

Inventors: Il-Sung Lee (New York, NY); Sidharth Durgesh Telang (New York, NY); Jimmy C. Chau (New York, NY); Timothy Matthew Dierks (Mountain View, CA); Ariel Joseph Feldman (Forest Hills, NY); Hunter James Freyer (Long Island City, NY); Netanel Keidar (Jersey City, NJ); Gregory David Laun (Jersey City, NJ); Tianyuan Liu (Manhasset, NY); Pedro Henrique Ribeiro Morais e Silva (New York, NY); Aditya Sinha (New York, NY); Xioalan Zhang (Chappaqua, NY)
Assignee: Google LLC
H04L63/0884H04L9/0822H04L9/0891H04L63/06H04L63/083H04L63/20
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,611,558
App. No.
16/683,025
Granted
Mar 21, 2023
Kind
B2
Abstract

A method for integrating third-party encryption managers with cloud services includes receiving, at data processing hardware, an operation request requesting a cryptographic operation on data comprising an encryption operation or a decryption operation. When the operation is an encryption operation, the method includes transmitting a data encryption key associated with the data to a remote entity. The remote entity encrypts the data encryption key with a key encryption key and transmits the encrypted data encryption key to the data processing hardware. When the operation is a decryption operation, the method includes transmitting the encrypted data encryption key to the remote entity which causes the remote entity to decrypt the encrypted data encryption key with the key encryption key and transmit the decrypted data encryption key and transmit to the data processing hardware.

Claims (39)

1. A method comprising:

receiving, at data processing hardware, an operation request requesting a cryptographic operation on data, the cryptographic operation comprising an encryption operation or a decryption operation;

when the cryptographic operation comprises an encryption operation, transmitting, by the data processing hardware, a data encryption key to a remote entity, the data encryption key when received by the remote entity causing the remote entity to:

encrypt the data encryption key with a key encryption key, the key encryption key unavailable to the data processing hardware; and

transmit the encrypted data encryption key to the data processing hardware;

when the cryptographic operation comprises a decryption operation, transmitting, by the data processing hardware, the encrypted data encryption key to the remote entity, the encrypted data encryption key when received by the remote entity causing the remote entity to:

decrypt the encrypted data encryption key with the key encryption key; and

transmit the decrypted data encryption key to the data processing hardware;

receiving, by the data processing hardware, the decrypted data encryption key from the remote entity;

authenticating, by the data processing hardware, that the received decrypted data encryption key is from the remote entity;

verifying, by the data processing hardware, that the received decrypted data encryption key is unmodified during a transit from the remote entity to the data processing hardware;

executing the cryptographic operation on the data using the decrypted data encryption key; and

after executing the cryptographic operation on the data using the decrypted data encryption key, discarding, by the data processing hardware, the decrypted data encryption key; and

transmitting, by the data processing hardware, an authentication request based on an identity of a client associated with the key encryption key to the remote entity, the authentication request comprising contextual information and when received by the remote entity causing the remote entity to authenticate the identity based on the contextual information.

2. The method of claim 1 , further comprising decrypting, by the data processing hardware, the data encryption key received from the remote entity with an inner encryption key, the inner encryption key unavailable to the remote entity.

3. The method of claim 1 , wherein the remote entity authenticating the identity comprises applying an authorization policy to the authentication request, the authorization policy comprising permit criteria.

4. The method of claim 1 , wherein the contextual information comprises at least one of a user name associated with the operation request, a location associated with the operation request, or a timestamp associated with the operation request.

5. The method of claim 1 , wherein the data processing hardware comprises a distributed system supporting a plurality of independent clients.

6. A system comprising:

data processing hardware; and

memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:

receiving an operation request requesting a cryptographic operation on data, the cryptographic operation comprising an encryption operation or a decryption operation;

transmitting an encrypted data encryption key to a remote entity, the encrypted data encryption key when received by the remote entity causing the remote entity to:

decrypt the encrypted data encryption key with a key encryption key, the key encryption key unavailable to the data processing hardware; and

transmit the decrypted data encryption key to the data processing hardware;

receiving the decrypted data encryption key from the remote entity;

authenticating that the received decrypted data encryption key is from the remote entity;

verifying that the received decrypted data encryption key is unmodified during a transit from the remote entity to the data processing hardware;

executing the cryptographic operation on the data using the decrypted data encryption key;

after executing the cryptographic operation on the data using the decrypted data encryption key, discarding the decrypted data encryption key; and

transmitting an authentication request based on an identity of a client associated with the key encryption key to the remote entity, the authentication request comprising contextual information and when received by the remote entity causing the remote entity to authenticate the identity based on the contextual information.

7. The system of claim 6 , further comprising decrypting the data encryption key received from the remote entity with an inner encryption key, the inner encryption key unavailable to the remote entity.

8. The system of claim 7 , wherein the remote entity authenticating the identity comprises applying an authorization policy to the authentication request, the authorization policy comprising permit criteria.

9. The system of claim 7 , wherein the contextual information comprises at least one of a user name associated with the operation request, a location associated with the operation request, or a timestamp associated with the operation request.

10. The system of claim 6 , wherein the data processing hardware comprises a distributed system supporting a plurality of independent clients.

11. The method of claim 1 , further comprising providing, by the data processing hardware, an authentication result to a client associated with the operation request requesting the cryptographic operation.

12. The method of claim 1 , wherein the data processing hardware does not maintain the decrypted data encryption key in memory hardware.

13. The system of claim 6 , wherein the operations further comprise providing an authentication result to a client associated with the operation request requesting the cryptographic operation.

14. The system of claim 6 , wherein the data processing hardware does not maintain the decrypted data encryption key in the memory hardware.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2020
From: LEE, IL-SUNG; TELANG, SIDHARTH DURGESH; CHAU, JIMMY C; DIERKS, TIMOTHY MATTHEW; FELDMAN, ARIEL JOSEPH; FREYER, HUNTER JAMES; KEIDAR, NETANEL; LAUN, GREGORY DAVID; E SILVA, PEDRO HENRIQUE RIBEIRO MORAIS; SINHA, ADITYA; ZHANG, XIAOLAN; LIU, TIANYUAN
To: GOOGLE LLC
Reel/Frame 051941/0647 →
Continuity (1)
Related Publication 20210144141A1 · May 13, 2021
Cited By (3)
US 12,634,213 US 12,634,350 US 12,699,639