Hash Collision Detection in Content Addressable Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content addressable storage (CAS) systems face issues with data collisions due to the possibility of hash collisions, which can lead to data corruption and reduced user confidence, as attackers can create malicious data blocks with equivalent hash values, causing substitution or corruption of existing data.

Innovation Solution

The implementation of a unique hash generator that produces 2-tuple or 3-tuple hash values, including a cryptographic hash ID, domain ID, and hash number, to distinguish between data blocks with the same hash ID, and a collision detection mechanism that performs bit-by-bit comparisons to identify and prevent collisions by generating new unique hash values when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a cryptographic hash function is used to identify data blocks in a CAS system, then storage efficiency and deduplication are improved, but the risk of hash collisions increases, leading to data corruption

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the hash identification into multiple components: a primary cryptographic hash value and additional metadata (hash number, domain ID). This segmentation allows the system to maintain the efficiency of hash-based identification while adding layers of differentiation to prevent collisions from causing data corruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds additional dimensions to the hash identification space by incorporating hash numbers and domain IDs alongside the cryptographic hash value. This multi-dimensional approach expands the identification space, making collisions significantly less likely to result in data corruption while maintaining storage efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of substance

If hash values are used to fingerprint data in CAS systems, then storage space is reduced through deduplication, but collisions can occur resulting in corrupt data

Engineering Contradiction:
Improvestorage spaceVSAvoiddata correctness
Core Design Contradiction:
Loss of substanceVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the system actively monitors for hash collisions and responds by generating unique hash numbers for colliding data blocks. This feedback loop ensures that even when collisions occur, the system can distinguish between different data blocks and maintain data correctness while still achieving deduplication benefits.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the parameters used for data identification by moving from a single hash value to a composite identifier including hash value, hash number, and domain ID. This parameter expansion maintains deduplication efficiency while significantly reducing the probability of collisions leading to data corruption.

Inventive Principle:
Principle #35Parameter changes

3Speed

If a simple hash function is used for data identification, then computation speed is improved, but collision resistance deteriorates, allowing attackers to create malicious data blocks

Engineering Contradiction:
Improvecomputation speedVSAvoidcollision resistance
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent performs preliminary actions by maintaining additional metadata (hash numbers, domain IDs) alongside cryptographic hash values before collisions can be exploited. This preliminary preparation ensures that even if an attacker creates a collision, the system has already established additional differentiation mechanisms to prevent successful attacks.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10678460B2Detecting and managing collisions in storage
Publication Date: 2020.06.09 VMWARE INC
  • US10678460B2 patent drawing
  • US10678460B2 patent drawing
  • US10678460B2 patent drawing

AI summary

The subject matter described herein is generally directed to detecting and managing collisions in storage. A hash identifier (ID) for a first block of data is calculated and a determination is made whether the calculated hash ID matches hash IDs associated with a storage. If the calculated hash ID matches at least one of the hash IDs, the first block of data is compared with a second block of data, associated with the hash IDs, in the storage. If the first block of data is different from the second block of data based on the comparison, a hash number is associated with the calculated hash ID and the first block of data is stored in storage using the calculated hash ID and associated hash number as an index to the first block of data in the storage. In this manner, collision between data blocks is detected and prevented.