Access Controlled Graph Query Spanning via AMQ Filters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graph queries in graph databases often span entities that the querying user lacks permission to access, exposing sensitive information and requiring excessive computing resources, as existing access control methods are inefficient in determining node accessibility.
Innovation Solution
Implementing Approximate Member Query (AMQ) filters and lists that store security contexts for each node, allowing querying parties to test their security contexts against these filters at runtime to determine access, with prioritization of frequently used security contexts to improve computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional access control methods are used to check node accessibility in graph queries, then security is maintained, but computational efficiency deteriorates and resource usage increases
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing access control policies, security contexts, and permission data in the graph database before queries are executed. This allows the system to quickly retrieve and evaluate pre-prepared access control information during query execution, avoiding the need to perform complex security checks at query time, thus improving computational efficiency while maintaining security
Solution Approach 2:
The patent segments access control into separate, modular components including access control policies, security contexts, permission data, and query execution logic. This segmentation allows each component to be independently optimized and evaluated, improving overall system efficiency by avoiding monolithic security check processing
2Productivity
If graph queries span all accessible nodes without access control filtering, then query completeness is improved, but information security deteriorates due to exposure of sensitive entities
Solution Approach 1:
The patent applies local quality by implementing fine-grained access control at the individual node level rather than applying blanket access control to entire graph sections. Each node can have its own security context and access control policy, allowing the system to include all nodes that the user has permission to access while excluding only those specific nodes where the user lacks permission, thus maintaining query completeness for authorized nodes while preventing information exposure
Solution Approach 2:
The patent introduces an intermediary access control evaluation mechanism that sits between the query execution engine and the graph nodes. This intermediary evaluates security contexts and access control policies for each node during query execution, acting as a mediator that allows legitimate access to authorized nodes while blocking access to sensitive nodes, thus protecting information security without completely preventing query completion
3Reliability
If access control checks are performed for every node in the graph, then security is improved, but computational overhead and resource consumption worsen
Solution Approach 1:
The patent applies partial action by performing access control checks selectively rather than uniformly for all nodes. The system evaluates security contexts and access control policies only for nodes that are relevant to the query and potentially accessible to the user, based on pre-computed access control information. This selective approach reduces computational resource consumption compared to performing exhaustive checks on every node in the graph, while still maintaining security for all accessed nodes
Data Source
AI summary
Controlling access to nodes in a relational graph at query time by using an approximate membership query (AMQ) filter and ordered queries based on historic grants or denials of access according to security context enables a more efficient querying of the relational graph while preserving access controls. Security contexts that grant or deny access to a node are stored in an associated AMQ filter and are queried according to the subject's security context in an order based on the frequency at which the security contexts have previously granted or denied access to nodes in the relational graph.


