Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: receiving, at a remote security controller (RSC) executing on a first host computing device, a key generation request for a client application executing on a second host computing device coupled to the first host computing device over a computer network; generating, at the RSC, a symmetric key using a key agreement protocol between the RSC and a local security controller (LSC) executing on the second host computing device; generating, by the RSC in response to the key generation request, a split private key having 1) a first fragment encrypted using the symmetric key and 2) a second fragment not encrypted using the symmetric key; and sending, by the RSC to the second host computing device, the split private key as part of a key generation response; and wherein the LSC is executable to decrypt the first fragment by deriving the symmetric key using the key agreement protocol, and wherein the LSC and the client application are executable to perform a Multiparty Computation (MPC) cryptographic operation to digitally sign a data value using the split private key without the client application having access to the symmetric key.
2. The method of claim 1, wherein the key agreement protocol used by the RSC to generate the symmetric key is based on: an RSC private key of an RSC key pair that also includes an RSC public key; and an LSC public key of an LSC key pair that also includes an LSC private key, the LSC public key being received by the RSC as part of a registration request from the LSC.
3. The method of claim 2, wherein the key generation response includes the RSC public key, and wherein the LSC is executable to decrypt the first fragment by using the key agreement protocol to derive the symmetric key based on: the RSC public key; and the LSC private key.
4. The method of claim 3, further comprising: discarding, by the RSC, the LSC public key after sending the key generation response.
5. The method of claim 1, wherein the key generation response includes a certificate for the client application that is signed by a private root key of the RSC, the certificate including a public key for the client application that is paired with the split private key.
6. The method of claim 1, wherein the RSC is configured to generate a unique symmetric key for each client application on a given host computing device.
7. The method of claim 1, wherein the RSC is implemented within a key management service (KMS) of a computer system.
8. The method of claim 1, wherein the RSC is executable to register LSCs executing on a plurality of host computing devices and to respond to key generation requests from different client applications on a given host computing device.
9. A method, comprising: receiving, at a local security controller (LSC), a key generation request from a client application; sending, by the LSC, the key generation request to a remote security controller (RSC) executing on a first host computing device, wherein the LSC and the client application are executing on a second host computing device coupled to the first host computing device by a computer network; receiving, at the second host computing device, a split private key responsive to the key generation request, the split private key including 1) a first fragment encrypted by the RSC with a symmetric key and 2) a second fragment not encrypted with the symmetric key; and wherein the LSC is executable to decrypt the first fragment by deriving the symmetric key using a key agreement protocol with the RSC, and wherein the LSC and the client application are executable to perform a Multiparty Computation (MPC) cryptographic operation to digitally sign a data value on behalf of the client application with the split private key without the client application having access to the symmetric key.
10. The method of claim 9, further comprising the LSC: in response to a reset event, generating an LSC ephemeral key pair that includes an LSC ephemeral public key and an LSC ephemeral private key; and sending the LSC ephemeral public key to the RSC to use as part of the key agreement protocol to generate the symmetric key.
11. The method of claim 10, further comprising the LSC: receiving, in response to the key generation request, an RSC ephemeral public key generated as part of an RSC ephemeral key pair that also includes an RSC ephemeral private key used by the RSC as part of the key agreement protocol to generate the symmetric key; and deriving the symmetric key using the LSC ephemeral private key and the RSC ephemeral public key.
12. The method of claim 10, wherein the reset event is a bootup of the LSC.
13. The method of claim 9, wherein the LSC is executable to derive a unique symmetric key for each of a plurality of client applications executing on the second host computing device.
14. The method of claim 9, further comprising the LSC: receiving, from the client application, a key signature request that includes the first fragment of the split private key; decrypting the first fragment using a version of the symmetric key derived by the LSC using the key agreement protocol; and computing a first partial result from a first MPC cryptographic operation that uses a decrypted version of the first fragment; wherein the client application is executable to generate a second partial result from a second MPC cryptographic operation that uses the second fragment of the split private key; and wherein the first and second partial results are combinable to digitally sign a data value on behalf of the client application without the client application having access to the symmetric key.
15. A system, comprising: a first host computing device having a first processor subsystem and a first memory storing program instructions executable to implement a remote security controller (RSC); and a second host computing device coupled to the first host computing device over a computer network, the second host computing device having a second processor subsystem and a second memory storing program instructions executable to implement a local security controller (LSC) and a client application; wherein the RSC is executable, in response to a key generation request for the client application, to: generate a symmetric key using a key agreement protocol with the LSC; generate a split private key for the client application, the split private key including 1) a first fragment that is encrypted with the symmetric key, and 2) a second fragment that is not encrypted by the symmetric key; and distribute the split private key to the second host computing device; and wherein the LSC and the client application are executable to use the first and second fragments to perform a Multiparty Computation (MPC) operation to sign a digital data value.
16. The system of claim 15, wherein the LSC is executable to: receive a key signature request from the client application to use the split private key to sign the digital data value; derive the symmetric key using the key agreement protocol; decrypt the first fragment with the derived symmetric key; and generate a first partial MPC signature using the decrypted first fragment that is combinable with a second partial MPC signature generated by the client application using the second fragment to form a final MPC signature of the digital data value.
17. The system of claim 15, wherein the LSC is executable to register with the RSC by sending, to the RSC, an LSC public key of an LSC ephemeral key pair that also includes an LSC private key, and wherein the RSC is executable to generate the symmetric key by performing the key agreement protocol using the LSC public key and an RSC private key that is part of an RSC key pair that also includes an RSC public key.
18. The system of claim 17, wherein the RSC is executable to include the RSC public key when distributing the split private key to the second host computing device, and wherein the LSC is executable to derive the symmetric key by performing the key agreement protocol using the RSC public key and the LSC private key.
19. The system of claim 17, wherein the RSC is executable to discard the RSC key pair and the LSC public key after distributing the split private key and the RSC public key to the second host computing device.
20. The system of claim 15, further comprising one or more additional host computing devices coupled to the first host computing device over the computer network and configured to send key generation requests to the RSC and receive split private keys in response thereto, wherein a given additional host computing device has a memory storing program instructions executable by a corresponding processor subsystem to implement an LSC and one or more client applications that sign digital data values for client applications with corresponding split private keys using MPC operations.
Unknown
September 16, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.