Parallel Content Checkers for Data Integrity Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data content checking systems are vulnerable to attacks and failures, particularly when handling sensitive information, due to potential single points of failure in content checkers and input/output subsystems, which can lead to inappropriate data transfer and system failures.
Innovation Solution
An automated method using multiple content checkers and cryptographic hash functions to ensure data integrity, where incoming data is checked by multiple content checkers, and only allowed to pass if all checks are successful, with the output subsystem verifying the hash values to confirm data consistency and prevent single point failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single content checker is used to check data, then the checking process is simple and fast, but the system is vulnerable to attacks and failures
Solution Approach 1:
The system divides the checking function into multiple independent content checkers that operate in parallel. Each checker independently analyzes the data stream, and their results are combined through a voting mechanism. This segmentation increases reliability by ensuring that a single failed or compromised checker cannot compromise the entire system, while the parallel architecture maintains checking speed.
Solution Approach 2:
An intermediary voting component is introduced between the multiple content checkers and the data transmission path. This voting component aggregates the results from individual checkers and makes the final pass/fail decision. It acts as a mediator that reconciles potentially conflicting checker outputs and provides a unified reliability decision, preventing any single checker from having disproportionate influence.
2Reliability
If multiple content checkers are used in parallel, then system reliability improves, but the complexity of coordinating and comparing results increases
Solution Approach 1:
The voting mechanism uses a standardized homogeneous decision process where each content checker outputs results in a uniform format (pass/fail indicators). The voting component applies consistent weighting and aggregation rules to these homogeneous outputs, simplifying the coordination complexity by ensuring all checkers speak the same 'language' and can be evaluated using identical criteria.
Solution Approach 2:
The system adjusts the voting parameters (such as the number of checkers required to pass, or the weight given to different checker types) based on the specific security requirements and data sensitivity. This parameter flexibility allows the complexity of the voting mechanism to be tuned - simpler voting rules can be used when reliability requirements are moderate, while more complex parameter configurations can be applied when higher security is needed.
3Adaptability or versatility
If content checkers examine all data formats, then versatility is improved, but the difficulty of ensuring independent failure modes increases
Solution Approach 1:
The system segments the content checking functionality into multiple specialized checkers, where each checker is optimized for specific data formats or types of threats. For example, one checker may specialize in virus detection, another in malware analysis, and another in format-specific validation. This segmentation allows each checker to maintain independence in its failure modes while collectively handling diverse data formats through the voting mechanism that aggregates their specialized results.
Data Source
Figure 1~2
Figure 3~5
Figure 6~7
AI summary
A system for automated checking of data content includes content checkers (208) to (214) arranged in parallel and connected between an input sub-system (204) and an output sub-system (216). The content checkers (208) to (214) check different data formats. Incoming data from an external computer system (202) is passed by the input sub-system (204) to the checkers (208) to (214), which report check results to both input and output sub-systems (204) and (216). From the four check results, the input sub-system (204) judges the data's acceptability for forwarding to a sensitive computer system (218). Unacceptable data is discarded; acceptable data passes to the output sub-system (216), which also judges the data's acceptability from the four check results. The output sub-system (216) only receives such data if the check results are all positive or if the input sub-system (204) malfunctions: in the latter case the check results are not all positive, and the output sub-system (216) will not forward the data unless it also malfunctions. The decision to forward data is therefore split between the input and output sub-systems (206) and (216).