IP Library Granted Patent US 10,644,885
Granted Patent B2
US 10,644,885 · App. 15/898,224 · Granted May 5, 2020

Firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems

Inventors: Gang Cheng (Nashua, NH); Vladimir Tsitrin (Acton, MA); Thomas Stephen McGuire (Co Galway, IE)
Assignee: FMR LLC
H04L9/0897G06F21/52G06F21/64G06F21/72G06F21/86H04L9/085H04L9/0825
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 10,644,885
App. No.
15/898,224
Granted
May 5, 2020
Kind
B2
Abstract

The Firmware Extension for Secure Cryptocurrency Key Backup, Restore, and Transaction Signing Platform Apparatuses, Methods and Systems (“SFTSP”) transforms transaction signing request, key backup request, key recovery request inputs via SFTSP components into transaction signing response, key backup response, key recovery response outputs. A key backup request that includes an encrypted master key associated with a hosting HSM is received by a backup HSM from a backup utility. A private key decryption key corresponding to a public key encryption key previously provided by the backup HSM to the backup utility for the hosting HSM is retrieved from the backup HSM's tamper-proof storage and used to decrypt the encrypted master key. A specified number of master key shares to generate for the decrypted master key is determined and generated using a secret sharing method. The generated master key shares are provided to the backup utility.

Claims (61)

1. A secure firmware key backup apparatus, comprising:

a memory;

a component collection in the memory, including:

a secure firmware key backup component implemented by a backup hardware security module (HSM), wherein the backup HSM is a PCIe appliance;

at least one processor disposed in communication with the memory, and configured to issue a plurality of processing instructions from the component collection stored in the memory,

wherein the at least one processor issues instructions from the secure firmware key backup component, stored in the memory, to:

receive, via the at least one processor, by the backup HSM, a key backup request from a backup utility, wherein the key backup request includes an encrypted master key associated with a hosting HSM, wherein the hosting HSM is a USB appliance communicatively coupled to the backup HSM via USB;

retrieve, via the at least one processor, from the backup HSM's tamper-proof storage, a private key decryption key corresponding to a public key encryption key previously provided by the backup HSM to the backup utility for the hosting HSM, wherein the encrypted master key is encrypted using the public key encryption key by the hosting HSM;

decrypt, via the at least one processor, by the backup HSM, the encrypted master key using the retrieved private key decryption key;

determine, via the at least one processor, by the backup HSM, a specified number of master key shares to generate for the decrypted master key;

generate, via the at least one processor, by the backup HSM, the specified number of master key shares using a secret sharing method; and

provide, via the at least one processor, by the backup HSM, the generated master key shares to the backup utility.

2. The apparatus of claim 1 , wherein the key backup request is an API call to a method exposed by the secure firmware key backup component.

3. The apparatus of claim 1 , wherein the public key encryption key and the corresponding private key decryption key are predefined for the backup HSM.

4. The apparatus of claim 1 , wherein the public key encryption key and the corresponding private key decryption key are generated dynamically each time a key backup is executed.

5. The apparatus of claim 1 , wherein the secret sharing method is Shamir's Secret Sharing.

6. The apparatus of claim 1 , further, comprising:

the at least one processor issues instructions from the secure firmware key backup component, stored in the memory, to:

determine, via the at least one processor, by the backup HSM, a specified number of master key shares sufficient to recover the master key; and

wherein the master key shares are generated using the secret sharing method based on the determined number of master key shares sufficient to recover the master key.

7. The apparatus of claim 1 , further, comprising:

a backup utility key backup component in the component collection, and

the at least one processor issues instructions from the backup utility key backup component, stored in the memory, to:

generate, via the at least one processor, backup materials from the generated master key shares.

8. The apparatus of claim 7 , wherein the backup materials are any of: paper printouts, metal plates, plastic plates, USB keys, hard drives, solid state drives, portable HSMs.

9. The apparatus of claim 7 , wherein the backup materials are distributed for storage in geographically distributed backup locations.

10. The apparatus of claim 9 , wherein each geographic backup location stores a mixture of different types of backup materials.

11. The apparatus of claim 1 , further, comprising:

a secure firmware key recovery component in the component collection, and

the at least one processor issues instructions from the secure firmware key recovery component, stored in the memory, to:

receive, via the at least one processor, by a second backup HSM, a key recovery request from a recovery utility, wherein the key recovery request includes a set of master key shares sufficient to recover the master key, wherein the key recovery request includes a second public key encryption key provided by a second hosting HSM, wherein the second public key encryption key corresponds to a second private key decryption key stored in tamper-proof storage of the second hosting HSM;

recover, via the at least one processor, by the second backup HSM, the master key from the set of master key shares using the secret sharing method;

encrypt, via the at least one processor, by the second backup HSM, the recovered master key using the second public key encryption key; and

provide, via the at least one processor, by the second backup HSM, the encrypted recovered master key to the recovery utility.

12. The apparatus of claim 11 , wherein the backup HSM and the second backup HSM are the same HSM.

