PHP Software Protection via Hardware Lock Decryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software programs written in PHP face security issues due to easy decryption of encrypted versions, leading to low security after installation on computing devices.

Innovation Solution

A software protection system that includes an encryption module, determination module, prompt module, and decryption module, which encrypts the PHP software program with a hardware lock's identification number and software identification code, and decrypts only when the correct hardware lock is connected, using a decryption rule stored in the device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the software program is encrypted to prevent leakage, then the security is improved, but the encrypted software program can be easily decrypted, resulting in low security

Engineering Contradiction:
Improvesoftware securityVSAvoideasy decryption
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a hardware lock as an intermediary device between the encrypted software and the decryption process. The hardware lock contains a unique identification number that serves as a mediator to control whether decryption can occur. Without this intermediary hardware lock, the encrypted software could be easily decrypted; with it, the decryption process is blocked unless the correct hardware lock is connected, thereby resolving the contradiction between encryption security and decryption ease.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the software protection system into distinct functional modules: an encryption module for encrypting the software, a determination module for checking hardware lock connection, and a decryption module for decrypting the software. This segmentation allows each module to perform its specific function independently, with the determination module acting as a gatekeeper that prevents decryption unless the hardware lock is properly connected, thus improving security while maintaining controlled access.

Inventive Principle:
Principle #1Segmentation

2Reliability

If encryption is applied to protect the software program, then the software becomes secure, but the system complexity increases due to additional protection mechanisms

Engineering Contradiction:
Improvesoftware securityVSAvoidprotection system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hardware lock device serves multiple functions: it acts as a physical security device, a key for decryption, and an identification mechanism. By making the hardware lock multi-functional, the patent reduces the need for separate complex protection mechanisms. The same hardware lock that provides physical security also enables or disables decryption, thereby improving security without proportionally increasing system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the encryption and decryption functions with the hardware lock connection check into a unified protection system. The determination module integrates the hardware lock verification with the decryption process, so that security checking and software decryption are combined in one operational flow. This merging reduces the number of separate complex subsystems while maintaining strong security protection.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9003184B2Computing device and method for protecting software of the computing device
Publication Date: 2015.04.07 CLOUD NETWORK TECH SINGAPORE PTE LTD
  • US9003184B2 patent drawing
  • US9003184B2 patent drawing
  • US9003184B2 patent drawing

AI summary

In a method for protecting software of a computing device, a hypertext preprocessor (PHP) software program of the computing device is encrypted using an encryption rule to obtain an encrypted file. When the encrypted file needs to be decrypted, the method determines whether a predetermined hardware lock is connected to the computing device. When the predetermined hardware lock is not connected to the computing device, the method displays a prompt that indicates the predetermined hardware lock is not connected to the computing device. When the predetermined hardware lock is connected to the computing device, the method decrypts the encrypted file with a decryption rule corresponding to the encryption rule.