Boot Program Integrity Verification via Random Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Unintended alterations of boot programs in non-volatile memory due to aging deterioration or malicious attacks can cause system startup failures and data leaks, as existing solutions like Japanese Patent Laid-Open No. 2010-26650 may not effectively detect and mitigate such alterations in a timely manner.

Innovation Solution

An information processing apparatus with two identical boot programs, a verification unit using electronic signatures, and an execution unit that selects and executes a valid boot program, while overwriting an altered one with a backup, ensuring robustness against unintended changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single boot program is stored in non-volatile memory, then the system structure is simple, but the reliability is low due to unintended alterations from aging or attacks

Engineering Contradiction:
Improveboot program integrityVSAvoidstorage structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The boot program is segmented into two separate storage locations (first and second non-volatile memories). This segmentation allows independent verification and execution of alternative boot programs, resolving the contradiction by improving reliability through redundancy while maintaining relatively simple device structure through symmetric design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different local qualities are applied to different parts of the storage system. One non-volatile memory stores the original boot program while the other stores a backup, with each having distinct verification and execution paths. This local differentiation improves reliability without requiring complete system restructuring

Inventive Principle:
Principle #3Local quality

2Measurement precision

If boot program verification is performed at each startup, then detection precision is high, but the processing time increases

Engineering Contradiction:
Improvealteration detection accuracyVSAvoidstartup time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The backup boot program is prepared in advance in the second non-volatile memory with its integrity already ensured. When the primary boot program fails verification, the system can immediately switch to the pre-prepared backup, achieving high detection precision without excessive time loss since the alternative is ready beforehand

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The verification process skips detailed checking when the boot program signature matches the stored hash value, allowing rapid startup. Detailed verification is performed only when necessary (mismatch detected), thus achieving high detection precision for alterations while minimizing average startup time

Inventive Principle:
Principle #21Skipping (Rushing through)

3Device complexity

If the same boot program is stored in both non-volatile memories, then the device complexity is low, but the detection capability is reduced due to identical content

Engineering Contradiction:
Improvestorage configurationVSAvoidalteration detection efficiency
Core Design Contradiction:
Device complexityVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements feedback through hash value comparison. The verification unit calculates the hash of the boot program and compares it with the stored hash value from the other non-volatile memory. This feedback mechanism enables effective detection of alterations even with simple identical storage configuration, resolving the contradiction between device simplicity and detection capability

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11822928B2Information processing apparatus, method of controlling same, storage medium, and image forming apparatus
Publication Date: 2023.11.21 CANON KK
  • US11822928B2 patent drawing
  • US11822928B2 patent drawing
  • US11822928B2 patent drawing

AI summary

It is an object of the present disclosure to improve robustness against an unintended alteration in data in a volatile memory. An information processing apparatus has a storage unit storing two or more boot programs; a determination unit configured to determine the validity of each of the boot programs; an information generation unit configured to generate volatile information; and a selection unit configured to extract the volatile information at random, selects one of the boot programs on a basis of the extracted volatile information, and in a case where the determination unit determines that the selected boot program is not valid and that another one of the boot programs is valid, perform a process of overwriting the selected boot program with the another boot program.