IP Library › Granted Patent US 11,411,938
Granted Patent B2
US 11,411,938 · App. 16/544,626 · Granted Aug 9, 2022

Proof-of-work key wrapping with integrated key fragments

Inventors: Michael Hingston Mclaughlin Bursell (Farnborough, GB); Nathaniel Philip McCallum (Raleigh, NC); Peter M. Jones (Boston, MA); John David Strunk (Raleigh, NC)
Assignee: Red Hat, Inc.
H04L63/0435H04L9/0822H04L9/0894H04L9/14H04L63/068
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,411,938
App. No.
16/544,626
Granted
Aug 9, 2022
Kind
B2
Abstract

The technology disclosed herein provides a proof-of-work key wrapping system that uses integrated key fragments to cryptographically control access to data. An example method may include encrypting a first cryptographic key to produce a wrapped key, wherein the first cryptographic key enables a computing device to access content; determining a plurality of key fragments of a second cryptographic key, wherein the second cryptographic key is for decrypting the wrapped key and at least one of the plurality of key fragments is derived using one of the key fragments as input; selecting a set of cryptographic attributes for deriving the plurality of key fragments, wherein the set of cryptographic attributes are selected in view of a characteristic of the computing device; and providing the wrapped key and the set of cryptographic attributes to the computing device, the set of cryptographic attributes facilitating determination of the second cryptographic key.

Claims (47)

1. A method comprising:

encrypting a first cryptographic key to produce a wrapped key, wherein the first cryptographic key enables a computing device to access content;

determining, by a processing device, a set of key fragments of a second cryptographic key, wherein the second cryptographic key is for decrypting the wrapped key and wherein the set of key fragments comprises at least one key fragment derived using a different key fragment of the set of key fragments as input;

selecting, by the processing device, a cryptographic attribute to enable the computing device to generate candidate key fragments, wherein the cryptographic attribute is selected in view of a characteristic of the computing device and reduces computing resources consumed by the computing device to derive the set of key fragments;

generating, by the processing device, verification data that indicates whether a generated candidate key fragment is in the set of key fragments of the second cryptographic key; and

providing the wrapped key, the cryptographic attribute, and the verification data to the computing device to control the access to the content.

2. The method of claim 1 , wherein the first cryptographic key is a symmetric key to encrypt and decrypt the content, and wherein the second cryptographic key is a symmetric key for wrapping and unwrapping the first cryptographic key.

3. The method of claim 1 , wherein determining the set of key fragments comprises:

generating, by the processing device, the second cryptographic key for unwrapping the wrapped key; and

splitting, by the processing device, the second cryptographic key into the set of key fragments.

4. The method of claim 1 , wherein the characteristic of the computing device comprises data describing computing resources of the computing device and wherein the determining of the set of key fragments is in view of the computing resources of the computing device.

5. The method of claim 1 , wherein the selecting the cryptographic attribute comprises:

predicting the characteristic of one or more computing resources of the computing device;

estimating a quantity of the one or more computing resources consumed to derive the at least one key fragment of the set of key fragments in view of a set of candidate cryptographic attributes; and

selecting a candidate cryptographic attribute from the set of candidate cryptographic attributes in response to the estimated quantity exceeding a minimum threshold value.

6. The method of claim 1 , wherein providing the cryptographic attribute comprises providing an indication of a key length, a key derivation function, or a salt value for the at least one key fragment of the set of key fragments.

7. The method of claim 1 , wherein providing the cryptographic attribute reduces the computing resources consumed by a brute force determination of the at least one key fragment of the set of key fragments.

8. The method of claim 1 , wherein selecting the cryptographic attribute comprises determining cryptographic attributes that enable the computing device to determine the set of key fragments using a predetermined average quantity of computing resources.

9. The method of claim 1 , wherein selecting the cryptographic attribute comprises determining cryptographic attributes that enable the computing device to determine the set of key fragments in a predetermined average quantity of time.

