Software Authorization System Using Segmented Key Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software authorization systems face challenges in preventing illegal distribution of software, as existing methods are vulnerable to reverse engineering and key extraction, particularly for small programs, leading to difficulties in protecting software integrity and user rights.

Innovation Solution

A software authorization system that encrypts software using a main key and generates a second key through the combination of user and software identification codes, stored in separate libraries, to enhance decryption security and obfuscate data structures, making it harder for unauthorized distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If software is encrypted using a main key and distributed through CDN, then download speed and accessibility are improved, but security against reverse engineering and illegal distribution deteriorates

Engineering Contradiction:
Improvedownload speedVSAvoidsoftware security
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the encryption key system into multiple components: a public main key for initial encryption, user-specific first keys stored in secure elements, and authorization-generated second keys. This segmentation allows CDN distribution of encrypted software while preventing single-point key compromise that would enable illegal distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an authorization module as an intermediary between the software provider and users. This module generates unique second keys by combining the main key with user-specific first keys, acting as a mediator that enables secure personalized decryption without exposing the main key, thus protecting against reverse engineering while maintaining CDN distribution benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a single main key is used for encrypting software, then decryption simplicity is improved, but vulnerability to key extraction and illegal distribution increases

Engineering Contradiction:
Improvedecryption simplicityVSAvoidkey extraction risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by making decryption keys user-specific rather than universal. Each user possesses a unique first key stored in their secure element, and the authorization module generates a unique second key for each user-software pair. This localized key approach maintains operational simplicity for authorized users while preventing key extraction that would enable illegal distribution to other users.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the key parameter from a static main key to a dynamic combination of main key, user-specific first key, and authorization-generated second key. This parameter transformation ensures that even if one key component is compromised, the overall system remains secure because the effective decryption key varies by user and authorization context.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If user-specific security parameters are implemented, then protection against illegal distribution is improved, but system complexity and key management burden increase

Engineering Contradiction:
Improveprotection against illegal distributionVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by storing user-specific first keys in secure elements within user devices, eliminating the need for centralized key distribution and management. Users automatically possess their authentication credentials, and the authorization module handles key generation and distribution transparently, reducing key management complexity despite enhanced security requirements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8959659B2Software authorization system and method
Publication Date: 2015.02.17 IND TECH RES INST
  • US8959659B2 patent drawing
  • US8959659B2 patent drawing
  • US8959659B2 patent drawing

AI summary

A software authorization system has a server end and a user end. A software authorization method includes acquiring a software identification code of a protected software when the user end downloads the protected software from the server end; transmitting the software identification code and an inherent user identification code to the server end; acquiring a first key and main key by the server end according to the user identification code and the software identification code, respectively, so as to generate a second key by operating the main key and the first key and transmit the second key to the user end; restoring the main key by the user end with the second key combined with the first key; and decrypting the protected software by the main key. Therefore, the protected software is hard to be decrypted.