Symbian OS Trust Level Component Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing Symbian Operating System's platform security model makes it difficult for a calling process to load a plug-in framework consisting of dozens of binary components with varying capabilities, as it relies solely on capability levels without considering trust levels, limiting flexibility and security.
Innovation Solution
Assigning a 'trust level' to binary components, which determines the degree of trust, allowing calling processes to load DLLs with the same or higher trust levels without affecting their capability, and enabling manual loading of lower-capability DLLs while ensuring security through explicit loading and capability management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the Symbian OS platform security model relies solely on capability levels to control DLL loading, then security is maintained through a simple model, but flexibility and ease of operation are reduced making it difficult to load plug-in frameworks with dozens of binary components having different capabilities
Solution Approach 1:
The security model is segmented into two independent dimensions: capability levels (what the component can do) and trust levels (how much the system trusts the component). This segmentation allows independent management of security attributes, enabling flexible plug-in framework loading by separating functional permissions from trust relationships, thus resolving the contradiction between adaptability and ease of operation
Solution Approach 2:
A new trust level dimension is added to the existing capability level dimension. This dimensional expansion transforms the security model from a single-axis capability check to a two-axis framework where trust levels provide an additional degree of freedom for component loading decisions, enabling complex plug-in scenarios without compromising security
2Adaptability or versatility
If the Symbian OS allows calling processes to load binary components with varying capabilities, then adaptability is improved, but security is worsened due to potential exploitation by malicious code with lower capabilities
Solution Approach 1:
Security controls are segmented into capability-based functional restrictions and trust-based access controls. Capability levels continue to define what operations a component can perform, while trust levels independently control which components can be loaded by which processes. This segmentation maintains security against malicious code while enabling adaptable component loading
Solution Approach 2:
The trust level acts as an intermediary security mechanism between the calling process and the loaded component. Rather than directly controlling capability access, the trust level serves as an intermediate layer that mediates component loading decisions, providing an additional security checkpoint that prevents malicious code exploitation while allowing legitimate adaptive loading
Data Source
AI summary
A system and method of adding programming to a Symbian operating system. A binary component for use by the operating system, with the binary component including both a capability level and a trust level. The trust level is either equal to or higher than the capability level. If the trust level of the binary component is equal to or higher than the capability of a calling process the calling process automatically loads the binary component.


