Attribute-Based Session Tokens for Fine-Grained Resource Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing OAuth frameworks face challenges in providing fine-grained access control due to the increase in token size with numerous scopes, inefficiency in maintaining individual scopes for new attributes, and the inability to define resources that users can access, leading to security vulnerabilities and resource encoding issues.
Innovation Solution
Implementing a credential exchange service that generates session tokens with attached user attributes and access policies, encrypted for security, allowing precise access control by verifying attributes against resource-specific policies, reducing token size and enhancing security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If individual scopes are created for each attribute-based permission, then fine-grained access control is achieved, but token size increases and system complexity increases
Solution Approach 1:
The patent segments access control into two independent components: attributes (attached to user tokens) and policies (stored in the system). Instead of encoding every permission as a separate scope, the system separates the identification of user characteristics (attributes) from the rules governing access (policies). This segmentation allows fine-grained control without requiring a proportional increase in token scopes.
Solution Approach 2:
The patent introduces a new dimension to OAuth by attaching key-value attribute pairs to tokens, moving beyond the traditional flat scope structure. This dimensional expansion allows the system to represent complex user characteristics and resource requirements without linearly increasing the number of scopes needed.
2Measurement precision
If resources are encoded within scopes, then resource-specific access control is enabled, but the number of scopes becomes unmanageably large
Solution Approach 1:
The patent segments resource identification into two parts: resource identifiers are attached as attributes to user tokens, while resource-specific access rules are defined as separate policies. This separation eliminates the need to create a scope for every possible resource combination, reducing the total number of scopes required while maintaining precise resource-level control.
Solution Approach 2:
The patent introduces policies as an intermediary layer between user attributes and resource access decisions. Instead of directly encoding resource access permissions in scopes, the system uses policies to mediate between user attributes and resource requirements, enabling resource-specific control without proportionally increasing scope count.
3Reliability
If OAuth tokens contain all access information, then self-contained authentication is achieved, but token size becomes excessively large
Solution Approach 1:
The patent extracts detailed access control logic from user tokens and places it in system-stored policies. User tokens contain only essential authentication information and user attributes, while resource-specific access rules are extracted and stored separately in the system. This extraction reduces token size while maintaining authentication reliability through policy-based access control.
Solution Approach 2:
The patent uses attribute copying where user characteristics are represented as key-value pairs that can be efficiently attached to tokens. Instead of embedding complete access permission sets in tokens, the system copies relevant user attributes to tokens and uses these attributes to evaluate against stored policies, reducing token size while preserving access control functionality.
Data Source
AI summary
Systems and methods are described relating to a credential exchange service (service) for providing customizable access to protected resources. A service may receive a user token generated by an identity provider and a resource identifier and determine a set of attributes of the user based on information indicating the user's association with an account associated with the resource. The service may generate a session token for interacting with the resource by: generating a set of tags based on attributes of the user, and attaching the set of tags to the session token. Upon receiving a request to perform a first action with respect to the resource and the session token, the session token may be used to authorize the user to perform the first action by comparing the set of attributes from the set of tags from the session token to an access policy associated with the resource.


