IP Library Granted Patent US 9,860,240
Granted Patent B2
US 9,860,240 · App. 15/087,541 · Granted Jan 2, 2018

Multi-ring encryption approach to securing a payload using hardware modules

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 9,860,240
App. No.
15/087,541
Granted
Jan 2, 2018
Kind
B2
Abstract

Disclosed are systems and methods of employing a multi-ring encryption approach to secure a data payload. Each ring of encryption may be encrypted from a key derived from a password, such that each subsequent ring of protection is protected by a key derived from the key used to encrypt the previous ring of protection. Further, hardware-based encryption may be employed in one or more of the rings of protection to bind the encrypted payload to the hardware. Such systems and methods may be used to reduce the ability to parallelize an attack on encrypted data while also permitting password-related data to be synchronized across a network.

Claims (52)

1. A non-transitory computer readable medium comprising computer readable code which, when executed by a processor, causes the processor to:

receive, from a first computer system, a first encrypted payload at a second computer system;

receive, from the first computer system, a user authorization key, wherein the user authorization key is derived from a first encryption key using a key derivation function, wherein the first encryption key is derived from a user password, wherein the encrypted payload is encrypted by the first encryption key, wherein the first encryption key does not include the user password, and wherein the user authorization key is different than the encryption key;

store the first encrypted payload and the user authorization key in the second computer system;

encrypt, by a hardware encryption module of the second computer system, the first encrypted payload using the received user authorization key and a hardware encryption key associated with the second computer system to generate a second encrypted payload, wherein the hardware encryption module comprises a trusted hardware environment; and

in response to generating the second encrypted payload, remove the first encrypted payload and the user authorization key from the second computer system.

2. The non-transitory computer readable medium of claim 1 , wherein the user authorization key is stored in a volatile memory of the second computer system, and wherein the user authorization key is removed from the volatile memory of the second computer system.

3. The non-transitory computer readable medium of claim 1 , wherein the hardware encryption module comprises a trusted platform module.

4. The non-transitory computer readable medium of claim 3 , wherein the hardware encryption module comprises a cryptographic processor.

5. The non-transitory computer readable medium of claim 1 , further comprising instructions which cause the machine to:

receive a request to decrypt the encrypted payload;

receive, at the second device, the user password by a user interface;

derive the first encryption key from the user password;

generate the user authorization key from the first encryption key; and

decrypt, by the hardware encryption module, the encrypted payload using the user authorization key.

6. The non-transitory computer readable medium of claim 5 , wherein the user password is previously unknown to the second device.

7. A system for password synchronization, comprising:

a processor;

a memory communicably coupled to the processor and comprising computer readable code which, when executed by the processor, causes the processor to:

receive, from a first computer system, a first encrypted payload at a second computer system,

receive, from the first computer system, a user authorization key, wherein the user authorization key is derived from a first encryption key using a key derivation function, wherein the first encryption key is derived from a user password, wherein the encrypted payload is encrypted by the first encryption key, wherein the first encryption key does not include the user password, and wherein the user authorization key is different than the encryption key, and wherein the user authorization key is different than the encryption key,

store the first encrypted payload and the user authorization key in the second computer system; and

a hardware encryption module configured to:

encrypt the first encrypted payload using the received user authorization key and a hardware encryption key associated with the second computer system to generate a second encrypted payload;

wherein, in response to generating the second encrypted payload, the first encrypted payload and the user authorization key are removed from the second computer system, and

wherein the hardware encryption module comprises a trusted hardware environment.

8. The system of claim 7 , wherein the user authorization key is stored in a volatile memory of the second computer system, and wherein the user authorization key is removed from the volatile memory of the second computer system.

9. The system of claim 7 , wherein the hardware encryption module comprises a trusted platform module.

10. The system of claim 9 , wherein the hardware encryption module comprises a cryptographic processor.

11. The system of claim 7 , the memory further comprising instructions which cause the machine to:

receive a request to decrypt the encrypted payload;

receive, at the second device, the user password by a user interface;

derive the first encryption key from the user password;

generate the user authorization key from the first encryption key; and

decrypt, by the hardware encryption module, the encrypted payload using the user authorization key.

12. The system of claim 11 , wherein the user password is previously unknown to the second device.

13. A method for password synchronization, comprising:

receiving, from a first computer system, a first encrypted payload at a second computer system;

receiving, from the first computer system, a user authorization key, wherein the user authorization key is derived from a first encryption key, wherein the first encryption key is derived from a user password, wherein the encrypted payload is encrypted by the first encryption key, and wherein the first encryption key does not include the user password, wherein the first encryption key does not include the user password, and wherein the user authorization key is different than the encryption key;

storing the first encrypted payload and the user authorization key in the second computer system;

encrypting, by a hardware encryption module of the second computer system, the first encrypted payload using the received user authorization key and a hardware encryption key associated with the second computer system to generate a second encrypted payload, wherein the hardware encryption module comprises a trusted hardware environment; and

in response to generating the second encrypted payload, removing the first encrypted payload and the user authorization key from the second computer system.

14. The method of claim 13 , wherein the user authorization key is stored in a volatile memory of the second computer system, and wherein the user authorization key is removed from the volatile memory of the second computer system.

15. The method of claim 13 , wherein the hardware encryption module comprises a trusted platform module.

16. The method of claim 15 , wherein the hardware encryption module comprises a cryptographic processor.

17. The method of claim 13 , further comprising:

receiving a request to decrypt the encrypted payload;

receiving, at the second device, the user password by a user interface;

deriving the first encryption key from the user password;

generating the user authorization key from the first encryption key; and

decrypting, by the hardware encryption module, the encrypted payload using the user authorization key.

18. The method of claim 17 , wherein the user password is previously unknown to the second device.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →