Asymmetric License Key System for Secure Software Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing license key solutions are insecure, inflexible, and lack effective management capabilities, as they can be easily reverse-engineered, making it difficult to prevent unauthorized key generation and verification, and do not provide adequate tracing or reporting of software usage.

Innovation Solution

A secure license key system using asymmetric encryption with private and public key pairs, where the private key is kept secure and the public key is used for verification, allowing for flexible key generation and management, and enabling tracing of software origin through a secure tag embedded in software outputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a same algorithm is used in license key generator and verifier, then license key verification is simplified, but security is compromised as hackers can reverse engineer the algorithm

Engineering Contradiction:
Improvelicense key verification complexityVSAvoidlicense key security
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies asymmetry by using different algorithms for key generation and verification. The generator uses a secure algorithm with secret parameters, while the verifier uses a different algorithm with public parameters. This asymmetric approach prevents hackers from reverse-engineering the generation algorithm even if they have access to the verification algorithm, thus resolving the contradiction between verification simplicity and security.

Inventive Principle:
Principle #4Asymmetry

2Stability of the object's composition

If license key settings are fixed, then system stability is maintained, but flexibility is reduced when classification or grouping is needed

Engineering Contradiction:
Improvelicense key system stabilityVSAvoidlicense key classification flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamics by making the license key system configurable and adaptable. The generator and verifier can be configured with different parameters, algorithms, and classification rules based on licensing requirements. This allows the system to dynamically adjust its behavior for different classification needs while maintaining stable core functionality, resolving the contradiction between stability and flexibility.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If detailed tracking information is collected, then management and reporting capabilities are improved, but system complexity increases

Engineering Contradiction:
Improvelicense key management easeVSAvoidtracking system complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by embedding tracking information and identifiers directly into the license key structure during generation. This preliminary inclusion of management data eliminates the need for complex separate tracking systems, as all necessary information is already captured and organized within the key itself, thus improving management ease without significantly increasing system complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8417640B2Secure license key method and system
Publication Date: 2013.04.09 MALIKIE INNOVATIONS LTD
  • US8417640B2 patent drawing
  • US8417640B2 patent drawing
  • US8417640B2 patent drawing

AI summary

A secure license key solution provides software license keys for enabling and/or tracing use of software where a license key comprises a message encrypted by a private key and the public key for verifying the message according to asymmetric encryption techniques. The message and public key may be used by a software enabler (e.g. an installation wizard) to enable the software and/or create a secure tag for incorporating with an output of the software to uniquely the license of the software used to create the output. A license key management system may generate license keys for respective software licensees and comprise a database to store an association between respective software licensees and their license keys to identify the license associated with output obtained.