Software Copy Protection via Slow Implementation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software programs, especially machine learning models, are vulnerable to copying even when attackers only have access to inputs and outputs, leading to unauthorized use and monetization, and existing methods like watermarks are costly and difficult to implement, with challenges in verifying software program identities without disclosure of proprietary information.
Innovation Solution
Creating a slow implementation of the software program by adding encoded dummy operations that increase execution time and size, allowing for verification of legitimate copies without disclosing proprietary algorithms, using a method that includes generating a slow implementation with encoded dummy operations and comparing outputs to detect copying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If watermarks are used to mark and prove ownership of a software program, then ownership verification is improved, but implementation cost and difficulty increase
Solution Approach 1:
The patent creates a copy of the software program (duplicate) that contains embedded ownership information. This duplicate copy serves as a watermarking mechanism where the ownership data is embedded within the program structure itself, allowing verification without complex external watermarking systems.
Solution Approach 2:
The patent introduces a duplicate software program as an intermediary that carries ownership information. This duplicate acts as a mediator between the original program and verification mechanisms, enabling ownership proof without directly modifying or exposing the original program's proprietary elements.
2Difficulty of detecting and measuring
If software programs are compared to prove copying, then copying detection is improved, but proprietary information disclosure risk increases
Solution Approach 1:
The patent extracts ownership verification functionality into a separate duplicate program that can be independently analyzed. By separating the verification mechanism from the proprietary algorithm, the system enables copying detection without requiring access to or disclosure of the core proprietary information.
Solution Approach 2:
The patent applies different qualities to different parts of the software system. The duplicate program contains ownership information that is specifically designed for verification purposes, while the original program maintains its proprietary algorithm intact. This local differentiation allows verification without exposing sensitive elements.
3Ease of operation
If a software program is provided as a service with input-output access, then service accessibility is improved, but software extraction vulnerability increases
Solution Approach 1:
The patent performs preliminary action by creating a duplicate program with embedded ownership information before the software is provided as a service. This advance preparation ensures that even if attackers gain access through input-output interfaces, the ownership verification mechanism is already in place and the proprietary algorithm remains protected.
Data Source
AI summary
A method is provided for protecting a software program from copying. The method includes providing a first implementation of the software program. A second implementation of the software program is then provided. The second implementation provides a same functionality as the first implementation, and wherein the second implementation includes a plurality of dummy operations to increase a number of operations and an execution time of the second implementation compared to the first implementation. The dummy operations are encoded. The second implementation may then be compared to another software program to determine if the another software program is a copy of the first implementation of the software program. This allows a copy of the first implementation to be detected without disclosing the first implementation.


