Token-Based Authorization for Fine-Grained Virtual Environment Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Coarse-grain access models in virtual environments are inadequate for allowing users to specify precise access permissions for applications, as they often require delegating full privileges or broad trust levels, which can lead to security risks and lack of fine-grained control over data access.

Innovation Solution

Implementing a token-based authorization system where an authorization server issues security tokens for specific access permissions, allowing applications to request and store these tokens for accessing protected portions of the computing environment, enabling fine-grained control and user interaction for authorization management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If coarse-grain access model is used in virtual environment, then application isolation and security are improved, but user control over specific access permissions deteriorates

Engineering Contradiction:
Improveapplication isolation and securityVSAvoiduser control over access permissions
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments access permissions into fine-grained individual permissions rather than coarse-grain access levels. Each permission represents a discrete access right that can be independently granted or denied, allowing users to precisely control what each application can access while maintaining security through the virtual environment's isolation mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The access control system transitions from static coarse-grain permission levels to dynamic fine-grained permissions that can be individually adjusted. Users can dynamically grant, revoke, or modify specific permissions based on application behavior and user needs, providing flexible control without compromising the underlying isolation architecture.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If full privileges are delegated to applications, then application functionality is improved, but security risks increase

Engineering Contradiction:
Improveapplication functionalityVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by granting different permission levels to different applications based on their specific needs and trustworthiness. Instead of uniform full privileges or uniform restrictions, each application receives a customized set of permissions tailored to its functional requirements, allowing high functionality where needed while minimizing security risks through restricted access elsewhere.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial action by granting only the specific permissions necessary for each application to function, rather than full privileges. This minimal necessary access principle ensures applications have sufficient functionality to perform their tasks while reducing security exposure by limiting access to only what is strictly required.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If fine-grained access control is implemented, then user precision in permission specification is improved, but system complexity increases

Engineering Contradiction:
Improvepermission specification precisionVSAvoidauthorization system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary authorization manager that handles the complexity of fine-grained permission management. This intermediary component mediates between users and applications, automatically managing the granular permissions, tracking access rights, and enforcing security policies, thereby providing precise user control without exposing the full complexity of the authorization system to end users.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If application interaction with authorization mechanism is enabled, then authorization flexibility is improved, but processing overhead increases

Engineering Contradiction:
Improveauthorization flexibilityVSAvoidauthorization processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-establishing permission sets and authorization policies before applications need access. Common authorization scenarios are pre-configured and cached, allowing the system to quickly evaluate and grant permissions without extensive real-time processing, thus maintaining flexibility while reducing processing overhead during actual access operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8505084B2Data access programming model for occasionally connected applications
Publication Date: 2013.08.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8505084B2 patent drawing
  • US8505084B2 patent drawing
  • US8505084B2 patent drawing

AI summary

Portions of a computing environment (such as a user's mesh) may restrict accessing to particular types of access by particular applications. The computer may support applications executing within a virtual environment (such as a web browser) by brokering such access through a token-based system. When an application requests a particular type of access (e.g., writing to a particular data object), the computer may contact an authorization server with the credentials of the application to request the specified access, and may receive and store an authorization token. The computer may then access the computing environment with the authorization token, and may return the results to the application within the virtual environment. Additional features may further support such applications; e.g., a programmatic interface may be provided in a familiar language, such as JavaScript, whereby applications can request access to particular data objects and identify authorized access capabilities.