Split Private Key MPC Signing With Remote And Local Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments, private keys for client applications are often stored in clear form, making them accessible to multiple entities and increasing the risk of misappropriation, which traditional authentication methods like IP-based allow lists suffer from scalability issues.

Innovation Solution

Implementing secure Multiparty Computation (MPC) techniques to generate and use split private keys, where a security controller encrypts a fragment of the key and employs MPC operations with the client application to sign data without exposing the full key, enhancing security and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If private keys are stored in clear form for client applications, then authentication operations can be performed efficiently, but security is compromised as keys become accessible to multiple entities

Engineering Contradiction:
Improveauthentication operation efficiencyVSAvoidprivate key security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The private key is divided into multiple fragments (first fragment and second fragment) that are distributed to different entities. The client application receives one fragment while the security controller retains another fragment encrypted with a symmetric key. This segmentation ensures that no single entity possesses the complete private key, thereby maintaining security while enabling authentication operations through coordinated use of fragments via MPC protocols.

Inventive Principle:
Principle #1Segmentation

2Reliability

If traditional IP-based allow lists are used for access control, then security policies can be implemented, but scalability is limited due to operational overhead

Engineering Contradiction:
Improveaccess control securityVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

A security controller acts as an intermediary between client applications and the authentication infrastructure. Instead of relying on IP-based allow lists that require manual management and scaling, the security controller mediates authentication by holding encrypted key fragments and participating in MPC operations. This intermediary approach automates access control decisions and eliminates the operational overhead associated with managing IP allow lists, thereby improving scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If the full private key is exposed to client applications, then key usage is simplified, but the risk of key misappropriation increases

Engineering Contradiction:
Improvekey usage simplicityVSAvoidkey misappropriation risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The client application receives and uses only a partial fragment of the private key rather than the complete key. This partial action principle ensures that even if the client application is compromised, the attacker obtains only a fragment that is useless without the corresponding fragment held by the security controller. The MPC protocol enables the client to perform authentication operations with this partial fragment, maintaining operational simplicity while dramatically reducing misappropriation risk.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12418405B2Protecting application private keys with remote and local security controllers
Publication Date: 2025.09.16 SALESFORCE INC
  • US12418405B2 patent drawing
  • US12418405B2 patent drawing
  • US12418405B2 patent drawing

AI summary

A remote security controller (RSC) generates a private key for a client application on a different host computing device and splits the private key into a first fragment and a second fragment. The first fragment, but not the second fragment, is encrypted using a symmetric key. The split private key is returned to the different host computing device. A local security controller (LSC) on the different host computing device is able to derive the symmetric key using a key agreement protocol with the RSC. When the client application needs to digitally sign a data value with the split private key, the client application generates a first partial Multiparty Computation (MPC) signature using the second fragment. The LSC generates a second partial MPC signature with the first fragment, which has been decrypted using the symmetric key. The first and second partial MPC signatures are combinable to digitally sign the data value.