IP Library Granted Patent US 11,368,300
Granted Patent B2
US 11,368,300 · App. 16/812,085 · Granted Jun 21, 2022

Supporting a fixed transaction rate with a variably-backed logical cryptographic key

Inventors: Gregory Branchek Roth (Seattle, WA); Matthew John Campagna (Bainbridge Island, WA); Benjamin Elias Seidenberg (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L9/0891H04L9/088H04L9/14H04L63/065
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,368,300
App. No.
16/812,085
Granted
Jun 21, 2022
Kind
B2
Abstract

A request to perform a cryptographic operation is received, the request including a first identifier assigned to a key group, the key group comprising a plurality of second identifiers, with the plurality of second identifiers corresponding to a plurality of cryptographic keys. A second identifier is determined, according to a distribution scheme, from the plurality of second identifiers, and the cryptographic operation is performed using a cryptographic key of the plurality of cryptographic keys that corresponds to the second identifier that was determined.

Claims (57)

1. A computer-implemented method, comprising:

obtaining a request to generate a physical key associated with a logical key;

generating the physical key;

associating the physical key with a set of physical keys to be used in performing cryptographic operations involving the logical key by at least adding the physical key to the set of physical keys;

associating the set of physical keys with the logical key; and

providing information identifying the logical key in response to the request to allow the logical key to be used to perform the cryptographic operations on one or more hardware processors.

2. The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises:

obtaining an additional request indicating a modification of a throttle associated with the logical key;

determining a number of physical keys to add to the set of physical keys to satisfy the modification;

generating an additional set of physical keys based at least in part on the number of physical keys; and

associating the additional set of physical keys to the logical key by at least adding the additional set of physical keys to the set of physical keys.

3. The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises:

determining a number of uses of the physical key has been exhausted; and

rotating the physical key.

4. The computer-implemented method of claim 3 , wherein rotating the physical key further comprises:

preventing the physical key from being used to encrypt data;

generating an additional physical key; and

adding the additional physical key to the set of physical keys associated with the logical key.

5. The computer-implemented method of claim 1 , wherein the request is generated in response to a throttle rate associated with an additional physical key of the set of physical keys associated with the logical key.

6. The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises determining a throttle rate associated with the logical key based at least in part on a set of throttle rates associated with the set of physical keys.

7. The computer-implemented method of claim 6 , wherein the computer-implemented method further comprises modifying the throttle rate associated with the logical key to meet a quota for a transaction rate associated with the logical key by at least adding an additional set of physical keys to the set of physical keys to increase the throttle rate associated with the logical key.

8. A system, comprising:

one or more processors; and

memory storing instructions that, as a result of execution by the one or more processors, cause the system to:

obtain a request to create a logical key;

generate a cryptographic key;

assign the cryptographic key to a set of cryptographic keys associated with the logical key, where the cryptographic key is a first member of the set of cryptographic keys and the set of cryptographic keys is used to perform a set of cryptographic operations involving the logical key; and

provide information identifying the cryptographic key and the logical key in response to the request.

9. The system of claim 8 ,

wherein the cryptographic key is a first cryptographic key; and

wherein the instructions further include instructions that, as a result of execution by the one or more processors, cause the system to rotate the logical key by at least:

deprovision a second cryptographic key of the set of cryptographic keys;

generate a third cryptographic key; and

replace the second cryptographic key in the set of cryptographic keys with the third cryptographic key.

10. The system of claim 9 , wherein the instructions that cause the system to deprovision the second cryptographic key further include instructions that, as a result of execution by the one or more processors, cause the system to:

decrypt a data object encrypted with the second cryptographic key;

encrypt the data object with the third cryptographic key;

record information indicating that the data object is encrypted with the third cryptographic key; and

delete the second cryptographic key.

11. The system of claim 9 , wherein the instructions that cause the system to deprovision the second cryptographic key further include instructions that, as a result of execution by the one or more processors, cause the system to remove the second cryptographic key from the set of cryptographic keys.

12. The system of claim 8 , wherein the set of cryptographic keys includes a plurality of subsets of cryptographic keys corresponding to fault zones associated with different geographic regions.

13. The system of claim 8 , wherein the instructions further include instructions that, as a result of execution by the one or more processors, cause the system to determine a logical key throttle rate based at least in part on a throttle rate associated with cryptographic keys of the set of cryptographic keys.

14. The system of claim 13 , wherein the instructions further include instructions that, as a result of execution by the one or more processors, cause the system to add additional cryptographic keys to the set of cryptographic keys until the logical key throttle rate exceeds a quota assigned to the logical key.

15. A non-transitory computer-readable storage medium having executable instructions stored thereon that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

receive a request to perform a cryptographic operation, the request includes a key identifier;

obtain a cryptographic key of a plurality of cryptographic keys associated with the key identifier;

use the cryptographic key of the plurality of cryptographic keys to perform the cryptographic operation; and

return a result of the cryptographic operation and the key identifier in response to the request.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the cryptographic key is associated with a limit on an amount of data encrypted with the cryptographic key.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further include instructions that, as a result of being executed by one or more processors, cause the computer system to increase a quantity of cryptographic keys in the plurality of cryptographic keys based at least in part on the cryptographic key reaching the limit on the amount of data encrypted.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions further include instructions that, as a result of being executed by one or more processors, cause the computer system to deprovision the cryptographic key in response to the cryptographic key reaching the limit on the amount of data encrypted.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further include instructions that, as a result of being executed by one or more processors, cause the computer system to:

determine a throttle limit associated with the cryptographic key has been reached, wherein the cryptographic key is a first cryptographic key; and

in response, add a second cryptographic key to the plurality of cryptographic keys.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further include instructions that, as a result of being executed by one or more processors, cause the computer system to:

obtain, from a user associated with the key identifier, an aggregate key usage rate to associate with the key identifier; and

increase a quantity of cryptographic keys in the plurality of cryptographic keys to satisfy the aggregate key usage rate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: ROTH, GREGORY BRANCHEK; CAMPAGNA, MATTHEW JOHN; SEIDENBERG, BENJAMIN ELIAS
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 052043/0574 →
Continuity (4)
Continuation 15947690 · Apr 6, 2018
Continuation 15250738 · Aug 29, 2016
Continuation 14318375 · Jun 27, 2014
Related Publication 20200213108A1 · Jul 2, 2020