Blockchain Key Reclamation via OPRF and Secret Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for secure key management, particularly in decentralized environments like blockchain networks, face challenges in protecting private keys from brute-force attacks and unauthorized access, as password-based authentication can be vulnerable to malicious attacks.
Innovation Solution
The implementation of an oblivious pseudorandom function (OPRF) is used to encrypt private keys, generating key shares based on a secret input value, which are then distributed across multiple blockchain peers, ensuring that only the client with the correct password can recover the encryption key, thus protecting the password from both malicious clients and servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If password-based authentication is used for key management, then ease of operation is improved, but security against brute-force attacks deteriorates
Solution Approach 1:
The encryption key is segmented into multiple key shares using secret sharing schemes (e.g., Shamir's Secret Sharing). Each key share is distributed to different blockchain peers, and none of the individual shares can reveal the original key. This segmentation prevents brute-force attacks on the complete key while maintaining operational ease through distributed access.
Solution Approach 2:
An oblivious pseudorandom function (OPRF) acts as an intermediary between the client and blockchain peers. The OPRF allows the client to obtain key shares without revealing the password to the peers, and the peers can store and distribute key shares without knowing the underlying password. This intermediary protects the password from brute-force attacks while enabling easy key recovery.
2Reliability
If private keys are stored on blockchain peers, then reliability of key recovery is improved, but vulnerability to unauthorized access worsens
Solution Approach 1:
The private key is divided into multiple key shares that are distributed across different blockchain peers. Each peer holds only a fragment of the key, making it impossible for any single peer or coalition below the threshold to unauthorizedly access or reconstruct the key. This segmentation enables reliable key recovery through distributed consensus while preventing unauthorized access.
Solution Approach 2:
Different blockchain peers hold different key shares with different properties. Each key share is locally optimized for its specific storage location and access pattern. The system assigns key shares to peers based on their security characteristics and access permissions, ensuring that each local storage location contributes uniquely to the overall security and recovery reliability.
3Reliability
If key shares are distributed across multiple blockchain peers, then security against single-point failure is improved, but device complexity worsens
Solution Approach 1:
The blockchain peers serve multiple functions: they act as both the distributed storage infrastructure for key shares and the authentication mechanism itself. The existing blockchain consensus and communication protocols are leveraged to handle key share distribution and recovery, eliminating the need for separate dedicated key management infrastructure and reducing overall system complexity despite the distributed architecture.
Solution Approach 2:
The system uses the blockchain's own native mechanisms (smart contracts, consensus protocols, and existing peer-to-peer communication) to manage key shares. The blockchain network self-services the key distribution and recovery processes without requiring external key management systems, reducing complexity by reusing existing infrastructure for multiple purposes.
Data Source
AI summary
An example operation may include one or more of encrypting a private key with an encryption key, generating a plurality of keys based on the encryption key and converting the plurality of keys into a plurality of key shares based on a secret input value, storing the encrypted private key on a blockchain, and distributing the plurality of key shares to a plurality of blockchain peers of the blockchain, where the distributing comprises transmitting a different key share from among the plurality of key shares to each blockchain peer among the plurality of blockchain peers.


