Microcontroller Configuration Register Integrity at Startup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microcontrollers are vulnerable to attacks targeting their configuration registers, which can be modified during startup, compromising security and functionality.
Innovation Solution
Implement a method involving calculating a first checksum on configuration registers stored in a first memory, copying it to a second memory, and comparing it with a second checksum calculated on the copied register during startup to ensure integrity, modifying the register values if the checksums differ.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If configuration registers are made accessible and updatable at startup, then microcontroller functionality and configurability are improved, but vulnerability to attacks and unauthorized modifications increases
Solution Approach 1:
The patent applies preliminary action by calculating and storing checksums of configuration registers in non-volatile memory before the microcontroller startup. This pre-computed integrity verification data enables automatic detection of unauthorized modifications during the startup phase, preventing vulnerable configurations from being applied while maintaining the ability to legitimately update registers through proper authentication mechanisms.
Solution Approach 2:
The patent implements feedback by continuously monitoring the integrity of configuration registers through checksum verification. The system compares the stored checksum with a newly calculated checksum of the current register values, and based on this feedback, it either proceeds with normal operation or triggers protective actions such as entering a safe mode or preventing execution, thus creating a closed-loop security mechanism.
2Reliability
If checksum verification is implemented on configuration registers, then security against unauthorized modifications is improved, but processing time and startup complexity increase
Solution Approach 1:
The patent reduces startup time overhead by performing the computationally intensive checksum calculation during the customization phase and storing the result in non-volatile memory. During startup, only a quick comparison between the stored checksum and a rapidly recalculated checksum is performed, which is much faster than a full checksum computation, thus maintaining high security while minimizing time loss.
Solution Approach 2:
The patent optimizes the verification process by copying the pre-calculated checksum from non-volatile memory to a readily accessible location in volatile memory during startup. This copying mechanism allows for rapid comparison operations without the need to recompute the entire checksum, significantly reducing the time penalty associated with security verification while maintaining robust protection against register tampering.
3Reliability
If configuration registers are protected with maximum access restriction, then security is improved, but ease of operation and configuration updates deteriorate
Solution Approach 1:
The patent applies dynamics by implementing a state-based access control system where the microcontroller can transition between different operational modes. In normal operation mode, configuration registers can be updated through authenticated access. When security violations are detected, the system dynamically transitions to a protected state where registers become read-only or inaccessible, thus adapting the level of restriction based on the current security context rather than applying static maximum restriction at all times.
Solution Approach 2:
The patent enables legitimate configuration updates by performing preliminary authentication and integrity verification before allowing register modifications. The system verifies the authenticity of update sources and the integrity of configuration data through checksum validation prior to applying changes, ensuring that only authorized updates are permitted while maintaining ease of operation for legitimate users through streamlined authentication workflows.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present description relates to a method for protecting a microcontroller (100) comprising, in a customization phase: calculating a first checksum (Checksum 1) on the content of at least one configuration register (UCONF WR) of the microcontroller stored in a first memory, and storing, in the first memory, said first checksum (Checksum 1); and copying said first checksum and said register to a second memory (104,120); in a startup phase: copying the first checksum and the register, from the second memory (104,120) to the first memory; and comparing a second checksum (Checksum 2), calculated on the content of the copied register (UCONF RD), and the copied first checksum.