A digital fingerprint hiding method based on document content

By writing hidden digital fingerprint slices dispersedly in multiple areas of the target file, it solves the problem in the existing technology that digital fingerprint embedding destroys document content and makes it vulnerable to attacks, and achieves efficient protection and identification of document content.

CN119167336BActive Publication Date: 2025-01-24CHENGDU HONGZHENG ZHIWEI DATA ENG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411648218.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2025-01-24
Estimated Expiration
2044-11-19

AI Technical Summary

Technical Problem

Existing digital fingerprint technology can easily destroy the original content of the document when embedding identification information, and the identification information is easily removed or modified by the attacker, resulting in difficulty in copyright tracking and identity identification.

Method used

A digital fingerprint hiding method based on document content is used to write hidden digital fingerprint slices dispersedly in multiple areas of the target file to ensure that the information is not easy to be discovered and removed. The method includes parsing the target file, determining the writable area, generating and hiding digital fingerprint slices.

Benefits of technology

It realizes hiding digital information in every page and paragraph of the document without destroying the original content of the document, ensuring that the information is difficult to be discovered or modified during regular use, effectively protecting intellectual property rights and supporting the identification and traceability of documents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119167336B_ABST
    Figure CN119167336B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of digital fingerprint technology, and discloses a digital fingerprint hiding method based on document content, which adds digital fingerprint slices to the target file after modification and saving and writes them into multiple areas of the target file. The specific steps include: S1, parsing the target file, determining the writable area of ​​the digital fingerprint slice; S2, obtaining the digital information to be written into the target file, and processing the digital information to generate a hidden digital fingerprint slice; S3, writing different multiple hidden digital fingerprint slices into multiple digital fingerprint slice writable areas of the target file based on set rules in a hidden and dispersed manner. The digital fingerprint information of the present invention includes the last operation information (operator, operation time) of the legal copyright owner. After being circulated, this fingerprint information is always hidden in the file, and the copyright information of the file can be traced back.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of digital fingerprints, and in particular to a digital fingerprint hiding method based on document content. Background Art

[0002] With the development of network technology, it is becoming easier to copy and spread digital documents. However, this convenience also brings problems such as copyright infringement and identity recognition. In order to solve these problems, digital fingerprint technology came into being. Digital fingerprint technology embeds unique identification information in digital documents, so that each document has a unique identifier, so that the source of the document can be tracked and identified.

[0003] However, existing digital fingerprint technology usually requires embedding identification information in a prominent position of the document, which will undoubtedly destroy the original content of the document. In addition, some attackers may try to remove or modify these identification information to evade copyright tracking and identity recognition. After downloading, traditional files are stored on personal computers. When individuals redistribute them, they cannot know the final sender (the final legal copyright operator) and the time of sending. Summary of the invention

[0004] The present invention provides a digital fingerprint hiding method based on document content, which is mainly aimed at solving various types of files (including word, ppt, Excel, pdf and other format files). After being transmitted, digital information can still be hidden in each page and each paragraph of the document, and the digital information is not easy to be discovered and cleared, ensuring that everyone can still maintain the final digital fingerprint when pasting the full text, single page, and paragraph in the future, which is used for document identity identification and tracing, and fully protecting intellectual property rights. That is, without destroying the original content of the document, the identification information is hidden in the document, and at the same time, it is ensured that this information will not be easily discovered or modified in normal use.

[0005] The present invention is achieved through the following technical solutions:

[0006] A digital fingerprint hiding method based on document content, which adds digital fingerprint slices to a target file that has been modified and saved and writes them into multiple areas of the target file, specifically comprising the following steps:

[0007] S1, parsing the target file and determining the area where the digital fingerprint slice can be written;

[0008] S2, obtaining digital information to be written into the target file, and processing the digital information to generate a hidden digital fingerprint slice;

[0009] S3, writing the different multiple hidden digital fingerprint slices into the multiple digital fingerprint slice writable areas of the target file in a hidden and dispersed manner based on the set rules.

[0010] As an optimization, the target files include Word files, PDF files, Excel files and PowerPoint files.

[0011] As an optimization, in S1, the process of parsing the Word file to determine the writable area of ​​the digital fingerprint slice is as follows:

[0012] A1. Determine the format of the Word file;

[0013] A2. Parse the Docx file or the Doc file;

[0014] Specifically, the digital fingerprint slice writable area of ​​the Docx file is parsed;

[0015] The Docx file structure is parsed by decompressing the Docx file structure, reading the XML file, analyzing the file structure of the Docx file, and processing the relationship file between the XML files. The obtained file structure of the Docx file contains three layers of content. The first layer of content is [Content_Types].xml, which is used to describe the document content of the entire Docx file; the second layer of content is _rels, which is used to describe the relationship between different folders and files storing document content, style and layout; the third layer of content is the content after the Docx file is decompressed, including Word file objects and XML files; the digital fingerprint slice writable area of ​​the Docx file includes the first layer of content and the third layer of content;

[0016] Specifically, parse the Doc file:

[0017] Doc files are binary storage data files. The parsing steps are as follows:

[0018] a. Read the binary content of the doc file through a programming language and library, and analyze the file structure of the doc file to obtain the file header, file attributes, text content, and object index contained in the file;

[0019] b. Parse the obtained binary content information:

[0020] File header: used to identify the file type and version;

[0021] File attributes: contains the metadata information of the file;

[0022] Text content: contains the actual text data of the document;

[0023] Object index: used to locate and manage word file objects in documents;

[0024] A3, parsing the document content in the Word file, identifying and extracting features and attributes of objects in the document content;

[0025] A4. Compare the parsed file structure and document content to confirm the authenticity and integrity of the Word file and whether there is any illegal operation;

[0026] In S1, the parsing process of the PDF file is:

[0027] B1, dividing the PDF file into a file header, a file body, a cross-reference table and a file footer based on the physical structure;

