Image Forming Apparatus Application Program Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveconfidential information protectionVSAvoidexecution performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveexecution performanceVSAvoidconfidential information protection
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If integrity determination is performed on all control codes, then security is improved, but loading time increases

Engineering Contradiction:
Improveintegrity verificationVSAvoidloading time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12158948B2Image forming apparatus capable of executing application programs, control method therefor, and storage medium
Publication Date: 2024.12.03 CANON KK
  • US12158948B2 patent drawing
  • US12158948B2 patent drawing
  • US12158948B2 patent drawing

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.