Code Update Integrity Verification for Memory-Constrained Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current secure code update protocols for memory-constrained devices, such as mobile devices, are probabilistic and interactive, allowing adversaries to potentially delete parts of the encrypted code while maintaining proof of retrievability, and require verification of a large number of file blocks to ensure data integrity.
Innovation Solution
The method involves determining the minimum necessary compressed code space, dividing the code into chunks, applying an All-Or-Nothing Encryption scheme, and verifying the integrity of intermediate ciphertext blocks using a permutation-based approach, ensuring 100% certainty of data storage with minimal verification requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional proof-of-retrievability protocols are used to verify code update integrity, then data security is improved, but verification complexity and communication overhead increase significantly
Solution Approach 1:
The patent extracts only the essential verification elements (intermediate ciphertext blocks and permutation references) from the complete code update, allowing the verifier to check integrity without processing the entire large dataset. This reduces verification complexity while maintaining security.
Solution Approach 2:
The code update is divided into multiple chunks, each producing intermediate ciphertext blocks that can be independently verified. This segmentation allows parallel verification of different portions, reducing overall verification time and complexity.
2Productivity
If probabilistic verification methods are used for code updates, then communication efficiency is improved, but verification certainty decreases
Solution Approach 1:
The permutation references and intermediate ciphertext blocks are prepared in advance during the encryption phase, enabling deterministic verification without requiring probabilistic sampling. This preliminary preparation ensures 100% verification certainty while maintaining communication efficiency.
3Reliability
If complete code update verification is performed, then security is improved, but computation time and resource usage increase
Solution Approach 1:
Only the critical intermediate ciphertext blocks and their permutation references are extracted for verification, rather than verifying the entire code update. This reduces computation time and resource usage while maintaining complete security through the all-or-nothing encryption property.
4Measurement precision
If large amounts of encrypted code are transmitted for verification, then verification accuracy is improved, but communication overhead increases
Solution Approach 1:
The patent extracts only the essential verification components (intermediate ciphertext blocks and permutation references) from the complete encrypted code, enabling accurate verification with minimal communication overhead. The extracted elements are sufficient to guarantee complete code integrity through the cryptographic design.
Data Source
AI summary
A method for providing a code update on a memory-constrained device includes: determining, by a verifying entity, a minimum necessary compressed code space (MNCCS) of the code update; dividing, by the verifying entity, the code update into N chunks; encrypting, by the verifying entity, the N chunks, wherein encrypting the N chunks includes outputting at least one intermediate ciphertext block of each encrypted chunk, wherein the at least one intermediate ciphertext block of each encrypted chunk is permuted and permutation reference information is generated by the verifying entity; and sending, by the verifying entity, the encrypted chunks, the at least one intermediate ciphertext block of each encrypted chunk, and the permutation reference information to the memory-constrained device.

