IP Library Granted Patent US 12,401,518
Granted Patent B2
US 12,401,518 · App. 16/255,666 · Granted Aug 26, 2025

Cryptoasset custodial system with different rules governing access to logically separated cryptoassets

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/3247G06F21/602G06F21/604G06F21/645G06F21/72G06F21/78G06Q20/3674H04L9/0637H04L9/0877H04L9/0894H04L9/30H04L9/3236H04L63/10H04L63/126H04W12/069H04L9/50H04L2209/12H04L2209/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 12,401,518
App. No.
16/255,666
Granted
Aug 26, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including medium-encoded computer program products, for secure storage and retrieval of information, such as private keys, useable to control access to a blockchain, include, in at least one aspect, a method including: receiving a request to take an action with respect to a vault of multiple different vaults in a cryptoasset custodial system; authenticating, by an HSM, the policy map for the vault based on a cryptographic key controlled by the HSM; checking, by the HSM, 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 HSM; and effecting, by the HSM, the action when the action is confirmed to be in accordance with the policy map for the vault.

Claims (36)

1. A method comprising:

signing, by a hardware security module, policy maps for respective different vaults in a cryptoasset custodial system using a private key of an asymmetric cryptographic key pair of a custodial account;

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

determining, by the hardware security module, a vault identifier of the vault based on the request;

authenticating, by the hardware security module, a policy map for the vault on which the action is requested by validating a digital signature of the policy map using a public key of the asymmetric cryptographic key pair controlled by the hardware security module based on determining the vault identifier of the vault, wherein the hardware security module comprises at least one secure storage device and at least one physical computing device coupled with the at least one secure storage device, the at least one physical computing device being configured to provide cryptographic processing to manage, for the custodial account, private keys of asymmetric cryptographic key pairs usable to control access to the cryptoassets in at least one blockchain;

checking, by the hardware security module, the action against the policy map for the vault when the policy map for the vault is authenticated using the asymmetric cryptographic key pair controlled by the hardware security module;

deriving, by the hardware security module, a private key for the vault of the custodial account by applying a key derivation function to the vault identifier of the vault of the custodial account, thereby enforcing the logical groupings of the different vaults of the custodial account;

effecting, by the hardware security module, the action using a derived private key for the vault when the action is confirmed to be in accordance with the policy map for the vault;

regenerating, by the hardware security module, the private key for the one of the cryptoassets by applying the key derivation function to one or more of a unique identifier for the vault, an asset identifier for the one of the cryptoassets, or a cryptographic key associated with the custodial account;

digitally signing, by the hardware security module, at least a portion of the request using the private key for the one of the cryptoassets; and

sending resulting digital signature data to the at least one blockchain.

2. The method of claim 1 , wherein the vault control rules of the policy map for the vault specify, for the action, individual users of the cryptoasset custodial system and a threshold number of the individual users to approve the action, and checking the action against the policy map for the vault comprises:

validating endorsement messages from at least a subset of the specified individual users of the cryptoasset custodial system; and

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

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

4. The method of claim 2 , wherein the action comprises changing the policy map for the vault, and effecting the action comprises:

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

sending or saving results of the processing for future use by the hardware security module.

5. The method of claim 4 , wherein processing the updated version of the policy map comprises digitally signing, in the hardware security module, the updated version of the policy map using the private key of the asymmetric cryptographic key pair.

6. The method of claim 1 , further comprising: deleting, by the hardware security module, the private key for the one of the cryptoassets from memory in the hardware security module.

7. A non-transitory computer-readable medium encoding a computer program that, when executed by at least one physical computing device of a hardware security module, further comprising at least one secure storage device, causes the at least one physical computing device of the hardware security module to perform operations comprising:

signing policy maps for respective different vaults in a cryptoasset custodial system using a private key of an asymmetric cryptographic key pair of a custodial account;

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

determining a vault identifier of the vault based on the request;

authenticating a policy map for the vault on which the action is requested by validating a digital signature of the policy map using a public key of the asymmetric cryptographic key pair controlled by the hardware security module based on determining the vault identifier of the vault, wherein the at least one physical computing device is further configured to provide cryptographic processing to manage, for the custodial account, private keys of asymmetric cryptographic key pairs usable to control access to the cryptoassets in at least one blockchain;

checking the action against the policy map for the vault when the policy map for the vault is authenticated using the asymmetric cryptographic key pair controlled by the hardware security module;

