Multi-Key Storage Encryption for Secure Data Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems lack robust security measures to ensure secure access and management of sensitive information, particularly in software applications, and there is a need for efficient encryption and decryption processes to protect data repositories.
Innovation Solution
A system utilizing multiple encryption keys, including tenant service keys and tenant master keys, encrypted with customer keys, stored in a secure database, and managed by a key management system, with audit logs and blockchain verification to ensure secure storage and retrieval of data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored in a repository without encryption, then access and modification are easy, but security and protection of sensitive information are compromised
Solution Approach 1:
The encryption system is segmented into multiple independent components: key generation service, key management service, encryption service, and decryption service. Each component has a specific function and can operate independently. The data is also segmented using multiple encryption keys (data encryption key, key encryption key, and master key) where each key serves a specific purpose in the encryption hierarchy, allowing the system to achieve high security without requiring a single complex encryption mechanism.
2Reliability
If multiple encryption keys are used to encrypt data, then security is improved, but the complexity of key management and decryption processes increases
Solution Approach 1:
A key management service acts as an intermediary between the various encryption keys and the data. This service automatically manages the generation, storage, and rotation of encryption keys, and handles the complex process of decrypting data using the appropriate key hierarchy. The intermediary abstracts the complexity of multiple key management from the users and applications, allowing them to benefit from enhanced security without directly managing the complexity of multiple encryption keys.
3Speed
If encryption keys are stored in the same database as encrypted data, then retrieval is fast, but security is compromised as the database becomes a single point of failure
Solution Approach 1:
The encryption keys are extracted from the encrypted data storage location and stored in separate secure key storage systems. The key generation service creates keys that are then managed by the key management service, which stores them securely apart from the encrypted data. This separation ensures that even if the database containing encrypted data is compromised, the encryption keys remain secure, preventing unauthorized decryption. The system maintains fast retrieval by efficiently managing key access through the key management service without requiring physical co-location of keys and data.
4Reliability
If audit logs are implemented to track key usage, then accountability and security monitoring are improved, but system complexity and storage requirements increase
Solution Approach 1:
The audit log system implements a policy where access logs are retained for a specific retention period and then automatically discarded. The key management service maintains audit trails of key generation, usage, and rotation events, but after the configured retention period expires, these logs are automatically removed from active storage. This approach allows the system to maintain comprehensive audit capabilities for security monitoring and accountability while preventing unlimited accumulation of log data that would consume excessive storage resources over time.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A system for secure storage of data includes a key database and a processor. The processor is configured to receive a request associated with securely storing data and encrypt the tenant service key using a tenant master key. The data is encrypted using the tenant service key. The processor is further configured to encrypt the tenant master key using a customer key and store encrypted tenant service key and encrypted tenant master key in the key database.