Segregated Secure Non-Secure Software Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for executing interleaved secure and non-secure software either incur additional development costs and prolonged execution times due to stringent security constraints or require numerous execution cycles, resulting in low overall temporal performance.
Innovation Solution
A method involving two computers, where non-secure software is executed on a non-safety computer with minimal security constraints, and secure software is executed on a safety computer, with data transfer between them to optimize execution cycles and reduce overall execution time, using transmission software to segregate and synchronize the execution of modules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secure software and non-secure software are integrated into a common secure software and executed on a security computer, then security is guaranteed, but development cost increases and execution time is prolonged
Solution Approach 1:
The system segments software into secure modules (executed on security computer) and non-secure modules (executed on non-security computer), allowing each to be developed and executed independently according to its security requirements, thereby reducing overall development complexity while maintaining security
Solution Approach 2:
A data transfer mechanism acts as an intermediary between the non-security computer and security computer, enabling controlled data exchange that maintains security boundaries while facilitating integration between secure and non-secure software components
2Reliability
If secure software and non-secure software are integrated into a common secure software and executed on a security computer, then security is guaranteed, but execution time is prolonged
Solution Approach 1:
By segmenting execution across two computers, non-secure modules can execute on the non-security computer without being constrained by security computer execution cycles, parallelizing execution and reducing total time while security-critical modules maintain their security guarantees on the security computer
Solution Approach 2:
Non-secure modules that do not require security constraints are executed in advance or in parallel on the non-security computer, preparing data and results before the security computer needs to process secure modules, thereby reducing overall execution time
3Device complexity
If secure software and non-secure software are executed in parallel on separate computers, then development complexity is reduced, but the number of execution cycles increases
Solution Approach 1:
The system implements feedback mechanisms where the security computer monitors and coordinates execution cycles, adjusting the timing and data transfer between computers to optimize the number of execution cycles required while maintaining parallel execution benefits
Solution Approach 2:
The system ensures continuous useful action by coordinating data transfer and execution cycles between the two computers so that secure and non-secure modules can proceed without unnecessary waiting, minimizing idle cycles and improving overall productivity
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
The method involves executing (100) secured and non secured software grouped in a non-secured common software with safety constraints corresponding to constraints of non-secured software so as to update an output datum of non-secured software module. A secured software is executed (120) with safety constraints corresponding to those of the secured software by using the output datum of the secured software module as an updated output datum. The updated output datum is transferred from the non secured common software towards secured software.