Secure Enclave Private Key Cache for Multi-Tenant Database Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-tenant database systems face latency and security risks due to delays in fetching cryptographic private keys from a centralized key management system, which can lead to attacks and network failures, especially during heavy traffic.
Innovation Solution
Implementing a secure enclave to cache cryptographic private keys, reducing the need for external calls to the key management system by storing and managing keys within a secure memory environment, such as an Intel Software Guard Extension (SGX) enclave, and using key cache obfuscation and encryption to enhance security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If private keys are fetched from a centralized key management system, then key security is maintained, but latency increases and productivity decreases
Solution Approach 1:
The system segments key storage into two parts: a centralized key management system for secure storage and a local cache for rapid access. This allows the database system to maintain security through the centralized KMS while improving productivity by caching frequently accessed keys locally, thus resolving the contradiction between security and speed.
Solution Approach 2:
A key cache acts as an intermediary between the database system and the centralized key management system. The cache stores recently accessed keys locally, reducing the frequency of external calls to the KMS. This intermediary mechanism maintains security by still using the centralized KMS for key issuance while improving productivity through local cache hits.
2Device complexity
If private keys are stored in a centralized location, then key management is simplified, but security against attacks deteriorates
Solution Approach 1:
The system segments key storage by maintaining a centralized KMS for management simplicity while caching keys locally in the database system. This segmentation reduces the attack surface by limiting the impact of any single location compromise, as keys are distributed across multiple storage locations (centralized KMS and local cache memory).
Solution Approach 2:
The key cache acts as a protective buffer between the database system and the centralized KMS. By caching keys locally, the system prepares backup copies of keys in advance, cushioning against potential attacks on the centralized system. If the centralized KMS is compromised, the local cache provides a protective layer that maintains operational continuity.
3Adaptability or versatility
If frequent external calls to key management system are made, then key updates are timely, but network reliability and security deteriorate
Solution Approach 1:
The system performs preliminary action by pre-loading and caching keys into local memory before they are needed for cryptographic operations. This reduces the frequency of external calls to the KMS, thereby improving network security by minimizing exposure to network-based attacks while maintaining adaptability through periodic key updates from the centralized system.
Solution Approach 2:
The key cache enables continuous cryptographic operations by storing keys in local memory, eliminating the need for intermittent network calls to the KMS. This maintains continuity of useful action (cryptographic operations) while reducing network traffic and improving security. The system periodically updates keys from the centralized KMS to maintain adaptability.
Data Source
AI summary
Disclosed techniques relate to storing a key cache within a secure enclave. In some embodiments, a computing system receives, from an application, a request to access a database, where the request is associated with a particular account. The computing system then accesses, using an identifier associated with the particular account, a key cache stored in a secure enclave of a memory of the computing system to determine at least one private key associated with the request, where the key cache stores private keys of a key management system (KMS) for a plurality of accounts. The computing system performs a cryptographic operation for accessing the database within the secure enclave using the at least one private key. In various embodiments, disclosed techniques may improve the security of cryptographic private keys cached for a plurality of tenants.


