IoT Firmware Update via Trusted Execution Environment Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing firmware update methods for IoT devices often result in significant downtime, lack of security, and inability to efficiently roll back to previous versions, especially in cases of errors or vulnerabilities, which can lead to damage from attacks.

Innovation Solution

A reliable firmware update system utilizing the Trusted Execution Environment (TEE) with SoC Security Extensions, where updates are applied to a cloned execution environment, allowing for continuous monitoring and quick restoration, and enabling rollback to previous versions, with post-update validation and minimal allowed firmware versions to enhance security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional firmware update methods are used, then firmware can be updated, but device downtime increases and security is compromised

Engineering Contradiction:
Improvefirmware update securityVSAvoiddevice downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the firmware update process into distinct phases: validation phase (where the new firmware is tested in a virtualized environment) and activation phase (where the validated firmware is switched to). This segmentation allows security validation to occur without requiring full device downtime, as the validation happens in parallel in a virtualized stage execution environment while the production environment remains operational.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary validation of the new firmware in a virtualized stage execution environment before activating it in the production environment. This preliminary action includes running extensive tests and security validations in advance, so that when the firmware is ready for deployment, the actual switch to production can happen quickly with minimal downtime, while security has already been verified.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If firmware updates are applied directly to the production environment, then updates are implemented quickly, but security vulnerabilities and errors can cause device failure

Engineering Contradiction:
Improvefirmware update speedVSAvoidfirmware stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system introduces a virtualized stage execution environment as an intermediary between firmware development and production deployment. This intermediary environment allows extensive testing and validation to occur without affecting the production system. The platform module acts as a mediator that manages the transition from stage to production, ensuring that only validated firmware reaches the production environment, thus maintaining both speed and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If extensive validation tests are performed before firmware deployment, then security is improved, but update time increases

Engineering Contradiction:
Improvefirmware security validationVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system creates a virtualized copy of the execution environment (stage execution environment) that replicates the production environment's characteristics. This copying allows validation tests to run in parallel with production operations rather than sequentially. The virtualized copy provides a realistic testing ground without consuming physical device resources that would cause downtime, thus maintaining security validation while minimizing time loss.

Inventive Principle:
Principle #26Copying

4Ease of repair

If rollback capability is implemented for firmware updates, then recovery from errors is enabled, but system complexity increases

Engineering Contradiction:
Improvefirmware rollback capabilityVSAvoidupdate system complexity
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The system extracts the complexity of rollback management into a separate platform module that handles version control and environment switching. The core execution environments (stage and production) remain relatively simple, while the platform module provides the sophisticated rollback functionality by managing multiple firmware versions and coordinating switches between them. This extraction reduces the complexity burden on the execution environments themselves.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10701084B2Reliable and secure firmware update with a dynamic validation for internet of things (IoT) devices
Publication Date: 2020.06.30 INZERO TECHNOLOGIES LLC
  • US10701084B2 patent drawing
  • US10701084B2 patent drawing
  • US10701084B2 patent drawing

AI summary

A computing system for a secure and reliable firmware update through a verification process, dynamic validation and continuous monitoring for error or failure and speedy correction of Internet of Things (IoT) device operability. The invention uses a Trusted Execution Environment (TEE) for hardware-based isolation of the firmware update, validation and continuous monitoring services. The isolation is performed by hardware System on a Chip (SoC) Security Extensions such as ARM TrustZone or similar technologies on other hardware platforms. The invention therefore comprises Firmware Update Service (FUS), System Validation Service (SMS) and Continuous Monitoring Service (CMS) running in the TEE with dedicated memory and storage, thus providing a trusted configuration management functionality for the operating system (OS) code and applications on IoT devices.Services running in the TEE use both direct (hardware level) and indirect (software agents inside main execution environment (MEE)) methods of control of the MEE. Embodiments of the invention apply all updates to a staging (new) execution environment (SEE) without changing of the MEE.