Multi-Controller Boot Code Verification for Secure Activation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional boot code alteration detection methods in information processing apparatuses, such as image processing devices, fail to ensure secure activation when program codes for secondary controllers are altered, leading to reliability degradation.
Innovation Solution
An information processing apparatus comprising a main CPU, a secondary controller, and a verifier that checks the integrity of program codes stored in separate storage devices before execution, using public key encryption to verify the boot codes and ensure secure activation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If program code verification is performed for all controllers, then system security is improved, but device complexity increases
Solution Approach 1:
A dedicated verifier component acts as an intermediary between storage devices and controllers. This intermediary handles all verification operations centrally, preventing direct execution of unverified code by any controller. The verifier mediates the trust relationship between storage and execution units, simplifying the overall architecture by concentrating verification logic in a single component rather than duplicating verification mechanisms across multiple controllers.
Solution Approach 2:
The verification system is segmented into distinct functional components: the verifier, storage devices, and controllers. Each component has a specific role - the verifier checks integrity, storage devices hold program codes, and controllers execute verified codes. This segmentation allows the verification function to be implemented independently and systematically, reducing complexity by clearly defining boundaries and responsibilities rather than embedding verification logic throughout the entire system.
Data Source
AI summary
According to the present invention, an information processing apparatus comprises a first controller that executes a first program code; a second controller that executes a second program code different from the first program code, and communication with the first controller; a storage device that stores the first program code to be executed by the first controller and the second program code to be executed by the second controller; and a verifier that verifies, before the first controller and the second controller execute respective program codes, the respective program codes, stored in the storage device.


