Structured Document Digest Generation via Content Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional hashing and digital sealing methods for structured documents, such as OOXML, are ineffective due to inclusion of non-substantive information and file order variations, leading to false change indications even when the document content remains unchanged.
Innovation Solution
A computer-implemented method that selects a subset of component parts from structured documents, excluding irrelevant metadata and ordering them to generate a digest, ensuring that only the content is hashed, thereby avoiding false change indications by using a canonical byte stream and hash values for authentication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire contents of a structured document including metadata and formatting information is hashed, then the hashing process covers all file components, but it produces false change indications when non-substantive information changes
Solution Approach 1:
The patent segments the structured document into distinct components: substantive content elements and non-substantive metadata elements. By dividing the document hash into content-specific portions and metadata portions, the system can selectively hash only the substantive content elements (text, images, tables) while excluding metadata elements (creation dates, author information, formatting details). This segmentation resolves the contradiction by ensuring that hash changes reflect only actual content modifications rather than metadata changes.
Solution Approach 2:
The patent extracts and excludes non-substantive metadata components from the hashing process. Specifically, it identifies and removes metadata elements such as creation dates, modification dates, author information, and formatting parameters from the document before hashing. This extraction ensures that the hash value reflects only the substantive content, thereby preventing false change indications when metadata is modified without altering the actual document content.
2Reliability
If all component parts of a structured document are included in the hash calculation, then the digital seal covers the complete file, but file order variations cause hashing results to differ even when content is identical
Solution Approach 1:
The patent applies preliminary ordering and normalization to the document components before hashing. It establishes a canonical ordering scheme where substantive content elements are sorted by a stable criterion (such as element type or position in the logical document structure) independent of their physical storage order. This preliminary action ensures that identical content produces identical hash values regardless of file system ordering variations, thereby maintaining hash stability while preserving authenticity verification.
3Quantity of substance
If metadata information such as last access date and print date is included in the document hash, then the hash reflects all file attributes, but the hash changes even when substantive information remains unchanged
Solution Approach 1:
The patent extracts and excludes metadata components from the hashing process. It specifically identifies metadata elements such as creation dates, modification dates, last access dates, print dates, and author information, and removes these from the set of components to be hashed. By extracting only the substantive content elements (text, images, tables, and their structural relationships) while excluding metadata, the system ensures that hash changes accurately reflect only actual content modifications, thereby maintaining reliability of content integrity verification.
Data Source
AI summary
A computer-implemented method of generating a digest for a structured document is provided including selecting a subset of a plurality of component parts of a OOXML document wherein at least one of the selected subset of component parts is an XML file and wherein selecting the subset excludes files named “docProps\app.xml”, “docProps\core.xml”, and “docProps\custom.xml”, ordering the selected subset of component parts, processing a relationships file by removing at least one relationship entry that references a component part not included in the selected subset and sorting the relationships by identifier value, generating a component hash value for each of the selected subset of component parts; and converting each component hash value into a byte array and appending the byte array to a canonical byte stream.


