Platform Fingerprinting for Virtual-Machine License Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods struggle to effectively control the execution of software applications in virtual machines by locking licenses to hardware features, which is inadequate for platforms with frequent updates and cloning scenarios.

Innovation Solution

A method that locks licenses to unique installation and update patterns of the execution platform, generating and comparing platform fingerprints to ensure compliance, allowing execution only when the platform's fingerprint matches the initial fingerprint defined in the license.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the license is locked to hardware features of the execution platform, then the protection is effective for physical devices, but the license cannot be used when the software is executed in a virtual machine

Engineering Contradiction:
Improvelicense protection effectivenessVSAvoidlicense compatibility with virtual machines
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent changes the licensing parameter from static hardware features to dynamic installation and update patterns. By generating fingerprints based on the sequence and timing of software installations and updates, the system creates a unique identifier that adapts to both physical machines and virtual machines, resolving the contradiction between hardware-based protection and virtual machine compatibility

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a virtual copy of the hardware identity through software fingerprints. Instead of relying on physical hardware features, the system captures the installation and update pattern as a digital representation that can be replicated and verified across different execution environments including virtual machines, maintaining license protection while enabling virtualization

Inventive Principle:
Principle #26Copying

2Reliability

If the license is locked to specific hardware features, then unauthorized use on different hardware is prevented, but the license cannot be transferred or updated when the platform undergoes changes

Engineering Contradiction:
Improveunauthorized use preventionVSAvoidlicense flexibility for platform updates
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent transforms the licensing system from static to dynamic by continuously monitoring installation and update events. The fingerprint is regenerated based on current platform state, allowing the license to adapt to legitimate updates and changes while maintaining security. This dynamic approach prevents unauthorized use across different hardware while permitting authorized platform evolution

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If hardware-based license locking is used, then the implementation is simple and direct, but it fails to provide effective control in virtualized environments

Engineering Contradiction:
Improvelicense implementation simplicityVSAvoidexecution control effectiveness
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent replaces the mechanical hardware-based licensing system with a software-based fingerprinting mechanism. Instead of relying on physical hardware features, the system uses software installation and update patterns to create unique identifiers. This substitution maintains implementation simplicity while achieving reliable execution control in virtualized environments where hardware features are abstracted or virtualized

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentEP3234842B1Method and control system for controlling an execution of a software application on an execution platform
Publication Date: 2025.10.08 THALES DIS CPL DEUTSCHLAND GMBH
  • EP3234842B1 patent drawingFigure 1
  • EP3234842B1 patent drawingFigure 2
  • EP3234842B1 patent drawingFigure 3~6

AI summary

There is provided a method for controlling an execution of a software application on an execution platform, comprising: a) determining the point in time of at least one of the following list: installation of an operation system on the execution platform, installation of a computer program running on the execution platform, updating of the operation system, updating of the computer program, b) generating at least one platform information item based on the installed/updated operation system/computer program and the determined point in time according to step a), c) generating a first fingerprint based on the platform information item(s) of step b), said first fingerprint is characteristic for the execution platform at the time of carrying out step a), d)generating a license including said first fingerprint, said license defines terms of allowed execution of the software application on said execution platform, and e) controlling the execution by - determining at least some of the platform information item(s) as used for generating the first fingerprint at the time of executing the software application and generating a second fingerprint based on said platform information item(s), - comparing the second fingerprint with the first fingerprint of the license, and - allowing the execution of the software application according to the terms of the license in case of the second fingerprint complies with the first fingerprint, and - preventing the execution of a software application in case of the second fingerprint does not comply with the first fingerprint.