Secure Program Context Saving in Heterogeneous Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In heterogeneous processing systems, existing methods lack secure mechanisms to save a program's context, making them vulnerable to replay attacks, where malicious users can capture and reuse software images, compromising security.
Innovation Solution
A system and method that securely saves a program's context to shared memory by encrypting code and data using random persistent security data, accessible only in isolation mode, and stores it in a shared memory accessible by both general and special purpose processor cores, preventing unauthorized access and replay attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If program context is saved to shared memory in heterogeneous processing systems, then program execution can be restored after task switching, but the system becomes vulnerable to replay attacks where malicious users can capture and reuse software images
Solution Approach 1:
The patent applies preliminary anti-action by encrypting the program context with a unique cryptographic key before storing it in shared memory. This pre-encryption prevents malicious users from capturing and reusing the software image, as the encrypted context cannot be interpreted or executed without the specific decryption key. The encryption is performed before the context is written to shared memory, establishing security protection in advance against replay attacks.
Solution Approach 2:
The patent introduces an intermediary mechanism - a cryptographic key - that mediates between the program context and the shared memory storage. This key acts as a security barrier, ensuring that only authorized processes with the correct key can decrypt and restore the program context. The intermediary key prevents direct access to the raw program image, thereby blocking replay attacks while maintaining legitimate program restoration functionality.
2Reliability
If encryption is applied to program context using random persistent security data, then security against replay attacks is enhanced, but the complexity of the saving and restoration process increases
Solution Approach 1:
The patent applies preliminary action by generating and storing the cryptographic key in a secure location before the program context needs to be encrypted. The key is prepared in advance and stored in a protected memory region or secure element, so that when context encryption is needed, the key is already available. This preliminary key preparation reduces the complexity during the actual encryption process, as the security mechanism is pre-configured rather than requiring complex key management at the moment of context saving.
Data Source
AI summary
A system, method and program product for securely saving a program context to a shared memory is presented. A secured program running on an special purpose processor core running in isolation mode is interrupted. The isolated special purpose processor core is included in a heterogeneous processing environment, that includes purpose processors and general purpose processor cores that each access a shared memory. In isolation mode, the special purpose processor core's local memory is inaccessible from the other heterogeneous processors. The secured program's context is securely saved to the shared memory using a random persistent security data. The lines of code stored in the isolated special purpose processor core's local memory are read along with data values, such as register settings, set by the secured program. The lines of code and data values are encrypted using the persistent security data, and the encrypted code lines and data values are stored in the shared memory.


