A multi-level document approval management method and system

By using two independent servers to encrypt and decrypt the target files and signature files in the collaborative office system, the security and efficiency issues in multi-level approval of files are solved, and the data security and processing closed loop is realized.

CN120030575BActive Publication Date: 2025-07-29JIANGXI CHATAOMAO NETWORK TECHNOLOGY CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510494998.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-21
Publication Date
2025-07-29
Estimated Expiration
2045-04-21

AI Technical Summary

Technical Problem

In the collaborative office system, multi-level approval of documents requires a large-capacity collaborative editing system and is not secure enough and is easily lost or tampered with.

Method used

Two independent servers are used as data transfer stations to encrypt and decrypt the target files and seal documents respectively, and extract files separately through encrypted searches to improve processing efficiency and data security.

Benefits of technology

Through encryption processing, avoid malicious approval after deciphering a single file, ensure data security and processing efficiency, and realize a closed loop of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120030575B_ABST
    Figure CN120030575B_ABST
Patent Text Reader

Abstract

The present invention discloses a multi-level file approval management method and system, belonging to the technical field of data encryption. In the present invention, an application terminal encrypts a target file through a first data server, generates a first ciphertext and a first encryption tree, and sends them to the cloud. A data terminal encrypts a signed file through a third data server, generates a second ciphertext and a second encryption tree, and sends them to the cloud. By using two independent servers as data transfer stations, the encryption and decryption of the target file and the signed file are respectively completed, avoiding malicious approval after a single file is deciphered. At the same time, the files are extracted respectively through encrypted search, improving work efficiency and data security. An approval terminal searches for the first encryption tree and the second encryption tree on the cloud to obtain the first ciphertext and the second ciphertext, decrypts the first ciphertext and the second ciphertext through a second data server to obtain the target file and the signed file, and completes the approval. Further, the approval result is confirmed by verifying the execution parameters, realizing a closed loop of data processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data encryption, and particularly to a multi-level file approval management method and system. Background Art

[0002] In a collaborative office system, a dedicated data transfer station needs to be set up for multi-level approval of files. For example, Chinese Patent Publication No. CN115115353A discloses an approval and approval content generation method based on file content. According to the submission and approval operation of the application end, the unique file identifier of the approval file is obtained, and the file unique identifier and the approval version identifier are used as additional content to send the approval file to the collaborative editing system through the approval file interface. The approval end extracts the annotation content and the updated approval file from the collaborative editing file. This application uses the collaborative editing system as a transfer station to improve the work efficiency of document approval. This method requires a large-capacity collaborative editing system, and the collaborative editing system needs to be completely trustworthy, otherwise the approval file is easily lost or tampered with. In view of this, there is a need for further improvement in the prior art. Summary of the Invention

[0003] To solve the above-mentioned defects existing in the prior art, the present invention proposes a multi-level file approval management method and system. The present invention uses two groups of independent servers as data transfer stations to respectively complete the encryption and decryption of the target file and the signature file, avoiding malicious approval after a single file is cracked. At the same time, the files are extracted respectively through encrypted search, improving the processing efficiency and data security.

[0004] The technical solution of the present invention is realized as follows:

[0005] A multi-level file approval management method includes the following steps:

[0006] Step 1: The application end generates authentication parameters, and the supervision server generates security parameters, a system public key, and a system private key according to the authentication parameters;

[0007] Step 2: The application end sends multiple target files and a first relationship table to the first data server and the supervision server, and the data end sends the signature file to the third data server;

[0008] Step 3: The first data server generates a signature of the target file, encrypts the first relationship table based on the system public key to generate an encrypted table, encrypts the target file based on the security parameters to generate a first ciphertext and a first encryption tree, and then uploads the signature, the encrypted table, the first ciphertext, and the first encryption tree to the cloud;

[0009] Step 4: The third data server encrypts the signature file based on the security parameters and the authentication parameters, generates a second ciphertext and a second encryption tree, and uploads them to the cloud;

[0010] Step 5: The second data server downloads and decrypts the encrypted table to obtain the first relationship table, generates the third ciphertext based on the first relationship table, and uploads it to the cloud;

[0011] Step 6: The cloud searches the first encryption tree based on the third ciphertext to obtain the first ciphertext, and sends the first ciphertext to the second data server;

