Hardware Circuit Challenge-Response Software Execution

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

VSEngineering 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

Engineering Contradiction:
Improvesoftware securityVSAvoidhardware device limitation
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If transformation functions are applied to obfuscate intermediate results, then confidential data is protected, but the software requires specific adaptations in interfacing modules

Engineering Contradiction:
Improvedata protectionVSAvoidinterface adaptation requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvesoftware executionVSAvoidsecurity against unauthorized execution
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #4Asymmetry

Data Source

PatentEP3518128B1Enabling a software application to be executed on a hardware device
Publication Date: 2021.04.28 IRDETO BV
  • EP3518128B1 patent drawingFigure 1
  • EP3518128B1 patent drawingFigure 2~4
  • EP3518128B1 patent drawingFigure 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.