Double-Encrypted Firmware Update Security Against Jailbreaking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating firmware in computing devices are susceptible to untethered jailbreaking, as they rely on a single encryption key stored on the device, allowing malicious actors to generate and store jailbreak images for re-booting, which can be used for unauthorized access.

Innovation Solution

Implementing a double-encryption scheme where firmware is encrypted with a first crypto-key and then a second crypto-key, with the secure element decrypting the double-encrypted firmware using the second crypto-key before storage and the host processor decrypting it using the first crypto-key upon execution, ensuring only authorized firmware updates can re-boot the device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single encryption key is used for firmware, then the firmware update process is simple, but the device is vulnerable to untethered jailbreaking

Engineering Contradiction:
Improvefirmware update processVSAvoidsecurity against jailbreaking
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The encryption key is segmented into two separate keys: a first encryption key stored in the host processor and a second encryption key stored in a secure element. The firmware is encrypted with both keys in sequence, creating a multi-layered security structure where each key provides a separate layer of protection against jailbreaking

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A secure element is introduced as an intermediary component between the host processor and the firmware storage. This secure element holds the second encryption key and participates in the decryption process, acting as a mediator that prevents direct access to the firmware encryption key and blocks jailbreak attempts

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If double-encryption is implemented, then security against jailbreaking is improved, but the decryption process becomes more complex

Engineering Contradiction:
Improvesecurity against jailbreakingVSAvoiddecryption process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The decryption process is segmented into two distinct stages: first, the secure element decrypts the firmware image using the second encryption key to produce an intermediate decrypted image; second, the host processor decrypts this intermediate image using the first encryption key to produce the final firmware. This segmentation distributes the computational complexity across different components

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secure element performs part of the decryption process autonomously using its stored second encryption key, reducing the burden on the host processor. The host processor then completes the decryption using the first encryption key, creating a self-service decryption system where each component handles its portion of the decryption task

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9792439B2Method and system for securely updating firmware in a computing device
Publication Date: 2017.10.17 NXP BV
  • US9792439B2 patent drawing
  • US9792439B2 patent drawing
  • US9792439B2 patent drawing

AI summary

Embodiments of a method are disclosed. One embodiment is a method for securely updating firmware in a computing device, in which the computing device includes a host processor and a non-volatile memory. The method involves receiving a double-encrypted firmware image from an external firmware source, wherein the double-encrypted firmware image is generated from firmware that is encrypted a first time using a first crypto-key and then encrypted a second time using a second crypto-key. The method also involves receiving the second crypto-key from an external key source, decrypting the double-encrypted firmware image using the second crypto-key to produce an encrypted firmware image, storing the encrypted firmware image in the non-volatile memory of the computing device, reading the encrypted firmware image from the non-volatile memory of the computing device, decrypting the encrypted firmware image using the first crypto-key, and executing the firmware on the computing device.