Database Query Engine in Memory Enclaves

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in maintaining the confidentiality and integrity of data, particularly in cloud computing environments where users cannot trust the remote database administrators or other users, and unauthorized access can compromise data security and integrity.

Innovation Solution

Implementing a database system where the query engine and transaction manager are executed within memory enclaves of a host computer system, separate from the operating system and database administration components, ensuring that data processed by these components is inaccessible to other processes, thus protecting confidentiality and integrity. Additionally, using secure counters and Merkle trees to verify the integrity of transaction logs and ensure accurate data restoration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If database administrators and authorized users have significant privileges to control and monitor the host computer system, then they can carry out administrative tasks on the databases, but they may also access confidential data from on-disk storage and compromise data confidentiality

Engineering Contradiction:
Improveadministrative task executionVSAvoiddata confidentiality
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system divides the database system into two separate execution environments: a trusted execution environment (TEE) that contains the query engine and transaction manager, and an untrusted environment that contains the operating system and database administration components. This segmentation ensures that administrators cannot access data in the TEE while still allowing them to perform administrative tasks on the untrusted components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary interface between the TEE and the untrusted environment that allows controlled communication. The query engine in the TEE can receive queries and return results through this interface, while the interface prevents administrators from directly accessing data or manipulating query execution, thus mediating between administrative needs and data protection requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is decrypted in memory to be operated on, then queries can be executed on the data, but the data becomes susceptible to snooping by users with significant privileges

Engineering Contradiction:
Improvequery executionVSAvoiddata snooping
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent creates an inert or secure environment using a Trusted Execution Environment (TEE) that provides cryptographic protection for data in memory. Within this TEE, data can be decrypted and processed normally for query execution, but the TEE's security mechanisms prevent any snooping or unauthorized access, even by privileged users outside the TEE.

Inventive Principle:
Principle #39Inert atmosphere (Inert environment)

3Ease of operation

If users with significant privileges can access the database system, then they can monitor and control the system, but they may alter query results and compromise data integrity

Engineering Contradiction:
Improvesystem monitoringVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments query execution into two parts: query planning in the untrusted environment and query execution in the trusted TEE environment. This ensures that even if administrators can monitor or modify queries in the untrusted environment, they cannot alter the actual execution or results in the TEE, thus protecting data integrity while allowing monitoring.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The interface between the untrusted environment and TEE acts as a mediator that allows query plans to be passed into the TEE for execution, but prevents any modification of the execution process or results. This intermediary ensures that query results produced in the TEE cannot be tampered with by administrators in the untrusted environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11016949B2Database system
Publication Date: 2021.05.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11016949B2 patent drawing
  • US11016949B2 patent drawing
  • US11016949B2 patent drawing

AI summary

In various examples, there is a database system which comprises an operating system, a query engine, a transaction manager and components implementing database administration functionality. The query engine and the transaction manager are configured to be executed within one or more memory enclaves of a host computer system separately from the operating system and the components implementing database administration functionality.