[0012] Step 7: The second data server decrypts the first ciphertext based on the security parameter to obtain the target file, verifies the signature based on the target file. If the verification is successful, the target file is dispatched to the approval end according to the first relationship table, and Step 8 is entered; otherwise, the program ends.

[0013] Step 9: The approval end generates a search term and uploads it to the second data server. The second data server encrypts the search term to generate the fourth ciphertext and uploads it to the cloud;

[0014] Step 10: The cloud searches the second encryption tree based on the fourth ciphertext to obtain the second ciphertext, sends the second ciphertext to the second data server, and the second data server decrypts the second ciphertext to obtain the signature file and sends it to the approval end.

[0015] In the present invention, it further includes Step 10: The approval end generates execution parameters and sends them to the supervision server. The supervision server updates the target file and the first relationship table according to the execution parameters and sends them to the application end. If the first encryption tree is empty, the program ends; otherwise, it returns to Step 6.

[0016] In the present invention, in Step 2, the target file includes a number, a name, content, the signature of the application end, and the time when the target file is issued. The name of the target file includes at least one name of the approval end. The content of the target file includes the name of the signature file. The first relationship table is the mapping relationship between the number of the target file and the number of the approval end.

[0017] In the present invention, in Step 3, the first data server uses a hash function to convert the name of the target file into a first hash value, encrypts the first hash value based on the system public key to generate a signature, H1 = h(N1), h() is the hash function, N1 is the name of the target file, H1 is the first hash value, encrypts the target file using a symmetric encryption algorithm based on the security parameter and the number of the approval end to generate the first ciphertext. The node of the first encryption tree D1 = {ID1, V, V1, V2, FID}, ID1 is the first identifier, V is the frequency vector of the node of the first encryption tree, V1 is the pointer to its left child node, V2 is the pointer to its right child node, FID is the target file identifier, and each leaf node of the first encryption tree uniquely corresponds to a target file.

[0018] In the present invention, in step 4, the authentication parameters include the target file distribution time, the names of all target files, the total number of target files, and the signature of the application side. An aggregation key r3 is generated based on the security parameter r1 and the authentication parameter r2, and the signature file is encrypted based on the aggregation key to generate a second ciphertext. The nodes of the second encryption tree D2 = {ID2, V3, V4, V5, SID}, where ID2 is the second identifier, V3 is the frequency vector of the nodes of the second encryption tree, V4 is the pointer to its left child node, V5 is the pointer to its right child node, and SID is the signature file identifier. Each leaf node of the second encryption tree uniquely corresponds to a signature file.

[0019] In the present invention, in step 5, the second data server decrypts the encryption table based on the system private key to obtain the first relationship table, extracts the numbers of the approval sides in the first relationship table, sorts the numbers of the approval sides, obtains the names of the approval sides according to the numbers of the approval sides, encrypts the names of the approval sides based on the security parameter and the numbers of the approval sides to generate a third ciphertext, and inputs it into the cloud.

[0020] In the present invention, in step 7, the second data server decrypts the first ciphertext based on the security parameter and the numbers of the approval sides to obtain the target file, decrypts the signature based on the system private key to generate a first hash value, uses a hash function to convert the name of the target file into a second hash value. If the first hash value is equal to the second hash value, the verification is successful.

[0021] In the present invention, in step 8, the approval side extracts the name of the signature file in the target file to generate a search term and uploads it to the second data server. The second data server extracts the names of all target files and the total number of target files according to the first relationship table, generates authentication parameters, generates an aggregation key based on the security parameter and the authentication parameters, encrypts the search term based on the aggregation key to generate a fourth ciphertext, and uploads it to the cloud.

[0022] In the present invention, in step 10, the execution parameters include the target file distribution time, the name of the target file, the signature of the application side, the number of the application side, and the target file execution time. The supervision server verifies the execution parameters according to the authentication parameters and the first relationship table. If the verification is successful, the target file and the first relationship table are updated and sent to the application side.

[0023] A system for implementing the multi-level file approval management method includes: a supervision server, an application side, a data side, a first data server, a second data server, a third data server, a cloud, and an approval side. Among them,

[0024] The supervision server generates security parameters, a system public key, and a system private key;

[0025] The application side sends multiple target files and the first relationship table to the first data server and the supervision server;

[0026] The data terminal sends the signed file to the third data server;

