IP Library › Granted Patent US 11,411,730
Granted Patent B2
US 11,411,730 · App. 17/366,424 · Granted Aug 9, 2022

Cryptoasset custodial system with different rules governing access to logically separated cryptoassets and proof-of-stake blockchain support

Inventors: Diogo Monica (San Francisco, CA); Nathan P. McCauley (San Francisco, CA); Boaz Avital (San Francisco, CA); Riyaz D. Faizullabhoy (Los Altos, CA)
Assignee: Anchor Labs, Inc.
H04L9/14G06F21/602H04L9/0637H04L9/088H04L9/0822H04L9/0825H04L9/0877H04L9/0897H04L9/3239H04L9/3247H04L9/3255G06F21/6209G06Q20/0658H04L2209/38H04L2209/56
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,730
App. No.
17/366,424
Granted
Aug 9, 2022
Kind
B2
Abstract

Methods, and systems for secure storage and retrieval of information, such as private keys, useable to control access to a blockchain, include: receiving a request to take an action with respect to a vault of multiple different vaults in a cryptoasset custodial system, and each of the multiple different vaults has an associated policy map that defines vault control rules; authenticating, by a hardware security module, a policy map for the vault on which the action is requested based on a cryptographic key controlled by the hardware security module; checking the action against the policy map for the vault when the policy map for the vault is authenticated based on the cryptographic key controlled by the hardware security module; and effecting the action when the action is confirmed to be in accordance with the policy map for the vault.

Claims (66)

1. A method comprising:

receiving a request to take an action with respect to a vault of multiple different vaults in a cryptoasset custodial system, wherein the multiple different vaults are logical groupings of cryptoassets associated with a user of the cryptoasset custodial system, and each of the multiple different vaults has an associated policy map that defines vault control rules governing which actions are allowed for each vault under one or more specified conditions;

authenticating, by a hardware security module managing private keys of asymmetric cryptographic key pairs usable to control access to the cryptoassets associated with the user, the policy map for the vault on which the action is requested based on a cryptographic key controlled by the hardware security module;

checking, by the hardware security module, the action against the policy map for the vault when the policy map for the vault is authenticated based on the cryptographic key controlled by the hardware security module; and

effecting, by the hardware security module, the action when the action is confirmed to be in accordance with the policy map for the vault, wherein effecting the action comprises:

decrypting the cryptographic key controlled by the hardware security module using a hardware-based cryptographic key securely stored in the hardware security module;

enforcing the logical groupings of the multiple different vaults by deriving the private keys of the asymmetric cryptographic key pairs from respective identifiers of the multiple different vaults in the cryptoasset custodial system;

regenerating a private key for one of the cryptoassets by applying a deterministic key derivation function to at least one of the respective identifier for the vault, an asset identifier for the one of the cryptoassets, or the cryptographic key associated with the user; and

digitally signing at least a portion of the request using the regenerated private key for the one of the cryptoassets,

wherein the cryptographic key controlled by the hardware security module is a private key of an asymmetric cryptographic key pair associated with the user, and authenticating the policy map comprises using a public key of the asymmetric cryptographic key pair associated with the user to validate a cryptographic digital signature of the policy map for the vault.

2. The method of claim 1 , wherein the hardware security module comprises at least one secure storage device and at least one physical computing device coupled to the at least one secure storage device, the at least one physical computing device being configured to provide cryptographic processing to manage, for the user, the private keys of the asymmetric cryptographic key pairs.

3. The method of claim 1 , wherein the vault control rules of the policy map for the vault specify, for the action, a plurality of users of the cryptoasset custodial system and a threshold number of the plurality of users required to approve the action.

4. The method of claim 3 , wherein checking the action against the policy map for the vault comprises:

validating a plurality of endorsement messages from at least a subset of the specified plurality of users, and

confirming that the action is in accordance with the vault control rules of the policy map when the plurality of endorsement messages have been validated for the threshold number of the specified plurality of users.

5. The method of claim 4 , wherein validating the plurality of endorsement messages comprises checking cryptographic digital signatures using public keys corresponding to the subset of the specified plurality of users.

6. The method of claim 1 , wherein the action comprises changing the policy map for the vault, and effecting the action further comprises:

processing an updated version of the policy map using the cryptographic key controlled by the hardware security module; and

storing results of the processing for future use by the hardware security module.

7. The method of claim 6 , wherein processing the updated version of the policy map further comprises digitally signing, at the hardware security module, the updated version of the policy map using the private key of the asymmetric cryptographic key pair.

8. The method of claim 1 , wherein effecting the action further comprises:

transmitting resulting digital signature data to at least one blockchain; and

deleting the regenerated private key for the one of the cryptoassets from the hardware security module.

9. A system comprising:

a hardware security module comprising i) at least one secure storage device storing instructions and ii) at least one physical computing device configured to execute the instructions to perform operations comprising:

receiving a request to take an action with respect to a vault of multiple different vaults in a cryptoasset custodial system, wherein the multiple different vaults are logical groupings of cryptoassets associated with a user of the cryptoasset custodial system, and each of the multiple different vaults has an associated policy map that defines vault control rules governing which actions are allowed for each vault under one or more specified conditions;

authenticating the policy map for the vault on which the action is requested based on a cryptographic key controlled by the hardware security module, the hardware security module managing private keys of asymmetric cryptographic key pairs usable to control access to the cryptoassets associated with the user;

checking the action against the policy map for the vault when the policy map for the vault is authenticated based on the cryptographic key controlled by the hardware security module; and

effecting the action when the action is confirmed to be in accordance with the policy map for the vault, wherein effecting the action comprises:

