Self-Registering IPC Object References
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication mechanisms between processes are vulnerable to reference forgery, as processes can fabricate references to objects in other processes, making it difficult to ensure secure and legitimate access.
Innovation Solution
A trusted entity mediates all resource access and reference communications, maintaining a namespace for each process where references are uniquely identified, preventing forgery by ensuring only the resource owner can generate valid references, and automatically managing reference exports and imports through monitoring and naming conventions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If processes directly communicate using references to objects in other processes, then communication efficiency is improved, but security is worsened due to reference forgery vulnerability
Solution Approach 1:
The patent introduces a namespace as an intermediary layer between processes. The namespace maintains a mapping between local reference names and actual object identifiers, mediating all reference communications. This allows processes to use simple local names while the namespace ensures security by validating and translating references, preventing forgery attacks while maintaining communication efficiency.
2Reliability
If a trusted entity mediates all reference communications to prevent forgery, then security is improved, but system complexity is worsened
Solution Approach 1:
The namespace is designed to be self-sufficient, maintaining its own mapping tables and validation logic without requiring external intervention. When a process exports an object, the namespace automatically creates the appropriate mappings and makes references available to other processes. This self-service capability reduces the need for complex external mediation mechanisms while maintaining security.
Solution Approach 2:
The namespace pre-establishes mapping tables and reference validation rules before communication occurs. By preparing the reference translation infrastructure in advance and automatically managing the mapping between local names and actual objects, the system avoids the need for complex runtime mediation, reducing overall system complexity while maintaining security.
3Measurement precision
If manual registration operations are used to manage object references between processes, then control precision is improved, but productivity is worsened due to costly registration operations
Solution Approach 1:
The system automatically manages reference registration through the namespace. When an object is exported from one process, the namespace automatically creates the necessary mapping entries and makes the reference available to other processes without requiring manual registration operations. This self-service approach maintains precise control over reference management while eliminating the productivity loss associated with manual registration.
Data Source
AI summary
In response to receiving a communication from a first process directed to a second process, a trusted entity determines if an object reference in the communication refers to an object owned by a first process which is being exported to a second process or if the communication refers to an object not owned by the first process which is being passed to the second process. The trusted entity generates a second object reference for use by the second process. Use of a naming convention identifies the reference as a reference to an object which is foreign to or owned by the processes.


