Client-Specific Software Encryption via Unique Key Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software piracy and copyright infringement are rampant due to the ease of distributing unlicensed software over the internet, leading to significant revenue losses for software providers, with existing solutions being inconvenient for legitimate users and resource-intensive for enforcement.

Innovation Solution

A secure software distribution system that generates unique platform-specific algorithms for each user, using client identity data such as machine serial numbers and biometric information to encrypt software, ensuring only authorized users can execute the software by decrypting it with client-specific keys and algorithms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional monitoring methods limit the number of installations using an authentic key, then software piracy is controlled, but legitimate users are inconvenienced from installing licensed software multiple times

Engineering Contradiction:
Improvepiracy controlVSAvoidinstallation convenience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the authentication mechanism by creating unique cryptographic key pairs for each legitimate user. Instead of using a single shared authentication key that limits installations, each user receives their own public-private key pair. The public key is embedded in the software for authentication, while the private key remains with the user, enabling multiple installations without compromising security or convenience.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making authentication credentials user-specific rather than universally shared. Each user's public key is uniquely embedded in the software instance associated with that user, allowing the system to differentiate between legitimate users and pirates. This localized authentication approach enables flexible installation policies while maintaining security.

Inventive Principle:
Principle #3Local quality

2Ease of manufacture

If software is distributed over the internet, then ease of distribution is improved, but software piracy and copyright infringement increase

Engineering Contradiction:
Improvedistribution easeVSAvoidpiracy risk
Core Design Contradiction:
Ease of manufactureVSObject-affected harmful factors

Solution Approach 1:

The patent implements preliminary anti-action by embedding cryptographic authentication mechanisms and anti-tampering measures into the software before distribution. Public keys are pre-embedded in the software code, and authentication routines are built-in to verify user credentials before execution. This preventive approach addresses piracy risks before they can manifest, allowing secure internet distribution without requiring complex post-distribution monitoring.

Inventive Principle:
Principle #9Preliminary anti-action

3Reliability

If unique authentication keys are used for each user, then piracy is prevented, but system complexity increases

Engineering Contradiction:
Improveauthentication securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing authentication mechanisms that operate autonomously without requiring centralized verification servers. Each software instance contains its own public key and authentication logic, enabling it to independently verify user credentials locally. This self-contained approach maintains high security while avoiding the complexity of centralized authentication infrastructure.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9520990B2System and method for software protection and secure software distribution
Publication Date: 2016.12.13 AVENTYN
  • US9520990B2 patent drawing
  • US9520990B2 patent drawing
  • US9520990B2 patent drawing

AI summary

The various embodiments of the present invention provide a secure software distribution and execution method. According to the method, a server receives software from service provider for downloading to a client and identifies the sections for encoding. APIs are inserted in the identified sections. A unique ID is created based on the identity of the each client to generate an encryption algorithm, decryption key and decryption algorithm. The identified sections are encrypted with the generated encryption algorithm. The encrypted application along with encryption algorithm, decryption key and decryption algorithm are downloaded to the driver of the client machine. The API makes call to the driver by sending the encrypted segment when the encrypted portion is reached during the execution of software in the client machine so that the driver decrypts the encoded portion using the received key and the decryption algorithm to enable the continuous execution of the downloaded software.