Secure Key Provisioning via Escrow Server
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication applications face security risks during the transfer of private keys from one installation to another, as malicious users can acquire and misuse these keys to impersonate legitimate users or eavesdrop on their communications.
Innovation Solution
A system that derives and encrypts root user identifiers, identity key pairs, and storage keys using an escrow key, which is further encrypted with a password-based key derivation function, creating a key escrow bundle transmitted to a server for secure provisioning across multiple devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If private keys are transferred from first installation to subsequent installation, then communication continuity is enabled, but security risk increases due to potential key acquisition by malicious users
Solution Approach 1:
A key escrow server acts as an intermediary between the first installation and subsequent installations. The private keys are uploaded to this trusted server during the first installation, and subsequent installations retrieve their keys from the server rather than transferring them directly through potentially insecure channels. This mediator architecture enables communication continuity while reducing security risks associated with direct key transfer.
Solution Approach 2:
The private keys are encrypted with the user's password-derived key before being uploaded to the escrow server during the first installation. This preliminary encryption action ensures that even if the server is compromised, the keys remain protected. The encrypted keys are stored on the server in advance, allowing secure retrieval by subsequent installations without requiring direct key transfer.
2Ease of operation
If multiple devices are provisioned with private keys, then user accessibility is improved, but the attack surface increases for potential key compromise
Solution Approach 1:
The key escrow server serves as a centralized intermediary that manages keys for multiple devices. Instead of each device needing direct access to other devices' keys, all key management operations go through the server. This reduces the attack surface by centralizing security controls and eliminating the need for direct peer-to-peer key sharing between multiple user devices.
Solution Approach 2:
Rather than distributing actual private keys to multiple devices, the system creates and stores encrypted copies of the keys on the escrow server. Each device can retrieve its specific key copy from the server when needed, but the original key material never exists in plaintext on multiple devices simultaneously. This copying approach enables multi-device accessibility while minimizing the attack surface.
3Productivity
If direct key transfer is used between installations, then provisioning speed is improved, but security control is reduced
Solution Approach 1:
The keys are encrypted with the user's password-derived key during the first installation, before being uploaded to the escrow server. This preliminary encryption action ensures that the keys are secured before leaving the user's control. Subsequent installations can quickly retrieve and decrypt these pre-encrypted keys from the server, maintaining fast provisioning while the server's security controls protect the key material throughout the process.
Data Source
AI summary
The present disclosure describes a system, method, and non-transitory computer readable medium for provisioning multiple instances of a secure communication application on multiple devices. A secure communication application on a first device generates a first set of private keys that are associated with the user and a second set of keys that are associated with the secure communication application executing on the first device. The first set of private keys establishes a set of root identifying keys for the user that are identical for all installations of the secure communication application, while the second set of keys will vary from device to device. In this regard, the first set of root identifying keys must be securely transferred from the first device to any subsequent installations of the secure communication application on one or more second devices. This establishes a high degree of trust since each installation of the secure communication application is linked to the first set of root identifying keys and allows the user to send and receive encrypted communications on multiple devices from the same trusted root keys.


