Petri Net Data Processing for Copy Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software copy protection methods are ineffective in preventing reverse engineering and unauthorized use, as they can be bypassed by observing communication between the application and hardware, and are laborious to integrate, with external processors leading to slow execution and compatibility issues.

Innovation Solution

Encoding a Petri net with transitions exchanging symbols or symbol strings using heads and tapes, which is difficult to analyze semantically, and composing data-processing nets to create a linkage with hardware that is hard to detach, using a cryptological function to secure the processing method.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data are transmitted from the application to protected hardware for encoding and decoding, then copy protection is implemented, but the protection can be bypassed by observing communication between the application and hardware

Engineering Contradiction:
Improvecopy protection effectivenessVSAvoidcommunication protocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The crypto function is divided into partial functions that are distributed between the application and the connector assembly. The application contains some partial functions while the connector assembly contains others, making it difficult for an aggressor to extract the complete crypto function through observation of communication protocols alone.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A connector assembly is introduced as an intermediary component between the application and the external world. This connector assembly executes parts of the crypto function and manages communication, adding an additional layer that obscures the complete processing logic from external observers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If partial functions of the crypto function are distributed in the application at different positions, then extraction without semantic analysis is prevented, but integration becomes very laborious

Engineering Contradiction:
Improvereverse engineering resistanceVSAvoidsoftware integration effort
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The partial functions are pre-distributed into the application code at different positions during the software development phase. This preliminary distribution ensures that when the software is compiled, the crypto function is already fragmented in a way that prevents easy extraction, while the distribution pattern is predetermined to simplify the integration process.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If external processors are used for protected execution, then copy protection is achieved, but execution speed decreases and compatibility problems arise

Engineering Contradiction:
Improveprotected execution securityVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The protected execution functionality is merged with the existing processor architecture by implementing the connector assembly as an integrated component rather than a separate external processor. This combining approach maintains execution speed and compatibility while still providing protected execution for the crypto function.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9275202B2Data processing method
Publication Date: 2016.03.01 WHITECRYPTION CORP
  • US9275202B2 patent drawing
  • US9275202B2 patent drawing
  • US9275202B2 patent drawing

AI summary

Method for processing data, in which a Petri net is encoded, written into a memory and read and executed by at least one instance, wherein transitions of the Petri net read from at least one tape and/or write on at least one tape symbols or symbol strings, with the aid of at least one head. In an alternative, data-processing, co-operating nets are composed, the composition result is encoded, written into a memory and read and executed from the memory by at least one instance. In doing this, components can have cryptological functions. The data-processing nets can receive and process second data from a cryptological function which is executed in a protected manner. The invention enables processing of data which prevents semantic analysis of laid-open, possibly few processing steps and which can produce a linkage of the processing steps with a hardware which is difficult to isolate.