Installation Package Repackaging Verification via Digital Watermark
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for anti-repackaging are ineffective in fully trusted open-source operating systems, as they often omit self-signature verification, and calculating hash values for verification efficiency is memory-intensive and slow.
Innovation Solution
Embedding digital watermark information into installation packages, which is verified using secure dynamic libraries to determine if a package is repackaged, ensuring consistent verification regardless of system modifications and improving efficiency compared to hash value calculations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If self-signature verification is used to prevent repackaging, then repackaging detection accuracy is improved, but verification fails in modified open-source operating systems that omit self-signature checking
Solution Approach 1:
The verification mechanism is segmented into two independent parts: digital watermark information embedded in the target file and verification information stored in the secure dynamic library. This segmentation allows the verification to proceed even if the operating system's native verification mechanisms are modified or omitted, as the watermark verification is self-contained within the application package.
Solution Approach 2:
A secure dynamic library acts as an intermediary between the target file and the verification process. The library stores verification information and provides a standardized interface for verification, isolating the verification logic from direct dependence on operating system modifications. This intermediary ensures consistent verification behavior across different operating system versions and modification states.
2Reliability
If hash value calculation is used for repackaging verification, then verification reliability is improved, but processing efficiency deteriorates due to high memory occupation
Solution Approach 1:
The verification information is extracted from the entire installation package and concentrated into a small, fixed-size storage location within the secure dynamic library. This extraction eliminates the need to load and process the entire package in memory for verification purposes, significantly reducing memory occupation while maintaining verification reliability through the use of cryptographic hash-based verification information.
3Measurement precision
If the entire installation package is loaded into memory for hash verification, then verification completeness is improved, but memory usage increases and processing speed decreases
Solution Approach 1:
The verification information is pre-calculated and stored in the secure dynamic library during the package creation process. This preliminary action eliminates the need to recalculate verification data during installation, allowing rapid verification by simply comparing the pre-stored information with the target file, thus reducing processing time while maintaining verification completeness.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present application provides a method and an apparatus for anti-repackaging. The method includes: running a target file in an installation package and loading a secure dynamic library in the installation package; and performing the following steps based on code in the target file: obtaining digital watermark information embedded in the target file and verification information stored in the secure dynamic library; and verifying, based on the digital watermark information and the verification information, whether the installation package is a repackaged installation package. Because the installation package in the present application includes verification code, no matter how an operating system is modified, a process of verifying the installation package in the system cannot be avoided. This alleviates an existing problem that whether the installation package is repackaged cannot be effectively verified sometimes when the system verifies a self-signature of the installation package to verify whether the installation package is repackaged. The following existing problem is also alleviated: verification efficiency is low sometimes when the system calculates a hash value of the installation package to verify whether the installation package is repackaged.