[0028] B2. Using the “feature analysis method” to identify the feature vector of the PDF file and analyze the features of the PDF file;

[0029] B3. Analyze the logical structure of the PDF file using the "object analysis method" to obtain each module object of the PDF file;

[0030] The file header, file body, cross-reference table and file footer into which the PDF file is divided are the writable areas of the digital fingerprint slice;

[0031] In S1, the parsing process of the Excel file is as follows:

[0032] C1. Parse the file header of the Excel file to obtain basic information of the Excel file, including the file version and the number of worksheets;

[0033] C2. According to the information in the file header of the Excel file, parse each worksheet in the Excel file one by one to obtain the name, number of rows, number of columns and cell information of each worksheet. The file header of the Excel file, the name, number of rows, number of columns and cell information of each worksheet are the writable area of ​​the digital fingerprint slice;

[0034] In S1, the parsing process of the Pptx file is:

[0035] D1. Determine the format of the PowerPoint file;

[0036] D2. Analyze the Pptx file or parse the Ppt file;

[0037] Specifically, the digital fingerprint slice writable area of ​​the Pptx file is parsed;

[0038] Parse the structure of the Pptx file to obtain multiple sub-files of the Pptx file and the relationship between the sub-files; the sub-files include presentation files, macro files, picture files and chart files;

[0039] Using the "object recognition method" to identify and analyze the objects of each slide and the macro file in the presentation file, fully understanding the objects and structure of each slide and the code of the macro file, the objects of the slide include pictures, charts, texts and animations;

[0040] The feature vectors of the objects and macro file codes of each slide are extracted by using the "feature analysis method" to obtain the attributes of each object and the role of the object in the slide, as well as the application of the macro file code in the Pptx file. The presentation file, macro file, picture file and chart file of the pptx file are the writable areas of the digital fingerprint slice;

[0041] Specifically, the digital fingerprint slice writable area of ​​the Pptx file is parsed:

[0042] Pptx files are binary storage data files. The parsing steps are as follows:

[0043] a. File reading: First, use the function of the programming language to read the entire Ppt file;

[0044] b. Structural analysis: Use programming languages ​​to obtain the internal structure and format of .ppt files;

[0045] c. Data extraction: Binary data is extracted by performing bit operations, byte parsing and conversion on binary data. The digital fingerprint slice of the ppt file can be written into areas including the slide text and file attributes.

[0046] As an optimization, the digital information includes product information, company organization information, time stamp information, icon information, encryption information and self-encoded sequence information.

[0047] As an optimization, in S2, the specific process of processing the digital information to generate hidden digital fingerprint slices at different levels is as follows:

[0048] S2.1. Aggregate all the selected digital information and save them as original digital information, encode different digital information according to a set sequence, and separate the codes of different digital information with a first specific symbol to form aggregate digital code information;

[0049] S2.2, slicing and converting the aggregated digital code information according to different classification dimensions to form multi-dimensional first feature vectors of different classification dimensions, wherein the first feature vectors are all first slice information, and binary encoding is performed on each of the first slice information to obtain first slice code information, and the first slice code information is encrypted by using a hybrid encryption technology combined with a plurality of encryption strategies to obtain a plurality of first encrypted slice code information;

[0050] S2.3. Combine the time dimension and the user organization information dimension in the classification dimension of the slice information, use a clustering algorithm to classify the first feature vectors of all the aggregated digital code information in the target file whose similarity is higher than a set threshold into one category, separate the first feature vectors belonging to the same category by a second specific symbol to form second feature vectors of different levels, the second feature vectors are a combination of the first feature vectors belonging to the same category, and the first specific symbol and the second specific symbol are different, the second feature vectors are all second slice information, and binary code each of the second slice information to obtain second slice code information, and use a hybrid encryption technology combined with a plurality of encryption strategies to encrypt the second slice code information to obtain a plurality of second encrypted slice code information;

[0051] S2.5. Perform visual effect settings on the first encrypted slice encoding information and the second encrypted slice encoding information to form hidden digital fingerprint slices.

[0052] As an optimization, S2.4 may also be: using dimensionality reduction technology to extract the main components of different types of first feature vectors of all aggregated digital coding information in the target file to form second feature vectors of different levels.

[0053] As an optimization, the specific process of S3 is:

[0054] S3.1. If the target file is a Word file, the digital fingerprint slice is scattered and written into the digital fingerprint slice writable area of ​​the Word file by using "information steganography technology" and "information hiding technology";

[0055] S3.2. If the target file is a PDF file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the PDF file by using "information steganography technology" and "information hiding technology";

[0056] S3.3. If the target file is an Excel file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the Excel file by using "information steganography technology" and "information hiding technology";

[0057] S3.4. If the target file is a PowerPoint file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the PowerPoint file using "information steganography technology" and "information hiding technology".

[0058] As an optimization, it also includes S4, after receiving the target file with hidden digital fingerprint slices, extracting, reorganizing and verifying the numerical fingerprint slices in the target file.

[0059] As an optimization, the specific process of S4 is:

[0060] S4.1. When the target file needs to be detected, the digital fingerprint slices embedded in various locations of the target file are extracted by locating the location according to the set rules;

[0061] S4.2. Decrypt and reassemble the extracted digital fingerprint slices and compare them with the original digital information to determine whether the target file has been tampered with.

[0062] As an optimization, in S4.2, the extracted digital fingerprint slices correspond to all the aggregated digital coding information in the target file. The specific process of S4.2 is:

[0063] S4.2.1. All the first encrypted slice coding information are traversed by using the private key corresponding to the public key used to encrypt all the first encrypted slice coding information to decrypt all the first encrypted slice coding information, and all the first slice coding information are reorganized to obtain all the aggregated digital coding information of the target file, and each digital information in all the aggregated digital coding information is compared with all the original digital information to determine whether the target file has been tampered with;

