Neural Network Weight Encryption for Reverse-Engineering Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Neural networks are vulnerable to reverse-engineering and copying due to unprotected weight matrices, which can lead to unauthorized use and reconstruction of the network, compromising trade secrets and requiring effective protection methods.
Innovation Solution
The method involves encrypting neural network weights using an encryption cipher, decrypting them upon execution, and re-encrypting upon completion, ensuring that only encrypted weights are stored, thereby preventing unauthorized access and copying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If neural network weights are stored in unprotected form, then execution speed and accessibility are improved, but security and protection from reverse-engineering deteriorate
Solution Approach 1:
The patent applies preliminary encryption to the weight matrices before they are stored or transmitted. The encryption is performed in advance so that when the weights are accessed during execution, they are already in protected form. This resolves the contradiction by preparing the weights securely beforehand, allowing fast execution without compromising security.
Solution Approach 2:
The patent introduces an encryption cipher as an intermediary between the weight matrices and storage/transmission channels. This intermediary transforms the weights into an unreadable form for unauthorized access while maintaining their functional integrity for authorized execution. The cipher acts as a mediator that protects the weights during storage and transmission but allows legitimate access during execution.
2Object-affected harmful factors
If neural network weights are encrypted and stored, then security is improved, but execution speed and accessibility deteriorate
Solution Approach 1:
The encryption is performed preliminarily before storage, so that during execution, the system only needs to decrypt and execute without performing encryption operations. This preliminary preparation eliminates the computational overhead during execution, maintaining high execution speed while ensuring security during storage and transmission.
Solution Approach 2:
The patent implements decryption only during specific execution periods and re-encryption after execution completes. This periodic switching between encrypted and decrypted states ensures that weights are protected during storage and transmission but readily accessible during execution, resolving the speed-security tradeoff by limiting decryption to necessary time windows.
3Ease of operation
If decrypted weights are stored in non-volatile memory, then accessibility is improved, but security deteriorates due to potential copying
Solution Approach 1:
The system preliminarily loads the encrypted weight matrices into volatile memory before execution begins. This preliminary loading ensures that the weights are accessible during execution in decrypted form only in temporary storage, while the permanent storage maintains encrypted form. This resolves the contradiction by preparing the weights for execution without creating persistent copies in unprotected form.
Solution Approach 2:
The patent implements automatic discarding of decrypted weights from volatile memory after execution completes. The decrypted weights exist only temporarily during execution and are discarded afterward, preventing unauthorized copying while maintaining accessibility during the execution window. This temporary existence of decrypted weights resolves the contradiction between accessibility and security.
Data Source
AI summary
The disclosed computer-implemented method may include (i) identifying a neural network that comprises an interconnected set of nodes organized in a set of layers represented by a plurality of matrices that each comprise a plurality of weights, where each weight represents a connection between a node in the interconnected set of nodes that resides in one layer in the set of layers and an additional node in the set of interconnected nodes that resides in a different layer in the set of layers, (ii) encrypting, using an encryption cipher, the plurality of weights, (iii) detecting that execution of the neural network has been initiated, and (iv) decrypting, using the encryption cipher, the plurality of weights in response to detecting that the execution of the neural network has been initiated. Various other methods, systems, and computer-readable media are also disclosed.


