Authenticated Pattern Matching via Suffix Tree Accumulators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a need for authenticated pattern matching and exact path queries in cloud computing settings to ensure the integrity and correctness of data processing on outsourced data sets, particularly in scenarios where data is processed by untrusted servers.

Innovation Solution

The solution involves precomputing a suffix tree that organizes patterns in the data, encoding structural and suffix information, and providing this information to a server to perform pattern matching queries, along with generating proofs for verification, ensuring that pattern matches or mismatches are correctly identified and validated.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data processing is outsourced to untrusted servers for scalability and efficiency, then productivity is improved, but reliability deteriorates due to inability to verify computation correctness

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidcomputation correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by precomputing authentication structures (Merkle trees, suffix arrays, accumulation values) during an offline phase before the actual query processing. This allows the server to be held accountable for pre-computed data structures, enabling verification of pattern matching results without reprocessing the entire dataset, thus maintaining reliability while achieving scalability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces cryptographic intermediaries including Merkle trees, suffix arrays, and accumulation values that act as mediators between the outsourced data and verification mechanisms. These intermediaries enable the client to verify computation correctness without directly processing the raw data, resolving the contradiction between outsourcing for efficiency and maintaining verification capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If authenticated data structures are used to ensure query verification, then reliability is improved, but device complexity increases due to additional cryptographic components

Engineering Contradiction:
Improvequery verificationVSAvoidcryptographic structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The authentication structure is segmented into multiple independent components: Merkle trees for data structure authentication, suffix arrays for pattern indexing, and accumulation values for verification. This segmentation allows each component to be optimized independently and reduces the complexity burden on any single part of the system while maintaining overall verification reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates cryptographic copies and representations of the data structure (Merkle tree hashes, suffix array indices, accumulation values) that can be verified without accessing or processing the original large datasets. These copies enable efficient verification with minimal complexity in the verification phase.

Inventive Principle:
Principle #26Copying

3Reliability

If verification proofs are generated for each query result, then reliability is improved, but loss of time increases due to additional verification computations

Engineering Contradiction:
Improveresult authenticationVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Verification proofs are generated in advance during the precomputation phase. The Merkle tree hashes, suffix array indices, and accumulation values are computed beforehand and stored with the outsourced data. During query processing, these pre-computed structures enable rapid verification without generating new proofs from scratch, significantly reducing verification time while maintaining strong authentication.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If suffix trees with accumulation values are precomputed for authenticated pattern matching, then measurement precision is improved, but loss of substance increases due to additional stored information

Engineering Contradiction:
Improvepattern matching accuracyVSAvoidstorage overhead
Core Design Contradiction:
Measurement precisionVSLoss of substance

Solution Approach 1:

Instead of storing complete suffix trees with all their structural information, the patent stores compact cryptographic representations including Merkle tree hashes, suffix arrays, and accumulation values. These compact copies maintain the essential information needed for accurate pattern matching verification while using significantly less storage space than full suffix trees.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transforms the representation of pattern matching data from detailed structural information (full suffix trees) to compressed cryptographic parameters (hashes, indices, accumulation values). This parameter transformation maintains measurement precision for pattern matching while dramatically reducing the storage overhead by encoding information in a more compact form.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10409845B1Authenticated pattern matching and exact path queries
Publication Date: 2019.09.10 EMC IP HLDG CO LLC
  • US10409845B1 patent drawing
  • US10409845B1 patent drawing
  • US10409845B1 patent drawing

AI summary

Methods and apparatus are provided for authenticated pattern matching and authenticated exact path queries on outsourced data by a third party server. A source of the outsourced data computes verification information for node and suffix accumulators and sends the data, accumulation values and suffix tree or label trie information to the server; and publishes its public key and the verification digests. The verification may comprise an accumulation tree (AT) or any other public key authentication scheme, such as digital signatures, Merkle Trees and publishing the accumulation values. The server receives the query from a client and the server computes an answer α to the query and a verification proof that are provided to the client. The client then verifies the answer.