Heterogeneous Encrypted Software Security Loader

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software security methods face challenges in controlling access to software features and components, including vulnerabilities to malicious tampering, resource-intensive network-based verification, and impracticality for air-gapped systems, while current solutions like custom versions and license string-based distribution are complex and prone to reverse engineering.

Innovation Solution

The implementation of Heterogeneous Encrypted Software Security (HESS) involves encrypting software components with a loader program that decrypts only authorized programs using unique license keys, ensuring secure access without revealing access control logic or attributes, operating independently of network connections, and maintaining simplicity in software distribution and updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software components are encrypted to prevent unauthorized access, then security is improved, but the complexity of software distribution and access control increases

Engineering Contradiction:
Improvesoftware securityVSAvoidsoftware distribution complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The software is divided into encrypted components and an unencrypted loader component. The loader remains accessible to manage decryption operations, while the actual software components are encrypted and stored separately. This segmentation allows security to be improved without making the entire software distribution system complex.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A loader program acts as an intermediary between the user and the encrypted software components. The loader receives license keys, performs decryption operations, and loads the decrypted components into memory for execution. This intermediary simplifies the distribution mechanism by centralizing access control logic in a single unencrypted component.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If network-based verification is used to control software access, then access control reliability is improved, but resource consumption and operational dependency increase

Engineering Contradiction:
Improveaccess control reliabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The software system performs self-verification using the license key and decryption logic embedded in the loader component. The loader independently verifies the license key and decrypts the software components without requiring external network verification. This eliminates ongoing network dependencies and reduces resource consumption associated with network communications.

Inventive Principle:
Principle #25Self-service

3Reliability

If all software components are encrypted to ensure security, then protection against tampering is improved, but the ease of operation and loading decreases

Engineering Contradiction:
Improveprotection against tamperingVSAvoidsoftware loading ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The software is segmented into an unencrypted loader component and encrypted software components. The loader remains in plain text to ensure ease of loading and execution, while only the necessary software components are encrypted for protection against tampering. This selective encryption maintains operational simplicity while providing security where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The loader component is prepared in advance in an unencrypted state to facilitate easy loading and execution. The decryption logic is pre-built into the loader, allowing it to automatically decrypt the encrypted software components during the loading process without requiring additional user intervention or complex operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12001523B2Software access through heterogeneous encryption
Publication Date: 2024.06.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12001523B2 patent drawing
  • US12001523B2 patent drawing
  • US12001523B2 patent drawing

AI summary

A first copy of a heterogeneous program payload is provided to a first computing device. The heterogeneous program payload contains an unencrypted component and a set of one or more encrypted components. The set of encrypted components corresponding to a set of one or more programs. The unencrypted component of the heterogeneous program payload includes loader program code configured to receive a first license key. The loader program code is configured to, in response to receiving the first license key, perform a decryption action against the set of encrypted components of the heterogeneous program payload.