Steganographic Code Authentication via Split Key Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional information security methods, such as encryption and password systems, are vulnerable to brute force attacks due to their reliance on single or public key encryption schemes, which can be compromised with sufficient computational resources, and they fail to identify foreign executable software like malware during execution.
Innovation Solution
A secure steganographic method using a split key system where the code segment and cipher table are employed as separate keys, with the code segment remaining unmodified to prevent derivation of the inverse function, and opcodes and register references are used to create a robust mapping for authentication, ensuring that knowledge of only one key is insufficient for codebreaking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional encryption schemes are used, then information can be protected, but they are susceptible to brute force attacks with sufficient computational resources
Solution Approach 1:
The patent divides the security system into two separate keys: the code segment and the cipher table. This segmentation means that knowing one key does not help derive the other, as they have different functionalities and purposes. The code segment contains the executable instructions while the cipher table contains the mapping relationships, and neither can be derived from the other through brute force or analysis.
Solution Approach 2:
The patent introduces an intermediary mechanism where the cipher table acts as a mediator between the code segment and the authentication process. The cipher table maps opcodes to authentication values without revealing the code segment itself, creating an intermediate layer that protects the original code while enabling verification.
2Reliability
If the code segment is modified to embed security information, then authentication capability is improved, but the code segment becomes detectable and vulnerable to analysis
Solution Approach 1:
The patent extracts the security information (authentication values and mappings) from the code segment itself and places it in a separate cipher table. This extraction allows the code segment to remain unchanged and undetectable, while the separate cipher table contains all the necessary authentication data. The code segment retains only its original executable instructions without any embedded security markers.
Solution Approach 2:
The cipher table serves as an intermediary that contains the authentication information separately from the code segment. It maps opcodes to authentication values without modifying the code segment, thus maintaining the code's undetectability while providing robust authentication capability through the separate mapping structure.
3Device complexity
If a single key encryption system is used, then the system is simple to implement, but it can be compromised by deriving the inverse function through computational resources
Solution Approach 1:
The patent segments the single key into two distinct keys with different purposes: the code segment (executable instructions) and the cipher table (mapping relationships). This segmentation increases security because neither key can be derived from the other, while maintaining relative simplicity in implementation as both components work together in a straightforward authentication process.
Data Source
AI summary
A steganographic method to prevent the execution of malicious code and mitigate software piracy. The method uses invariant portions of machine instructions to create an executable watermark within unmodified code. This watermark can be verified at any stage of the software lifecycle, including dynamically and continuously during execution, to detect foreign code by verifying the integrity of the watermark prior to execution. In addition, the watermark may serve as a steganographic covert channel concealing additional information. Code invariants are not altered by binding operations such as loading and linking on different machines, and thus may be employed to consistently and repeatedly identify an unmodified instantiation of a particular program. The use of opcodes and register references as invariants avoids trivial register substitution as a means of program differentiation that eludes detection. The split key structure of the resulting cipher implies that knowledge of only the code (first key) or the cipher table (second key) alone is insufficient to derive the message.


