Distributed File Storage Coding Against Mobile Adversary Corruption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional approaches to verifying file availability and integrity in cloud storage environments are inadequate, particularly against a 'mobile adversary' that can progressively corrupt multiple storage providers over time, rendering existing methods ineffective in ensuring file retrievability and integrity.
Innovation Solution
The High-Availability and Integrity Layer (HAIL) system distributes file blocks across multiple servers using adversarial server codes and dispersal codes, incorporating message authentication codes and error-correcting codes to ensure security against a mobile adversary, with a challenge-response protocol for periodic integrity checks and remediation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional verification approaches (POR/PDP) are used, then file integrity can be verified on individual servers, but they cannot detect creeping-corruption attacks across multiple servers over time
Solution Approach 1:
The system segments the verification process into periodic challenge-response rounds across multiple servers. Each server independently responds to challenges, and the client aggregates responses over time to detect patterns of corruption. This segmentation allows detection of mobile adversaries that corrupt different servers at different times, while maintaining individual server verification capabilities.
Solution Approach 2:
The system performs preliminary integrity verification through periodic challenges before a mobile adversary can complete a full creeping-corruption attack. By continuously monitoring server responses and detecting anomalies early, the system can remediate issues before they propagate across all servers, preventing complete file compromise.
2Reliability
If file blocks are distributed across multiple servers, then availability is improved, but security against progressive corruption deteriorates
Solution Approach 1:
The system implements continuous feedback through periodic challenge-response protocols. The client sends challenges to servers, receives responses, and analyzes them for signs of corruption. This feedback loop enables real-time detection of creeping-corruption attacks, allowing the system to identify and remediate compromised servers before they can corrupt the entire distributed file.
Solution Approach 2:
The verification process operates periodically through scheduled challenge-response rounds. Instead of continuous monitoring that would be resource-intensive, the system performs verification at regular intervals, which is sufficient to detect mobile adversaries while maintaining system performance and availability.
3Reliability
If comprehensive integrity checks are performed across all servers, then security is improved, but bandwidth consumption and verification time increase
Solution Approach 1:
The system performs partial verification by selecting subsets of file blocks for each challenge-response round rather than verifying all blocks on all servers simultaneously. This partial action approach reduces verification time and bandwidth consumption while still providing comprehensive security over multiple rounds, as different blocks are verified in different rounds.
Solution Approach 2:
The challenge-response protocol serves multiple functions simultaneously: it verifies file integrity, detects mobile adversaries, monitors server health, and enables remediation. This multi-functionality reduces the need for separate verification mechanisms, thereby reducing overall verification time and bandwidth usage while maintaining comprehensive security.
Data Source
AI summary
A client device or other processing device separates a file into blocks and distributes the blocks across multiple servers for storage. In one aspect, subsets of the blocks are allocated to respective primary servers, a code of a first type is applied to the subsets of the blocks to expand the subsets by generating one or more additional blocks for each subset, and the expanded subsets of the blocks are stored on the respective primary servers. A code of a second type is applied to groups of blocks each including one block from each of the expanded subsets to expand the groups by generating one or more additional blocks for each group, and the one or more additional blocks for each expanded group are stored on respective secondary servers. The first and second codes are advantageously configured to provide security against an adversary that is able to corrupt all of the servers over multiple periods of time but fewer than all of the servers within any particular one of the periods of time.


