Proxy Merkle B+-Tree for Database Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud databases face security threats from privileged computing layers and insider attacks, leading to data tampering and integrity issues, with current integrity verification techniques imposing significant overheads.

Innovation Solution

A proxy system utilizing secure memory spaces (enclaves) to mediate communication between clients and untrusted database servers, performing integrity checks using a Merkle B+-tree and Intel SGX enclaves to ensure authenticity and freshness of data, while minimizing overhead through caching and concurrency optimizations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If integrity verification techniques are implemented to protect against data tampering, then data reliability is improved, but system overhead increases significantly

Engineering Contradiction:
Improvedata integrityVSAvoidverification overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a proxy device as an intermediary component between the client and the untrusted database server. This proxy maintains an authenticated data structure (Merkle B+-tree) in its own memory and performs integrity verification locally, mediating all communications between the client and server. The proxy verifies server responses against its local authenticated structure before forwarding to the client, eliminating the need for complex verification overhead at the client or server ends while ensuring data integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If secure execution environments are deployed to prevent attacks, then security is improved, but system complexity and resource requirements increase

Engineering Contradiction:
ImprovesecurityVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The proxy device serves as a security intermediary that operates in untrusted cloud environments without requiring the client or server to implement complex secure execution environments. The proxy maintains an authenticated data structure in its own memory and performs verification operations, providing security through a centralized mediation layer rather than distributed security infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the authenticated data structure (Merkle B+-tree) in the proxy's memory that mirrors the structure on the untrusted server. This copy allows the proxy to perform local verification operations without requiring the original server or client to implement security mechanisms, simplifying the overall system architecture while maintaining security.

Inventive Principle:
Principle #26Copying

3Productivity

If high-performance database engines are used to increase throughput, then productivity is improved, but vulnerability to implementation bugs increases

Engineering Contradiction:
ImprovethroughputVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The proxy device acts as a safety intermediary between the client and high-performance database engine. It maintains an authenticated data structure that serves as a ground truth for data integrity, verifying all operations against this structure. This allows the use of high-performance engines while providing a verification layer that catches implementation bugs and ensures correctness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements continuous feedback through the authenticated data structure maintained by the proxy. Each database operation is verified against the authenticated structure, providing immediate feedback on integrity. If verification fails, the system can detect and correct errors, creating a feedback loop that maintains reliability even with high-performance engines that may have implementation vulnerabilities.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3759865B1High-throughput data integrity via trusted computing
Publication Date: 2024.04.03 VISA INTERNATIONAL SERVICE ASSOCIATION
  • EP3759865B1 patent drawingFigure 1
  • EP3759865B1 patent drawingFigure 2
  • EP3759865B1 patent drawingFigure 3

AI summary

Verification system and methods are provided for allowing database server responses to be verified. A proxy device may maintain a data structure (e.g., a Merkle B+- tree) within a secure memory space (e.g., an Intel SGX enclave) associated with a protected application. In some embodiments, the data structure may comprise hashed values representing hashed versions of the data managed by the database server. The proxy may intercept client requests submitted from a client device and forward such requests to the database server. Responses from the database server may be verified using the data structure (e.g., the hashes contained in the Merkle B+- tree). If the data is verified by the proxy device, the response may be transmitted to the client device.