Dynamic License Key Obfuscation via Algorithm Combination Codes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software license verification systems are vulnerable to illegal key generator software, as the underlying verification methods and protocols are embedded in application source code, making it difficult and time-consuming to modify and re-secure the system quickly enough to counteract hacker compromises.

Innovation Solution

A system that rapidly alters the structure and methods of generating keys by using a changeable combination code to select a subset of key obfuscation algorithms, encoding and decoding installation keys to produce a mangled license key, thereby invalidating illegally produced keys without changing the fundamental construction of the license key system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional key generation methods are used with embedded verification protocols in application source code, then the system is stable and easy to implement, but it becomes vulnerable to illegal key generators and requires months or years to re-secure the system

Engineering Contradiction:
Improvelicense verification securityVSAvoidtime to re-secure system
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the key generation system by separating the verification protocol from the application source code. It introduces a standalone key generation server that handles all key pair generation operations, while the client application only contains verification logic. This segmentation allows the server to be updated independently and rapidly, eliminating the need to modify and recompile entire application codebases when security vulnerabilities are discovered.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic key generation methods where the server can change key generation algorithms, salt values, and security parameters without requiring client application updates. The system dynamically adapts to new security requirements by modifying server-side procedures, allowing rapid response to emerging threats while maintaining backward compatibility with existing clients.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If verification methods are embedded in application source code, then the system structure is simple, but modifying the logic to thwart illegal key-gens takes months or years

Engineering Contradiction:
Improvesystem structureVSAvoidease of modifying key generation logic
Core Design Contradiction:
Device complexityVSEase of manufacture

Solution Approach 1:

The patent extracts the key generation logic from the application source code and places it in a separate, centralized server component. This extraction allows the key generation methodology to be modified independently of the application codebase, dramatically reducing the time and complexity required to implement security improvements. The application code remains simple while the extracted server component can be rapidly updated.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If the same key generation protocol is used consistently, then legitimate clients can easily verify keys, but illegal key generators can rapidly reverse-engineer and compromise the system

Engineering Contradiction:
Improvekey verification processVSAvoidreverse-engineering vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent changes key parameters such as salt values, algorithm selections, and generation methods dynamically on the server side. Each key generation request can use different parameters, making reverse-engineering extremely difficult while maintaining consistent verification behavior for legitimate clients. The server responds to verification requests in a predictable manner while the generation process remains variable and unpredictable.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9124424B2System, apparatus and method for license key permutation
Publication Date: 2015.09.01 III HOLDINGS 12 LLC
  • US9124424B2 patent drawing
  • US9124424B2 patent drawing
  • US9124424B2 patent drawing

AI summary

A system and method of dynamically altering the encoding, structure or other attribute of a cryptographic key, typically a license activation key, to render useless keys that have been created by illegal key generation “cracks”. An encoding/decoding engine provides a plurality of key obfuscation algorithms that may alter the structure, encoding or any other attribute of a given key. A changeable combination code is supplied to the encoding/decoding engine that specifies a subset of the algorithms to apply during the encoding or decoding phase. The encoding engine is used during key generation and the decoding engine used during key usage. The same combination code must be used during decoding as was used during encoding to recover the original key or a valid key will not be recovered. Thus, a system can be rapidly re-keyed by selecting a new combination of encoding/decoding algorithms. The selection of algorithms comprises a combination code. The new combination code will result in keys that are incompatible with any existing illegal key generators.