Image Forming Apparatus Application Program Integrity Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Image forming apparatuses face challenges in protecting confidential information from maliciously tampered application programs while maintaining performance, as existing encryption methods either encrypt the entire application program, affecting performance, or partially encrypting it may still allow for data leakage.
Innovation Solution
The apparatus executes application programs with a combination of encrypted and unencrypted control codes, where the controller determines the integrity of key information and control codes during loading, and only decrypts and loads encrypted codes if both are validated as having integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire application program is encrypted, then confidential information protection is improved, but execution performance deteriorates due to continuous decryption requirements
Solution Approach 1:
The application program is divided into encrypted control codes and unencrypted control codes. The controller selectively loads and executes unencrypted codes for performance-critical operations while maintaining encrypted codes for security-sensitive functionality. This segmentation allows the system to achieve both security and performance by applying encryption only where necessary rather than throughout the entire program.
Solution Approach 2:
Different portions of the application program have different encryption states. Unencrypted control codes are used in regions where execution speed is prioritized and confidentiality risks are minimal, while encrypted control codes are used in regions where security is the primary concern. This local differentiation of encryption quality resolves the contradiction between overall security and local performance requirements.
2Productivity
If a part of the application program is encrypted, then execution performance is improved, but security protection deteriorates as tampered unencrypted code may leak confidential information
Solution Approach 1:
The controller continuously monitors the integrity of control codes during the loading process. When unencrypted control codes are loaded, the controller verifies their integrity against stored hash values or digital signatures. This feedback mechanism allows the system to detect tampered code and prevent execution, thereby maintaining security while preserving the performance benefits of selective encryption.
Solution Approach 2:
Integrity verification is performed in advance before the unencrypted control codes are executed. The controller checks integrity flags or hash values of unencrypted codes prior to loading them into memory for execution. This preliminary verification ensures that only authentic, untampered code is executed, preventing confidential information leakage while allowing the system to benefit from unencrypted performance-critical sections.
3Reliability
If integrity determination is performed on all control codes, then security is improved, but loading time increases
Solution Approach 1:
The controller performs integrity determination selectively rather than universally. Integrity checks are performed on unencrypted control codes that pose security risks, while encrypted control codes are loaded without individual integrity verification since their encryption state provides inherent protection. This partial application of integrity verification maintains security where needed while minimizing the time overhead of verification operations.
Data Source
AI summary
An image forming apparatus which is capable of effectively preventing leakage of confidential information from an application program while reducing effects on the performance of the image forming apparatus. The application program includes a plurality of control codes and a plurality of data. Each of the control codes is loaded so as to be executed. The control codes include encrypted control codes and unencrypted control codes. In a loading process, it is determined whether or not key information for use in decryption in a case where the control code to be loaded is encrypted has integrity, and it is determined whether or not the control codes including the control code to be loaded have integrity. When it is not determined that the control codes have integrity, the encrypted code to be loaded is not loaded or decrypted even if it is determined that the key information has integrity.


