Software Update Version Verification Using Partial Data Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software update processes for information processing apparatuses in vehicles face challenges in ensuring appropriate updates without downgrading or unauthorized changes, especially when tampering occurs or storage capacity is limited.
Innovation Solution
The proposed solution involves an information processing apparatus with one or more processors and a storage medium, which executes a program that includes instructions for receiving partial update data containing version information. This data is stored and compared with existing version information to determine if an update should proceed, ensuring that only newer versions are installed and preventing downgrading or unauthorized changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire update data including software program is received and stored before version comparison, then the version check can be performed, but the storage capacity requirement increases and update process becomes more complex
Solution Approach 1:
The update data is segmented into two parts: partial data containing version information and the software program. The version comparison is performed using only the partial data (header portion) without storing the entire software program, thus reducing storage requirements while maintaining verification reliability
Solution Approach 2:
The version information is extracted and compared before the actual software program update is executed. This preliminary version check using partial data prevents unnecessary storage of incompatible or outdated software versions, optimizing storage capacity utilization
2Ease of operation
If version comparison is performed without checking partial data first, then the update process is simpler, but downgrading or unauthorized updates may occur
Solution Approach 1:
The system performs preliminary reception and processing of partial data containing version information before executing the main software update. This preliminary action enables version comparison and security verification without complicating the overall update flow, maintaining both simplicity and reliability
Solution Approach 2:
The partial data serves as an intermediary element between the update source and the software program. It carries version information that mediates the update decision-making process, enabling security verification while keeping the update process straightforward
3Reliability
If the information processing apparatus performs comprehensive version checks and security verifications, then unauthorized updates are prevented, but the processing time increases
Solution Approach 1:
The verification process is segmented into two stages: first, quick verification of partial data containing version information; second, execution of the software update only if verification succeeds. This segmentation enables comprehensive security checks without excessive processing time penalty
Solution Approach 2:
The system performs partial verification using only the necessary portion of data (partial data with version information) rather than analyzing the entire software program. This partial action achieves adequate authorization verification while minimizing processing time
Data Source
AI summary
An information processing apparatus includes a processor(s) and a storage medium storing a program. The program causes the processor(s) to execute: a first reception process for receiving partial data in update data other than including a first software program and first version information indicating a version of the first software program and stored in an area closer to a head than the first software program; a process for storing the partial data in a first storage area; a process for comparing the first version information and second version information indicating a version of a pre-update second software program stored in a second storage area for the first software program; and a process for storing, in the second storage area, the first software program received by a second reception process subsequent to the first reception process when the first version information is determined to be newer than the second version information.


