Secure Hash Table in Trusted Execution Environment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Insecure hash tables in trusted execution environments are vulnerable to cache access pattern-based attacks and controlled-channel attacks, and existing solutions like ORAMs are inefficient and impractical due to high processing overhead and memory requirements.
Innovation Solution
Implementing a secure hash table method that involves a secret key exchange between a server enclave and a client enclave, establishing an encrypted channel, generating a random key for a keyed hash function, and building a hash table based on received key-value pairs, which mitigates vulnerabilities by being memory-oblivious and resistant to cache fault attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional hash tables are used in trusted execution environments, then data storage and retrieval operations are efficient, but the system becomes vulnerable to cache access pattern-based attacks and controlled-channel attacks
Solution Approach 1:
The patent introduces an encrypted channel as an intermediary between the client enclave and server enclave. This encrypted channel mediates all communication, preventing attackers from observing cache access patterns or injecting controlled channels. The encryption layer acts as a buffer that preserves security while allowing efficient hash table operations to proceed underneath.
Solution Approach 2:
The patent changes the security parameters of the hash table implementation by operating within a trusted execution environment (TEE) with encrypted channels. This parameter change transforms the system from vulnerable to secure against cache attacks, while the TEE infrastructure maintains operational efficiency. The random key generation and keyed hash functions further parameterize the security model.
2Reliability
If ORAM (Oblivious RAM) is used to protect against cache attacks, then security is improved, but processing overhead and memory requirements become excessively high
Solution Approach 1:
The patent extracts the security-critical operations (hash computations, data access) into a trusted execution environment enclave. By separating these operations into the enclave, the system achieves security without requiring full ORAM overhead. The enclave's hardware-based protections replace the software-based ORAM mechanisms, dramatically reducing processing overhead while maintaining security.
Solution Approach 2:
The patent uses cryptographic copying through encrypted channels to transfer data between client and server enclaves. Instead of physically moving data through multiple layers of abstraction as ORAM requires, the system creates encrypted copies and transfers them through secure channels, achieving similar security goals with much lower overhead.
3Reliability
If secret key exchange and encrypted channels are implemented, then security against adversarial attacks is enhanced, but communication overhead increases
Solution Approach 1:
The patent performs secret key exchange and establishes encrypted channels as preliminary actions before the main hash table operations. This one-time setup cost is amortized over subsequent operations. The random key is generated once and used for multiple keyed hash computations, reducing the per-operation overhead of encryption while maintaining continuous security protection.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of secure hash table implementation includes performing a secret key exchange between a server enclave of a server device and a client enclave of a client device and establishing an encrypted channel between the server enclave and the client enclave using the exchanged secret keys. The method includes generating a random key for a keyed hash function or a pseudo random function (PRF) and communicating the random key to the client enclave. The method includes receiving hashes of input data at the server enclave. The method includes building a hash table based on key-value pairs included in the received hashes. The method includes receiving a hash table query that includes keys. The method includes retrieving values that correspond to the keys. The method includes returning the retrieved values that correspond to the keys or a null if a value has not been inserted into the hash table for one of the keys.