COTS Binary Encryption With Hardware Enclave Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software piracy is difficult to prevent as attackers have full control of the computing device and system, and existing hardware enclaves require software developers to modify their programs, which is not feasible.

Innovation Solution

A method and system that modify commercial off-the-shelf program binaries to separate code and data sections, encrypt code, and add headers to load code into a hardware enclave, using a standard operating system loader without requiring software developer intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware enclaves are used to protect software from piracy, then security against piracy is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity against piracyVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a hardware enclave as an intermediary protected execution environment that mediates between the untrusted general-purpose processor and the software code. The enclave acts as a secure boundary that prevents pirates from accessing or modifying code, while the processor continues to function normally. This resolves the contradiction by adding a specialized security component rather than making the entire system complex.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the code into two parts: encrypted code that executes within the hardware enclave and unencrypted data that resides outside. This segmentation allows the critical code portion to be protected while the rest of the system operates normally, improving security without requiring complete system redesign.

Inventive Principle:
Principle #1Segmentation

2Reliability

If software developers modify their programs to use hardware enclaves, then protection from piracy is improved, but ease of manufacture deteriorates

Engineering Contradiction:
Improveprotection from piracyVSAvoidease of manufacture
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent enables the hardware enclave to automatically perform code encryption and management without requiring software developers to manually modify their programs. The system self-services by handling the complex tasks of code segmentation, encryption, and enclave management automatically, thus improving security while maintaining ease of software deployment.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The hardware enclave serves as an intermediary that automatically manages code protection without requiring changes to the software development process. The enclave handles encryption and execution automatically, eliminating the need for developers to manually modify their programs while still providing strong anti-piracy protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If code is encrypted and separated from data, then piracy protection is improved, but device complexity increases

Engineering Contradiction:
Improvepiracy protectionVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments code and data into separate memory regions with different access permissions. Code is encrypted and placed in a protected section that can only be executed within the hardware enclave, while data remains in unencrypted form outside the enclave. This segmentation provides strong piracy protection while keeping the system architecture relatively simple by using standard memory management techniques.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12411916B2Protecting commercial off-the-shelf program binaries from piracy using hardware enclaves
Publication Date: 2025.09.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12411916B2 patent drawing
  • US12411916B2 patent drawing
  • US12411916B2 patent drawing

AI summary

This disclosure describes systems and methods for protecting commercial off-the-shelf software program code from piracy. A software program may include an executable file. The executable file may include code and data. A platform may modify the executable file such that the data may be placed at a location in memory not based on a fixed distance from the code. The platform may modify the executable file to indicate that the code should be loaded in a hardware enclave and at least a portion of the data should be loaded in the memory outside the hardware enclave. The platform may encrypt the code and provide it to a computing device.