PUF-Based Embedded Software Update Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

IoT devices are vulnerable to hacking and unauthorized modifications due to the lack of effective protection methods for their embedded software, which poses a significant risk to sensitive information stored within these devices.

Innovation Solution

A system utilizing a physically unclonable function (PUF) generator to create a unique signature key based on inherent physical characteristics, coupled with encryption and decryption processes to secure software updates, preventing unauthorized access and modifications by using a PUF response and helper data, which are encrypted and decrypted using public and private keys.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If embedded software is made accessible for IoT applications, then device functionality and information provision are improved, but vulnerability to hacking and unauthorized modifications increases

Engineering Contradiction:
Improvedevice functionalityVSAvoidvulnerability to hacking
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary anti-action by implementing security measures before the device is deployed and before any unauthorized access attempts occur. The secure element is pre-configured with cryptographic keys and authentication mechanisms that proactively prevent hacking and unauthorized modifications, rather than reacting to threats after they occur.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The patent introduces a secure element as an intermediary component between the embedded software and external access points. This secure element acts as a mediator that handles authentication, encryption, and authorization, isolating the vulnerable software from direct exposure to external threats while maintaining device functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If security protection mechanisms are added to embedded software, then protection against unauthorized access is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity protectionVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by separating security functions from the main embedded software into a distinct secure element. This modular approach isolates complex cryptographic operations and authentication logic in a dedicated component, keeping the main software simple while providing robust security protection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secure element serves as an intermediary that handles all complex security operations, including key management, encryption, and authentication. This allows the main embedded software to remain simple while the intermediary secure element manages the complexity of security protocols and mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11856116B2Method and apparatus for protecting embedded software
Publication Date: 2023.12.26 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US11856116B2 patent drawing
  • US11856116B2 patent drawing
  • US11856116B2 patent drawing

AI summary

Disclosed is a device and method to secure software update information for authorized entities. In one embodiment, a device for receiving secured software update information from a server, the device includes: a physical unclonable function (PUF) information generator, comprising a PUF cell array, configured to generate PUF information, wherein the PUF information comprises at least one PUF response output, wherein the at least one PUF response output is used to encrypt the software update information on the server so as to generate encrypted software update information; a first encrypter, configured to encrypt the PUF information from the PUF information generator using one of at least one public key from the server so as to generate encrypted PUF information; and a second encrypter, configured to decrypt the encrypted software update information using one of the at least one PUF response output so as to obtain the software update information.