Nearly-Stateless Key Escrow Service Using One-Way Hash Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional key escrow services are complex, resource-intensive, and vulnerable to attacks, requiring frequent database backups and network communication, which makes them challenging to maintain and secure, especially in geographically diverse locations.
Innovation Solution
A nearly-stateless key recovery system that generates recoverable keys by using a master secret and one-way hash functions to create periodic secrets for key assignment servers, allowing key recovery without direct communication between assignment and recovery servers, and ensuring security through computationally impractical derivation of old secrets from new ones.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional key escrow services store all generated keys in a database, then key recovery is enabled, but system complexity and storage requirements increase significantly
Solution Approach 1:
The patent extracts the essential element needed for key recovery (the secret) and separates it from the complete key database. Instead of storing all keys, only the secret is stored on the key recovery server, dramatically reducing storage requirements and system complexity while maintaining key recovery capability through cryptographic derivation.
Solution Approach 2:
The system segments the key management functionality by separating key generation (performed locally by key assigners) from key recovery (performed by the key recovery server using the secret). This segmentation eliminates the need for a centralized database storing all keys, reducing both storage requirements and system complexity.
2Stability of the object's composition
If conventional key escrow services frequently backup the key database, then data integrity is maintained, but system resource consumption and operational complexity increase
Solution Approach 1:
The patent replaces the expensive, frequently-backed-up key database with a cheap, static secret that requires no maintenance. The secret is a small, fixed-size cryptographic value that can be stored in non-volatile memory without backups, eliminating the resource consumption associated with database maintenance while preserving data integrity through cryptographic security.
3Stability of the object's composition
If key assignment servers communicate frequently with the key recovery system, then key management consistency is maintained, but network vulnerability and resource requirements increase
Solution Approach 1:
The system performs preliminary action by pre-distributing the secret to key assignment servers before any key generation occurs. This preliminary distribution establishes a trust foundation that eliminates the need for ongoing communication between key assignment servers and the key recovery system, thereby reducing network vulnerability while maintaining key management consistency through the pre-established cryptographic relationship.
Solution Approach 2:
Key assignment servers become self-sufficient by storing the secret locally and using it to generate and recover keys without needing to communicate with the key recovery system. This self-service capability eliminates network dependencies, reducing vulnerability to network-based attacks while maintaining key management consistency through local cryptographic operations.
4Ease of operation
If the key recovery system is made accessible over the network, then key recovery functionality is available, but the system becomes vulnerable to network-based attacks
Solution Approach 1:
The patent extracts the critical secret from networked storage and places it in non-volatile memory on local key assignment servers. This extraction eliminates the need for the key recovery system to be network-accessible, as key recovery can be performed locally using the stored secret and the public key, thereby maintaining ease of operation while eliminating network-based attack vectors.
Data Source
AI summary
Some embodiments provide a system to generate a key pair. During operation, the system can receive a request to generate the key pair, wherein the key pair is generated by a key assigner, and wherein the key pair is associated with a user. Next, the system can determine a secret associated with the key assigner. Specifically, the system can determine the secret by determining an initial secret associated with the key assigner, and by applying a one-way hash function to the initial secret one or more times. The system can then determine a seed based on the secret. Specifically, the system can determine the seed by cryptographically combining the secret with information associated with the user. Next, the system can generate the key pair by using the seed as an input to a key generator. The system can then return the key pair to a requestor.


