Tenant Database Encryption Key Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data security applications in multi-tenant databases face limitations, as they require separate encryption keys for each tenant, leading to difficulties in sorting, filtering, and indexing data, and necessitate additional infrastructure, increasing complexity and potential failure points.

Innovation Solution

A security module generates a private key-public key pair associated with a tenant identifier, deriving a symmetric key from a key server using key agreement and a key derivation function, allowing secure encryption and decryption of data within the database while maintaining security by preventing a single system from accessing all key material.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate encryption keys are used for each tenant in a multi-tenant database, then data security is improved, but database functionality (sorting, filtering, indexing) deteriorates

Engineering Contradiction:
Improvedata securityVSAvoiddatabase functionality
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments encryption keys by tenant, with each tenant having their own dedicated encryption key. This segmentation allows data from different tenants to be encrypted separately, enabling database functionality like sorting and filtering to work correctly within each tenant's data while maintaining security isolation between tenants.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different encryption keys to different portions of the database corresponding to different tenants. This local quality approach ensures that each tenant's data is secured with its own key, allowing database operations to function properly on encrypted data without compromising security.

Inventive Principle:
Principle #3Local quality

2Reliability

If conventional encryption approaches are used, then data security is improved, but system complexity increases

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

Solution Approach 1:

The patent implements self-service encryption where the database system automatically manages encryption keys and performs encryption/decryption operations without requiring external key management infrastructure. The system generates, stores, and manages encryption keys internally, reducing complexity while maintaining security.

Inventive Principle:
Principle #25Self-service

3Reliability

If separate encryption keys are used for each tenant, then data security is improved, but infrastructure requirements increase

Engineering Contradiction:
Improvedata securityVSAvoidinfrastructure requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges key generation, key storage, and encryption/decryption functions into a single integrated system. Instead of requiring separate key management servers, hardware security modules, and distributed key storage infrastructure, the system combines these functions within the database itself, reducing infrastructure requirements while maintaining tenant-level security.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11728974B2Tenant-based database encryption
Publication Date: 2023.08.15 SALESFORCE INC
  • US11728974B2 patent drawing
  • US11728974B2 patent drawing
  • US11728974B2 patent drawing

AI summary

Methods and systems for securing customer data in a multi-tenant database environment are described. A security module running on a database server may generate a private key-public key pair in response to receiving a request to store client data in a database. The security module may then transmit a request to derive a symmetric key to a key server, the request including the generated public key. The key server may derive a symmetric key, using key agreement and a key derivation function, based on the received public key and a private key managed by the key server. The security module may then receive the symmetric key from the key server and encrypt the client data. To facilitate decryption, the public key used to generate the symmetric key and an identifier for the private key managed by the key server may be stored in metadata associated with the client data.