Hardware-Verified Information Processing Apparatus for Secure Software Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software verification methods are unreliable due to the possibility of software tampering, especially when verification is performed before execution, and the use of software-based verification methods can lead to unreliable results if the verification software itself has been tampered with.

Innovation Solution

An information processing apparatus with a hardware verification unit and a control unit that performs both hardware and software verification, using a first verification unit to verify hardware and a second verification unit to verify software, with a restriction unit that limits apparatus use if either verification fails, ensuring secure execution of software by using high-reliability verification methods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software verification is performed before execution, then software integrity can be checked, but the verification itself may be unreliable if the verification software has been tampered with

Engineering Contradiction:
Improvesoftware verification reliabilityVSAvoidsoftware tampering risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a hardware verification unit as an intermediary between the untrusted software environment and the software to be verified. This hardware unit performs verification of the software before execution, and since it is implemented in hardware rather than software, it cannot be easily tampered with. This resolves the contradiction by providing a trustworthy verification mechanism that is immune to software-level tampering attacks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system is divided into distinct functional units: a hardware verification unit responsible for verification tasks and a control unit that executes the verified software. This segmentation separates the trust-worthy verification function from the potentially untrusted software execution environment, allowing the hardware unit to reliably verify software integrity without being compromised by software tampering.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If divided pieces of software are installed in multiple storage media or files, then software functionality and complexity are managed, but verification reliability decreases due to increased tampering possibilities

Engineering Contradiction:
Improvesoftware functionalityVSAvoidverification reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The hardware verification unit performs verification of all software components (including boot programs, operating systems, and applications) before they are executed. This preliminary verification ensures that even if software is divided across multiple storage media or files, each component is verified for integrity before use, preventing tampering risks from compromising the system despite the software's modular structure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11681809B2Information processing apparatus, control method, and storage medium
Publication Date: 2023.06.20 CANON KK
  • US11681809B2 patent drawing
  • US11681809B2 patent drawing
  • US11681809B2 patent drawing

AI summary

An information processing apparatus includes a first verification unit configured to perform hardware verification of the hardware by using a hardware verification unit, and if the hardware verification is successful, performs a software verification of software stored in a storage unit. If both verifications are successful and a particular function is executed, a second verification unit performs software verification of a program stored in the storage unit. And, if one or both of the verifications is unsuccessful, a restriction unit restricts use of the information processing apparatus.