Software Integrity Verification Flag Table for Embedded Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded devices in automobiles and robots face delays in software execution due to the need for integrity verification through hash calculation or MAC, which is time-consuming, especially as software size increases, and there is a risk of cyber attacks if unauthorized software is executed.

Innovation Solution

An information processing device with a flag table storage area and a whitelist storage area that allows for efficient execution control by verifying software integrity only when necessary, using a flag system to indicate whether verification is required, thereby reducing delays and preventing unauthorized software execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hash calculation or MAC calculation is performed to verify software integrity before execution, then software security is improved, but software execution time increases

Engineering Contradiction:
Improvesoftware integrity verificationVSAvoidsoftware execution delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating hash values or MAC values for authorized software and storing them in a whitelist database before execution. During runtime, the system only needs to compare the current software's hash/MAC against the pre-stored values, rather than performing full integrity verification calculations. This resolves the contradiction by moving the time-consuming verification work to a preliminary setup phase, enabling fast execution while maintaining security.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If full integrity verification is performed for all software, then security against cyber attacks is improved, but processing time for larger software increases

Engineering Contradiction:
Improvecyber attack preventionVSAvoidverification processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the essential verification element (hash value or MAC value) from the complete software integrity verification process. Instead of re-performing full cryptographic verification on large software files during execution, the system extracts and compares only the pre-calculated hash/MAC values. This resolves the contradiction by taking out the time-consuming calculation portion while retaining the security function through efficient value comparison.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If software size increases to achieve high functionality, then device capability is improved, but verification time increases

Engineering Contradiction:
Improvesoftware functionalityVSAvoidverification delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent uses copying by creating and storing pre-calculated hash values or MAC values of the software in a whitelist database. During execution, instead of verifying the entire large software file, the system copies and compares only the compact hash/MAC value representations. This resolves the contradiction by allowing large, functional software to be verified through comparison of small copied verification values rather than full file analysis.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11947690B2Information processing device, information processing method, and computer program product
Publication Date: 2024.04.02 KK TOSHIBA
  • US11947690B2 patent drawing
  • US11947690B2 patent drawing
  • US11947690B2 patent drawing

AI summary

An information processing device according to an embodiment includes a memory and one or more hardware processors. The memory includes a flag table storage area to store a flag table in which file information for individually identifying one or more pieces of software is associated with a flag used for execution control of a corresponding one of the pieces of software. When rewrite of first software is detected, the hardware processors: extract first file information being the file information corresponding to the first software; change a first flag corresponding to the first file information to a first value indicating that verification of integrity of the first software is required; change a file of the first software in an authorized manner; and change the first value, which has been changed, to a second value indicating permission of execution of the first software.