[0064] S4.2.2, looping through all the second encrypted slice coding information by using the private key corresponding to the public key used to encrypt all the second encrypted slice coding information, thereby decrypting all the second encrypted slice coding information, obtaining all the second slice coding information, recombining all the second slice coding information to obtain all the aggregated digital coding information of the target file, and comparing each digital information in all the aggregated digital coding information with all the original digital information, to determine whether the target file has been tampered with;

[0065] S4.2.3. If the conclusions obtained from S4.2.1 and S4.2.2 are that the target file has not been tampered with, the authenticity of the target file can be confirmed.

[0066] Compared with the prior art, the present invention has the following advantages and beneficial effects:

[0067] The digital fingerprint information of the present invention includes the last operation information (operator, operation time) of the legal copyright owner. After being circulated, this fingerprint information is always hidden in the file, and the copyright information of the file can be traced back.

[0068] The present invention writes the first encrypted slice coding information and the second encrypted slice coding information into a writable area in the target file in a distributed manner, and then reorganizes the distributed first encrypted slice coding information and the second encrypted slice coding information respectively after obtaining the target file. In this way, the implementation of double information can better determine whether the target file has been tampered with, and some encrypted slice coding information is written in invisible places such as file headers and file tails, xml files, etc., which can better hide the encrypted slice coding information. BRIEF DESCRIPTION OF THE DRAWINGS

[0069] The drawings described herein are used to provide a further understanding of the embodiments of the present invention, constitute a part of this application, and do not constitute a limitation of the embodiments of the present invention. In the drawings:

[0070] Figure 1 The present invention is a flowchart of a digital fingerprint hiding method based on document content. DETAILED DESCRIPTION

[0071] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with embodiments and drawings. The exemplary implementation modes of the present invention and their description are only used to explain the present invention and are not intended to limit the present invention.

[0072] This embodiment 1 provides a digital fingerprint hiding method based on document content, such as Figure 1 , including the following steps:

[0073] S1, parsing the target file and determining the area where the digital fingerprint slice can be written;

[0074] The target files are mainly divided into Word files, PDF files, Excel files and PowerPoint files, so these files will be parsed separately next.

[0075] The process of parsing the word file to determine the writable area of ​​the digital fingerprint slice is as follows:

[0076] A1. Determine the format of the Word file, and use a combination of technologies and methods such as file extension, file structure (binary file or XML), compatibility, file size, functions and features, response speed, etc. to identify and judge the Word file format.

[0077] A2. Parse the Docx file or Doc file:

[0078] Specifically, parse the Docx file:

[0079] The parsing of the docx file structure is completed by decompressing the Docx file structure (because the Docx file is actually a ZIP compressed package), reading the XML file, analyzing the file structure of the Docx file, and processing the relationship files between the XML files (the XML files in the Docx file are connected to each other through relationship files, which define the dependencies between files, such as styles, images, fonts, etc. These relationship files need to be analyzed in order to correctly parse and load all parts of the document). The file structure of the Docx file obtained contains three layers of content. The first layer of content is [Content_Types].xml, which is used to describe the document content of the entire Docx file; the second layer of content is _rels, which is used to describe the relationship between different folders and files storing elements such as document content, style and layout; the third layer of content is the content after the Docx file is decompressed, including Word file objects and XML files; "objects" in Word file objects generally refer to any non-text elements that can be inserted, edited and formatted in a document, and these objects can be graphics, pictures, charts, tables, formulas, etc. The digital fingerprint slice writable area of ​​the Docx file includes the first layer of content and the third layer of content.

[0080] Specifically, parse the Doc file:

[0081] Doc files are binary storage data files. The parsing steps are as follows:

[0082] a. Read the binary content of the Doc file through a programming language and library (such as the Apache POI library in Java), and analyze the file structure of the Doc file to obtain the file including the file header, file attributes, document content, object index, etc.;

[0083] b. Parse the obtained binary content information:

[0084] File header: used to identify the file type and version, which is an important starting point for the parsing process;

[0085] File attributes: Contains metadata information of the file, such as creation time, modification time, etc.;

[0086] Text content: contains the actual text data of the document, usually stored in a specific character encoding (such as UTF-8);

[0087] Object index: used to locate and manage Word file objects (images, tables, etc.) in documents;

[0088] Analysis content:

[0089] A3, parsing the document content (text, graphics, spreadsheets and other binary data objects) in the Word file, identifying and extracting features and attributes of the objects in the document content;

[0090] Identifying and extracting the features and attributes of objects in document content provides the basis for writing and extracting fingerprint information in the subsequent step.

[0091] Comparison and verification:

[0092] A4. Compare the parsed file structure and document content to confirm the authenticity and integrity of the Word file and whether there is any illegal operation;

[0093] The file structure and document content are checked together. Since docx and doc have fixed structures, contents, and attributes, if they are changed or missing, they will be incomplete and untrue. They will lack authenticity and integrity, and there may be illegal operations.

[0094] The parsing process of the PDF file is:

[0095] The parsing rules of PDF files are mainly based on their physical structure and logical structure, among which the physical structure:

[0096] B1, dividing the PDF file into a file header, a file body, a cross-reference table and a file footer based on the physical structure;

[0097] File header: Indicates the PDF file version that the PDF file complies with.

[0098] Document body: It is composed of a series of objects (such as page information (size, direction, layout, etc.), page content elements (text, images, shapes, lines, etc.), resource objects (fonts, colors), interactive elements (forms, links)). These objects usually exist in the form of numbers and can refer to each other. The "object analysis method" is used to analyze and identify the various objects in the document body.

[0099] Cross-reference table: An address index table of indirect objects set up to enable random access to indirect objects. It records the position of each object in the entire PDF file and locates it through offset.

