IP Library Granted Patent US 12,457,123
Granted Patent B2
US 12,457,123 · App. 18/594,191 · Granted Oct 28, 2025

Secure key and transaction management for multi-party computation systems

Inventors: Miles Robert Parry (Croydon, GB); Cat-Tuong Le-Huy (London, GB); Olaf Stelling (Florence, IT)
Assignee: MPC Holding, Inc.
H04L9/50G06Q20/3674G06Q20/3825G06Q20/3829H04L9/3247
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,457,123
App. No.
18/594,191
Granted
Oct 28, 2025
Kind
B2
Abstract

The disclosed technology provides for managing, authenticating, and authorizing transactions utilizing multi-party-computation (“MPC”) across a network. A method includes receiving, by a server, policy data defining a transaction signing policy, receiving, from an initiator node, a transaction request, in response to receiving the transaction request: (i) determining, based on the transaction signing policy, a threshold number of virtual nodes in a cloud environment that are included in a transaction signing group and that are required to authorize the transaction request, and (ii) sending, to each of the virtual nodes, an authorization request to authorize the transaction request, receiving, from at least a subset of the virtual nodes, authorization data indicating that the transaction request has been authorized, and returning, to a hardware security module (HSM), a transaction payload based on processing the authorization data.

Claims (39)

1. A method for managing, authenticating, and authorizing transactions utilizing multi-party-computation (“MPC”) across a network, the method comprising:

receiving, by a server and from a primary client device, policy data that defines a transaction signing policy, wherein the policy data comprises (i) a designation of a transaction signing group, (ii) a designation of a plurality of virtual nodes in a cloud environment that are included in the transaction signing group, and (iii) for each transaction class of a plurality of transaction classes, a corresponding threshold number of the plurality of virtual nodes that is required to authorize a transaction request, wherein the transaction request is a member of the transaction class;

receiving, by the server and from an initiator node, the transaction request, wherein the transaction request includes a transaction parameter that indicates a transaction class of the transaction that is a member of the plurality of transaction classes;

in response to receiving the transaction request:

(i) determining, by the server and based on the transaction parameter and the transaction signing policy, a threshold number of virtual nodes amongst the plurality of virtual nodes that are included in the transaction signing group that are required to authorize the transaction request, and

(ii) sending, by the server and to each of the plurality of virtual nodes that are included in the transaction signing group, an authorization request for each of the plurality of virtual nodes that are included in the transaction signing group to authorize the transaction request;

receiving, by the server and from at least a subset of the plurality of virtual nodes that are included in the transaction signing group, authorization data indicating that the transaction request has been authorized by the respective virtual node; and

based on a determination that the authorization data is collected from a number of the plurality of virtual nodes that are included in the transaction signing group that satisfies the threshold number of virtual nodes required to authorize the transaction request, returning, by the server and to a hardware security module (HSM), a transaction payload.

2. The method of claim 1 , wherein the HSM is configured to execute software that is provided by the server, wherein executing the software causes the HSM to:

compute a cryptographic private access key that is associated with digital data for the transaction request in response to the server determining that the authorization data is collected from the number of the plurality of virtual nodes that are included in the transaction signing group, wherein the determination made by the server indicates that secret material associated with the digital data can be used by the HSM to compute the cryptographic private access key.

3. The method of claim 2 , wherein the cryptographic private access key is not stored by the HSM.

4. The method of claim 2 , wherein executing the software further causes the HSM to digitally sign the transaction request.

5. The method of claim 4 , wherein executing the software further causes the HSM to broadcast the signed transaction request across the network via one or more third-party nodes selected by the primary client device or the initiator node.

6. The method of claim 1 , wherein the network is a blockchain.

7. The method of claim 1 , wherein, before returning, by the server and to a hardware security module (HSM), a transaction payload, the method comprises performing, by the server, a multi-layer authentication check.

8. The method of claim 7 , wherein the multi-layer authentication check comprises at least one, two, and three layers.

9. The method of claim 7 , wherein the transaction payload is returned in response to determining, by the server, that each check of the multi-layer authentication check passes.

10. The method of claim 7 , the method further comprising denying, by the server, execution of the transaction based on a determination that one check of the multi-layer authentication check does not pass.

11. The method of claim 7 , wherein performing, by the server, the multi-layer authentication check comprises verifying, for each of the plurality of virtual nodes in the transaction signing group, (i) a share of a cryptographic key provided by the virtual node and (ii) an identifier associated with the virtual node, wherein (i) and (ii) are received in the authorization data.

12. The method of claim 7 , wherein performing, by the server, the multi-layer authentication check comprises verifying the policy data.

13. The method of claim 7 , wherein performing, by the server, the multi-layer authentication check comprises performing remote attestation to check whether an execution environment of the HSM is secure.

14. The method of claim 7 , wherein performing, by the server, the multi-layer authentication check comprises encrypting the transaction payload, wherein encrypting the transaction payload prevents the server from accessing corresponding transaction data.

15. The method of claim 7 , wherein performing, by the server, the multi-layer authentication check comprises creating a secure enclave for executing code for the transaction.

16. The method of claim 7 , wherein performing, by the server, the multi-layer authentication check comprises validating the HSM and validating code execution operations for the transaction to be performed at the HSM.

17. The method of claim 1 , wherein the server comprises an automated policy engine configured to perform operations of the method comprising:

determining, based on the transaction parameter and the signing policy, the threshold number of virtual nodes amongst the plurality of virtual nodes that are included in the transaction signing group that are required to authorize the transaction request,

