Enclave Page Cache Key-Value Store with Log-Structured Merge-Tree Integrity Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Persistent key-value stores (KVSs) running on public cloud services are vulnerable to security breaches due to potential access by privileged software or physical machines, necessitating strong security mechanisms like hardware-based confidential computing.
Innovation Solution
A security computer device that uses a processor to perform operations such as receiving lookup requests, retrieving object keys from an enclave page cache (EPC) and a log-structured merge-tree, and verifying the integrity of values using message authentication codes, ensuring secure data retrieval and storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If cloud-based services use public cloud infrastructure for KVS, then service availability and scalability are improved, but security vulnerability increases due to potential access by privileged software or physical machines
Solution Approach 1:
The patent segments the memory system into two distinct parts: an encrypted region with authenticated storage and an unencrypted cache region. This segmentation allows the system to maintain security for critical data while enabling fast access for frequently used data, thus resolving the contradiction between security and service availability.
Solution Approach 2:
The patent introduces an intermediary mechanism (the encrypted region acting as a secure intermediary) between the untrusted cloud storage and the application. This intermediary ensures that even if the cloud infrastructure is compromised, the application can still verify the integrity and authenticity of its data through cryptographic proofs.
2Reliability
If hardware-based confidential computing is implemented, then security guarantees are improved, but system complexity increases due to additional cryptographic operations
Solution Approach 1:
The patent applies partial cryptographic protection only to the region where security is most critical (the encrypted region), while leaving the cache region unencrypted for performance. This partial application of security measures reduces the overall system complexity compared to full cryptographic protection, while still providing adequate security guarantees.
3Reliability
If data is stored in encrypted form, then security is improved, but access speed deteriorates due to decryption overhead
Solution Approach 1:
The patent performs preliminary encryption of data before storing it in the encrypted region, and maintains authentication tags alongside the encrypted data. When data is accessed, the system verifies the authentication tag first (a quick operation) before proceeding to decryption, thus preparing security verification in advance to minimize access delays.
Solution Approach 2:
The patent adds a new dimension to the storage system by creating a two-region architecture with different security and performance characteristics. This dimensional separation allows the system to optimize for both security and speed simultaneously by directing different types of access patterns to appropriate regions.
4Reliability
If integrity verification is performed using message authentication codes, then data freshness is improved, but computational overhead increases
Solution Approach 1:
The patent implements MAC verification selectively only for data accessed from the encrypted region, while data in the unencrypted cache region bypasses verification. This partial verification approach maintains data freshness guarantees for critical data while reducing overall computational overhead.
Data Source
AI summary
A device according to one embodiment may comprise: a memory including an Enclave Page Cache (EPC) and a partial memory distinguished from the EPC; a storage distinguished from the memory; and a processor, which receives a lookup request including an object key from a user, retrieves the object key from a table stored in the EPC, retrieves the object key from a table of a log-structured merge-tree stored in the storage if the object key is not retrieved from the table stored in the EPC, acquires a reference message authentication code and a value corresponding to the object key from the storage if the object key is retrieved from the target table of the log-structured merge-tree stored in the storage, and verifies the integrity of the value on the basis of the reference message authentication code.


