Incremental Update Package for POS Terminal Application Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
POS terminals face challenges in secure and efficient application program updates due to limited network resources and low download speeds, especially when using MODEM communication.
Innovation Solution
A data transmitting method that involves a server and client collaboration, where the server creates an incremental upgrade package by identifying and packaging only the necessary files using hash values, and the client verifies and applies these updates securely, ensuring secure data transmission and increased updating speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full application package is downloaded for update, then update completeness is ensured, but data transmission volume increases and update speed decreases
Solution Approach 1:
The application package is segmented into multiple files with individual hash values. The server calculates hash values for all files in the target version, compares them with the client's current files, and identifies only the specific files that need updating. This segmentation allows selective transmission of only necessary files rather than the entire package, resolving the contradiction between ensuring complete updates and reducing update time.
Solution Approach 2:
The server performs preliminary actions by pre-calculating hash values for all files in the target application version and preparing the incremental update package before the client requests it. The client uploads its current file hash list, and the server proactively determines which files need updating and packages them accordingly. This preliminary preparation enables efficient incremental updates without requiring full package re-transmission.
2Reliability
If full application package is downloaded for update, then update completeness is ensured, but network resource consumption increases
Solution Approach 1:
The update process is segmented into file-level operations rather than package-level operations. Each file has its own hash value that can be independently verified. The server identifies only the specific files that differ between versions and transmits only those files, significantly reducing network resource consumption while ensuring that all necessary updates are applied completely.
Solution Approach 2:
Instead of transmitting the complete application package (excessive action), the system transmits only the partial set of files that actually need updating. This partial action is sufficient to achieve complete update functionality while minimizing network resource usage. The hash-based verification ensures that the partial transmission is adequate for achieving full update completeness.
3Reliability
If hash verification is implemented for security, then data transmission security is improved, but verification complexity increases
Solution Approach 1:
Instead of complex cryptographic verification, the system uses hash values (digital fingerprints) as simplified copies of file content for verification purposes. The server calculates and transmits hash values of target files, and the client verifies received files by comparing their hash values. This copying approach provides security verification with minimal complexity, avoiding cumbersome cryptographic protocols while ensuring data integrity.
Solution Approach 2:
The verification mechanism changes from complex cryptographic parameter verification to simple hash value comparison. By transforming the verification parameter from cryptographic signatures to hash digests, the system maintains security functionality while dramatically reducing verification complexity. The hash value serves as a condensed representation that enables quick security verification without complex computational overhead.
Data Source
AI summary
Embodiments of the invention disclose a data transmitting method, a server and a client. The method embodiments of the invention include: obtaining a client application list file uploaded by a client; determining whether a file in a object application list file exists in the client application list file, and determining whether a hash value sha2 of the file in the object application list file is identical to a hash value sha2 of a file in the client application list file; adding the non-existed file into an incremental file list when the file in the object application list file does not exist in the client application list file; adding a file which is not identical into the incremental file list when the hash value sha2 of the file in the object application list file is different from the hash value sha2 of the file in the client application list file; packaging and compressing the object application list file, a signature file of the object application list file and the file in the incremental file list to create an incremental upgrade package such that the client can upgrade the application package through the incremental upgrade package.