[0100] File end: declares the address of the cross-reference table, that is, specifies the root object (Catalog) of the file body, so that the specific address of each object in the PDF file can be found and random access can be achieved. In addition, security information such as PDF file encryption is also saved.

[0101] In a PDF file, any object can be marked as an indirect object and given a unique object identifier. Through this identifier, other objects can indirectly reference the object. For example, an indirect object in a PDF file may be represented as "17 0 obj (yes) endobj", where "17" is the object number, "0" is the code, and "yes)" is the specific content of the object. Other objects can reference this object through indirect references such as "17 0 R".

[0102] Logical structure:

[0103] B2. Use "feature analysis method" to identify the feature vector of the PDF file and analyze the features of the PDF file; for example, use K-means clustering and hierarchical clustering to analyze the feature vector.

[0104] Specifically, the text content in the PDF file is extracted and converted into a numerical feature vector for use in text mining analysis.

[0105] B3, using "object analysis method" to perform logical structure analysis on the PDF file to obtain each module object of the PDF file;

[0106] PDF files are composed of some modules called "objects". Each object has a digital label and can be referenced by other objects. The object modules of PDF files include selection objects (selected areas when editing content), digital objects, string objects, and stream objects (binary streams such as images and audio files). At the end of the document, the file tail (Trail), the object number and the location of the cross-reference table are explained. The object catalog (Catalog) can be found by querying the cross-reference table. This catalog object is the root object of the PDF file and contains references to the PDF file's outline and page group objects (pages).

[0107] The parsing process of the Excel file is:

[0108] C1. Parse the file header of the Excel file to obtain basic information of the Excel file, including the file version and the number of worksheets;

[0109] C2. According to the information in the file header of the Excel file, parse each worksheet in the Excel file one by one to obtain the name, number of rows, number of columns and cell information of each worksheet. The file header of the Excel file, the name, number of rows, number of columns and cell information of each worksheet are the writable area of ​​the digital fingerprint slice;

[0110] When parsing an Excel file, you need to parse the file header to obtain basic information about the file, such as the file version, number of worksheets, etc. Then, based on the information in the file header, parse the worksheets one by one to obtain basic information such as the worksheet name, number of rows, and number of columns. When parsing a worksheet, use the "region positioning method" to locate the row and column positions of each cell to obtain the cell position, and use the "object analysis method" to parse the cell value, format, stored object, and other information one by one.

[0111] SST (Sharing String Table): This part is used to store strings so that each sheet can share the string content in the SST.

[0112] ExtendedSST: Not important when reading XLS files, but very important when creating XLS files.

[0113] Sheet1 content: includes basic information such as worksheet name, number of rows, number of columns, etc.

[0114] Header: Contains 20 bytes of data.

[0115] Index: Contains 16+4*N bytes of data. Note that there are two Size bits after the flag, and the number should be counted from the Size bit. (1-5 are all file header information).

[0116] DEFCOLWIDTH: Contains 6 bytes of data.

[0117] Dimensions: Contains 18 bytes of data, storing the number of rows and columns of sheet1.

[0118] LABELSST: The string value has been saved in SST, and only its corresponding serial number is saved here, containing 14 bytes of data.

[0119] In S1, the parsing process of the Pptx file is:

[0120] D1. Determine the format of the PowerPoint file;

[0121] D2. Analyze the Pptx file or parse the Ppt file;

[0122] The parsing process of Ppt files is as follows:

[0123] (1) Ppt file analysis

[0124] The parsing process of Ppt binary files involves detailed analysis and conversion of binary data to extract the content, formatting and other relevant information of the slides.

[0125] File reading: First, use the programming language function to read the entire Ppt binary file.

[0126] Structural analysis: Use programming languages ​​to obtain the internal structure and format of a Ppt file, such as the number of slides, content, format, etc.

[0127] Data extraction: Binary data can be extracted by performing bit operations, byte parsing and conversion on binary data. For example, a specific byte sequence can be parsed to obtain the title or text content of the slide, thereby knowing the data content of the ppt file, and the subsequent digital fingerprint slices can be inserted into these titles or text contents, that is, the digital fingerprint slices of the ppt file can be written into the area including the slide text and file attributes.

[0128] (2) Pptx file

[0129] Parse the structure of the Pptx file to obtain multiple sub-files of the Pptx file and the relationship between the sub-files; the sub-files include presentation files (.pptx), macro files (.macro), picture files (.jpg, .png, etc.) and chart files (.xlsx); it is necessary to use "feature recognition method" and "object recognition method" to identify the above files, and parse the structure of the PPT file to understand which sub-files it is composed of and the relationship between the sub-files.

[0130] The main difference between a presentation and a slideshow is that a presentation is a file that contains several slides.

[0131] Parsing slides:

[0132] The "object recognition method" is used to identify and analyze the objects of each slide in the presentation file and the macro file, so as to fully understand the objects and structure of each slide and the code of the macro file. The objects of the slide include pictures, charts, texts and animations; the pictures and charts here have the same meaning as the picture files and chart files mentioned above.

[0133] The structure of a slide refers to the types of objects (pictures, text boxes, tables, etc.) and their position layout that make up the slide.

[0134] The core of a PowerPoint file is the slide, and each slide contains some elements (objects), such as text, pictures, charts, animations, etc. It is necessary to use the "object recognition method" to identify and analyze the objects of each slide to fully understand the content and structure of each slide.

[0135] Parsing pictures, charts, and text:

[0136] The "feature analysis method" is used to extract feature vectors from the objects of each slide and the code of the macro file, to obtain the properties of each object and the role of the object in the slide, as well as the application of the macro file code in the ppt file.

