External Security Controller for Low-End IoT Code Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Low-end IoT devices with limited computing resources face significant challenges in protecting against runtime software tampering attacks due to their scarce processing power and storage, making conventional security measures inefficient and costly.

Innovation Solution

A security controller is deployed to verify the integrity of executable software code by applying random manipulation to a copy of the code, generating a verification code segment that computes a security code, and comparing it with a stored original to detect potential malware infections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional software integrity protection measures are deployed on IoT devices, then code integrity can be verified, but the computational resources and cost increase significantly

Engineering Contradiction:
Improvecode integrity verificationVSAvoidcomputational resources
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the computationally intensive code verification process from the resource-constrained IoT device and relocates it to an external security controller. The security controller performs the heavy computational work of generating verification codes and comparing them against original codes, while the IoT device only needs to execute the verification code segment and provide minimal data, thus resolving the contradiction between verification capability and device complexity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a security controller as an intermediary component between the code storage location and the executing device. This intermediary handles the complex verification operations, acting as a mediator that protects the resource-constrained IoT device from direct computational burden while ensuring code integrity verification is performed

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If runtime code verification is implemented on resource-constrained devices, then protection against malware injection is improved, but processing power and energy consumption increase

Engineering Contradiction:
Improveprotection against runtime tamperingVSAvoidprocessing power
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The patent extracts the power-intensive runtime verification operations from the IoT device processor and transfers them to an external security controller. The device only performs lightweight operations such as loading code segments into memory and providing memory addresses, while the security controller handles the computationally demanding tasks of generating verification codes and performing comparisons, thus reducing power consumption on the device

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary verification by having the security controller generate verification code segments before they are executed on the device. The verification logic is prepared in advance, and during runtime, only minimal data exchange is needed, reducing the real-time processing power requirements on the resource-constrained device

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive security checks are performed during code execution, then detection of malware is improved, but execution speed decreases

Engineering Contradiction:
Improvemalware detectionVSAvoidcode execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the malware detection verification process from the main code execution path on the IoT device and relocates it to an external security controller. The device can load and execute code segments while the security controller independently performs verification by generating and comparing verification codes, allowing parallel execution without blocking the main processing flow

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial verification by focusing only on critical code segments rather than verifying entire codebases. The verification process targets specific memory locations and code portions that are most susceptible to malware injection, providing adequate security protection while minimizing the impact on overall code execution speed

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP4111338B1Code integrity protection in devices having limited computing resources
Publication Date: 2025.08.13 HUAWEI TECH CO LTD
  • EP4111338B1 patent drawingFigure 1
  • EP4111338B1 patent drawingFigure 2
  • EP4111338B1 patent drawingFigure 3A

AI summary

Methods and devices for protecting a processing device by deploying a security controller to verify an integrity of an executable code segment executed by the protected device are disclosed. The security controller computes a first security code for a randomly manipulated first copy of the executable code segment loaded in memory of the security controller and generates a verification code segment adapted to cause a second security code to be computed for a randomly manipulated second copy of the executable code segment loaded in memory of the protected device. The security controller transmits the verification code segment to the protected device, receives the second security code from the protected device, compares the first and second security codes, and determines a compromise of the protected device in reaction to the second security code not matching the first security code.