Hash-Based Data Integrity Verification for Device Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for protecting software and data in devices, such as engine control units, from unauthorized access are inadequate, as they either restrict legitimate access or can be vulnerable to attacks that exploit authentication and authorization mechanisms, allowing reverse engineering and data manipulation.
Innovation Solution
A method involving the use of hash values and error correction information to identify and reconstruct data or software changes, where a device returns hash values instead of actual content, allowing for secure comparison with a reference memory, thereby preventing unauthorized access and reverse engineering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If authentication and authorization mechanisms are used to protect data and software in devices, then security against unauthorized access is improved, but the mechanisms can be vulnerable to attacks that exploit these same mechanisms, allowing reverse engineering and data manipulation
Solution Approach 1:
The patent introduces hash values as an intermediary between the protected data and the verification process. Instead of directly accessing or comparing the original data, the system uses hash values as a mediator that represents the data's integrity state. This intermediary layer prevents direct attacks on the data while maintaining verification capability.
Solution Approach 2:
The patent creates a cryptographic copy (hash value) of the original data that preserves the essential property of data integrity verification without containing the actual data content. This copy can be transmitted and verified without exposing the original data, preventing reverse engineering while maintaining security.
2Reliability
If hash values are returned instead of actual data content, then protection against reverse engineering and data manipulation is improved, but the ability to perform diagnostics and debugging is reduced
Solution Approach 1:
The patent applies different quality requirements to different parts of the data access system. For production data, full protection is applied (no direct access). For diagnostic purposes, controlled access through hash comparison is provided. This local differentiation allows security to be maintained while enabling debugging when needed.
Solution Approach 2:
The system provides feedback in the form of hash values that indicate the state of the data without revealing the data itself. This feedback mechanism allows diagnostic tools to verify data integrity and detect changes without being able to reverse engineer the actual content, maintaining security while enabling monitoring.
3Reliability
If authentication mechanisms are implemented to control access to device memory, then unauthorized access is prevented, but legitimate access for updates and analysis may be restricted
Solution Approach 1:
The patent implements a dynamic access control system where the level of access granted changes based on the purpose of the request. Routine operations receive automated hash-based verification, while legitimate maintenance operations can obtain higher-level access through additional authentication. This dynamic approach maintains security while allowing flexible legitimate access.
Data Source
AI summary
A method of identifying errors or manipulations of data or software, includes receiving a first hash value stored in a first block of the memory, receiving a second hash value from a reference memory, and comparing the hash values. If different, error correction information and the content of the first block is received. The content of the first block is reconstructed by in accordance with the error correction information, generating a hash value and comparing the hash value of the modified content with the received first hash value, until the modified content and the received hash values are identical. The content of the first block received from the reference memory and the content of the reconstructed first block stored in the memory of the device are compared for identifying the differences in the content.