10. A system comprising:

a memory; and

a processing device communicably coupled to the memory, the processing device to:

encrypt a first cryptographic key to produce a wrapped key, wherein the first cryptographic key enables a computing device to access content;

determine a set of key fragments of a second cryptographic key, wherein the second cryptographic key is for decrypting the wrapped key and wherein the set of key fragments comprises at least one key fragment derived using a different key fragment of the set of key fragments as input;

select a cryptographic attribute to enable the computing device to generate candidate key fragments, wherein the cryptographic attribute is selected in view of a characteristic of the computing device and reduces computing resources consumed by the computing device to derive the set of key fragments;

generate verification data that indicates whether a generated candidate key fragment is in the set of key fragments of the second cryptographic key; and

provide the wrapped key, the set of cryptographic attribute, and the verification data to the computing device to control access to the content.

11. The system of claim 10 , wherein the first cryptographic key is a symmetric key to encrypt and decrypt the content, and wherein the second cryptographic key is a symmetric key for wrapping and unwrapping the first cryptographic key.

12. The system of claim 10 , wherein to determine the set of key fragments the processing device is to:

generate the second cryptographic key for unwrapping the wrapped key; and

split the second cryptographic key into the set of key fragments.

13. The system of claim 10 , wherein the characteristic of the computing device comprises data describing computing resources of the computing device and wherein the determining of the set of key fragments is in view of the computing resources of the computing device.

14. The system of claim 10 , wherein to select the cryptographic attribute the processing device is to:

predict the characteristic of one or more computing resources of the computing device;

estimate a quantity of the one or more computing resources consumed to derive the at least one key fragment of the set of key fragments in view of a set of candidate cryptographic attributes; and

select a candidate cryptographic attribute from the set of candidate cryptographic attributes in response to the estimated quantity exceeding a minimum threshold value.

15. The system of claim 10 , wherein to provide the cryptographic attribute the processing device is to provide an indication of a key length, a key derivation function, or a salt value for the at least one key fragment of the set of key fragments.

16. The system of claim 10 , wherein the cryptographic attribute reduces the computing resources consumed by a brute force determination of the at least one key fragment of the set of key fragments.

17. The system of claim 10 , wherein to select the cryptographic attribute the processing device is to determine cryptographic attributes that enable the computing device to determine the set of key fragments using a predetermined average quantity of computing resources.

18. The system of claim 10 , wherein to select the cryptographic attribute the processing device is to determine cryptographic attributes that enable the computing device to determine the set of key fragments in a predetermined average quantity of time.

19. A non-transitory machine-readable storage medium storing instructions which, when executed, cause a processing device to perform operations comprising:

encrypting an access key to produce a wrapped key, wherein the access key enables a computing device to access content;

determining a set of key fragments of an unwrap key, wherein the unwrap key is for decrypting the wrapped key and wherein the set of key fragments comprises at least one key fragment that is derived from a different key fragment of the set of key fragments;

selecting a cryptographic attribute to enable the computing device to generate candidate key fragments, wherein the cryptographic attribute is selected in view of a characteristic of the computing device and reduces computing resources consumed by the computing device to derive the set of key fragments;

generating verification data that indicates whether a generated candidate key fragment is in the set of key fragments of the unwrap key; and

providing the wrapped key, the cryptographic attribute, and the verification data to the computing device to control the access to the content.

20. The non-transitory machine-readable storage medium of claim 19 , wherein the access key is a symmetric key to encrypt and decrypt the content, and wherein the unwrap key is a symmetric key for wrapping and unwrapping the access.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2019
From: BURSELL, MICHAEL HINGSTON MCLAUGHLIN; MCCALLUM, NATHANIEL PHILIP; JONES, PETER M.; STRUNK, JOHN DAVID
To: RED HAT, INC.
Reel/Frame 050159/0111 →
Continuity (1)
Related Publication 20210058379A1 · Feb 25, 2021
Cited By (1)
US 12,381,716