Control Flow Marking Sequence for Program Protection
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