[0027] The first data server generates a first ciphertext based on security parameters and generates an encryption table based on the system public key, and uploads them to the cloud;

[0028] The third data server generates a second ciphertext based on security parameters and authentication parameters and uploads it to the cloud;

[0029] The approval terminal uploads the search term to the second data server;

[0030] The second data server decrypts the encryption table based on the system private key to obtain the first relationship table, then decrypts the first ciphertext to obtain the target file, decrypts the second ciphertext to obtain the signed file, and distributes the target file and the signed file to the approval terminal.

[0031] Implementing this multi-level file approval management method and system of the present invention has the following beneficial effects: The application terminal of the present invention encrypts the target file through the first data server, generates a first ciphertext and a first encryption tree and sends them to the cloud. The data terminal encrypts the signed file through the third data server, generates a second ciphertext and a second encryption tree and sends them to the cloud. The approval terminal searches for the first encryption tree based on the cloud to obtain the first ciphertext, searches for the second encryption tree based on the cloud to obtain the second ciphertext, and extracts the target file through separate upload and encryption search, improving processing efficiency and data security. The present invention generates a signature through the first data server and uploads it to the cloud, and the second data server verifies the signature to ensure the integrity and correctness of the first ciphertext. By separately completing the encryption and decryption of the target file and the signed file, the execution of malicious approvals after a single file is cracked is avoided. Further, after the approval is completed, the present invention confirms the approval result by verifying the execution parameters, realizing a closed loop of data processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 is a flowchart of the multi-level file approval management method of the present invention;

[0033] Figure 2 is a network topology diagram of data interaction of the supervision server of the present invention;

[0034] Figure 3 is a schematic diagram of the mapping relationship of the first relationship table of the present invention;

[0035] Figure 4 is a schematic diagram of generating and verifying a signature of the present invention;

[0036] Figure 5 is a schematic diagram of encryption and decryption of the target file of the present invention;

[0037] Figure 6Schematic diagram of encryption and decryption of the signature file of the present invention;

[0038] Figure 7 Flowchart of verifying execution parameters of the present invention;

[0039] Figure 8 Schematic diagram of generating security parameters of the present invention;

[0040] Figure 9 Schematic diagram of the first encryption tree of the present invention;

[0041] Figure 10 Network topology diagram of the system for implementing the multi-level file approval management method of the present invention. Detailed implementation manners

[0042] To understand the purpose, technical solution and advantages of the present application more clearly, the present application will be described and illustrated below with reference to the accompanying drawings and embodiments.

[0043] In the prior art, during the multi-level file approval management process, the application end stores the target file and the signature file in the distributed storage nodes. Although this method can avoid data leakage, it increases the working overhead of the application end, increases the difficulty for other ends to obtain data, and reduces the working efficiency. By encrypting and transmitting the target file and the signature file on different ports to the cloud respectively, it avoids malicious approval after a single file is deciphered, facilitates the approval of the approval end at the same time, and improves the working efficiency through encrypted search, ensuring the security of data. Embodiment 1

[0044] As Figures 1 to 9 shown, a multi-level file approval management method includes the following steps.

[0045] Step 1: The application end generates authentication parameters, and the supervision server generates security parameters, a system public key and a system private key according to the authentication parameters. The authentication parameters include the target file distribution time, the names of all target files, the total number of target files, and the signature of the application end. The generation methods of the security parameters, the system public key and the system private key are as described in Embodiment 2. As Figure 2 described, during system initialization, the supervision server sends the system public key and the security parameters to the first data server, sends the security parameters and the authentication parameters to the third data server, and sends the system private key and the security parameters to the second data server. The security parameter is the key of the symmetric encryption algorithm and can encrypt and decrypt the plaintext.

[0046] Step 2: The application side sends multiple target files and the first relationship table to the first data server and the supervision server, and the data side sends the signed file to the third data server. The target files include a number, a name, content, the signature of the application side, and the time when the target files are issued. The name of the target file includes at least one name of the approval side, and the content of the target file includes the name of the signed file. The first relationship table is the mapping relationship between the numbers of the target files and the numbers of the approval sides, and the mapping relationship includes that the numbers of multiple target files are mapped to the number of one approval side.

