Database Encryption Security Domain Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database encryption techniques are inadequate for protecting sensitive data due to security holes in mid-tiers, inability to encrypt at fine granularities, and performance issues during re-keying, especially in client-server architectures and hosting environments where sensitive data from multiple users is stored.
Innovation Solution
Implementing a system that uses security domains to manage encryption keys, allowing for arbitrary levels of granularity in data access and improving re-keying performance by associating rows with keys and encrypting only the relevant data within a security domain.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If database systems use filters to prevent users from accessing sensitive data that belongs to other users, then user access control is improved, but users can still evade these filters and access unauthorized data
Solution Approach 1:
The patent extracts the security control mechanism from the application layer (filters) and moves it to the data layer (encryption). By encrypting sensitive columns with user-specific keys, the security control is embedded directly in the data structure, making it impossible for users to access or evade unauthorized data regardless of filter bypass attempts.
Solution Approach 2:
The patent introduces encryption keys as an intermediary between users and sensitive data. Each user has their own decryption key that only works for their authorized data, creating a cryptographic barrier that cannot be bypassed by application-level filter evasion techniques.
2Device complexity
If present database systems encrypt data at coarse granularities (entire tables or columns), then data protection is simplified, but fine-grained access control for specific rows or columns is not achievable
Solution Approach 1:
The patent segments the encryption space into fine-grained units by allowing different encryption keys to be applied to different columns, rows, or combinations thereof. Each sensitive column can be independently encrypted with specific keys, enabling precise control over which users can access which data elements without requiring encryption of entire tables.
Solution Approach 2:
The patent applies local quality by allowing different security properties (encryption keys) to be assigned to different parts of the data structure. Specific columns or rows can have user-specific encryption applied only where needed, rather than uniformly across the entire table, enabling fine-grained access control with minimal overhead.
3Reliability
If database systems re-key encrypted data by decrypting and encrypting all rows in a table, then security updates are achieved, but severe performance degradation occurs due to the large number of rows
Solution Approach 1:
The patent segments the re-keying operation by allowing different encryption keys to be applied to different segments of data (columns, rows, or partitions). When re-keying is needed, only the affected segments need to be processed rather than the entire table, dramatically reducing the computational overhead of security updates.
Solution Approach 2:
The patent enables partial re-keying where only the necessary portion of encrypted data is re-encrypted when security updates are required. Instead of forcing a full table re-key, the system can selectively re-key specific columns or rows that have changed security requirements, performing less than the traditional all-or-nothing approach.
Data Source
AI summary
One embodiment of the present invention provides a system that decrypts an encrypted column in a row. During operation, the system receives the encrypted column in the row. The system then determines a security domain associated with the encrypted column in the row, wherein the security domain represents a set of columns in rows encrypted using the same key. Next, the system determines a key associated with the security domain. The system then decrypts the encrypted column in the row using the key. Note that using a security domain to represent a set of columns in rows enables the database to grant access to data within the database at arbitrary levels of granularity.


