Control Flow Marking Sequence for Program Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Security-critical programs running on hardware are vulnerable to control flow manipulation attacks, which can compromise cryptographic systems by altering the program flow, allowing unauthorized access despite incorrect password entry.

Innovation Solution

Inserting security program instructions to generate and check a control flow marking sequence, using a combination of instruction addresses, random numbers, and hash values to verify the integrity of the program flow, ensuring that any deviations from a reference sequence indicate an incorrect program flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If control flow marking sequences are generated and checked using instruction addresses, then detection precision of control flow manipulation is improved, but device complexity increases due to additional security program instructions

Engineering Contradiction:
Improvedetection precisionVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The security mechanism is segmented into distinct components: control flow marking sequence generation, backup program command execution, test value calculation, and comparison with reference sequences. This segmentation allows each component to be optimized independently while maintaining overall system precision for detecting control flow manipulation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Reference control flow marking sequences are pre-calculated and stored before program execution. This preliminary action enables rapid comparison during runtime without increasing computational complexity, as the reference data is prepared in advance and can be quickly matched against actual execution paths.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple security program instructions are inserted to generate and check control flow marking sequences, then reliability of program execution is improved, but productivity decreases due to additional processing overhead

Engineering Contradiction:
ImprovereliabilityVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of verifying every single instruction, the mechanism uses selective sampling through backup program commands that calculate test values from subsets of the control flow marking sequence. This partial verification approach maintains high reliability by detecting anomalies while minimizing the performance overhead compared to complete verification of all program instructions.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The control flow marking sequence acts as an intermediary data structure that captures execution path information without requiring direct modification of the original program logic. This intermediary layer enables security verification to be added without fundamentally changing the program's execution flow, thus maintaining productivity while improving reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If test values are calculated over the entire control flow marking sequence, then measurement precision is improved, but use of energy increases due to additional computational operations

Engineering Contradiction:
Improvemeasurement precisionVSAvoiduse of energy
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system calculates test values over selected portions of the control flow marking sequence rather than the entire sequence in all cases. This partial calculation approach reduces energy consumption by minimizing computational operations while maintaining sufficient measurement precision to detect control flow manipulation through strategic sampling of critical execution paths.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2188755B1Method and apparatus for protection of a program against monitoring flow manipulation and against incorrect program running
Publication Date: 2017.10.18 SIEMENS AG
  • EP2188755B1 patent drawing
  • EP2188755B1 patent drawing
  • EP2188755B1 patent drawing

AI summary

The present invention relates to a method for protection of a program against monitoring flow manipulation, wherein protection program commands are inserted, in order to produce and check a monitoring flow marking sequence, into at least one program command sequence, which comprises program commands, of the program.