In-Memory Database Log Entry Group-Level Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based, multi-tenant database systems face challenges in ensuring data privacy for each customer by encrypting in-memory database log entries without requiring application redesign, while maintaining database consistency and efficiently managing encryption and decryption processes.

Innovation Solution

A method for processing potentially encrypted database log entries in an in-memory database system using tenant-based, group-level encryption, where redo log entries are allocated with a sufficient size to accommodate a header and content, and selectively encrypted with a group-level encryption key when the buffer threshold is exceeded, then appended to persistent storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data-volume-level encryption is used to protect persisted database data, then physical security is improved, but group-level data privacy for multi-tenant applications cannot be ensured

Engineering Contradiction:
Improvephysical securityVSAvoidgroup-level data privacy
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent divides the encryption approach into two levels: data-volume-level encryption for physical security and group-level encryption for multi-tenant data privacy. Each tenant group receives encrypted log entries with unique encryption keys, allowing selective decryption based on tenant affiliation while maintaining overall physical security protection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different encryption qualities to different parts of the data structure. The log entry header contains unencrypted metadata (transaction ID, timestamp, encryption group ID) for efficient processing, while the log entry content is encrypted with group-specific keys. This allows the system to maintain physical security while enabling group-level data privacy through selective encryption of sensitive portions.

Inventive Principle:
Principle #3Local quality

2Reliability

If group-level encryption is implemented for each tenant, then data privacy is improved, but system complexity increases

Engineering Contradiction:
Improvedata privacyVSAvoidencryption system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs encryption of log entries at the point of generation, before the log entries are written to persistent storage. The database management system encrypts log entries with the appropriate group-level encryption key immediately when they are created, eliminating the need for separate encryption steps later and reducing overall system complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements automatic selection and application of the correct encryption key based on the encryption group ID contained in each log entry header. The system autonomously determines which group-level encryption key to use without requiring manual intervention or complex key management processes, thereby reducing operational complexity while maintaining strong data privacy protections.

Inventive Principle:
Principle #25Self-service

3Reliability

If log entries are encrypted at generation, then data privacy is improved, but processing overhead increases

Engineering Contradiction:
Improvedata privacyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines the log entry generation and encryption operations into a single integrated process. When the database management system generates a log entry, it simultaneously encrypts the content with the appropriate group-level encryption key and stores both the encrypted content and the encryption group ID in the log entry header. This merging eliminates separate encryption steps and reduces processing overhead.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the state of log entries from unencrypted to encrypted form at the moment of creation, rather than converting them later. By applying encryption as an initial parameter setting during log entry generation, the system avoids the computational overhead of encrypting large volumes of log data after they have been generated and stored in plaintext.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If selective encryption is applied to log entries, then encryption efficiency is improved, but decryption reliability during recovery may be compromised

Engineering Contradiction:
Improveencryption efficiencyVSAvoiddecryption reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent incorporates an encryption group ID in the log entry header that serves as feedback information for the decryption process. During database recovery or normal operation, when a log entry is read, the system extracts the encryption group ID from the header, uses it to select the appropriate group-level encryption key, and then decrypts the log entry content. This feedback mechanism ensures that the correct key is always used, maintaining decryption reliability while enabling selective encryption of different tenant groups.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11880495B2Processing log entries under group-level encryption
Publication Date: 2024.01.23 SAP SE
  • US11880495B2 patent drawing
  • US11880495B2 patent drawing
  • US11880495B2 patent drawing

AI summary

Computer-readable media, methods, and systems are disclosed for processing log entries in an in-memory database system employing tenant-based, group-level encryption for a plurality of tenants. A request to generate a database transaction log record is received. A log entry handle corresponding to the allocated log buffer is provided. In response to determining that the transaction log record to be written into the log buffer contains tenant-specific content, certain content requiring group-level encryption is flagged. An encryption group identifier is received, and the tenant-specific content is encrypted with a corresponding group-level encryption key. The group-level encryption group identifier is appended to the transaction log header, and log data containing the log buffer is encrypted with one or more encryption keys. Finally, the encrypted log data is persisted and subsequently read, unencrypted, and replayed under appropriate circumstances.