[0137] In a slide, each element has its own attributes and styles. For example, text elements have font, color, size and other attributes, and image elements have width, height, transparency and other attributes. By using the "feature analysis method" to extract feature vectors and analyze features of each element, you can understand the attributes and styles of each element, as well as their role in the slide. The presentation files, macro files, image files and chart files of the Pptx file are the areas where digital fingerprint slices can be written.

[0138] Analytical animation:

[0139] The animation effect in a Pptx file is composed of multiple animation objects. Use the "feature analysis method" and "object analysis method" to analyze the animation objects, and perform feature analysis on each frame of the animation object to fully understand the effects and parameters of each animation element, as well as their role in the slide.

[0140] Parsing macros:

[0141] Macro is an automated script in Pptx files that can be used to implement some complex operations. Using "feature analysis" and "object analysis" to analyze macros can help you understand the role and code logic of macros, as well as their application in Pptx files.

[0142] Various files (Word, PowerPoint, PDF, Excel) are identified and deeply analyzed using multi-level analysis, regional positioning, feature recognition, object analysis and other methods. The file structure, hierarchy (content layer, relationship layer, directory structure layer of Word files), feature information (Excel file table data features), object information (PDF files), and block information (Excel files) are analyzed to provide a basis for subsequent fingerprint information writing. By parsing the content structure of each target file, subsequent digital fingerprint slices can be written into the content structure of these target files.

[0143] S2, obtaining digital information to be written into the target file, and processing the digital information to generate hidden digital fingerprint slices at different levels;

[0144] Specifically, artificial intelligence algorithms and models are used to aggregate, process and handle the digital information to be written, and convert the digital information to be written into hidden fingerprint information.

[0145] The digital information includes, but is not limited to, product information, company organization information, timestamp information, icon information, and self-encoded sequence information.

[0146] The specific process is:

[0147] Information aggregation:

[0148] S2.1. Aggregate all the selected digital information and save them as original digital information, encode different digital information according to a set sequence, and separate the codes of different digital information with a first specific symbol to form aggregate digital code information;

[0149] The set sequence can be set according to the regulations set by the staff, for example: sorting in the order of product information, timestamp, unit information, obfuscation code, and encryption information. Product information can be understood as the file name of the target file.

[0150] Encoding different digital information specifically refers to encoding different digital information according to binary streams or vectors and converting them into a standard, unified format.

[0151] The first specific symbol is a symbol that can be used for separation or connection, such as the " / |&" symbol. The encoding here can be understood as a common encoding. For example, the aggregate digital encoding information is specifically:

[0152] “Product information & timestamp & unit information & obfuscation code & encrypted information”.

[0153] That is, the digital information content to be written may include: organizational information (such as company, unit, organization), timestamp information, icon information, self-encoding sequence information, etc. All the information is summarized, different information is encoded according to the set sequence, and separated by specific symbols, finally forming an aggregated digital information.

[0154] Information Slicing and Encryption:

[0155] S2.2, according to different classification dimensions (time, user organization information, self-coding, product information, etc., usually time and user organization information are used as classification dimensions), the aggregated digital code information is sliced ​​and converted to form multi-dimensional first feature vectors of different classification dimensions, the first feature vectors are all first slice information, and each of the slice information is binary-coded to obtain slice code information, and the first slice code information is encrypted by using a hybrid encryption technology combined with a plurality of encryption strategies to obtain a plurality of first encrypted slice code information;

[0156] The first eigenvector here is the vector formed by slicing the aggregated digital code information and then converting it. If the aggregated digital code information is sliced ​​and converted according to the time dimension (timestamp), the aggregated digital code information is sliced ​​into the first eigenvector obtained according to the time dimension. This first eigenvector is all the digital information in the aggregated digital code information without the time dimension, that is, all the digital information corresponding to the timestamp is the first eigenvector obtained by slicing the time dimension. The timestamp is the time when the target file is legally modified and saved. Each time the target file is saved, an aggregated digital code information is generated.

[0157] For example, the aggregate digital code information includes timestamp, organization, and self-code. The same organization has modified the target file three times. The aggregate digital code information at this time is as follows:

[0158] That is, there are three aggregated digital encoding information:

[0159] Timestamp A&organization A&self-encoding A, timestamp B&organization B&self-encoding B, timestamp C&organization C&self-encoding C.

[0160] The first eigenvector obtained by slicing the aggregated digital encoding information in the time dimension will be:

[0161] Organization A & Auto-encoder A, Organization A & Auto-encoder B, Organization A & Auto-encoder C;

[0162] The first eigenvector obtained by slicing the aggregated digital encoding information by the organizational dimension is:

[0163] Timestamp A & self-encoding A, timestamp B & self-encoding B, timestamp C & self-encoding C;

[0164] The first eigenvector obtained by slicing the aggregate digital encoding information along the self-encoding dimension is:

[0165] Timestamp A & organization A, timestamp B & organization A, timestamp C & organization A.

[0166] The slice encoding information is encrypted using symmetric encryption, asymmetric encryption hybrid encryption technology, combined with multiple encryption, key splitting, secret sharing and other encryption strategies. The process is as follows:

[0167] l Use a random number generator to generate a temporary session key;

[0168] l Use the temporary session key to convert the slice encoding information into ciphertext;

[0169] l Use the public key of the asymmetric key to encrypt the temporary session key to obtain another ciphertext;

[0170] l Combine the above two ciphertexts and transmit them;

[0171] After receiving the ciphertext combination, the receiver first uses the private key of the asymmetric key to decrypt it to obtain the temporary session key, and then uses the temporary session key to decrypt the message to finally obtain the plaintext.

[0172] S2.3. Combine the time dimension and the user organization information dimension in the classification dimension of the slice information, use a clustering algorithm to classify the first feature vectors of all the aggregated digital code information in the target file whose similarity is higher than a set threshold into one category, separate the first feature vectors belonging to the same category by a second specific symbol to form second feature vectors of different levels, the second feature vectors are a combination of the first feature vectors belonging to the same category, and the first specific symbol and the second specific symbol are different, the second feature vectors are all second slice information, and binary code each of the second slice information to obtain second slice code information, and use a hybrid encryption technology combined with a plurality of encryption strategies to encrypt the second slice code information to obtain a plurality of second encrypted slice code information;