determining the authorization data is collected from a number of the plurality of virtual nodes that are included in the transaction signing group that satisfies the threshold number of virtual nodes required to authorize the transaction request, and

returning the transaction payload for the authorized transaction request.

18. A method for managing transactions across a network, the method comprising:

receiving, by a server executing software to manage transactions over a network, policy data that defines a transaction signing policy, wherein the policy data comprises (i) a designation of a transaction signing group, (ii) a designation of a plurality of virtual nodes in a cloud environment that are included in the transaction signing group, and (iii) a threshold number of the plurality of virtual nodes that is required to authorize a transaction request;

receiving, by the server and from an initiator node, the transaction request;

determining, by a policy engine of the server and based on the transaction signing policy, a threshold number of virtual nodes amongst the plurality of virtual nodes that are included in the transaction signing group that are required to authorize the transaction request;

sending, by the server and to each of the plurality of virtual nodes that are included in the transaction signing group, an authorization request for each of the plurality of virtual nodes that are included in the transaction signing group to authorize the transaction request;

receiving, by the server and from at least a subset of the plurality of virtual nodes that are included in the transaction signing group, authorization data indicating that the transaction request has been authorized by the respective virtual node;

determining, by the policy engine of the server, whether the authorization data is collected from a number of the plurality of virtual nodes that are included in the transaction signing group that satisfies the threshold number of virtual nodes required to authorize the transaction request; and

based on a determination that the authorization data is collected from the threshold number of virtual nodes required to authorize the transaction request, returning, by the server and to a hardware security module (HSM), a transaction payload.

19. The method of 18 , wherein the HSM is configured to execute software that is provided by the server, wherein executing the software causes the HSM to:

compute a cryptographic private access key that is associated with digital data for the transaction request in response to the server determining that the authorization data is collected from the threshold number of the plurality of virtual nodes, wherein the determination made by the server indicates that secret material associated with the digital data can be used by the HSM to compute the cryptographic private access key.

20. The method of claim 19 , wherein the digital data comprises a digital wallet.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2025
From: MPCH.IO LABS, INC.
To: MPC HOLDING, INC.
Reel/Frame 070162/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2024
From: PARRY, MILES ROBERT; LE-HUY, CAT; STELLING, OLAF
To: MPCH.IO LABS, INC.
Reel/Frame 069548/0880 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2024
From: PARRY, MILES ROBERT; LE-HUY, CAT-TUONG; STELLING, OLAF
To: MPCH.IO LABS, INC.
Reel/Frame 068345/0568 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2024
From: STELLING, OLAF; LE-HUY, CAT-TUONG
To: MPCH.IO LABS, INC.
Reel/Frame 068345/0676 →
Continuity (3)
Provisional Application 63509017 · Jun 19, 2023
Provisional Application 63449876 · Mar 3, 2023
Related Publication 20240296445A1 · Sep 5, 2024
References Cited (30)
US 10211977B1 · Roth et al. · 2019 [cited by applicant]
US 11418329B1 · Miller · 2022 [cited by applicant]
US 20170222802A1 · Rubin et al. · 2017 [cited by applicant]
US 20180167203A1 · Belenko · 2018 [cited by applicant]
US 20180205711A1 · Kumar et al. · 2018 [cited by applicant]
US 20180295115A1 · Kumar et al. · 2018 [cited by applicant]
US 20190044929A1 · Kashyap et al. · 2019 [cited by applicant]
US 20190158474A1 · Kashyap et al. · 2019 [cited by applicant]
US 20200028842A1 · Leiserson et al. · 2020 [cited by applicant]
US 20200044863A1 · Yadlin et al. · 2020 [cited by applicant]
US 20200204357A1 · Seyfried et al. · 2020 [cited by applicant]
US 20200204530A1 · Kumar et al. · 2020 [cited by applicant]
US 20210111886A1 · Leiserson · 2021 [cited by applicant]
US 20210240857A1 · Bandi et al. · 2021 [cited by applicant]
US 20210273921A1 · Kumar et al. · 2021 [cited by applicant]
US 20220014456A1 · Bandi et al. · 2022 [cited by applicant]
US 20220247576A1 · Beekman et al. · 2022 [cited by applicant]
US 20220277107A1 · Beekman et al. · 2022 [cited by applicant]
US 20220318907A1 · Bleznak · 2022 [cited by examiner]
US 20230155989A1 · Kumar et al. · 2023 [cited by applicant]
US 20230421396A1 · Ocegueda · 2023 [cited by examiner]
US 20230421397A1 · Ocegueda · 2023 [cited by examiner]
US 20230421540A1 · Ocegueda · 2023 [cited by examiner]
US 20240015023A1 · Stock · 2024 [cited by examiner]
US 20240015034A1 · Stock · 2024 [cited by examiner]
US 20240015035A1 · Stock · 2024 [cited by examiner]
US 20240070659A1 · Boo · 2024 [cited by examiner]
Jaroucheh et al. “Secretation: Toward a Decentralised Identity and Verifiable Credentials Based Scalable and Decentralised Secret Management Solution”, 2021 IEEE International Conference on Blockchain and Cryptocurrency… [cited by examiner]
Cordial Systems Website, accessed at https://web.archive.org/web/20240301034235/https://cordialsystems.com/ (Way Back Machine Internet Archive) on May 17, 2024, snapshot dated Mar. 1, 2024, 8 pages. [cited by applicant]
International Search Report and Written Opinion in PCT/US2024/018295 dated Jun. 10, 2024, 12 pages. [cited by applicant]