File Verification via Random Segment Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for verifying target computer files against reference files in industrial manufacturing are insecure and time-consuming, as attackers can predict CRC values, allowing fraudulent software to go undetected.
Innovation Solution
A method involving the use of random selection for the size and position of test areas within the files, applying a hash function to these areas, and comparing digital imprints to ensure verification, providing increased security and speed by making it impossible for attackers to anticipate the verification portion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a complete byte-by-byte comparison of embedded software is performed, then verification reliability is improved, but verification time increases excessively
Solution Approach 1:
The patent divides the embedded software into multiple segments and selects specific segments for verification based on pre-calculated verification values. Instead of verifying the entire software, only selected segments are extracted and compared, significantly reducing verification time while maintaining reliability through strategic segment selection.
Solution Approach 2:
The patent performs partial verification by selecting and verifying only specific segments of the embedded software rather than the complete file. This partial action approach reduces the verification workload and time while maintaining sufficient reliability through the use of verification values that indicate overall software integrity.
2Productivity
If CRC check sum verification is used to reduce verification time, then verification speed is improved, but security reliability deteriorates due to predictability
Solution Approach 1:
The patent performs preliminary actions by pre-calculating verification values for different segments of the embedded software before verification. These verification values are generated in advance and stored, allowing the verification process to quickly compare pre-computed values rather than performing complex calculations during verification, thus maintaining both speed and security.
Solution Approach 2:
The patent changes the verification parameter from traditional CRC check sums to segment-based verification values. By verifying specific segments rather than computing a global CRC, the system achieves both fast verification and high security, as attackers cannot predict which segments will be verified or manipulate the software to match a predetermined CRC value.
3Reliability
If random segment verification is implemented to prevent prediction, then security reliability is improved, but verification complexity increases
Solution Approach 1:
The patent performs preliminary action by pre-calculating and storing verification values for multiple segments before the verification process. This preparation eliminates the need for complex runtime calculations, as the verification system only needs to retrieve pre-computed values and compare them with extracted segments, thereby maintaining simplicity despite the random selection approach.
Solution Approach 2:
The patent uses copying by extracting and comparing specific segments with their corresponding pre-calculated verification values. Instead of performing complex analysis on the entire software, the system copies relevant segments and compares them against stored verification data, simplifying the verification process while maintaining security through random segment selection.
4Loss of time
If only critical segments are verified, then verification time is reduced, but verification precision deteriorates
Solution Approach 1:
The patent segments the embedded software into multiple parts and strategically selects specific segments for verification. The segmentation approach ensures that verifying selected segments provides sufficient information about the overall software integrity, maintaining verification precision while reducing the total volume of data that needs to be examined.
Solution Approach 2:
The patent changes the verification approach from verifying the entire software or fixed critical segments to dynamically selecting segments based on pre-calculated verification values. This parameter change allows the system to maintain high verification precision by strategically choosing segments that provide maximum information about software integrity while minimizing verification time.
Data Source
AI summary
A method for verifying a target computer file with respect to a reference computer file, including defining a first area delimiting a portion of a reference file, and a second area delimiting a portion of a target file, the second area exhibiting the same size as the first area and being situated, inside the target file, at the same relative position with respect to the origin of this target file as the first area with respect to the origin of the reference file; calculating a first digital imprint, by applying a hash function solely to that portion of the reference file which is contained inside the first area to be tested; calculating a second digital imprint, by applying the same hash function solely to that portion of the target file which is contained inside the second area to be tested; comparing the first and second digital imprints.