[0047] In this embodiment, as Figure 3 described, the numbers of the target files include: a1, a2, a3, a4, a5, a6, a7, and the numbers of the approval sides include: b1, b2, b3. The corresponding relationship of the first relationship table is represented by matrix A 7×3 as: , where 0 indicates no corresponding relationship and 1 indicates an existing corresponding relationship. When storing the first relationship table, only the numbers of the target files, the numbers of the approval sides, and the matrix need to be stored. The numbers of the target files, the numbers of the approval sides, and the matrix are encrypted based on the system public key to generate an encrypted table. The algorithm for encryption based on the system public key is, for example, the RSA algorithm.

[0048] Step 3: The first data server generates a signature for the target file, encrypts the first relationship table based on the system public key to generate an encrypted table, encrypts the target file based on security parameters to generate the first ciphertext and the first encryption tree, and then uploads the signature, the encrypted table, the first ciphertext, and the first encryption tree to the cloud. As Figure 4 described, the first data server uses a hash function to convert the name of the target file into a first hash value, and encrypts the first hash value based on the system public key to generate a signature. H1 = h(N1), SIGN(SK, H1) → sign, where h() is the hash function, N1 is the name of the target file, H1 is the first hash value, SIGN() is the signature algorithm, SK is the system public key, and sign is the signature. As Figure 5 described, first, the target file is encrypted using a symmetric encryption algorithm based on security parameters to generate an intermediate ciphertext, and then the intermediate ciphertext is encrypted again using a symmetric encryption algorithm based on the number of the approval side to generate the first ciphertext. The generation method of the first encryption tree is described in detail in Embodiment 3.

[0049] Step 4: The third data server encrypts the signed file based on security parameters and authentication parameters, generates the second ciphertext and the second encryption tree, and uploads them to the cloud. As Figure 6As described above, an aggregated key r3 is generated based on a security parameter r1 and an authentication parameter r2, KDF(r1, r2) → r3, where KDF() is a key derivation function. When using the key derivation function, the security parameter is set as the salt value. The authentication parameter includes multiple sub-parameters: the target file distribution time, the names of all target files, the total number of target files, and the signature of the application side. Based on the key derivation function and the security parameter, the multiple sub-parameters included in the authentication parameter are aggregated to generate an aggregated key, and the signature file is encrypted based on the aggregated key to generate a second ciphertext. The generation method of the second encryption tree is described in detail in Embodiment 3.

[0050] Step 5: The second data server downloads and decrypts the encryption table to obtain a first relationship table, generates a third ciphertext based on the first relationship table, and uploads it to the cloud. The second data server decrypts the encryption table based on the system private key to obtain the first relationship table, extracts the numbers of the approval sides in the first relationship table, sorts the numbers of the approval sides, obtains the names of the approval sides according to the numbers of the approval sides, encrypts the names of the approval sides based on the security parameter and the numbers of the approval sides with reference to the encryption method of the first ciphertext to generate a third ciphertext, so that the third ciphertext has the same format as the first ciphertext, and inputs the third ciphertext into the cloud for searching in the first encryption tree. Searching for the encrypted names of the approval sides in the first encryption tree can prevent information leakage caused by the cloud obtaining keywords.

