Microcontroller Program Block Control for Execution Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microcontrollers are vulnerable to external disturbances that can cause unintended program execution, leading to unauthorized access and release of confidential information, as existing solutions do not adequately verify the legitimacy of instruction execution and block transitions.
Innovation Solution
The method involves separating the program into blocks with integrated input and output control areas, implementing verification tests for adherence to these conditions, and taking countermeasures if deviations occur, ensuring that the program follows authorized block transitions and access rules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the program is not separated into blocks with control areas, then the device complexity is reduced, but the reliability of program execution is worsened due to vulnerability to external disturbances
Solution Approach 1:
The program is divided into multiple blocks, each containing a plurality of instructions that can be executed by the microcontroller. Each block is equipped with input control areas (CTRL-E) and output control areas (CTRL-S) that define authorized entry points and exit conditions. This segmentation allows verification tests to be performed at block boundaries, ensuring that only legitimate program transitions occur and preventing unauthorized jumps caused by external disturbances.
2Reliability
If verification tests are implemented at every block transition, then the security against unauthorized access is improved, but the processing time is increased
Solution Approach 1:
The input control areas (CTRL-E) and output control areas (CTRL-S) are pre-configured with reference addresses and conditions that define authorized program transitions. By preparing these control structures in advance, the verification tests can quickly check whether the current program counter position matches an authorized entry point without requiring complex runtime analysis, thus minimizing time loss while maintaining security.
3Adaptability or versatility
If the program counter is allowed to jump to any memory position, then the program flexibility is improved, but the vulnerability to disturbance attacks is worsened
Solution Approach 1:
The input control areas (CTRL-E) and output control areas (CTRL-S) act as intermediary structures between program blocks. These control areas contain reference addresses that mediate the transition between blocks, allowing the program to maintain flexibility in jumping between authorized locations while preventing unauthorized jumps caused by external disturbances. The intermediary control structures verify that any jump originates from an authorized position before allowing execution to continue.
Data Source
AI summary
The aim of the present invention is to propose a method and a device with the aim of avoiding problems which could ensue following the de-synchronization of a program counter during the execution of a program.This aim is achieved by a method for controlling the execution of a program involving separating the program into a number of blocks of instructions and adding an input control section and an output control section to each block. The control sections have conditions for entry to the block and conditions for exit from the block. This can be used to check the validity of the execution of a program by verifying the execution history of the program. Action can be taken in the case that any anomaly is found in the program execution compared to the expected execution.


