Proxied Key Caching for Storage Encryption Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional encryption key management systems face limitations in user convenience, data protection beyond the receiving location, and authentication access, with inefficient key management in data storage systems.
Innovation Solution
A storage processor requests and manages encryption keys associated with specific object IDs from a key server, deleting old keys and sending confirmation signals to ensure secure key reuse, using a key management client and array key management software to handle key assignments and deletions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If encryption keys are cached through proxied elements for faster access, then key retrieval speed is improved, but key management complexity and security risks increase
Solution Approach 1:
The system segments key management by introducing multiple proxied elements (key caching proxies) distributed across the storage system. Each proxy maintains a local cache of encryption keys, dividing the centralized key management burden into distributed segments. This allows fast local key retrieval while the central key server manages overall key lifecycle, resolving the contradiction between speed and complexity.
Solution Approach 2:
Proxied elements act as intermediaries between the key server and storage processors. These proxies cache keys locally and handle key retrieval requests, mediating between centralized key management and distributed key usage. This intermediary layer provides fast local access while maintaining centralized control through the key server, balancing speed and management complexity.
2Reliability
If unique encryption keys are assigned to each storage object, then data security is improved, but key management overhead and resource consumption increase
Solution Approach 1:
The proxied elements serve multiple functions: they cache encryption keys for fast retrieval, manage key lifecycle (creation, deletion, rotation), and coordinate with the key server. This multi-functionality reduces overall key management overhead by consolidating tasks that would otherwise be distributed across numerous storage processors, maintaining security while reducing complexity.
Solution Approach 2:
Each proxied element autonomously manages its local key cache, making decisions about key retention, deletion, and renewal without constant key server intervention. The proxies self-service by monitoring their own cache states and autonomously deleting expired keys or requesting new keys from the key server, reducing management overhead while maintaining security.
3Adaptability or versatility
If old encryption keys are retained for potential reuse, then future key recovery is improved, but security vulnerabilities and storage overhead increase
Solution Approach 1:
The key server implements feedback mechanisms by monitoring key usage patterns, expiration dates, and security policies. Based on this feedback, the key server sends deletion signals to proxied elements for keys that should be removed. This feedback loop ensures old keys are deleted based on actual security needs rather than arbitrary retention, maintaining recovery capability when needed while eliminating security vulnerabilities from unnecessary key retention.
Solution Approach 2:
The key retention policy is dynamic rather than static. Keys are retained in proxied element caches only as long as needed based on usage patterns and security requirements. The system dynamically adjusts key lifetime by extending retention for actively used keys while automatically deleting obsolete keys, balancing recovery capability with security by making retention duration adaptive rather than fixed.
Data Source
AI summary
A method is provided for effectively managing encryption keys. A storage processor requests a key associated with a particular object ID associated with a particular device address range from a key server. The key server provides a unique key associated with the object ID. Old keys may be deleted either upon a determination by the storage processor that the key is no longer needed, or upon a signal from the key server indicating that the key is to be deleted. In either case, the storage processor deletes the key from all locations in memory and sends a confirmation signal to the key server. The key server then lists the key as disabled for possible future re-use. Embodiments are also directed to apparatus for use in practicing the method.