[0173] The second specific symbol is a symbol that can be used for separation or connection, such as the “ / |&” symbol. If the first specific symbol is “&”, then the second specific symbol can be “ / ” or “|”.

[0174] Using a clustering algorithm for the first feature vectors of all aggregated digital coding information in the target file to classify the first feature vectors with similarity higher than a set threshold into one category is essentially to classify the first feature vectors belonging to the same range into one category. For example, the first feature vectors obtained by slicing in the time dimension include organization A&autoencoder A, organization A&autoencoder B, and organization A&autoencoder C; if timestamps A, B, and C are all within the same time value range, then organization A&autoencoder A, organization A&autoencoder B, and organization A&autoencoder C are classified into one category, and the formed second feature vector is: organization A&autoencoder A|organization A&autoencoder B|organization A&autoencoder C; if timestamps A and B are within the same time value range and timestamp C is within another time value range, then the second feature vector includes organization A&autoencoder A|organization A&autoencoder B and organization A&autoencoder C.

[0175] Similarly, the first eigenvector obtained by slicing with the organizational dimension includes timestamp A&autoencoder A, timestamp B&autoencoder B, and timestamp C&autoencoder C. At this time, the organizations are the same, and these three first eigenvectors can be classified into one category. The second eigenvector at this time is expressed as timestamp A&autoencoder A|timestamp B&autoencoder B|timestamp C&autoencoder C.

[0176] S2.4 can also be: extracting the main components of different types of first feature vectors of all aggregated digital coding information in the target file using dimensionality reduction technology to form second feature vectors of different levels. Extracting the main components of feature vectors is mainly to convert the original data into a set of linearly independent representations through linear transformation. These main components represent the main features in the first feature vector and are usually unrelated to each other.

[0177] S2.5. Perform visual effect settings on the first encrypted slice encoding information and the second encrypted slice encoding information to form hidden digital fingerprint slices.

[0178] S3, writing the different multiple hidden digital fingerprint slices into the multiple digital fingerprint slice writable areas of the target file in a hidden and dispersed manner.

[0179] The specific process is:

[0180] S3.1. If the target file is a Word file, the digital fingerprint slice is scattered and written into the digital fingerprint slice writable area of ​​the Word file by using "information steganography technology" and "information hiding technology";

[0181] S3.2. If the target file is a PDF file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the PDF file by using "information steganography technology" and "information hiding technology";

[0182] S3.3. If the target file is an Excel file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the Excel file by using "information steganography technology" and "information hiding technology";

[0183] S3.4. If the target file is a PowerPoint file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the PowerPoint file using "information steganography technology" and "information hiding technology".

[0184] The "hidden digital fingerprint information" generated in step 2 is written to different multiple locations of the target file using "information steganography technology" and "information hiding technology".

[0185] "Information steganography" is to embed "hidden digital fingerprint information" into the target file. It is through the analysis, stratification and deconstruction of the target object features, and then the information feature vector piece to be written is confused and merged with the object features of the target file, and then embedded into the target object without being detected.

[0186] The "information hiding technology" is to hide the "hidden digital fingerprint information" in different data layers of the target file. After analyzing the characteristics of the target object, multi-dimensional stereo modeling, and structural analysis, the information feature vector piece to be written is hidden under the target file object without being discovered. For example, the text is changed to the same color as the background color, the size is super small, and the texture of the media file is modified.

[0187] Both methods of writing fingerprint information are difficult to detect and modify.

[0188] S3, writing the different multiple hidden digital fingerprint slices into the multiple digital fingerprint slice writable areas of the target file in a hidden and dispersed manner based on the set rules.

[0189] The specific rules set are:

[0190] Each file header and file tail are written with 10 sets of digital fingerprint slices;

[0191] Each line of the text content is written with 10 sets of digital fingerprint slices at equal intervals, and the line distance can be calculated according to the file layout size;

[0192] Write a group of headers and footers, a group of document properties (file properties), a group of XML, a group of metadata, a group of text boxes, and a group for each cell in the table; write a group of digital fingerprint slices in each cell of the table to avoid missing content copy fingerprints.

[0193] If a digital fingerprint slice has been written into a certain writing point in the writable area of ​​a digital fingerprint slice, then jump to the next writing point to continue writing;