decrypting the cryptographic key controlled by the hardware security module using a hardware-based cryptographic key securely stored in the hardware security module;

enforcing the logical groupings of the multiple different vaults by deriving the private keys of the asymmetric cryptographic key pairs from respective identifiers of the multiple different vaults in the cryptoasset custodial system;

regenerating a private key for one of the cryptoassets by applying a deterministic key derivation function to at least one of the respective identifier for the vault, an asset identifier for the one of the cryptoassets, or the cryptographic key associated with the user; and

digitally signing at least a portion of the request using the regenerated private key for the one of the cryptoassets,

wherein the cryptographic key controlled by the hardware security module is a private key of an asymmetric cryptographic key pair associated with the user, and authenticating the policy map comprises using a public key of the asymmetric cryptographic key pair associated with the user to validate a cryptographic digital signature of the policy map for the vault.

10. The system of claim 9 , wherein the at least one physical computing device is configured to provide cryptographic processing to manage, for the user, the private keys of the asymmetric cryptographic key pairs.

11. The system of claim 9 , wherein the vault control rules of the policy map for the vault specify, for the action, a plurality of users of the cryptoasset custodial system and a threshold number of the plurality of users required to approve the action.

12. The system of claim 11 , wherein checking the action against the policy map for the vault comprises:

validating a plurality of endorsement messages from at least a subset of the specified plurality of users, and

confirming that the action is in accordance with the vault control rules of the policy map when the plurality of endorsement messages have been validated for the threshold number of the specified plurality of users.

13. The system of claim 9 , wherein the action comprises changing the policy map for the vault, and effecting the action further comprises:

processing an updated version of the policy map using the cryptographic key controlled by the hardware security module; and

storing results of the processing for future use by the hardware security module.

14. The system of claim 9 , wherein effecting the action further comprises:

transmitting resulting digital signature data to at least one blockchain; and

deleting the regenerated private key for the one of the cryptoassets from the hardware security module.

15. A non-transitory computer-readable medium storing computer-executable instructions, which, when executed by a hardware security module, cause the hardware security module to perform operations comprising:

receiving a request to take an action with respect to a vault of multiple different vaults in a cryptoasset custodial system, wherein the multiple different vaults are logical groupings of cryptoassets associated with a user of the cryptoasset custodial system, and each of the multiple different vaults has an associated policy map that defines vault control rules governing which actions are allowed for each vault under one or more specified conditions;

authenticating the policy map for the vault on which the action is requested based on a cryptographic key controlled by the hardware security module, the hardware security module managing private keys of asymmetric cryptographic key pairs usable to control access to cryptoassets associated with a user;

checking the action against the policy map for the vault when the policy map for the vault is authenticated based on the cryptographic key controlled by the hardware security module; and

effecting the action when the action is confirmed to be in accordance with the policy map for the vault, wherein effecting the action comprises:

decrypting the cryptographic key controlled by the hardware security module using a hardware-based cryptographic key securely stored in the hardware security module;

enforcing the logical groupings of the multiple different vaults by deriving the private keys of the asymmetric cryptographic key pairs from respective identifiers of the multiple different vaults in the cryptoasset custodial system;

regenerating a private key for one of the cryptoassets by applying a deterministic key derivation function to at least one of the respective identifier for the vault, an asset identifier for the one of the cryptoassets, or the cryptographic key associated with the user; and

digitally signing at least a portion of the request using the regenerated private key for the one of the cryptoassets,

wherein the cryptographic key controlled by the hardware security module is a private key of an asymmetric cryptographic key pair associated with the user, and authenticating the policy map comprises using a public key of the asymmetric cryptographic key pair associated with the user to validate a cryptographic digital signature of the policy map for the vault.

16. The computer-readable medium of claim 15 , wherein the hardware security module comprises at least one secure storage device and at least one physical computing device coupled to the at least one secure storage device, the at least one physical computing device being configured to provide cryptographic processing to manage, for the user, the private keys of the asymmetric cryptographic key pairs.

17. The computer-readable medium of claim 15 , wherein the vault control rules of the policy map for the vault specify, for the action, a plurality of users of the cryptoasset custodial system and a threshold number of the plurality of users required to approve the action.

18. The computer-readable medium of claim 17 , wherein checking the action against the policy map for the vault comprises:

validating a plurality of endorsement messages from at least a subset of the specified plurality of users, and

confirming that the action is in accordance with the vault control rules of the policy map when the plurality of endorsement messages have been validated for the threshold number of the specified plurality of users.

19. The computer-readable medium of claim 15 , wherein the action comprises changing the policy map for the vault, and effecting the action further comprises:

processing an updated version of the policy map using the cryptographic key controlled by the hardware security module; and

storing results of the processing for future use by the hardware security module.

20. The computer-readable medium of claim 15 , wherein effecting the action further comprises:

transmitting resulting digital signature data to at least one blockchain; and

deleting the regenerated private key for the one of the cryptoassets from the hardware security module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2021
From: MONICA, DIOGO; MCCAULEY, NATHAN P.; AVITAL, BOAZ; FAIZULLABHOY, RIYAZ D.
To: ANCHOR LABS, INC.
Reel/Frame 056744/0771 →
Continuity (6)
Continuation 16544740 · Aug 19, 2019
Continuation In Part 16255666 · Jan 23, 2019
Continuation In Part 16011529 · Jun 18, 2018
Provisional Application 62640429 · Mar 8, 2018
Provisional Application 62636106 · Feb 27, 2018
Related Publication 20210336782A1 · Oct 28, 2021