IP Library Granted Patent US 9,659,181
Granted Patent B2
US 9,659,181 · App. 14/836,707 · Granted May 23, 2017

System, apparatus and method for license key permutation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,659,181
App. No.
14/836,707
Granted
May 23, 2017
Kind
B2
Abstract

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.

Claims (27)

1. A method for utilizing a mangled installation key for invalidating an illegally produced key in a computer license validation system having an encoder and decoder, the method comprising the steps of:

storing a master set comprising a plurality of predetermined key obfuscation algorithms on a non-transitory computer-readable medium in the computer license validation system;

designating a combination code that specifies selected ones of the predetermined key obfuscation algorithms stored in the master set to be included in a subset and providing the combination code to the encoder and the decoder before any installation key is obtained, the key obfuscation algorithms in the subset being selected from among the predetermined key obfuscation algorithms in the stored master set and not including all of the predetermined key obfuscation algorithms of the master set;

obtaining an installation key;

generating, by a microprocessor functionally executing the encoder, a combination key by processing seed data with the subset of key obfuscation algorithms specified by the combination code;

generating the mangled installation key by processing the installation key with the combination key; and

decoding, by a second microprocessor functionally executing the decoder, the mangled installation key by processing the mangled installation key with the algorithms specified by the combination code.

2. The method of claim 1 , wherein the installation key is entered by a user or obtained by the system.

3. The method of claim 1 , wherein designating the combination code and the key obfuscation algorithms in the subset comprises generating the combination code based on the selected ones of the predetermined key obfuscation algorithms.

4. The method of claim 1 , wherein the seed data comprises data that is retained, stored or generated by the system.

5. The method of claim 1 further comprising decoding the mangled installation key by processing the mangled installation key with the combination code for producing a result installation key.

6. The method of claim 5 , wherein the result installation key is equivalent to the installation key.

7. The method of claim 5 , wherein the decoding further comprises accessing a subset of key obfuscation algorithms from a copy of the master set of key obfuscation algorithms provided at the decoder based on the combination code to process the mangled installation key with the subset of key obfuscation algorithms used to produce the result installation key.

8. The apparatus of claim 1 , wherein the encoder and decoder are implemented by a programmed processing device.

9. A computer license validation system for generating a mangled installation key for invalidating an illegally produced key, the system comprising:

a non-transitory computer-readable storage medium configured to store a master set comprising a plurality of predetermined key obfuscation algorithms;

a microprocessor functionally executing an encoder;

an encryption unit; and

a second microprocessor functionally executing a decoder;

wherein the encoder is configured to designate a combination code that specifies selected ones of the predetermined key obfuscation algorithms stored in the master set to be included in a subset, the key obfuscation algorithms in the subset being selected from among the predetermined key obfuscation algorithms in the stored master set and not including all of the predetermined key obfuscation algorithms of the master set;

wherein the encoder and the decoder are provided with the combination code before any installation key is obtained;

the encoder generates a combination key by processing seed data with the subset of key obfuscation algorithms specified by the combination code;

wherein the encryption unit generates a mangled installation key by processing an installation key with the combination key; and

wherein the decoder decodes the mangled installation key by processing the mangled installation key with the algorithms specified by the combination code to obtain the installation key.

10. The apparatus of claim 9 , further comprising a key server for generating a key pair comprising the installation key and an activation key.

11. The apparatus of claim 9 , wherein the installation key is received from a user, received from an application and/or determined by the license validation system.

12. The apparatus of claim 9 , wherein the encoder, encryption unit and decoder are implemented by a programmed processing device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2017
From: ARVATO DIGITAL SERVICES LLC
To: III HOLDINGS 12, LLC
Reel/Frame 042121/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2017
From: ARVATO DIGITAL SERVICES LLC
To: III HOLDINGS 12, LLC
Reel/Frame 042006/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2017
From: ARVATO DIGITAL SERVICES CANADA, INC.
To: ARVATO DIGITAL SERVICES LLC
Reel/Frame 041936/0312 →