Differential Firmware Update Generation in Trusted Execution Environment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing firmware update methods for large numbers of devices are resource-intensive and insecure, as they often require sending entire firmware images, which can lead to network inefficiencies and expose devices to malware risks due to the lack of secure processing environments.

Innovation Solution

A method for generating differential firmware updates within a trusted execution environment, where characteristic data is sent to an authorizing entity to authorize the generation of a differential update, and a key is used to decrypt encrypted firmware versions, allowing secure computation of updates without exposing sensitive information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If entire firmware images are sent for updates, then devices can be updated, but network resource usage increases and security is compromised

Engineering Contradiction:
Improvefirmware update securityVSAvoidnetwork resource usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The firmware update process is segmented into differential components, where only the changed portions of firmware are identified and transmitted. The system compares the original firmware image with the updated version, extracts only the modified segments, and sends these differential updates to devices, significantly reducing network bandwidth consumption while maintaining update completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention extracts and transmits only the essential differential update data rather than the complete firmware image. By removing unchanged portions from the update package, the system minimizes network resource usage while preserving the ability to fully update device firmware.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If firmware updates are processed without a trusted execution environment, then processing is simpler, but security is compromised due to malware risks

Engineering Contradiction:
Improvefirmware update securityVSAvoidprocessing environment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A trusted execution environment (TEE) is introduced as an intermediary secure processing layer between the firmware update distribution system and the device. The TEE verifies the authenticity and integrity of differential update data, cryptographic keys, and firmware images, providing a secure sandbox that prevents malware execution while maintaining a relatively simple overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If differential firmware updates are generated without authorization verification, then update generation is faster, but security compliance is compromised

Engineering Contradiction:
Improveupdate generation speedVSAvoidsecurity compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Authorization verification is performed as a preliminary action before differential firmware update generation. The system pre-verifies the credentials and permissions of entities requesting updates, and pre-establishes cryptographic trust relationships, allowing subsequent update generation to proceed quickly without compromising security compliance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11334345B2Differential firmware update generation
Publication Date: 2022.05.17 PELION TECH INC
  • US11334345B2 patent drawing
  • US11334345B2 patent drawing
  • US11334345B2 patent drawing

AI summary

A method of generating an output differential firmware update. Differential firmware update characteristic data is sent from a trusted execution environment (TEE) to an authorizing entity. The differential firmware update characteristic data indicates at least one characteristic associated with generation of the output differential firmware update within the TEE. The TEE obtains a key from the authorizing entity, and is thereby authorized by the authorizing entity to generate the output differential firmware update. The TEE obtains an encrypted version of a firmware portion of the firmware. The encrypted version of the firmware portion is decrypted using the key to obtain a decrypted version of the firmware portion. The output differential firmware update is generated using the decrypted version of the firmware portion.