Processor Identifier Scrambling for Unauthorized Execution Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processor design vendors face challenges in ensuring that application programs are executed only on licensed processor chips, as unlicensed customers can potentially run licensed application programs without paying royalties, due to the inability to differentiate processor cores.

Innovation Solution

A system utilizing a scrambling module that scrambles a portion of the application program with a unique identifier specific to the authorized processor, and a recovery module that unscrambles it only if the correct identifier is retrieved from the processor, preventing execution on unauthorized processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the same processor core design is licensed to multiple customers, then the processor design can be widely adopted and manufactured, but any customer can potentially run application programs licensed to other customers without paying royalties

Engineering Contradiction:
Improveprocessor design reusabilityVSAvoidapplication program licensing security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies local quality by making each processor core have a unique local identifier embedded in its hardware, while the application program is scrambled with a specific customer's identifier. This creates a localized match requirement between the processor's unique identifier and the program's expected identifier, allowing the same processor design to be reused across customers while ensuring each customer's programs can only run on their licensed processors.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of the application program from a fixed executable state to a scrambled state that requires a specific key (customer identifier) to unscramble. This parameter transformation ensures that even though the processor core design remains the same across customers, the application programs become customer-specific through the scrambling mechanism, preventing unauthorized execution.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If application programs are provided in optimized object code format to customers, then the programs can execute efficiently on the processor, but the programs can be copied and executed on unauthorized processors

Engineering Contradiction:
Improveprogram execution efficiencyVSAvoidunauthorized program execution
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by scrambling the application program in advance before providing it to the customer. This pre-processing step transforms the executable code into an encrypted form that cannot be directly executed. The unscrambling operation is triggered at runtime when the processor's unique identifier matches the expected identifier, ensuring that only authorized processors can execute the program while maintaining execution efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary unscrambling mechanism that sits between the scrambled application program and the processor execution unit. This intermediary layer verifies the processor's authorization through identifier matching and converts the scrambled code into executable form only for authorized processors, thereby preventing unauthorized execution while maintaining efficiency for licensed customers.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If the processor design is fixed and cannot be changed by customers, then the processor vendor maintains control over the design, but customers cannot customize features to optimize their specific applications

Engineering Contradiction:
Improveprocessor design controlVSAvoidcustomer customization capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent segments the processor design into two parts: a fixed core design that maintains vendor control and manufacturing consistency, and a customizable identifier field that allows customer-specific configuration. This segmentation enables the same base processor design to be manufactured uniformly while allowing each customer's processors to have unique identifiers embedded, facilitating both vendor control and customer customization needs.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9117060B2System and method for preventing proper execution of an application program in an unauthorized processor
Publication Date: 2015.08.25 CADENCE DESIGN SYST INC
  • US9117060B2 patent drawing
  • US9117060B2 patent drawing
  • US9117060B2 patent drawing

AI summary

A system and method for preventing an application program, which is licensed to a customer to be exclusively executed in a processor based on a certain processor design, from being executed properly in unauthorized processors is provided. The system includes a scrambling module and a recovery module. The scrambling module scrambles a selected portion of the application program using an identifier which identifies the authorized processor design. The recovery module adds an unscrambling program to the application program such that when the program is running in a processor, it retrieves a second identifier from the processor and unscrambles the scrambled portion of the application program using the retrieved second identifier. If the second identifier does not correspond to an authorized processor design, the unscrambling operation will incorrectly unscramble the scrambled portion and the application program will not run properly.