Permission Chain Tracking for Multi-Environment Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing access control mechanisms struggle to effectively track and manage permissions across multiple execution environments and computing devices, leading to potential unauthorized access due to complex chains of processes, as exemplified by the 'confused deputy attack'.
Innovation Solution
An apparatus and method that utilize a processor to manage permission chains, where each chain includes an indication of prior processes accessed and their order, allowing for granular control over access permissions by searching for matching chains and prompting users for input when necessary, with the ability to combine chains and store them persistently for improved security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional access control mechanisms are used, then access decisions can be made based on single subject identity, but complex chains of processes can lead to unauthorized access via privileged applications
Solution Approach 1:
The patent segments the access control evaluation into discrete permission chain components, where each chain represents a specific path from a prior process through intermediate processes to the target resource. By breaking down complex access scenarios into individual permission chains with clear start and end points, the system can evaluate each chain independently while maintaining comprehensive security coverage across multi-process environments.
Solution Approach 2:
The patent performs preliminary action by proactively establishing and storing permission chains before unauthorized access can occur. The system pre-defines valid access paths from privileged processes to resources, and validates incoming access requests against these pre-established chains. This prevents confused deputy attacks by ensuring that even if a privileged process is compromised, it cannot forge valid permission chains that don't match the pre-defined patterns.
2Reliability
If permission chains are tracked across multiple processes, then unauthorized access can be prevented, but user involvement in permission determinations increases
Solution Approach 1:
The patent implements self-service by enabling the permission management system to automatically evaluate access requests against stored permission chains without requiring continuous user intervention. Once permission chains are initially established and stored, the system autonomously validates subsequent access requests by checking whether they match any stored chain patterns, eliminating the need for users to manually approve each access decision while maintaining security.
Solution Approach 2:
The patent uses feedback mechanisms where the system monitors access patterns and learns from validation outcomes. When permission chains are successfully validated or when access decisions are made, this information feeds back into the system to refine future evaluations. The feedback loop allows the system to become increasingly autonomous over time, reducing user involvement while improving security through accumulated knowledge of valid access patterns.
3Productivity
If permission chains are stored persistently, then access control efficiency improves, but security risks increase if chains are improperly managed
Solution Approach 1:
The patent applies preliminary action by pre-establishing and validating permission chains before storing them persistently. Each permission chain undergoes validation to ensure it represents a legitimate access path from a trusted prior process to a target resource. By performing this validation upfront, the system prevents malformed or malicious chains from being stored, thereby eliminating security vulnerabilities before they can affect the system while still enabling efficient persistent storage for future access decisions.
Data Source
AI summary
A computing apparatus includes a processor coupled to a memory. The memory stores a set of permission chains, and each permission chain indicates a prior process accessed a current process and the current process requested access to a next process. The processor receives a permission request including a request for an access permission to allow a first current process to access a first next process and an indication that the first current process was accessed from a first prior process. The processor searches the set of permission chains for a matching permission chain, and when the matching permission chain is not found, the processor receives an input granting or denying the requested permission, and when granted updates the set of permission chains to include the granted permission chain and returns a granted indication.


