Dynamic Security Module for Software Anti-Piracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current anti-piracy and copy protection schemes for software are inadequate, allowing easy hacking and distribution of software products, leading to significant revenue loss for producers, as they fail to provide robust protection and are not unique to each authorized end-user or installation.

Innovation Solution

A distributed client-server network system that integrates a security module with the software product, requiring user registration to activate the software, generating a unique security module for each user, which is transmitted upon registration, ensuring only the registered owner can access and use the software, and allows for customizable two-way communication for updates and digital rights management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional copy protection schemes are used, then software can be distributed on disk or media, but the protection is easily hacked and copied, leading to revenue loss

Engineering Contradiction:
Improvesoftware protection strengthVSAvoidease of hacking and copying
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The software is divided into two parts: a base application and a unique security module. The security module is segmented further into multiple encrypted sections that are distributed separately and must be assembled in a specific order during execution, making reverse engineering and copying extremely difficult

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The security module is generated and prepared in advance before the software is distributed. Unique security modules are pre-computed for each user based on their hardware identifiers and stored securely, so that when a user installs the software, the protection mechanism is already in place and cannot be bypassed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 3:

A security module acts as an intermediary between the base application and the user's hardware. This intermediate layer contains encrypted code that must be decrypted and executed in a specific sequence, serving as a barrier that prevents direct access to the application code and makes copying impossible

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If static copy protection is used, then software distribution is simplified, but the protection becomes vulnerable to hacking tools and instructions

Engineering Contradiction:
Improvesoftware distribution simplicityVSAvoidvulnerability to hacking tools
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The security module is not static but dynamic. It contains encrypted code that must be decrypted and executed in a specific sequence during software operation. The encryption keys and decryption processes occur at runtime, making the protection adaptive and impossible to copy with static tools

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The security module uses changing parameters including hardware-specific identifiers, timestamps, and random encryption keys that are generated and updated continuously. These parameters ensure that each security module is unique and cannot be replicated by hackers using fixed patterns

Inventive Principle:
Principle #35Parameter changes

3Reliability

If registration codes and hardware identification are used, then software can be tied to a specific computer, but the software only works on that one computer and registration codes can be lost

Engineering Contradiction:
Improvesoftware authorizationVSAvoidsoftware usability flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Instead of using fragile registration codes that can be lost, the system creates a digital copy of the security module that is automatically generated and installed during the first software execution. This copy is stored in a secure location and can be recovered if lost, eliminating the need for physical registration codes

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs self-service by automatically generating, storing, and managing the security module without requiring user intervention. The software itself creates and maintains the authorization mechanism, eliminating the need for separate registration processes and making the system more reliable

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7716474B2Anti-piracy software protection system and method
Publication Date: 2010.05.11 RESOURCE CONSORTIUM LTD LLC
  • US7716474B2 patent drawing
  • US7716474B2 patent drawing
  • US7716474B2 patent drawing

AI summary

A method and system for protecting software products from unauthorized use and distribution is described. The system comprises a client process executed on a client computer coupled to a producer computer over a network. The method comprises the steps of providing to a user a copy of the distributed software, the distributed software comprising an incomplete executable program requiring a security module to be installed prior to execution on the client computer. The user receives a registration code for use with the distributed software. Upon attempted execution of the distributed software the producer computer requests user registration from the user. Upon receipt of the registration information including the registration code from the user, the producer computer validates the registration code and constructing a security module for transmission to the client computer. The security module is integrated with the distributed software to allow execution of the executable program.