Petri Net Data Processing for Copy Protection
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If external processors are used for protected execution, then copy protection is achieved, but execution speed decreases and compatibility problems arise
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.
Data Source
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.


