Secure Program Context Saving in Heterogeneous Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprogram context restoration capabilityVSAvoidreplay attack vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #9Preliminary anti-action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesecurity against replay attacksVSAvoidcontext saving and restoration process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8095802B2System and method for securely saving a program context to a shared memory
Publication Date: 2012.01.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8095802B2 patent drawing
  • US8095802B2 patent drawing
  • US8095802B2 patent drawing

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.