In-Memory Database Log Entry Group-Level Encryption
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If group-level encryption is implemented for each tenant, then data privacy is improved, but system complexity increases
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.
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.
3Reliability
If log entries are encrypted at generation, then data privacy is improved, but processing overhead increases
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.
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.
4Productivity
If selective encryption is applied to log entries, then encryption efficiency is improved, but decryption reliability during recovery may be compromised
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.
Data Source
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.


