Application Usage Policy Enforcement via Portable License Files
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software distribution methods that require unique product keys for each installation hinder user mobility and are cumbersome for developers, as they restrict software migration across machines while struggling to prevent unauthorized copying, which can deter developers from recouping costs.
Innovation Solution
A system that generates a proof of purchase receipt including user and application information, signs it, and bundles it with the application, allowing verification of usage policies on client devices to enforce application usage policies, including de-authorization counters to prevent policy circumvention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If unique product keys are required for each installation to prevent unauthorized copying, then software security is improved, but user mobility and ease of operation deteriorate
Solution Approach 1:
The system segments the authorization mechanism into multiple components: a license file containing authorization data, a product key for initial authentication, and a license manager that coordinates verification. This segmentation allows the product key to serve as a simple entry point while the license file handles the complex authorization logic, enabling both security and user mobility.
Solution Approach 2:
The license file acts as an intermediary between the product key and the software execution. Instead of directly tying software execution to hardware identifiers or requiring continuous online verification, the license file serves as a portable authorization token that mediates between the user's purchase proof and the software's authorization check, enabling seamless migration across machines.
2Ease of operation
If software can be freely migrated between machines to improve user convenience, then ease of operation is improved, but unauthorized copying increases
Solution Approach 1:
The system performs preliminary authorization verification by embedding license data in a license file at the time of purchase. This preliminary action captures the authorization state upfront, allowing the software to be migrated freely between machines while maintaining authorization control through the portable license file that travels with the user.
Solution Approach 2:
The license file contains changeable parameters such as machine identifiers, user information, and authorization tokens that can be dynamically updated. This allows the system to adapt to different machines while maintaining security, as the license file can be re-authorized on new machines without requiring the original hardware context.
3Reliability
If product keys are used for each installation to prevent piracy, then software protection is improved, but device complexity and manufacturing complexity increase
Solution Approach 1:
The system merges the product key verification and license authorization into a single integrated license file. Instead of requiring separate product keys for each machine and complex hardware binding, the license file combines purchase proof, authorization data, and machine-specific information into one portable component, simplifying both the user experience and the authorization system architecture.
4Reliability
If authorization verification is performed at each installation to prevent unauthorized use, then software security is improved, but loss of time increases
Solution Approach 1:
The authorization verification is performed preliminarily during the license file creation process. The license file is pre-authenticated with all necessary authorization data embedded within it, so that subsequent software executions only require a simple local verification against this pre-validated license file, rather than performing time-consuming verification checks at each installation or requiring online authentication.
Data Source
AI summary
Disclosed herein are systems, methods, and non-transitory computer-readable media for enforcing application usage policies. As part of an application purchase transaction, the application distributor creates a unique proof of purchase receipt. This receipt can be bundled with the application and delivered to the purchaser. Each machine can maintain an authorization file that lists the users authorized to use applications on that machine. A system configured to practice the method verifies that a user is authorized to use an application on a machine based on an application proof of purchase receipt and the authorization file. If the application proof of purchase receipt and the authorization file are both valid, the system checks if the user account identifier in the receipt is contained in the authorization file. If so, the user can be considered authorized to use the application on the machine.


