Installation Package Repackaging Verification via Digital Watermark

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improverepackaging detection accuracyVSAvoidverification reliability
Core Design Contradiction:
Measurement precisionVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If hash value calculation is used for repackaging verification, then verification reliability is improved, but processing efficiency deteriorates due to high memory occupation

Engineering Contradiction:
Improveverification reliabilityVSAvoidverification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improveverification completenessVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3528149B1Software repackaging prevention method and device
Publication Date: 2021.04.07 ADVANCED NEW TECHNOLOGIES CO LTD
  • EP3528149B1 patent drawingFigure 1
  • EP3528149B1 patent drawingFigure 2
  • EP3528149B1 patent drawingFigure 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.