Secure In-Memory Database in Container via Enclave

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing container isolation mechanisms fail to adequately protect in-memory databases from unauthorized access, including attacks by higher-privileged software and physical attackers, due to weaker isolation guarantees and performance overheads associated with enclave systems.

Innovation Solution

Implementing a hardware mechanism using enclaves, such as Intel's Software Guard Extensions (SGX), where application code and sensitive data are stored within a trusted execution environment, while the in-memory database is stored outside the enclave, with a paging mechanism to support larger memory footprints and minimize performance overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If container isolation mechanisms are used to protect in-memory databases, then resource efficiency and ease of operation are improved, but security against unauthorized access and higher-privileged software is worsened

Engineering Contradiction:
Improveease of operationVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a nested security architecture where an enclave (trusted execution environment) is embedded within a container. The enclave provides hardware-based security boundaries inside the software-based container, creating multiple layers of protection. This allows the system to maintain the operational simplicity of containers while adding enclave-level security for sensitive database operations and data protection.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If enclave systems are used to protect in-memory databases, then security against unauthorized access is improved, but performance overhead and device complexity are worsened

Engineering Contradiction:
ImprovesecurityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies enclave technology selectively rather than universally. Only specific sensitive operations and data access paths are routed through the enclave, while non-sensitive database operations continue to execute outside the enclave in the traditional container environment. This localized application of security reduces the performance overhead associated with enclave operations while maintaining protection for critical functions.

Inventive Principle:
Principle #3Local quality

3Reliability

If enclave systems are used to protect in-memory databases, then security against physical attackers is improved, but device complexity is worsened

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a shim layer as an intermediary between the application and the enclave system. This shim handles the complexity of enclave management, memory mapping, and security context switching, shielding the application developer from enclave-related complexity. The shim translates high-level database operations into enclave-specific operations, managing the device complexity internally while presenting a simplified interface to users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12013959B2Secure in-memory database in container
Publication Date: 2024.06.18 SAP SE
  • US12013959B2 patent drawing
  • US12013959B2 patent drawing
  • US12013959B2 patent drawing

AI summary

In an example embodiment, a hardware mechanism for protecting user-level software from privileged system software is leveraged to protect in-memory databases in container implementations in a cloud. This hardware mechanism takes the form of an enclave. An enclave is a portion of a CPU that shields application code and data from accesses by other software, including higher-privileged software. Memory pages belonging to an enclave reside in the enclave page cache (EPC), which cannot be accessed by code outside of the enclave. This helps ensure that (1) applications built on top of in-memory database are securely trusted, (2) and a trusted path architecture is provided for enclaves allowing in-memory databases to run securely on top of untrusted cloud platform.