Security Driver for Fine-Grained Application Database Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing datastores are vulnerable to attacks by malicious insiders who can modify or exfiltrate confidential data, and traditional security measures are inadequate, especially when attackers mask their activities by deleting access logs.
Innovation Solution
Implement a security driver that registers database requests, detects user identifiers, applies access policies, and modifies or denies access to sensitive data, using a translator to route data between lower-trust and secure distributed storage, ensuring transparent and robust security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional datastore security measures are used, then device complexity is reduced, but data security and integrity are compromised
Solution Approach 1:
The patent introduces a security driver as an intermediary component between the application and the datastore. This driver intercepts database requests, applies security policies, and modifies responses before data reaches the application. The security driver acts as a mediator that enables fine-grained access control without requiring changes to the core datastore or application code, thus improving security while managing complexity through a dedicated security layer.
Solution Approach 2:
The security system is segmented into distinct functional components: the security driver handles access control decisions, the translator manages data routing between lower-trust and secure storage, and the policy store contains access rules. This segmentation allows each component to be optimized independently and simplifies the overall system by dividing security functions into manageable modules rather than implementing security throughout the entire system.
2Reliability
If access control policies are applied at the database level, then data security is improved, but application performance and latency are worsened
Solution Approach 1:
The security driver performs access control decisions in advance by evaluating user credentials and policies before the actual database query executes. By pre-authenticating users and determining access rights upfront, the system avoids performing security checks during the critical data retrieval path, thus maintaining security while minimizing performance impact on database operations.
Solution Approach 2:
The security driver serves as an intermediary that handles security overhead separately from the core database operations. It processes authentication and authorization decisions in a dedicated layer, then passes cleaned-up requests to the datastore and modifies responses accordingly. This separation ensures that security processing does not block or significantly delay the primary data access pathway.
3Reliability
If fine-grained access control is implemented, then data security is improved, but ease of operation is worsened
Solution Approach 1:
The security driver acts as an transparent intermediary that automatically handles all access control decisions without requiring application developers to implement security logic. It intercepts requests, applies policies from the policy store, and returns modified responses, making fine-grained access control transparent to applications and users. This eliminates the operational burden on developers while maintaining sophisticated security control.
Solution Approach 2:
The system implements self-service security where the security driver automatically evaluates user credentials against stored policies and makes access decisions autonomously. The translator component automatically routes data between lower-trust and secure storage without manual intervention. This automation maintains fine-grained access control while eliminating the need for manual security configuration and management in applications.
4Reliability
If data is routed through secure distributed storage, then data integrity is improved, but system complexity and data loss risk are worsened
Solution Approach 1:
The translator serves as an intermediary that manages the routing between lower-trust datastore and secure distributed storage. It intelligently determines when data should be stored in secure storage based on sensitivity and policy requirements, and handles retrieval operations accordingly. This mediator approach ensures data integrity for sensitive information while avoiding unnecessary routing for less critical data, thus minimizing potential data loss risks.
Solution Approach 2:
Different data is treated differently based on its sensitivity and requirements. The system applies secure distributed storage only to data that requires it, while less sensitive data remains in the lower-trust datastore. This local quality approach ensures high integrity for critical data without subjecting all data to the complexity and potential failure modes of secure storage infrastructure.
Data Source
AI summary
A driver reads incoming database requests to obtain application-level user information delimited in the request. The driver may determine a subset or multiple subsets of data to which access is being request by an application. The driver may access a policy comprising rules governing application-level users and apply the rules to the request, such as to allow, mask, or disallowing respective subsets of data to pass from the database to the application.


