File Verification via Random Segment Hashing

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

VSEngineering 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

Engineering Contradiction:
Improveverification reliabilityVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If CRC check sum verification is used to reduce verification time, then verification speed is improved, but security reliability deteriorates due to predictability

Engineering Contradiction:
Improveverification speedVSAvoidsecurity reliability
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If random segment verification is implemented to prevent prediction, then security reliability is improved, but verification complexity increases

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidverification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

4Loss of time

If only critical segments are verified, then verification time is reduced, but verification precision deteriorates

Engineering Contradiction:
Improveverification timeVSAvoidverification precision
Core Design Contradiction:
Loss of timeVSMeasurement precision

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10425233B2Method for automatically verifying a target computer file with respect to a reference computer file
Publication Date: 2019.09.24 SCHNEIDER ELECTRIC IND SAS
  • US10425233B2 patent drawing
  • US10425233B2 patent drawing

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.