Dynamic Query Constraints via External Security Policies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing security policies for accessing computer resources are inflexible and inefficient, particularly when changes are needed, and they do not allow for conditional permissions or effective constraint of database queries, leading to performance and security issues.

Innovation Solution

Implementing dynamic and conditional constraints on queries based on an external security policy by reading condition clauses from grant statements, such as JAAS or SQL WHERE clauses, to modify queries and ensure only authorized data is accessed, thereby reducing network overhead and enhancing security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hard-coded security policies are used in applications, then access control can be effectively enforced, but the system becomes inflexible and requires recoding and recompiling when policy changes are needed

Engineering Contradiction:
Improveaccess control effectivenessVSAvoidpolicy flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic security policies by separating policy definitions from application code. The system uses a policy engine that can load and execute different security policies at runtime, allowing policies to be changed without modifying or recompiling application source code. This resolves the contradiction by making the access control mechanism adaptable while maintaining enforcement effectiveness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a policy engine as an intermediary component between the application and the security policy. This mediator reads policy definitions from external sources (such as configuration files or databases) and translates them into executable access control logic, enabling flexible policy changes without affecting the application code itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If external configuration files are used for security policies (e.g., JAAS), then policy changes can be made without modifying application code, but conditional definitions in the security policy are not allowed

Engineering Contradiction:
Improvepolicy configurabilityVSAvoidpolicy definition capability
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extends the policy definition capability by introducing conditional parameters and attributes that can be dynamically evaluated. Instead of static grant statements, the system allows policies to include conditions based on user attributes, resource characteristics, and environmental factors. This enables complex conditional permissions while maintaining external configurability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a universal policy language that can express both simple permission grants and complex conditional logic within a single framework. The policy engine can interpret multiple types of conditions and attributes, making the system capable of handling diverse security scenarios without requiring separate mechanisms for each type of policy definition.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If all data sets are retrieved from backend repository and then checked for permission, then complete data retrieval is achieved, but network overhead increases and performance degrades due to numerous checkPermission method calls

Engineering Contradiction:
Improvedata retrieval completenessVSAvoidnetwork overhead
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by evaluating security policies and determining authorized data sets before the actual data retrieval operation. The system pre-calculates which records the user is entitled to access based on their attributes and the policy conditions, then retrieves only those predetermined records. This eliminates the need to fetch all data and then perform permission checks, significantly reducing network overhead and improving performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical approach of retrieving all data and then filtering through permission checks with a more efficient system that uses attribute-based policy evaluation. Instead of mechanically checking each record's permission status after retrieval, the system substitutes this with a proactive policy evaluation mechanism that determines access rights before data transfer, reducing the computational and network burden.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Duration of action of moving object

If all data sets are retrieved and cached, then data availability is improved, but security concerns arise as cached data sets need protection from malicious attacks

Engineering Contradiction:
Improvedata availabilityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Duration of action of moving objectVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by determining and filtering authorized data sets before they are retrieved and cached. The system pre-evaluates policy conditions and identifies which records the user is entitled to access in advance, then retrieves only those records for caching. This eliminates the security risk of caching unauthorized data while maintaining data availability for legitimate users.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the security evaluation function from the data retrieval process and integrates it into the policy determination phase. By extracting and applying policy constraints before data is fetched, the system separates the security function from the caching mechanism, allowing caching to proceed safely for authorized data without exposing the system to security vulnerabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8635660B2Dynamic constraints for query operations
Publication Date: 2014.01.21 ORACLE INT CORP
  • US8635660B2 patent drawing
  • US8635660B2 patent drawing
  • US8635660B2 patent drawing

AI summary

Systems, methods, and machine-readable media are disclosed for providing dynamic and/or conditional constraints on queries based on an external security policy. In one embodiment, a method is provided which comprises receiving from a user a request to access a resource. A condition clause can be read from a grant statement defined in the security policy. The grant statement can define permission for the user to access the requested resource. In some cases, the grant statement can comprise a Java Authentication and Authorization Service (JAAS) grant statement. A query associated with the requested access can be modified based on the permission granted to the user. The modified query can then be made to perform the requested access.