[0051] Step 6: The cloud searches the first encryption tree based on the third ciphertext to obtain the first ciphertext, and sends the first ciphertext to the second data server. The keyword set {w1, w2,..., w i ,..., w I}, where w i is the i-th keyword in the keyword set, and I is the number of keywords. The third ciphertext is converted into a first target frequency vector [c 11 , c 12 ,..., c 1i ,..., c 1I according to the keyword set, where c 1i is the number of the i-th keyword included in the third ciphertext. The frequency vectors of each node in the first encryption tree are searched according to the first target frequency vector and the greedy best-first search algorithm. The specific search process is described in detail in Embodiment 3. The first target frequency vector represents the mapping of the third ciphertext in the keyword set.

[0052] Step 7: The second data server decrypts the first ciphertext based on the security parameter to obtain the target file, and verifies the signature based on the target file. If the verification is successful, the target file is dispatched to the approval side according to the first relationship table, and Step 8 is entered; otherwise, the program ends. As Figure 5As described above, since the symmetric encryption algorithm is used in the encryption process of the first ciphertext, decrypting the first ciphertext is the inverse process of the encryption process. The second data server decrypts the first ciphertext based on the security parameter and the number of the approval terminal to obtain the target file. As Figure 4 described above, decrypt the signature based on the system private key to generate the first hash value, and use the hash function to convert the name of the target file into the second hash value. If the first hash value is equal to the second hash value, the verification is successful.

[0053] Step 8: The approval terminal generates a search term and uploads it to the second data server. The second data server encrypts the search term to generate the fourth ciphertext and uploads it to the cloud. The approval terminal extracts the name of the signed file in the target file to generate a search term and uploads it to the second data server. The second data server extracts the numbers of all target files and the total number of target files according to the first relationship table, finds the name of the application terminal according to the number of the target file, extracts the issue time of the target file and the signature of the application terminal in the target file to generate authentication parameters, generates an aggregation key based on the security parameter and the authentication parameters, encrypts the search term based on the aggregation key to generate the fourth ciphertext and uploads it to the cloud.

[0054] Step 9: The cloud searches the second encryption tree based on the fourth ciphertext to obtain the second ciphertext, and sends the second ciphertext to the second data server. The second data server decrypts the second ciphertext to obtain the signed file and sends it to the approval terminal. The key data set {v1, v2,..., v j ,..., v J}, v j is the j-th key data in the key data set, J is the number of key data. Convert the fourth ciphertext into the second target frequency vector [c 21 , c 22 ,..., c 2j ,..., c 2J according to the key data set, where c 2j is the number of the j-th key data contained in the fourth ciphertext. Search the frequency vector of each node in the second encryption tree according to the second target frequency vector and the greedy best-first search algorithm. The specific search process refers to searching for the third ciphertext in the first encryption tree. The second target frequency vector represents the mapping of the third ciphertext in the key data set. Since the aggregation key is the secret key of the symmetric encryption algorithm, the second data server decrypts the second ciphertext based on the aggregation key to obtain the signed file and sends it to the approval terminal.

[0055] Step 10: The approval end generates execution parameters and sends them to the supervision server. The supervision server updates the target file and the first relationship table according to the execution parameters and sends them to the application end. If the first encryption tree is empty, the program ends; otherwise, it returns to Step 6. The approval end generates execution parameters according to the signature file for the target file. The execution parameters include the target file distribution time, the name of the target file, the signature of the application end, the number of the application end, and the target file execution time. The supervision server obtains the authentication parameters and the first relationship table from the application end, validates the execution parameters according to the authentication parameters and the first relationship table. If the validation is successful, it updates the target file and the first relationship table and sends them to the application end.

[0056] As Figure 7 described, the supervision server first validates whether the target file distribution time, the name of the target file, and the signature of the application end in the execution parameters are consistent with those in the authentication parameters. If they are consistent, it obtains the mapping relationship between the name of the target file and the number of the target file from the first data server, and validates whether the number of the application end in the execution parameters matches the name of the target file according to the first relationship table and the mapping relationship. If they match, it validates whether the sequence of the target file execution time and the target file distribution time in the execution parameters is correct. If it is correct, it finally counts the number of all execution parameters and validates whether the number of execution parameters exceeds the total number of target files in the authentication parameters. If it does not exceed, the validation is successful; otherwise, the validation fails. Embodiment 2

[0057] As Figure 8 shown, this embodiment further discloses the generation method of the security parameters, the system public key, and the system private key in Step 1.

[0058] The method for generating security parameters according to the authentication parameters can be: the string of the target file distribution time is {m 11 , m 12 , m 13 , m 14 , m 15}, the string of the names of all target files is {m 21 , m 22 , m 23 ,......, m 2K}, and the string of the total number of target files is {m 31 [[ID=3**]] 32 、m 33 、m 34 、m 35 ​}, K is the number of characters in the names of all target files. First, concatenate the above three strings and convert them into a binary vector. Then, select a symmetric encryption algorithm, such as the AES-128 algorithm. The key length specified by the AES-128 algorithm is 128 bits. Determine whether the length of the binary vector exceeds 128 bits. Then, extract the first 128 bits of the binary sub-vector from the binary vector as the security parameter. If the length of the binary vector is less than 128 bits, fill it with the value 0.

[0059] The method for generating the system public key and the system private key can be: according to the elliptic curve key generation algorithm, the general equation of the elliptic curve is y 2 =x 3 +ax+b, where x is the abscissa of the elliptic curve, y is the ordinate of the elliptic curve, a is the coefficient of the linear term, and b is the constant term. Two values a and b are randomly selected from the target file delivery time to determine the base point G of the elliptic curve. The total number of target files is set as the system private key. The system public key = G × system private key. Embodiment 3

[0060] like Figure 9 As shown, this embodiment further discloses a method for generating the first encrypted tree in step 3 and a search process for searching the first encrypted tree according to the third ciphertext.

[0061] The node D1 of the first encrypted tree is {ID1, V, V1, V2, FID}, where ID1 is the first identifier used to distinguish different nodes, V is the frequency vector of the node of the first encrypted tree, V1 is a pointer to its left child node, V2 is a pointer to its right child node, and FID is the target file identifier, which is also a pointer to the storage address of the file. Each leaf node of the first encrypted tree uniquely corresponds to a target file.

[0062] In this embodiment, the keyword set is {w1, w2, ..., w5}, the total number of target files is 6, and the target files are numbered 01, 02, 03, 04, 05, 06. The corresponding first encryption tree is as follows: Figure 9 As shown, the first encrypted tree contains a total of 10 nodes, where R is the root node, R 11 , R 12 , R 21 , R 22 is an internal node, R 23 , R 24 , R 31 , R 32 , R 33 , R 34 Is a leaf node.

[0063] First, determine the frequency vector, the first identifier, and the target file identifier of the leaf node. Since the leaf node has no left child node and right child node, the V1 and V2 of the leaf node are null pointers. R 31 ={31, [2,0,0,1,0], null, null, 01}, R 32 ={32, [0,0,0,1,0], null, null, 02}, R 33 ={33, [0,1,0,0,0], null, null, 03}, R 34 ={34, [0,0,1,1,0], null, null, 04}, R 23 ={23, [0,0,0,1,1], null, null, 05}, R 24 ={24, [1,0,0,1,0], null, null, 06}, where null represents a null pointer.

[0064] Then, determine the pointer pointing to its left child node, the pointer pointing to its right child node, the first identifier, and the frequency vector of the internal node. Since the internal node does not point to a specific target file, the target file identifier of the internal node is a null pointer, and the frequency vector of the internal node is equal to the sum of the frequency vectors of its left child node and its right child node. R 21 ={21, [2,0,0,2,0], 31, 32, null}, R 22 ={22, [0,1,1,1,0], 33, 34, null}, R 11 ={11, [2,1,1,3,0], 21, 22, null}, R 12 ={12, [1,0,0,2,1], 23, 24, null}.

[0065] Finally, determine the pointer pointing to its left child node, the pointer pointing to its right child node, the first identifier, and the frequency vector of the root node. Since the root node does not point to a specific target file, the target file identifier of the root node is a null pointer. R = {00, [3,1,1,5,1], 11, 12, null}, and the construction of the first encryption tree is completed.

[0066] The nodes of the second encryption tree D2 = {ID2, V3, V4, V5, SID}, where ID2 is the second identifier, and the second identifier of each node is unique. V3 is the frequency vector of the nodes of the second encryption tree, V4 is the pointer to its left child node, V5 is the pointer to its right child node, and SID is the signature file identifier. The signature file identifier is unique, and the signature files are distinguished according to SID. Each leaf node of the second encryption tree uniquely corresponds to a signature file. The construction method of the second encryption tree refers to the construction method of the first encryption tree.

[0067] The search process of the first encryption tree according to the third ciphertext: When the first target frequency vector of the third ciphertext is [0, 1, 0, 1, 0], the cloud starts searching from the root node of the first encryption tree according to the first target frequency vector, and compares the size of the first target frequency vector with the frequency vector of the root node. The frequency vector of the root node [3, 1, 1, 5, 1] > the first target frequency vector [0, 1, 0, 1, 0]. Then compare the first target frequency vector with the frequency vector of R 11 That is, [2, 1, 1, 3, 0] > [0, 1, 0, 1, 0]. Compare the first target frequency vector with the frequency vector of R 12 That is, [1, 0, 0, 2, 1] ≯ [0, 1, 0, 1, 0], then there is no need to compare with the left and right child nodes of R 12 This reduces the search time and speeds up the search. Then compare the first target frequency vector with the frequency vector of R 21 That is, [2, 0, 0, 2, 0] ≯ [0, 1, 0, 1, 0], then there is no need to compare with the left and right child nodes of R 21 Further, compare the first target frequency vector with the frequency vector of R 22 That is, [0, 1, 1, 1, 0] > [0, 1, 0, 1, 0]. Then compare the first target frequency vector with the frequency vector of R 33 That is, [0, 1, 0, 0, 0] ≯ [0, 1, 0, 1, 0]. Finally, compare the first target frequency vector with the frequency vector of R 34 That is, [0, 0, 1, 1, 0] ≯ [0, 1, 0, 1, 0]. The search fails and an empty set is returned. Example 4

[0068] Such as Figure 10As shown in the figure, a system for implementing the multi-level file approval management method includes: a supervision server, an application end, a data end, a first data server, a second data server, a third data server, a cloud, and an approval end. Among them, the supervision server generates security parameters, a system public key, and a system private key, sends the system public key and security parameters to the first data server, sends the security parameters and authentication parameters to the third data server, and sends the system private key and security parameters to the second data server. The application end sends multiple target files and a first relationship table to the first data server and the supervision server. The data end sends a signed file to the third data server. The first data server generates a first ciphertext and a first encryption tree based on the security parameters and generates a signature and an encryption table based on the system public key, and uploads them to the cloud. The third data server generates a second ciphertext and a second encryption tree based on the security parameters and authentication parameters and uploads them to the cloud. The approval end uploads a search term to the second data server. The second data server decrypts the encryption table based on the system private key to obtain the first relationship table, generates a third ciphertext based on the first relationship table, encrypts the search term to generate a fourth ciphertext, and uploads them to the cloud. Then it decrypts the first ciphertext to obtain the target file, decrypts the second ciphertext to obtain the signed file, and distributes the target file and the signed file to the approval end. The cloud stores the first ciphertext, the first encryption tree, the signature, the encryption table, the second ciphertext, the second encryption tree, the third ciphertext, and the fourth ciphertext.

[0069] When executing the storage process, the transmission of data is completed through a data link. The first data server is linked to the application end, the second data server is linked to the approval end, the third data server is linked to the data end, and the first data server, the second data server, the third data server, and the supervision server are respectively linked to the router. Data is transmitted mutually through the links. The router is responsible for transmitting data from the first data server, the second data server, and the third data server to the supervision server and the cloud. In addition, the router is linked to the firewall to ensure that the data is not modified during the transmission process, avoiding the signature verification failure caused by the insecure transmission of data and improving the reliability of data transmission.

[0070] The above are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A multi-level document approval management method, characterized in that, It includes the following steps: Step 1: The application end generates authentication parameters, and the supervision server generates security parameters, a system public key, and a system private key based on the authentication parameters; Step 2: The application end sends multiple target files and a first relationship table to the first data server and the supervision server, and the data end sends the signed file to the third data server; Step 3: The first data server generates a signature of the target file, encrypts the first relationship table based on the system public key to generate an encrypted table, encrypts the target file based on the security parameters to generate a first ciphertext and a first encryption tree, and then uploads the signature, encrypted table, first ciphertext, and first encryption tree to the cloud; Step 4: The third data server encrypts the signed file based on the security parameters and authentication parameters, generates a second ciphertext and a second encryption tree and uploads them to the cloud; Step 5: The second data server downloads and decrypts the encrypted table to obtain the first relationship table, generates a third ciphertext based on the first relationship table and uploads it to the cloud; Step 6: The cloud searches the first encryption tree based on the third ciphertext to obtain the first ciphertext, and sends the first ciphertext to the second data server; Step 7: The second data server decrypts the first ciphertext based on the security parameters to obtain the target file, verifies the signature based on the target file. If the verification is successful, the target file is dispatched to the approval end according to the first relationship table, and it enters Step 8, otherwise the program ends; Step 8: The approval end generates a search term and uploads it to the second data server, and the second data server encrypts the search term to generate a fourth ciphertext and uploads it to the cloud; Step 9: The cloud searches the second encryption tree based on the fourth ciphertext to obtain the second ciphertext, sends the second ciphertext to the second data server, and the second data server decrypts the second ciphertext to obtain the signed file and sends it to the approval end.

2. The multi-level document approval management method according to claim 1, wherein It further includes Step 10: The approval end generates execution parameters and sends them to the supervision server. The supervision server updates the target file and the first relationship table according to the execution parameters and sends them to the application end. If the first encryption tree is empty, the program ends, otherwise it returns to Step 6.

3. The multi-level document approval management method according to claim 1, characterized in that In Step 2, the target file includes a number, name, content, the signature of the application end, the target file distribution time. The name of the target file includes at least one name of the approval end. The content of the target file includes the name of the signed file. The first relationship table is the mapping relationship between the number of the target file and the number of the approval end.

4. The multi-level document approval management method according to claim 3, wherein In Step 3, the first data server uses a hash function to convert the name of the target file into a first hash value, encrypts the first hash value based on the system public key to generate a signature, H1 = h(N1), h() is the hash function, N1 is the name of the target file, H1 is the first hash value, encrypts the target file based on the security parameters and the number of the approval end using a symmetric encryption algorithm to generate a first ciphertext. The node D1 of the first encryption tree = {ID1, V, V1, V2, FID}, ID1 is the first identifier, V is the frequency vector of the node of the first encryption tree, V1 is the pointer to its left child node, V2 is the pointer to its right child node, FID is the target file identifier, and each leaf node of the first encryption tree uniquely corresponds to a target file.

5. The multi-level document approval management method according to claim 4, characterized in that In step 4, the authentication parameters include the target file distribution time, the names of all target files, the total number of target files, and the signature of the application side. An aggregation key r3 is generated based on the security parameter r1 and the authentication parameter r2. The signature file is encrypted based on the aggregation key to generate the second ciphertext. The nodes of the second encryption tree D2 = {ID2, V3, V4, V5, SID}, where ID2 is the second identifier, V3 is the frequency vector of the nodes of the second encryption tree, V4 is the pointer to its left child node, V5 is the pointer to its right child node, and SID is the signature file identifier. Each leaf node of the second encryption tree uniquely corresponds to a signature file.

6. The multi-level document approval management method according to claim 5, wherein In step 5, the second data server decrypts the encryption table based on the system private key to obtain the first relationship table, extracts the numbers of the approval sides in the first relationship table, sorts the numbers of the approval sides, obtains the names of the approval sides according to the numbers of the approval sides, encrypts the names of the approval sides based on the security parameter and the numbers of the approval sides to generate the third ciphertext, and inputs it into the cloud.

7. The multi-level document approval management method according to claim 6, wherein In step 7, the second data server decrypts the first ciphertext based on the security parameter and the numbers of the approval sides to obtain the target files, decrypts the signature based on the system private key to generate the first hash value, uses the hash function to convert the name of the target file into the second hash value. If the first hash value is equal to the second hash value, the verification is successful.

8. The multi-level document approval management method according to claim 7, wherein In step 8, the approval side extracts the name of the signature file in the target file to generate a search term and uploads it to the second data server. The second data server extracts the names of all target files and the total number of target files according to the first relationship table, generates the authentication parameters, generates the aggregation key based on the security parameter and the authentication parameters, encrypts the search term based on the aggregation key to generate the fourth ciphertext, and uploads it to the cloud.

9. The multi-level document approval management method according to claim 2, wherein In step 10, the execution parameters include the target file distribution time, the name of the target file, the signature of the application side, the number of the application side, and the target file execution time. The supervision server verifies the execution parameters according to the authentication parameters and the first relationship table. If the verification is successful, it will update the target file and the first relationship table and send them to the application side.

10. A system for implementing the multi-level document approval management method according to claim 1, characterized in that, Including: a supervision server, an application side, a data side, a first data server, a second data server, a third data server, a cloud, and an approval side, where the supervision server generates security parameters, a system public key, and a system private key; the application side sends multiple target files and the first relationship table to the first data server and the supervision server; the data side sends the signature file to the third data server; the first data server generates the first ciphertext based on the security parameter and generates the encryption table based on the system public key, and uploads them to the cloud; the third data server generates the second ciphertext based on the security parameter and the authentication parameters and uploads it to the cloud; the approval side uploads the search term to the second data server; the second data server decrypts the encryption table based on the system private key to obtain the first relationship table, then decrypts the first ciphertext to obtain the target files, decrypts the second ciphertext to obtain the signature file, and distributes the target files and the signature file to the approval side.

Citation Information

Patent Citations

  • Examination and approval method and device based on file content and approval content generation method and device

    CN115115353A

  • Symmetric searchable encryption method, device, equipment and medium

    CN112182630A

  • Lightweight forward and backward security public key authentication encryption keyword search method and system

    CN118509262A