Multi-Tenant Index Encryption with Tenant-Specific Key Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing open-search software suites that perform searches on databases encrypted by Transparent Data Encryption (TDE) are dependent on the storage medium, lacking independent data encryption support, which compromises data security and compliance.

Innovation Solution

Implementing a multi-tenant database instance with tenant-specific data encryption keys (DEKs) encrypted by a Master Encryption Key (MEK) managed by a Key Management Service (KMS), allowing secure access control and transparent encryption/decryption of data at the database level, using a dual key system with envelope encryption for enhanced security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TDE encryption is implemented at the database file level, then data security is improved, but the system becomes dependent on the storage medium and loses encryption independence

Engineering Contradiction:
Improvedata securityVSAvoidencryption independence
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an application-layer encryption component that acts as an intermediary between the storage medium and the data. This component implements encryption independently of the storage medium, allowing the system to maintain data security while gaining encryption independence. The intermediary layer handles key management and encryption operations separately from the underlying storage infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If separate clusters are used for each set of indices to ensure security isolation, then data security is improved, but system complexity and overhead increase

Engineering Contradiction:
Improvedata securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the encryption space into tenant-specific segments using unique encryption keys for each tenant or index set. This allows multiple tenants to share the same physical cluster while maintaining security isolation through logical segmentation. Each tenant's data is encrypted with their own key, enabling security isolation without requiring separate physical clusters for each tenant.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple tenants' data into a single shared cluster infrastructure while maintaining security through unified encryption management. By combining storage resources and using centralized key management, the system achieves both resource efficiency and security isolation, eliminating the need for separate clusters for each tenant.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If encryption keys are managed at the storage medium level, then encryption transparency is improved, but control and compliance flexibility are reduced

Engineering Contradiction:
Improveencryption transparencyVSAvoidcompliance flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic key management where encryption keys can be created, rotated, revoked, and managed flexibly at the application layer. This dynamic approach allows keys to be updated without changing the storage infrastructure, maintaining encryption transparency while providing adaptability for different compliance requirements. Keys can be dynamically assigned to different tenants or data sets based on compliance needs.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12488122B2Multi-tenant file-level encryption for index based database
Publication Date: 2025.12.02 ORACLE INT CORP
  • US12488122B2 patent drawing
  • US12488122B2 patent drawing
  • US12488122B2 patent drawing

AI summary

Operations include: receiving a first request for a first dataset of a plurality of datasets stored in a particular database instance; obtaining an encrypted version of the first dataset; obtaining an encrypted version of the first DEK; requesting decryption of the encrypted version of the first DEK; receiving a decrypted version of the first DEK; applying the first DEK to the encrypted version of the first dataset to obtain a decrypted version of the first dataset; and transmitting the decrypted version of the first dataset. The first dataset is encrypted by a first DEK associated with a first tenant. A second dataset is encrypted by a second DEK associated with a second tenant. The decrypted version of the first DEK is generated by applying a first MEK of the first tenant to the encrypted version of the first DEK.