ShieldStore: Shielded In-memory Key-Value Storage with SGX

VenueCategory
EuroSys'19SGX

ShieldStore: Shielded In-memory Key-Value Storage with SGX1. SummaryMotivation of this paperShieldStoreImplementation and Evaluation2. Strength (Contributions of the paper)3. Weakness (Limitations of the paper)4. Some Insights (Future work)

1. Summary

Motivation of this paper

This paper wants to overcome the memory restriction.

maintain the main data structures in unprotected memory with each key-value pair individually encrypted integrity-protected by its secure component running inside an enclave.

ShieldStore

image-20200714012030378

  1. The client remote-attests the storage server system

verifying the SGX support of the processor, the code, and other critical memory state of an enclave.

  1. The client and storage server running in the enclave generate session keys an exchange them.
  2. The client sends operations through the secure channel using the exchanged session key.

Clients do not directly access the ciphertexts on the server side

the server in the enclave will decrypt the retrieved data encrypt them again with the session key used for the client, send the response to the client

image-20200714142649199

Employ a hash-based index structure, and use chaining to resolve collisions in hash-based index.

store the entire hash table in the enclave memory. As the EPC region can cover only a small portion of the total database size, a data access can cause page eviction and demand paging between an EPC page and non-EPC page.

Implementation and Evaluation

  1. Standalone evaluation Overall Performance Multi-core Scalability Effect of Optimizations Trade-offs in MAC hashes
  2. Comparison to Eleos
  3. Networked Evaluation a new extra overhead is added to ShieldStore

the cost of receiving requests and sending responses through the socket interfaces using HotCalls

2. Strength (Contributions of the paper)

3. Weakness (Limitations of the paper)

4. Some Insights (Future work)