Code Update Integrity Verification for Memory-Constrained Devices

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

VSEngineering 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

Engineering Contradiction:
Improvedata integrity verificationVSAvoidverification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #1Segmentation

2Productivity

If probabilistic verification methods are used for code updates, then communication efficiency is improved, but verification certainty decreases

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidverification certainty
Core Design Contradiction:
ProductivityVSMeasurement precision

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If complete code update verification is performed, then security is improved, but computation time and resource usage increase

Engineering Contradiction:
ImprovesecurityVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #2Taking out (Extraction)

4Measurement precision

If large amounts of encrypted code are transmitted for verification, then verification accuracy is improved, but communication overhead increases

Engineering Contradiction:
Improveverification accuracyVSAvoidcommunication overhead
Core Design Contradiction:
Measurement precisionVSLoss of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10853497B2Method and system for providing an update of code on a memory-constrained device
Publication Date: 2020.12.01 NEC CORP
  • US10853497B2 patent drawing
  • US10853497B2 patent drawing

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.