Remote Software Validation via Secure Check Value Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Many computing devices, especially older systems and IoT devices, lack secure boot functionality and Trusted Platform Modules (TPMs), making it impossible to verify if their software has been altered, thus compromising security, safety, and reliability.
Innovation Solution
A computer-implemented method for validating software on remote computing devices involves generating a first check value based on a unique value and the software, storing this value in a secure data repository, and comparing it with a second check value computed by a secure computing device using an authentic copy of the software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secure boot or TPM techniques are used to validate software, then system security and reliability are improved, but device complexity and cost increase
Solution Approach 1:
The patent introduces a secure computing device as an intermediary that performs software validation on remote computing devices. This mediator computes check values using authentic software copies and compares them against check values from the remote devices, enabling validation without requiring the remote devices to have built-in secure boot or TPM hardware.
Solution Approach 2:
The patent creates a copy of the authentic software on the secure computing device to generate check values for comparison. This copying approach allows the validation system to verify software integrity without modifying or consuming the original software on the remote device, maintaining reliability while avoiding the need for complex hardware security modules on each remote device.
2Object-affected harmful factors
If secure boot is implemented to verify software authenticity, then security is improved, but ease of operation deteriorates due to additional validation steps
Solution Approach 1:
The remote computing device performs self-validation by computing its own check value from its software and comparing it against the authentic check value obtained from the secure data repository. This self-service approach automates the security verification process, reducing manual intervention while maintaining security against harmful factors.
Solution Approach 2:
The authentic check value is pre-computed and stored in the secure data repository during system setup or software distribution. This preliminary action allows for rapid validation during operation without requiring complex real-time computation or additional validation steps, thus improving ease of operation while maintaining security.
3Reliability
If continuous software validation is performed, then reliability is improved, but energy consumption increases
Solution Approach 1:
The system performs software validation periodically rather than continuously, triggering validation events at predetermined time intervals or upon specific events such as software updates. This periodic approach maintains software integrity assurance while significantly reducing energy consumption compared to continuous validation.
4Measurement precision
If check values are stored in a secure data repository for validation, then measurement precision is improved, but loss of information increases due to secure storage requirements
Solution Approach 1:
The patent extracts only the essential validation data (check values and unique identifiers) from the complete software system and stores them in the secure data repository. This extraction approach maintains validation accuracy by preserving the critical checksum information while minimizing data storage requirements and reducing the information loss associated with secure storage constraints.
Data Source
AI summary
A computer implemented method for validating software is provided. The method includes generating a first check value, by a remote computing device, based on a unique value and software of the remote computing device, outputting the first check value and the unique value from the remote computing device to a secure data repository, obtaining, by a secure computing device, an authentic copy of the software of the remote computing device, obtaining, by the secure computing device, the unique value and the first check value from the secure data repository, computing, by the secure computing device, a second check value based on the authentic copy of the software for the remote computing device and the unique value, and determining, by the secure computing device, whether the remote computing device has authentic software based on a comparison of the obtained first check value and the second check value.


