IP Library › Granted Patent US 11,582,221
Granted Patent B1
US 11,582,221 · App. 16/582,708 · Granted Feb 14, 2023

Securing encrypted volumes in a distributed environment

Inventors: Rohit Raj (Seattle, WA); Rachit Jain (Bothell, WA); Dan Popick (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L63/0823H04L9/006H04L9/085H04L9/3263
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,582,221
App. No.
16/582,708
Filed
Sep 25, 2019
Granted
Feb 14, 2023
Kind
B1
Art Unit
2433
USPC
713/156
Abstract

The present disclosure relates to generating a passphrase for an encrypted volume by at least cryptographically combing the first cryptographic key and the shared secret. Where the shared secret is split into a plurality of shares and a first number of the plurality of shares is greater than a second number of the plurality of shares and the second number of the plurality of shares is required to reconstruct the shared secret.

Claims (59)

1. A computer-implemented method, comprising:

submitting a certificate signing request for a regional certificate authority associated with a region, where the region includes a plurality of key derivation hosts, to a global certificate authority for signing;

updating an encrypted volume for use by the plurality of key derivation hosts by at least:

generating a first cryptographic key and a shared secret, where the first cryptographic key is based at least in part on a randomly or pseudorandomly generated value;

generating a passphrase to enable the plurality of key derivation hosts to perform operations with the encrypted volume by at least cryptographically combining the first cryptographic key and the shared secret;

splitting the shared secret into a plurality of shares, where a first number of the plurality of shares is greater than a second number of the plurality of shares and the second number of the plurality of shares is required to reconstruct the shared secret;

adding the plurality of key derivation hosts to a list indicating key derivation hosts of the plurality of key derivation hosts that are authorized to transmit shares of the plurality of shares; and

distributing the plurality of shares to the plurality of key derivation hosts, where a first share of the plurality of shares is cryptographically wrapped in the first cryptographic key;

causing copies of the encrypted volume to be provided to the plurality of key derivation hosts;

unmounting the encrypted volume; and

destroying the first cryptographic key and at least one share of the plurality of shares.

2. The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises preventing access to the plurality of key derivation hosts.

3. The computer-implemented method of claim 1 , wherein the second number of the plurality of shares is less than a total number of shares of the plurality of shares, where less than the second number of shares of the plurality of shares is insufficient to reconstruct the shared secret.

4. The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises storing a backup of the encrypted volume in a storage service of a computing resource service provider.

5. A system, comprising:

one or more processors; and

memory that stores computer-executable instructions that are executable by the one or more processors to cause the system to:

obtain an indication that a host has been instantiated;

update a list of one or more approved hosts to include information indicating the host;

associate the host with a logical grouping including at least one other host;

obtain from the host a request for at least an encrypted volume;

provide the host with access to the encrypted volume, a first cryptographic key, and at least one share of a second cryptographic key, wherein:

the first cryptographic key is:

insufficient to decrypt the encrypted volume but being combinable with at least the second cryptographic key to obtain a third cryptographic key to decrypt the encrypted volume and;

based at least in part on a randomly or pseudorandomly generated value; and

the at least one share is from a plurality of shares of the second cryptographic key, a subset of which is sufficient to construct the second cryptographic key;

cause the encrypted volume to be unmounted; and

cause the first cryptographic key and at least one share of the second cryptographic key to be destroyed.

6. The system of claim 5 , wherein the second cryptographic key divided into a first number of shares is divided based at least in part on a secret sharing algorithm.

7. The system of claim 5 , wherein the memory further includes instructions that, as a result of being executed by the one or more processors, cause the system to encrypt the at least one share of the second cryptographic key with a public key associated with the host.

8. The system of claim 5 , wherein the memory further includes instructions that, as a result of being executed by the one or more processors, cause the system to disable Secure Shell (SSH) on the host.

9. The system of claim 5 , wherein the memory further includes instructions that, as a result of being executed by the one or more processors, cause the system to:

delete the first cryptographic key and the second cryptographic key;

generate a third cryptographic key and a fourth cryptographic key;

split the fourth cryptographic key into a plurality of shares;

encrypt a share of the plurality of shares to generate an encrypted share; and

provide the encrypted share to the host.

10. The system of claim 5 , wherein the memory further includes instructions that, as a result of being executed by the one or more processors, cause the system to encrypt the at least one share of the second cryptographic key with the first cryptographic key.

11. The system of claim 10 , wherein the memory further includes instructions that, as a result of being executed by the one or more processors, cause the system to:

obtaining the at least one share of the second cryptographic key encrypted with the first cryptographic key; and

decrypting the at least one share of the second cryptographic key to generate a decrypted share.

12. The system of claim 5 , wherein the memory further includes instructions that, as a result of being executed by the one or more processors, cause the system to detect a connection to the system.

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

provide a certificate signing request to a certificate authority;

in response to obtaining information indicating a certificate included in the certificate signing request has been digitally signed, provision an encrypted volume by at least:

generating first cryptographic material and second cryptographic material, where:

neither the first cryptographic material nor the second cryptographic material is sufficient to allow decryption of the encrypted volume but the first cryptographic material is combinable with at least the second cryptographic material to allow decryption of the encrypted volume; and

the first cryptographic material is based at least in part on a randomly or pseudorandomly generated value;

generating a plurality of shares of the second cryptographic material, wherein less than all of the plurality of shares is sufficient to construct the second cryptographic material but individual shares of the plurality shares are individually insufficient to construct the second cryptographic material; and

distributing the plurality of shares of the second cryptographic material to respective hosts of a group of hosts;

unmount the encrypted volume; and

destroy the first cryptographic material and at least one share of the plurality of shares.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to encrypt a share of the plurality of shares of the second cryptographic material with the first cryptographic material prior to distributing the share to a host of the group of hosts.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to encrypt a share of the plurality of shares of the second cryptographic material with third cryptographic material prior to distributing the share to a host of the group of hosts.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to encrypt a share of the plurality of shares of the second cryptographic material with the first cryptographic material and third cryptographic material prior to distributing the share to a host of the group of hosts.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions that cause the computer system to generate the plurality of shares further include instructions that cause the computer system to generate the plurality of shares in accordance with Shamir's Secret Sharing algorithm.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the respective hosts are associated with a region.

19. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions that cause the computer system to distribute the plurality of shares of the second cryptographic material to the group of hosts further include instructions that cause the computer system to encrypt a share of the plurality of shares using a public key associated with a host of the group of hosts, where the host is an intended recipient of the share.

20. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to modify a number of the plurality of shares and a number of shares from the plurality of shares sufficient to construct the second cryptographic material in response to modifying a number of hosts of the group of hosts.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2019
From: RAJ, ROHIT; JAIN, RACHIT; POPICK, DAN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 050489/0882 →
Cited By (7)
US 12,206,768 US 12,206,769 US 12,423,422 US 12,561,075 US 12,659,317 US 12,719,664 US 12,744,763