[0194] The overall order of writing into the write point is: file header, page header, page footer, file tail, file body, table, text box, metadata, XML, file attributes (according to the document type (file type), if there is no page header or page footer, then skip the page header and page footer, and go directly to the file tail after the file header;

[0195] Specifically,

[0196] Doc files write digital fingerprint slices in the document body, tables, text boxes, headers, footers, and document properties (i.e., file attributes);

[0197] The digital fingerprint slices of Docx files can be written into the first-layer content and the third-layer content, that is, the docx file writes digital fingerprint slices in the file body, table, text box, header, footer, document properties, and XML;

[0198] The internal structure of the Ppt file is the area where the digital fingerprint slice can be written, that is, the Ppt file writes the digital fingerprint slice in the slide text and file properties;

[0199] The presentation files, macro files, picture files and chart files of the Pptx file are the areas where the digital fingerprint slices can be written, that is, the Pptx file writes the digital fingerprint slices in the slide text, file attributes and custom XML parts;

[0200] The file header, file body, cross-reference table and file footer of the PDF file are the areas where the digital fingerprint slice can be written, that is, the digital fingerprint slice is written in the text body and metadata of the .pdf file;

[0201] The file header of the Excel file, the name of each worksheet, the number of rows, the number of columns and the cell information are the areas where the digital fingerprint slice can be written, that is, Xls and Xlsx files can write digital fingerprint slices in cells, worksheets, file headers and metadata.

[0202] l Digital fingerprint extraction is the process of extracting, reorganizing and verifying the hidden digital fingerprint written in the document by finding the location of the fingerprint information block and extracting the feature vector that has been written.

[0203] l When digital documents need to be detected, the embedded digital fingerprint information is extracted through location positioning and feature vector acquisition;

[0204] l Decrypt and reconstruct the extracted digital fingerprint information and compare it with the original digital fingerprint information to determine whether the digital document has been tampered with.

[0205] That is, it also includes S4, after receiving the target file with hidden digital fingerprint slices, extracting, reorganizing and verifying the digital fingerprint slices in the target file.

[0206] The specific process is:

[0207] S4.1. When the target file needs to be detected, the digital fingerprint slices embedded in various locations of the target file are obtained by locating the location according to the set rules;

[0208] S4.2. Decrypt and reassemble the extracted digital fingerprint slices and compare them with the original digital information to determine whether the target file has been tampered with.

[0209] The extracted digital fingerprint slices correspond to all the aggregated digital coding information in the target file. The specific process of S4.2 is as follows:

[0210] S4.2.1. Loop through all the first encrypted slice coding information using the private key corresponding to the public key used to encrypt all the first encrypted slice coding information to decrypt all the first encrypted slice coding information to obtain all the first slice coding information, reorganize all the first slice coding information to obtain all the aggregated digital coding information of the target file, and compare each digital information in all the aggregated digital coding information with all the original digital information to determine whether the target file has been tampered with.

[0211] Each encryption uses a different public key, so decryption is to use all the corresponding private keys to loop through and decrypt all the first encrypted slice coding information, so that all the first encrypted slice coding information can be decrypted to obtain all the first slice coding information, and these first slice coding information are reorganized. For example: the first feature vector obtained by decryption and decoding for slicing the aggregated digital coding information in the time dimension is organization A & self-encoding C; the first feature vector obtained by decryption and decoding for slicing the aggregated digital coding information in the organizational dimension is timestamp C & self-encoding C; the first feature vector obtained by decryption and decoding for slicing the aggregated digital coding information in the self-encoding dimension is timestamp C & organization A. These three first feature vectors are reorganized to obtain timestamp C & organization A & self-encoding C. The same is true for other first feature vectors. At this time, it is sufficient to check whether timestamp C, organization A, and self-encoding C are the same as the original timestamp, organization, and self-encoding.

[0212] S4.2.2, looping through all the second encrypted slice coding information by using the private key corresponding to the public key used to encrypt all the second encrypted slice coding information, thereby decrypting all the second encrypted slice coding information, obtaining all the second slice coding information, recombining all the second slice coding information to obtain all the aggregated digital coding information of the target file, and comparing each digital information in all the aggregated digital coding information with all the original digital information, to determine whether the target file has been tampered with;

[0213] Each encryption uses a different public key. Then, decryption is to use all the corresponding private keys to loop through and decrypt all the second encrypted slice encoding information. In this way, all the second encrypted slice encoding information can be decrypted to obtain all the second slice encoding information. These second slice encoding information are reorganized. For example, the second eigenvectors obtained are:

[0214] The second eigenvector of the hierarchy in the time dimension: Organization A & Autoencoder A | Organization A & Autoencoder B | Organization A & Autoencoder C;

[0215] Taking the second eigenvector of the organizational dimension as the hierarchy: timestamp A & self-encoding A | timestamp B & self-encoding B | timestamp C & self-encoding C, and knowing that the format of the aggregate digital coding information is "timestamp & organization & self-encoding", the above two second eigenvectors are reorganized to obtain the aggregate digital coding information:

[0216] Timestamp A & organization A & self-encoding A, timestamp B & organization A & self-encoding B, timestamp C & organization A & self-encoding C, at this time, check whether timestamp A, timestamp B, timestamp C, organization A, self-encoding A, self-encoding B, and self-encoding C are the original digital information. S4.2.3. If the conclusions obtained by S4.2.1 and S4.2.2 are that the target file has not been tampered with, the authenticity of the target file can be explained.

[0217] If there is a conclusion that the target file has been tampered with, it means that the target file has been tampered with. The first encrypted slice coding information and the second encrypted slice coding information are distributedly written into the writable area in the target file. After obtaining the target file, the distributed first encrypted slice coding information and the second encrypted slice coding information are reorganized respectively. In this way, the implementation of double information can better determine whether the target file has been tampered with. In addition, some encrypted slice coding information is written in invisible places such as file headers and file tails, xml files, etc., which can better hide the encrypted slice coding information.

[0218] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A digital fingerprint hiding method based on document content, which adds digital fingerprint slices to a target file that has been modified and saved and writes them into multiple areas of the target file, characterized in that: The specific steps include: S1, parsing the target file and determining the area where the digital fingerprint slice can be written; S2, obtaining digital information to be written into the target file, and processing the digital information to generate a hidden digital fingerprint slice; The specific process is: S2.

1. Aggregate all the selected digital information and save them as original digital information, encode different digital information according to a set sequence, and separate the codes of different digital information with a first specific symbol to form aggregate digital code information; S2.2, slicing and converting the aggregated digital code information according to different classification dimensions to form multi-dimensional first feature vectors of different classification dimensions, wherein the first feature vectors are all first slice information, and binary encoding is performed on each of the first slice information to obtain first slice code information, and the first slice code information is encrypted by using a hybrid encryption technology combined with a plurality of encryption strategies to obtain a plurality of first encrypted slice code information; S2.3, combining the time dimension and the user organization information dimension in the classification dimension of the slice information, using a clustering algorithm for the first feature vectors of all the aggregated digital code information in the target file, classifying the first feature vectors with similarity higher than a set threshold into one category, and separating the first feature vectors belonging to the same category with a second specific symbol to form second feature vectors of different levels, Alternatively, a dimensionality reduction technique is used to extract the main components of different types of first feature vectors of all aggregated digital code information in the target file to form second feature vectors of different levels; The second feature vector is a combination of first feature vectors belonging to the same category, and the first specific symbol and the second specific symbol are different, the second feature vectors are all second slice information, and each of the second slice information is binary-encoded to obtain second slice code information, and the second slice code information is encrypted by using a hybrid encryption technology combined with a plurality of encryption strategies to obtain a plurality of second encrypted slice code information; S2.

4. Setting visual effects for the first encrypted slice encoding information and the second encrypted slice encoding information to form a hidden digital fingerprint slice; S3, writing the different multiple hidden digital fingerprint slices into the multiple digital fingerprint slice writable areas of the target file in a hidden and dispersed manner based on the set rules.

2. According to the document content-based digital fingerprint hiding method of claim 1, it is characterized in that: The target files include Word files, PDF files, Excel files and PowerPoint files.

3. According to the document content-based digital fingerprint hiding method of claim 2, it is characterized in that: In S1, the process of parsing the Word file to determine the writable area of ​​the digital fingerprint slice is as follows: A1. Determine the format of the Word file; A2. Parse the Docx file or the Doc file; Specifically, the digital fingerprint slice writable area of ​​the Docx file is parsed; The Docx file structure is parsed by decompressing the Docx file structure, reading the XML file, analyzing the file structure of the Docx file, and processing the relationship file between the XML files. The obtained file structure of the Docx file contains three layers of content. The first layer of content is [Content_Types].xml, which is used to describe the document content of the entire Docx file; the second layer of content is _rels, which is used to describe the relationship between different folders and files storing document content, style and layout; the third layer of content is the content after the Docx file is decompressed, including Word file objects and XML files; the digital fingerprint slice writable area of ​​the Docx file includes the first layer of content and the third layer of content; Specifically, the Doc file is parsed to obtain the file body, table, text box, header, footer, and file attributes of the Doc file as the writable area of ​​the digital fingerprint slice; A3, parsing the document content in the Word file, identifying and extracting features and attributes of objects in the document content; A4. Compare the parsed file structure and document content to confirm the authenticity and integrity of the Word file and whether there is any illegal operation; In S1, the PDF file is parsed to obtain the text body and metadata of the PDF file as the writable area of ​​the digital fingerprint slice; In S1, the Excel file is parsed to obtain the file header, the name of each worksheet, the number of rows, the number of columns and the cell information of the Excel file, which are the writable areas of the digital fingerprint slice; In S1, the Pptx file is parsed to obtain the presentation file, macro file, picture file and chart file of the Pptx file, which are the writable areas of the digital fingerprint slice; Specifically, the digital fingerprint slice writable area of ​​the Ppt file obtained by parsing the Ppt file includes the slide text and file attributes.

4. A digital fingerprint hiding method based on document content according to claim 3, characterized in that: The digital information includes product information, company organization information, time stamp information, icon information, encryption information and self-encoded sequence information.

5. According to the document content-based digital fingerprint hiding method of claim 1, it is characterized in that: The specific process of S3 is: S3.

1. If the target file is a Word file, the digital fingerprint slice is scattered and written into the digital fingerprint slice writable area of ​​the Word file by using "information steganography technology" and "information hiding technology"; S3.

2. If the target file is a PDF file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the PDF file by using "information steganography technology" and "information hiding technology"; S3.

3. If the target file is an Excel file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the Excel file by using "information steganography technology" and "information hiding technology"; S3.

4. If the target file is a PowerPoint file, the first encrypted slice encoding information and the second feature vector in the digital fingerprint slice are scattered and written into the digital fingerprint slice writable area of ​​the PowerPoint file using "information steganography technology" and "information hiding technology".

6. A digital fingerprint hiding method based on document content according to claim 5, characterized in that: The method further includes S4, after receiving the target file with hidden digital fingerprint slices, extracting, reorganizing and verifying the digital fingerprint slices in the target file.

7. A digital fingerprint hiding method based on document content according to claim 6, characterized in that: The specific process of S4 is: S4.

1. When the target file needs to be detected, the digital fingerprint slices embedded in various locations of the target file are extracted by locating the location according to the set rules; S4.

2. Decrypt and reassemble the extracted digital fingerprint slices and compare them with the original digital information to determine whether the target file has been tampered with.

8. A digital fingerprint hiding method based on document content according to claim 7, characterized in that: In S4.2, the extracted digital fingerprint slices correspond to all the aggregated digital coding information in the target file. The specific process of S4.2 is: S4.2.

1. All the first encrypted slice coding information are traversed by using the private key corresponding to the public key used to encrypt all the first encrypted slice coding information to decrypt all the first encrypted slice coding information, and all the first slice coding information are reorganized to obtain all the aggregated digital coding information of the target file, and each digital information in all the aggregated digital coding information is compared with all the original digital information to determine whether the target file has been tampered with; S4.2.2, looping through all the second encrypted slice coding information by using the private key corresponding to the public key used to encrypt all the second encrypted slice coding information, thereby decrypting all the second encrypted slice coding information, obtaining all the second slice coding information, recombining all the second slice coding information to obtain all the aggregated digital coding information of the target file, and comparing each digital information in all the aggregated digital coding information with all the original digital information, to determine whether the target file has been tampered with; S4.2.

3. If the conclusions obtained from S4.2.1 and S4.2.2 are that the target file has not been tampered with, the authenticity of the target file can be confirmed.

Citation Information

Patent Citations

  • A digital fingerprint-based PDF document copyright protection method

    CN106126982A

  • Finger print structure in digital products, its authentication and digital products issue system

    CN1834973A