Platform Fingerprinting for Virtual-Machine License Control
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
Data Source
Figure 1
Figure 2
Figure 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.