Microcontroller Secure Memory Image Loading with External Fault Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems where security is not the highest priority, such as industrial automation, terminating the microcontroller's startup procedure upon detection of a faulty data section in a secure memory image can be undesirable, as it locks the system and prevents accessibility, whereas in high-security applications like ATMs, this mechanism is necessary to prevent tampering.

Innovation Solution

A process where the microcontroller analyzes the header and data sections of a secure memory image, and if the data section is faulty, it enters a locked state, but external measures are taken to modify the memory image or switch to an alternative image, preventing a permanent lock and ensuring a secure startup by external intervention, allowing the system to automatically load a correct memory image during subsequent attempts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the microcontroller enters a locked state upon detecting a faulty data section in a secure memory image, then security against tampering is improved, but system accessibility and operational continuity deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidsystem accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary validation of the memory image header and data section before full execution. The external controller detects potential faults in the data section prior to microcontroller commitment, allowing preventive measures to be taken without entering a locked state. This advance detection and preparation resolves the contradiction by maintaining security through validation while avoiding unnecessary accessibility restrictions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An external controller acts as an intermediary between the memory image and the microcontroller. This intermediary validates the memory image, detects faults in the data section, and manages the loading process. When faults are detected, the external controller can switch to alternative memory images or initiate recovery procedures without the microcontroller entering a locked state, thus maintaining both security and accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the microcontroller permanently locks the system upon detecting a faulty data section, then prevention of tampering execution is improved, but system recovery and operational continuity deteriorate

Engineering Contradiction:
Improvetampering preventionVSAvoidsystem recovery
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The system changes the state parameter of the microcontroller from a permanent locked state to a temporary suspended state. Instead of irreversible locking, the microcontroller suspends execution and allows external intervention. The external controller can then modify parameters such as switching to alternative memory images, correcting data section faults, or initiating secure boot procedures, enabling system recovery while maintaining tampering prevention.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements self-service recovery mechanisms where the external controller automatically detects faults in the data section and initiates recovery procedures without human intervention. The external controller can switch to alternative memory images, validate and load corrected images, or trigger secure boot sequences, allowing the system to recover from tampering attempts or faults autonomously while maintaining security.

Inventive Principle:
Principle #25Self-service

3Reliability

If the system validates the data section of a secure memory image before execution, then detection of tampering is improved, but startup time and processing overhead increase

Engineering Contradiction:
Improvetampering detectionVSAvoidstartup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The validation process is segmented into two distinct phases: header validation performed by the microcontroller during normal startup, and data section validation performed by the external controller. This segmentation allows the microcontroller to quickly validate the header and begin execution preparation, while the external controller concurrently or subsequently validates the data section. This divided approach improves tampering detection coverage while minimizing startup time impact.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial validation of the memory image by focusing on critical sections (header and data section checksums) rather than complete thorough analysis of all data. The external controller validates essential security attributes without performing exhaustive scanning, achieving adequate tampering detection while keeping validation time acceptable for startup requirements.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10885195B2Process for loading a secure memory image for a microcontroller and assembly including a microcontroller
Publication Date: 2021.01.05 WEIDMULLER INTERFACE GMBH & CO
  • US10885195B2 patent drawing
  • US10885195B2 patent drawing
  • US10885195B2 patent drawing

AI summary

A process for loading a secure memory image for a startup procedure of a microcontroller from an external non-volatile memory has the microcontroller configured to assume a locked state in which execution of any program is prevented pending a restart of the microcontroller when a data section of a secure memory image is faulty. The process includes the following steps: detection of the locked state of the microcontroller by a controller located outside of the microcontroller, institution of precautionary measures that lead to modified read data values of the memory image in a subsequent attempt by the microcontroller to read the memory image; and initiation of a restart of the microcontroller to cancel the locked state, and thus initiation of a renewed attempt to load the memory image. An assembly including a microcontroller, an external non-volatile memory and a controller implements such a process.