deriving a private key for the vault of the custodial account by applying a key derivation function to the vault identifier of the vault of the custodial account, thereby enforcing the logical groupings of the different vaults of the custodial account;

effecting the action using a derived private key for the vault when the action is confirmed to be in accordance with the policy map for the vault;

regenerating the derived private key for the one of the cryptoassets by applying the key derivation function to one or more of a unique identifier for the vault, an asset identifier for the one of the cryptoassets, or a cryptographic key associated with the custodial account;

digitally signing at least a portion of the request using the derived private key for the one of the cryptoassets; and

sending resulting digital signature data to the at least one blockchain.

8. The non-transitory computer-readable medium of claim 7 , wherein the vault control rules of the policy map for the vault specify, for the action, individual users of the cryptoasset custodial system and a threshold number of the individual users to approve the action, and checking the action against the policy map for the vault comprises:

validating endorsement messages from at least a subset of the specified individual users of the cryptoasset custodial system; and

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

9. The non-transitory computer-readable medium of claim 7 , wherein the operations further comprise:

deleting the derived private key for the one of the cryptoassets from memory in the hardware security module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2019
From: MONICA, DIOGO; MCCAULEY, NATHAN P.; AVITAL, BOAZ; FAIZULLABHOY, RIYAZ D.
To: ANCHOR LABS, INC.
Reel/Frame 048665/0952 →
Continuity (4)
Continuation In Part 16011529 · Jun 18, 2018
Provisional Application 62640429 · Mar 8, 2018
Provisional Application 62636106 · Feb 27, 2018
Related Publication 20190268165A1 · Aug 29, 2019
References Cited (74)
US 6950523B1 · Brickell et al. · 2005 [cited by applicant]
US 9892460B1 · Winklevoss et al. · 2018 [cited by applicant]
US 9916581B2 · Dorsey et al. · 2018 [cited by applicant]
US 9935937B1 · Potlapally · 2018 [cited by examiner]
US 10068228B1 · Winklevoss et al. · 2018 [cited by applicant]
US 10373158B1 · James et al. · 2019 [cited by applicant]
US 10439811B2 · Norton · 2019 [cited by applicant]
US 11095446B2 · Monica · 2021 [cited by examiner]
US 20040128504A1 · Kivinen · 2004 [cited by applicant]
US 20040236694A1 · Tattan · 2004 [cited by applicant]
US 20050010758A1 · Landrock · 2005 [cited by examiner]
US 20050273442A1 · Bennett · 2005 [cited by applicant]
US 20080031460A1 · Brookner et al. · 2008 [cited by applicant]
US 20100024017A1 · Ashfield et al. · 2010 [cited by applicant]
US 20100119061A1 · Kawale · 2010 [cited by applicant]
US 20110154025A1 · Spalka · 2011 [cited by applicant]
US 20120192260A1 · Kontsevich · 2012 [cited by applicant]
US 20140040051A1 · Ovick et al. · 2014 [cited by applicant]
US 20140046842A1 · Irudayam · 2014 [cited by applicant]
US 20140156534A1 · Quigley et al. · 2014 [cited by applicant]
US 20150170112A1 · DeCastro · 2015 [cited by applicant]
US 20150287026A1 · Yang et al. · 2015 [cited by applicant]
US 20150302397A1 · Kalgi · 2015 [cited by examiner]
US 20150363778A1 · Ronca et al. · 2015 [cited by applicant]
US 20150373122A1 · Steel et al. · 2015 [cited by applicant]
US 20160189134A1 · Voege et al. · 2016 [cited by applicant]
US 20160283920A1 · Fisher et al. · 2016 [cited by applicant]
US 20160285872A1 · Polar · 2016 [cited by applicant]
US 20170006018A1 · Campagna · 2017 [cited by applicant]
US 20170076518A1 · Patterson et al. · 2017 [cited by applicant]
US 20170154331A1 · Voorhees · 2017 [cited by applicant]
US 20170230375A1 · Kurian · 2017 [cited by applicant]
US 20170237554A1 · Jacobs · 2017 [cited by examiner]
US 20170373849A1 · Donner et al. · 2017 [cited by applicant]
US 20170374033A1 · Kovacs · 2017 [cited by applicant]
US 20180082076A1 · Murray · 2018 [cited by examiner]
US 20180130158A1 · Atkinson et al. · 2018 [cited by applicant]
US 20180181737A1 · Tussy · 2018 [cited by applicant]
US 20180367311A1 · Stahlberg · 2018 [cited by examiner]
US 20180367316A1 · Cheng et al. · 2018 [cited by applicant]
US 20190007205A1 · Corduan · 2019 [cited by examiner]
US 20190043022A1 · Fosmark et al. · 2019 [cited by applicant]
US 20190052456A1 · Bygrave · 2019 [cited by examiner]
US 20190207915A1 · Schaap · 2019 [cited by examiner]
US 20190236594A1 · Ehrloch-Quinn et al. · 2019 [cited by applicant]
US 20190251524A1 · Sadrizadeh et al. · 2019 [cited by applicant]
US 20190266576A1 · McCauley et al. · 2019 [cited by applicant]
US 20190305956A1 · Irani, III · 2019 [cited by applicant]
US 20190347666A1 · Bermudez-Cisneros et al. · 2019 [cited by applicant]
US 20190356491A1 · Herder, III et al. · 2019 [cited by applicant]
US 20190372779A1 · Monica et al. · 2019 [cited by applicant]
US 20200167338A1 · Brock et al. · 2020 [cited by applicant]
US 20200266997A1 · Monica et al. · 2020 [cited by applicant]
US 20200380523A1 · Agrawal et al. · 2020 [cited by applicant]
US 20210056548A1 · Monica et al. · 2021 [cited by applicant]
US 20210073753A1 · Shtylman · 2021 [cited by examiner]
CN 107533501A · 2018 [cited by applicant]
Anonymous: “Hierarchical Deterministic: Wallets—BIP32”, Feb. 2017, Retrieved from the Internet: URL:https://github.com/bitcoin/bips/blob/11 b0fa37bee4eac40c3albe059107868$bcc3392/bip-0032.mediawiki [retrieved on Jun. 20… [cited by applicant]
Anonymous: “How to properly secure cryptocurrencies exchanges—Ledger”, Aug. 2016, Retrieved from the Internet: URL:https://www.ledger.fr/2016/08/08/hcpw-to-properly-secure-cryptocu rrenci es-exchanges/ [retrieved on Jun… [cited by applicant]
International Search Report and Written Opinion in Application No. PCT/US2019/019425, dated May 9, 2019, 12 pages. [cited by applicant]
Response to US Office Action in U.S. Appl. No. 16/544,740, dated Jul. 31, 2020, 15 pages. [cited by applicant]
US Notice of Allowance in U.S. Appl. No. 16/544,740, dated Aug. 18, 2020, 12 pages. [cited by applicant]
Bonneau et al., “SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies,” 2015 IEEE Symposium on Security and Privacy, May 17-21, 2015, San Jose, CA, USA, 104-121. [cited by applicant]
Liu et al., “Security Analysis of Electronic Payment Protocols Based on Quantum Cryptography,” 2017 4th International Conference on Information Science and Control Engineering, Jul. 21-23, 2017, Changsha, China, 1709-17… [cited by applicant]
US Office Action in U.S. Appl. No. 16/544,740, dated Jun. 2, 2020, 47 pages. [cited by applicant]
Cryptomathic.com [online], “Understanding Hardware Security Modules,” Sep. 13, 2017, retrieved on Dec. 31, 2018, retrieved from: URL<https:www.cryptomathic.com/news-events/blog/understanding-hardware-security-modules-hs… [cited by applicant]
Wired.com [online], “Crypto anchors' might stop the next Equifax-style megabreach,” Oct. 11, 2017, retrieved from: URLhttps://www.wired.com/story/crypto-anchors-breach-security/>, 11 pages. [cited by applicant]
PCT International Search Report and Written Opinion in International Appln. No. PCT/US2020/017411, dated Apr. 15, 2020, 19 pages. [cited by applicant]
International Search Report and Written Opinion in Application No. PCT/US2019/019414, dated May 15, 2019, 12 pages. [cited by applicant]
Monica, “Crypto Anchors: Exfiltration Resistant Infrastructure,” 11 pages, dated Oct. 8, 2017. [cited by applicant]
Monica, “Increasing Attacker Cost Using Immutable Infrastructure,” 8 pages, dated Nov. 19, 2016. [cited by applicant]
Monica, “The two metrics that matter for host security,” 6 pages, dated Aug. 31, 2017. [cited by applicant]
Chinese Office Action with Search Report in corresponding Chinese Application No. 201980028214.0, dated Feb. 27, 2024 (13pages). [cited by applicant]
Chinese Office Action with supplementary search report issued in Chinese Application No. 201980028214.0, issued Nov. 18, 2024 (18 pages). [cited by applicant]