Dynamic Software Tampering Detection via Server-Generated Verification Parameters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software verification methods are inadequate in detecting software tampering due to their reliance on fixed verification data, which can be easily counterfeited by attackers, leading to inaccurate results and data security risks.
Innovation Solution
A method and device that dynamically select verification parameters for software verification, allowing a client device to execute verification procedures based on server-generated parameters to determine if software has been tampered with, ensuring unique verification results for each parameter set.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If conventional fixed verification data is used for software verification, then the verification process is simple and easy to implement, but the verification accuracy deteriorates because attackers can easily counterfeit the fixed verification results
Solution Approach 1:
The patent applies dynamics by transforming the static verification process into a dynamic one. The server dynamically generates verification parameters (such as random numbers, timestamps, or challenge codes) for each verification request, and the client dynamically computes verification results based on these changing parameters. This ensures that verification data is never repeated, making it impossible for attackers to counterfeit results based on fixed patterns, thereby resolving the contradiction between ease of implementation and verification accuracy.
Solution Approach 2:
The patent changes the verification parameters from fixed values to dynamically generated values. Instead of using static verification data that remains unchanged, the system uses parameters that change with each verification instance (such as random challenges, session-specific keys, or time-varying values). This parameter transformation maintains the simplicity of the verification mechanism while dramatically improving accuracy by eliminating predictability and counterfeitability.
2Measurement precision
If dynamic verification parameters are used for software verification, then the verification accuracy improves by preventing counterfeiting, but the system complexity increases due to server-client coordination requirements
Solution Approach 1:
The patent introduces a server as an intermediary that manages the dynamic verification process. The server generates verification parameters, receives verification results from the client, and validates the outcomes. This intermediary approach centralizes the complexity of dynamic parameter management while keeping the client-side implementation relatively simple. The server handles the heavy lifting of generating secure random challenges and maintaining verification state, thus improving verification accuracy without excessively increasing overall system complexity.
Solution Approach 2:
The patent implements a feedback mechanism where the client sends verification results back to the server, which then validates these results against the originally generated parameters. This closed-loop feedback system ensures that even though the system uses dynamic parameters increasing complexity, the verification process remains controlled and verifiable. The feedback mechanism allows the server to confirm whether the client correctly processed the dynamic parameters, thereby maintaining high verification accuracy while managing system complexity through structured interaction.
Data Source
AI summary
A method and system for detecting software tampering includes: at a device having one or more processors and memory: receiving a software verification instruction from a server, the software verification instruction comprising a verification parameter dynamically selected by the server for verifying whether particular software stored at the device contains unauthorized modifications; executing a respective verification procedure corresponding to the verification parameter to obtain a first verification data value; and returning the first verification data value to the server, wherein the server compares the first verification data value to a second verification data value to determine whether the particular software stored at the device contains unauthorized modifications.


