Microcontroller Software EMP Fault Injection Resilience

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microcontroller systems, such as smart card chips, are vulnerable to electromagnetic pulse (EMP) fault injections, which can cause data and timing faults, allowing hackers to gain control and steal user data, as existing countermeasures like laser and voltage spike injections are inefficient due to increased metal layers and progressive countermeasures.

Innovation Solution

A software system that optimizes source code by defining status constants with a width greater than the native processor width, having distinct high and low halves, and using an optimizing compiler to convert the code into machine language, making it resilient to EMP disruptions by requiring simultaneous and localized faults that are difficult to generate with current EMP systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional status constants with native processor width are used, then the code is simpler and faster to execute, but the system becomes vulnerable to EMP fault injections that can disrupt program flow

Engineering Contradiction:
Improvesecurity against EMP attacksVSAvoidstatus constant structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The status constant is segmented into multiple parts (high half and low half) instead of using a single native-width value. This segmentation ensures that an EMP attack must simultaneously affect multiple distinct memory locations or instruction streams to compromise the status constant, thereby improving reliability against EMP attacks while accepting increased structural complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extends the status constant from native processor width to double the width (e.g., from 32-bit to 64-bit), adding an extra dimension. This dimensional expansion creates redundancy where the high half and low half must both be correctly maintained, making it significantly harder for EMP attacks to disrupt program flow while preserving the original simple comparison logic

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If status constants are extended beyond native processor width, then EMP attack resistance improves, but compiler optimization and code execution efficiency may deteriorate

Engineering Contradiction:
Improveresistance to fault injectionVSAvoidcode execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the parameter of status constant width from native processor width to double the native width. This parameter change increases EMP attack resistance because attackers must now simultaneously disrupt multiple wider status registers or instruction streams. The compiler optimization maintains execution efficiency by recognizing patterns in the extended constants and optimizing their handling despite the increased width

Inventive Principle:
Principle #35Parameter changes

3Productivity

If redundant machine language instructions are combined by the compiler, then code size and execution time decrease, but security against EMP attacks is reduced

Engineering Contradiction:
Improvecode efficiencyVSAvoidsecurity against EMP attacks
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent deliberately avoids complete combination of redundant instructions by using extended status constants that require separate handling of high and low halves. This partial action approach maintains some redundancy in the machine code, which actually improves security against EMP attacks by creating multiple potential failure points that an attacker must simultaneously exploit, while the compiler still optimizes what it can combine

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11188656B2Secure software system for microcontroller or the like and method therefor
Publication Date: 2021.11.30 SILICON LABORATORIES INC
  • US11188656B2 patent drawing
  • US11188656B2 patent drawing
  • US11188656B2 patent drawing

AI summary

In one form, a software system includes a first non-transitory computer readable medium storing a source code program, a second computer readable medium, and a compiler. The first non-transitory computer readable medium includes a first function having a return type greater than a native width of a target processor, and a second function that calls the first function and that conditionally branches based on comparing a returned value from the first function to an expected value, wherein the expected value has first and second portions that are not equal to zero and are not equal to each other. The compiler converts the source code program in the first non-transitory computer readable medium into a machine language program for storage in the second computer readable medium. The compiler optimizes the source code program by selectively combining a set of redundant machine language instructions into a smaller set of machine language instructions.