Dual-Signature Software Integrity Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software integrity protection and verification methods rely solely on keys provided by the software manufacturer, leading to a trust issue for users who cannot independently verify the integrity of software on their devices.
Innovation Solution
A method and apparatus for software integrity protection and verification that involves obtaining a software package signed by both a user and a manufacturer, using dual private and public keys, to provide a trustworthy basis for software integrity verification independent of the manufacturer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If only manufacturer-provided keys are used for software package signing and verification, then software integrity protection is simplified, but user trust cannot be resolved
Solution Approach 1:
The patent segments the trust verification system into two independent parts: manufacturer signature verification (using manufacturer's private key) and user signature verification (using user's private key). This segmentation allows both manufacturer and user to independently sign software packages, resolving the trust issue by giving users direct verification capability while maintaining the manufacturer's authentication role.
2Reliability
If dual signature verification (manufacturer and user) is implemented, then user trust is resolved, but the complexity of the signing and verification system increases
Solution Approach 1:
The patent implements a universal signature verification mechanism that can handle both single-manufacturer signatures and dual signatures (manufacturer + user). The verification system is designed to be multi-functional: it can verify packages signed by the manufacturer alone, packages signed by both manufacturer and user, and flexibly configure which verification path to use, thereby managing complexity through universality rather than creating separate independent systems.
Data Source
AI summary
Embodiments of this application disclose a software integrity protection method and apparatus. A first device obtains a first software package, where the first software package includes a first signature made by a first party for a second software package by using a first private key; and the first device performs a signing operation on the first software package by using a second private key, to obtain a third software package including a second signature, where the first private key is controlled by the first party, and the second private key is controlled by a second party. The first device sends the third software package to a second device. The second device verifies the first signature and the second signature in the third software package respectively based on a first public key and a second public key that are prestored, to obtain a verification result.


