Application-Specific Data Isolation via Handle-Based Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional operating systems fail to isolate application-specific data effectively among applications sharing the same user account, leading to potential stability, security, and management issues due to unauthorized access and modification.
Innovation Solution
A handle-based approach is employed to access data, where a unique identifier is generated for application-specific data, creating a secure access path and handle that only the owning application can use, preventing other applications from accessing it, and a counter manages the data's loading and unloading based on handle usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If data is shared among applications under the same user account without isolation, then ease of operation is improved, but security and stability deteriorate due to unauthorized access and modification
Solution Approach 1:
The patent segments data access rights by creating application-specific handles that isolate data access at the application level rather than allowing broad user account access. Each application receives a unique handle that segments its access permissions, preventing unauthorized access while maintaining ease of operation for authorized applications.
Solution Approach 2:
The patent introduces handles as intermediary objects between applications and data. These handles act as mediators that control and regulate access, allowing applications to access data only through the authorized handle interface rather than direct access, thereby maintaining security while enabling operation.
2Reliability
If application-specific data isolation is implemented using handle-based approach, then data security is improved, but device complexity increases due to handle management overhead
Solution Approach 1:
The patent implements self-service mechanisms where the system automatically manages handle creation, validation, and termination without requiring manual intervention. The kernel automatically creates handles when applications request data access and automatically terminates handles when applications close, reducing the perceived complexity for users while maintaining robust isolation.
Solution Approach 2:
The handle-based approach provides universal access control mechanisms that work across different data types and application scenarios. The same handle creation, validation, and termination logic serves multiple purposes: isolating data, controlling access permissions, managing memory resources, and maintaining security policies throughout the system.
3Productivity
If multiple applications can access the same data under one user account, then productivity is improved through data sharing, but stability deteriorates due to potential data corruption
Solution Approach 1:
The patent segments data access by creating unique handles for each application, allowing controlled data sharing while preventing unauthorized modifications. Applications can share data through the common data structure but each has segmented access control through its handle, maintaining integrity while enabling collaborative productivity.
4Device complexity
If conventional user account isolation is used, then device complexity is minimized with simple access control, but security deteriorates as applications can access each other's data
Solution Approach 1:
The patent introduces handles as intermediary access control objects between the simple user account system and the need for fine-grained application-level security. The handle intermediary maintains the simplicity of user account management while adding the necessary security layer for application-specific data protection.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A mechanism is provided for isolating application-specific data in an environment where multiple applications share a same user account. This mechanism enables data specific to an application to be accessed only by the application. When an application requests application-specific data, the data is loaded and a handle to the data is returned to the application. Access to the data is allowed only though the handle. Therefore, only the application possessing the handle can access the data. A counter may be associated with the loaded data. The counter's value is incremented whenever a handle is created for the data and decremented whenever a handle for the data is terminated. When the value of the counter reaches zero, the data is automatically unloaded.