Dynamic License Key Obfuscation via Algorithm Combination Codes
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


