Software Wallet Key Recovery Using Split Local and Server Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for managing private keys in software wallets are insecure, as they often require users to store or manage the private key directly, leading to potential loss and lack of security, especially when devices are lost, damaged, or changed.
Innovation Solution
A method involving a terminal device that generates a decryption code and a recovery phrase through reversible encryption, storing the QR code with the decryption code embedded on the user's device and the recovery phrase on a server, allowing recovery of the private key using both elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the private key is stored on a single device or server, then recovery is simple, but security is compromised and loss occurs when the device is lost or damaged
Solution Approach 1:
The private key is divided into multiple components: a decryption code stored locally on the user's terminal device and an encrypted private key stored on a server. Both components are required to recover the private key, eliminating single-point failure and enhancing reliability without requiring complex multi-signature protocols.
Solution Approach 2:
A server acts as an intermediary between the user and their private key recovery. The server stores the encrypted private key and receives recovery requests, mediating the recovery process while maintaining security. This simplifies the user interface compared to direct peer-to-peer key sharing protocols.
2Ease of operation
If the user stores the private key manually (e.g., on paper), then no server storage is needed, but security is compromised and recovery is inconvenient
Solution Approach 1:
The system performs preliminary encryption of the private key and generates a decryption code before any loss or damage occurs. The encrypted private key is stored on a secure server while the decryption code is stored locally, preparing both components in advance for potential recovery scenarios.
Solution Approach 2:
Instead of storing the actual private key, the system stores an encrypted copy on the server and a decryption code locally. This copying approach allows recovery without exposing the original private key, maintaining security while improving convenience over manual storage methods.
3Reliability
If the server stores the encrypted private key, then recovery is enabled, but the server becomes a security target
Solution Approach 1:
Different security measures are applied to different components: the encrypted private key on the server uses strong encryption, while the decryption code stored locally on user devices provides an additional security layer. This local differentiation of security properties reduces the server's attack surface while maintaining recoverability.
Data Source
AI summary
An information processing method includes causing a terminal device of a user to generate first information and second information that are required to recover a private key of a software wallet of the user; causing the terminal device to transmit, to a server, the second information in association with a user identifier; and causing the server to transmit the second information to the terminal device, in response to an event in which the server receives, from the terminal device, the user identifier and a request for the second information.


