Secure Firmware Provisioning via Device-Specific Memory Offsets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional electronic devices store firmware at a fixed location, making it vulnerable to attacks as a malicious hacker can target multiple devices by knowing the storage address, thereby compromising security.

Innovation Solution

Implementing a method where each device generates a unique offset for firmware storage using a combination of a random number and a unique device identifier, ensuring that the firmware is stored at a randomized location, making it difficult for attackers to locate the firmware without the specific offset.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware is stored at a fixed location in memory, then device operation is simplified and reliable, but security is compromised as attackers can target multiple devices using the same known address

Engineering Contradiction:
Improvefirmware storage reliabilityVSAvoidsecurity vulnerability to attacks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by making each device's firmware storage location unique through device-specific offset values. Instead of uniform fixed addresses across all devices, each device has customized memory addresses calculated using device identifiers, serial numbers, or cryptographic keys. This ensures that while the firmware structure remains consistent, the actual storage locations differ locally for each device, preventing attackers from using a single attack method against multiple devices.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the memory address parameter from a fixed constant to a dynamic value derived from device-specific parameters. The firmware storage address is calculated by combining a base address with an offset that varies based on device identifiers, serial numbers, or cryptographic keys. This parameter transformation maintains operational reliability while eliminating the security vulnerability of predictable, uniform addresses across device populations.

Inventive Principle:
Principle #35Parameter changes

2Object-affected harmful factors

If firmware is stored at randomized locations for each device, then security against attacks is improved, but device complexity increases due to offset generation and management

Engineering Contradiction:
Improvesecurity vulnerability to attacksVSAvoidfirmware storage management complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing offset values during device manufacturing or initialization. Device-specific offset values are derived from immutable device identifiers, serial numbers, or cryptographic keys that are established before the device enters service. This pre-computation eliminates the need for complex real-time calculations during firmware updates or execution, reducing operational complexity while maintaining security benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling devices to autonomously generate their own firmware storage addresses using internally stored device identifiers and cryptographic keys. Each device independently calculates its own offset values without requiring external coordination or complex management infrastructure. This self-service approach simplifies the overall system complexity while ensuring secure, unique storage locations for each device.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3493092B1Secure firmware provisioning and device binding mechanism
Publication Date: 2021.08.11 STMICROELECTRONICS INC
  • EP3493092B1 patent drawingFigure 1
  • EP3493092B1 patent drawingFigure 2
  • EP3493092B1 patent drawingFigure 3

AI summary

Electronic computing devices provide a method to update firmware. The method includes receiving a firmware image at an electronic device, the electronic device having a processor and a memory arranged to store instructions executed by the processor. In the electronic device, a unique device identifier is retrieved and a random number is generated. The generated random number is securely stored. The random number and a representation of the unique device identifier are computationally combined to create a device-binding value, and an address-offset is generated from the device-binding value. The firmware image is stored in the memory at the address-offset.