Hardware Circuit Challenge-Response Software Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies for enabling software applications to be executed on hardware devices do not effectively prevent the execution of the application or its binary copy on another hardware device, lacking robust security and uniqueness.
Innovation Solution
A computer-implemented method and hardware circuit that uses deterministic functions to process challenge data from the software application, generating response data that acts as a decryption key to decrypt and execute the encrypted software application, anchoring its execution to a specific hardware device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software obfuscation techniques are used to protect software applications, then the software becomes hard to reverse engineer, but the software cannot be effectively limited to execute on specific hardware devices
Solution Approach 1:
A hardware circuit acts as an intermediary between the encrypted software application and the processing unit. The hardware circuit receives challenge data from the software, processes it through a deterministic function to generate response data, which is then used to decrypt the software. This intermediary mechanism enables both software protection and hardware-specific execution limitation.
Solution Approach 2:
The software application is encrypted before execution using a decryption key that is generated based on hardware-specific challenge-response data. This preliminary encryption action ensures that the software remains protected until the moment of execution on the authorized hardware device, at which point the hardware circuit generates the appropriate decryption key.
2Reliability
If transformation functions are applied to obfuscate intermediate results, then confidential data is protected, but the software requires specific adaptations in interfacing modules
Solution Approach 1:
The hardware circuit provides a universal interface that works with any encrypted software application using the challenge-response mechanism. Rather than requiring specific adaptations in interfacing modules for different software applications, the hardware circuit implements a standardized deterministic function that can handle various software protection schemes, reducing interface complexity.
3Ease of operation
If existing technologies are used to enable software execution on hardware devices, then basic execution is enabled, but robust security and uniqueness prevention against other devices is lacking
Solution Approach 1:
The security mechanism uses asymmetric challenge-response authentication where the hardware circuit contains a deterministic function with specific input-output relationships. The challenge data is generated by the software application and processed by the hardware circuit to produce a unique response data (decryption key). This asymmetric relationship ensures that only the specific hardware device with the correct deterministic function can generate the proper decryption key, preventing unauthorized execution on other devices.
Data Source
Figure 1
Figure 2~4
Figure 5~7
AI summary
The invention provides a method, a hardware circuit and a hardware device for enabling a software application to be executed on a hardware device in dependence of the hardware circuit, while preventing the execution of a binary copy of the application in another hardware device. Challenge data originating from the software application is input to a hardware circuit of the hardware device, wherein the hardware circuit is configured to perform a deterministic function. Response data is generated by the hardware device, which is used to manipulate at least a part of the software application to thereby enable the software application to be executed.