13. The apparatus of claim 11 , wherein the hosting HSM and the second hosting HSM are the same HSM.

14. A processor-readable secure firmware key backup non-transient physical medium storing processor-executable components, the components, comprising:

a component collection stored in the medium, including:

a secure firmware key backup component implemented by a backup hardware security module (HSM), wherein the backup HSM is a PCIe appliance;

wherein the secure firmware key backup component, stored in the medium, includes processor-issuable instructions to:

receive, via at least one processor, by the backup HSM, a key backup request from a backup utility, wherein the key backup request includes an encrypted master key associated with a hosting HSM, wherein the hosting HSM is a USB appliance communicatively coupled to the backup HSM via USB;

retrieve, via the at least one processor, from the backup HSM's tamper-proof storage, a private key decryption key corresponding to a public key encryption key previously provided by the backup HSM to the backup utility for the hosting HSM, wherein the encrypted master key is encrypted using the public key encryption key by the hosting HSM;

decrypt, via the at least one processor, by the backup HSM, the encrypted master key using the retrieved private key decryption key;

determine, via the at least one processor, by the backup HSM, a specified number of master key shares to generate for the decrypted master key;

generate, via the at least one processor, by the backup HSM, the specified number of master key shares using a secret sharing method; and

provide, via the at least one processor, by the backup HSM, the generated master key shares to the backup utility.

15. A processor-implemented secure firmware key backup system, comprising:

a secure firmware key backup component implemented by a backup hardware security module (HSM), wherein the backup HSM is a PCIe appliance configured to:

receive, via at least one processor, by the backup HSM, a key backup request from a backup utility, wherein the key backup request includes an encrypted master key associated with a hosting HSM, wherein the hosting HSM is a USB appliance communicatively coupled to the backup HSM via USB;

retrieve, via the at least one processor, from the backup HSM's tamper-proof storage, a private key decryption key corresponding to a public key encryption key previously provided by the backup HSM to the backup utility for the hosting HSM, wherein the encrypted master key is encrypted using the public key encryption key by the hosting HSM;

decrypt, via the at least one processor, by the backup HSM, the encrypted master key using the retrieved private key decryption key;

determine, via the at least one processor, by the backup HSM, a specified number of master key shares to generate for the decrypted master key;

generate, via the at least one processor, by the backup HSM, the specified number of master key shares using a secret sharing method; and

provide, via the at least one processor, by the backup HSM, the generated master key shares to the backup utility.

16. A processor-implemented secure firmware key backup method, comprising:

executing processor-implemented secure firmware key backup component instructions by a backup hardware security module (HSM), wherein the backup HSM is a PCIe appliance configured to:

receive, via at least one processor, by the backup HSM, a key backup request from a backup utility, wherein the key backup request includes an encrypted master key associated with a hosting HSM, wherein the hosting HSM is a USB appliance communicatively coupled to the backup HSM via USB;

retrieve, via the at least one processor, from the backup HSM's tamper-proof storage, a private key decryption key corresponding to a public key encryption key previously provided by the backup HSM to the backup utility for the hosting HSM, wherein the encrypted master key is encrypted using the public key encryption key by the hosting HSM;

decrypt, via the at least one processor, by the backup HSM, the encrypted master key using the retrieved private key decryption key;

determine, via the at least one processor, by the backup HSM, a specified number of master key shares to generate for the decrypted master key;

generate, via the at least one processor, by the backup HSM, the specified number of master key shares using a secret sharing method; and provide, via the at least one processor, by the backup HSM, the generated master key shares to the backup utility.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2018
From: CHENG, GANG; TSITRIN, VLADIMIR; MCGUIRE, THOMAS STEPHEN
To: FMR LLC
Reel/Frame 045308/0500 →
Continuity (22)
Continuation In Part 15456461 · Mar 10, 2017
Continuation In Part 15210813 · Jul 14, 2016
Continuation In Part 15210817 · Jul 14, 2016
Continuation In Part 15210807 · Jul 14, 2016
Continuation In Part 15210795 · Jul 14, 2016
Continuation In Part 15210821 · Jul 14, 2016
Continuation In Part 14799282 · Jul 14, 2015
Continuation In Part 14799242 · Jul 14, 2015
Continuation In Part 14799229 · Jul 14, 2015
Continuation In Part 14963165 · Dec 8, 2015
Continuation In Part 15019926 · Feb 9, 2016
Continuation In Part 15209701 · Jul 13, 2016
Continuation In Part 15209709 · Jul 13, 2016
Continuation In Part 15209714 · Jul 13, 2016
Continuation In Part 15210781 · Jul 14, 2016
Continuation In Part 15486243 · Apr 12, 2017
Provisional Application 62273447 · Dec 31, 2015
Provisional Application 62273449 · Dec 31, 2015
Provisional Application 62273450 · Dec 31, 2015
Provisional Application 62273452 · Dec 31, 2015
Provisional Application 62273453 · Dec 31, 2015
Related Publication 20180176013A1 · Jun 21, 2018
Cited By (2)
US 12,216,580 US 12,585,589