Application Usage Policy Enforcement via Portable License Files

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

VSEngineering 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

Engineering Contradiction:
Improvesoftware securityVSAvoiduser mobility
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesoftware migrationVSAvoidauthorization control
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If product keys are used for each installation to prevent piracy, then software protection is improved, but device complexity and manufacturing complexity increase

Engineering Contradiction:
Improvesoftware protectionVSAvoidauthorization system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If authorization verification is performed at each installation to prevent unauthorized use, then software security is improved, but loss of time increases

Engineering Contradiction:
Improveauthorization verificationVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11475106B2Application usage policy enforcement
Publication Date: 2022.10.18 APPLE INC
  • US11475106B2 patent drawing
  • US11475106B2 patent drawing
  • US11475106B2 patent drawing

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.