Column-Level Encryption for Database Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-tenant database management systems face challenges in controlling access to data at the table, column, and row levels, particularly when data from multiple users and tenants is stored within a single database, requiring effective security measures to prevent unauthorized access.
Innovation Solution
The database management system implements column-level encryption, storing data in separately encrypted portions and maintaining metadata to track authorization, generating query plans that consider decryption costs, and using a key management system to ensure only authorized users can access restricted data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Object-affected harmful factors
If column-level encryption is implemented to enhance security, then unauthorized access resistance is improved, but system complexity and decryption overhead increase
Solution Approach 1:
The patent divides the database into multiple security zones based on data sensitivity and access requirements. Each zone has its own encryption key and access control policies, allowing selective encryption of only the most sensitive columns rather than encrypting entire tables or databases. This segmentation reduces overall system complexity while maintaining security for critical data.
Solution Approach 2:
The patent applies different encryption strategies to different columns within the same table based on their specific security requirements. Highly sensitive columns use strong encryption with strict access controls, while less sensitive columns use lighter protection mechanisms. This local differentiation optimizes the balance between security and performance.
2Object-affected harmful factors
If selective encryption of data portions is implemented, then security is improved, but query processing time increases due to decryption overhead
Solution Approach 1:
The patent pre-identifies and encrypts only the specific columns and rows that require security protection based on sensitivity classifications and access control policies. By determining in advance which data portions need encryption and applying protection only to those specific portions, the system avoids the time-consuming process of decrypting and re-encrypting entire data structures during query execution.
Solution Approach 2:
The patent implements encryption only for the minimum necessary portions of data required to achieve security goals, rather than applying encryption uniformly across all data. This partial action approach reduces decryption overhead during queries while maintaining adequate security protection for sensitive information.
3Manufacturing precision
If multiple encryption keys are used for different data portions, then access control precision is improved, but key management complexity increases
Solution Approach 1:
The patent implements a hierarchical key management structure where a small number of master keys can derive or control multiple data encryption keys. This universal key hierarchy allows precise control over numerous data portions using a limited set of manageable keys, reducing key management complexity while maintaining high access control precision.
Solution Approach 2:
The patent introduces key management agents or intermediaries that handle the complexity of multiple encryption keys by providing automated key derivation, distribution, and rotation services. These intermediaries shield users from the complexity of managing multiple keys directly while enabling precise access control through the key hierarchy.
Data Source
AI summary
A database management system receives a request to process a database query on behalf of a security principal. The database management system determines that processing the database query requires access to an encrypted portion of a file containing data subject to access conditions. The database management system determines that the security principle is authorized to use a key that corresponds to the encrypted portion of the file. The database management system then completes processing of the query by using the key to access the encrypted portion of the file.


