Sensitive file processing method and storage system

By introducing a node selection model in the storage system and automatically selecting suitable storage nodes, the reliability and performance problems caused by manual selection of nodes in the prior art are solved, and efficient and secure storage of sensitive files is achieved.

CN119646877APending Publication Date: 2025-03-18AGRICULTURAL BANK OF CHINA
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411715679.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

When selecting storage nodes for storing sensitive files, existing storage systems rely on manual experience, resulting in poor reliability and performance, affecting storage effectiveness.

Method used

A sensitive file processing method is adopted to obtain the storage request sent by the application module through seed nodes, and select suitable ordinary nodes using the node selection model to ensure that the storage location information and metadata of the sensitive file are recorded and broadcast.

Benefits of technology

Through the automated node selection model, the reliability and service quality of storage nodes are improved, the randomness of manual node selection is avoided, and the safe and efficient storage of sensitive files is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119646877A_ABST
    Figure CN119646877A_ABST
Patent Text Reader

Abstract

The invention discloses a sensitive file processing method and a storage system, a seed node of the storage system obtains a first sensitive file and a first file identifier sent by an application module, and the seed node stores the first file identifier and the first sensitive file in a local storage system; and the seed node inputs the storage information into the node selection model to obtain the identifier of the first common node output by the node selection model. And the seed node sends the first sensitive file to the first common node. The first common node locally stores a first sensitive file. And the seed node stores the node information of the first storage node and the corresponding relationship of the file identifier into a storage position information table, and stores the metadata of the first sensitive file as a record into a file metadata information table. A better selection scheme of the storage nodes can be obtained by utilizing the node selection model, the randomness of manual node selection is avoided, and the reliability and the service quality of the selected storage nodes are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data storage, and in particular to a sensitive file processing method and storage system. Background Art

[0002] With the rapid development of data storage technology, using storage systems to store sensitive files can meet the needs of electronic files and improve the efficiency of processing sensitive files. Sensitive files include information that needs to be kept confidential, such as customer information, transaction records, and account details. If sensitive files are not properly stored and managed, it will lead to information leakage, resulting in the risk of sensitive files being stolen or abused, which will seriously affect business security.

[0003] The storage system includes multiple storage nodes. When storing sensitive files, the storage nodes for storing sensitive files are mainly selected based on manual experience. The reliability and performance of the selected storage nodes may be poor, affecting the storage effect of sensitive files. Summary of the invention

[0004] In view of this, the present application provides a sensitive file processing method and storage system, which can select a better storage node for storing sensitive files.

[0005] The technical solutions provided by this application are as follows:

[0006] In a first aspect, the present application provides a method for processing sensitive files, the method being applied to a storage system, the storage system comprising a license authentication node and a storage node, the storage node comprising a seed node and a common node connected to the seed node, the seed node being connected to an application module, the application module being used to interact with a user, the method comprising:

[0007] The seed node obtains a storage request sent by the application module, the storage request includes a first sensitive file and a first file identifier, the first sensitive file is obtained by symmetrically encrypting the original sensitive file using a file key, the first file identifier corresponds to the first sensitive file, the first file identifier is obtained by the application module from the license authentication node, and the file key and the first file identifier are stored in the license authentication node;

[0008] The seed node stores the first file identifier and the first sensitive file in a local storage system;

[0009] The seed node inputs the storage information into the node selection model to obtain the identifier of the first common node output by the node selection model, wherein the storage information is used to describe a storage scheme for storing the first sensitive file;

[0010] The seed node sends the first sensitive file to the first ordinary node, so that the first ordinary node stores the first sensitive file locally;

[0011] The seed node stores the node information of the first storage node and the correspondence between the first file identifier as a record in a storage location information table, and stores the metadata of the first sensitive file as a record in a file metadata information table. The first storage node includes the seed node and the first ordinary node.

[0012] In a possible implementation, the method further includes:

[0013] The seed node broadcasts the storage location information table and the file metadata information table to storage nodes included in the storage system.

[0014] In a possible implementation, the method further includes:

[0015] The seed node obtains a use request, the use request includes a license certificate and a user identification, and the license certificate is generated by asymmetrically encrypting the file key according to the user private key;

[0016] The seed node sends the license certificate and the user identification to the license authentication node;

[0017] The license authentication node stores the corresponding relationship between the user identification and the license certificate.

[0018] In a possible implementation, the method further includes:

[0019] The seed node obtains a sensitive file acquisition request sent by the application module, where the sensitive file acquisition request includes the user identifier and the first file identifier;

[0020] The seed node sends a certificate acquisition request to the license authentication node, wherein the certificate acquisition request includes the user identifier;

[0021] The seed node obtains the user license certificate fed back by the license authentication node, wherein the user license certificate is obtained by the license authentication node using the application module public key to asymmetrically encrypt the license certificate corresponding to the user identifier;

[0022] The seed node queries the node information of the first storage node corresponding to the first file identifier based on the storage location information table;

[0023] The seed node obtains the first sensitive file from the first storage node;

[0024] The seed node sends the first sensitive file and the user license certificate to the application module, so that the application module uses the application module public key and the user public key to decrypt the user license certificate to obtain the file key, and uses the file key to decrypt the first sensitive file to obtain the original sensitive file.

[0025] In a possible implementation, the method further includes:

[0026] The storage node included in the storage system determines the target record according to the number of records included in the file metadata information table and the node identifier of the storage node;

[0027] The storage node included in the storage system obtains the second file identifier included in the target record and a sensitive file hash value corresponding to the second file identifier;

[0028] The storage node included in the storage system queries the node information of the second storage node corresponding to the second file identifier based on the storage location information table;

[0029] The storage system includes a storage node that obtains a second sensitive file from a target second storage node, determines the integrity of the second sensitive file using a hash value of the sensitive file, and the target second storage node identifies each of the second storage nodes corresponding to the second file;

[0030] If it is determined that the integrity of the second sensitive file does not meet the threshold, the second sensitive file is obtained from other second storage nodes, and the second sensitive file stored in the target second storage node is updated.

[0031] In a possible implementation, the method further includes:

[0032] A third storage node obtains the storage location information table from other storage nodes, and the third storage node is a storage node that is restored after a failure;

[0033] The third storage node traverses the storage location information table to obtain a third file identifier corresponding to the node information of the third storage node;

[0034] The third storage node queries the node information of a fourth storage node corresponding to the third file identifier based on the storage location information table and the third file identifier, where the fourth storage node is different from the third storage node;

[0035] The third storage node obtains and stores the third sensitive file from the fourth storage node.

[0036] In a possible implementation, the method further includes:

[0037] The fifth storage node acquires, based on the storage location information table, a fourth file identifier corresponding to the node information of the fifth storage node, the fifth storage node being the storage node to be withdrawn from the storage system;

[0038] The fifth storage node queries the node information of the sixth storage node corresponding to the fourth file identifier based on the storage location information table and the fourth file identifier, where the sixth storage node is different from the fifth storage node;

[0039] The fifth storage node obtains the fourth sensitive file from the sixth storage node;

[0040] The fifth storage node selects a backup storage node, and stores the sensitive files stored by the fifth storage node to the backup storage node;

[0041] The fifth storage node updates the storage location information table according to the node information of the backup storage node;

[0042] The fifth storage node broadcasts the storage location information table to storage nodes included in the storage system.

[0043] In a possible implementation, the node selection model is trained in the following manner:

[0044] Acquire training data, where the training data includes training storage information and corresponding labels, where the training storage information includes one or more of storage space information, node scoring information, and geographic location information, and the label is used to indicate a selection result of a storage node;

[0045] The node selection model is trained using the training data.

[0046] In a second aspect, the present application provides a storage system, the storage system comprising a license authentication node and a storage node, the storage node comprising a seed node and a common node connected to the seed node, the seed node is connected to an application module, the application module is used to interact with a user, and the storage system comprises:

[0047] The seed node is used to obtain a storage request sent by the application module, the storage request includes a first sensitive file and a first file identifier, the first sensitive file is obtained by symmetrically encrypting the original sensitive file using a file key, the first file identifier corresponds to the first sensitive file, the first file identifier is obtained by the application module from the license authentication node, and the file key and the first file identifier are stored in the license authentication node;

[0048] The seed node is further used to store the first file identifier and the first sensitive file in a local storage system;

[0049] The seed node is further used to input storage information into a node selection model to obtain an identifier of a first common node output by the node selection model, wherein the storage information is used to describe a storage scheme for storing the first sensitive file;

[0050] The seed node is further used to send the first sensitive file to the first ordinary node, so that the first ordinary node stores the first sensitive file locally;

[0051] The seed node is also used to store the node information of the first storage node and the correspondence between the first file identifier as a record in the storage location information table, and store the metadata of the first sensitive file as a record in the file metadata information table. The first storage node includes the seed node and the first ordinary node.

[0052] In a possible implementation, the seed node is further used to broadcast the storage location information table and the file metadata information table to storage nodes included in the storage system.

[0053] In a possible implementation, the seed node is further used to obtain a use request, the use request includes a license certificate and a user identifier, and the license certificate is generated by asymmetrically encrypting the file key according to a user private key;

[0054] The seed node is further used to send the license certificate and the user identification to the license authentication node;

[0055] The license authentication node is used to store the corresponding relationship between the user identification and the license certificate.

[0056] In a possible implementation, the seed node is further used to obtain a sensitive file acquisition request sent by an application module, where the sensitive file acquisition request includes the user identifier and the first file identifier;

[0057] The seed node is further configured to send a certificate acquisition request to the license authentication node, wherein the certificate acquisition request includes the user identifier;

[0058] The seed node is further used to obtain a user license certificate fed back by the license authentication node, wherein the user license certificate is obtained by the license authentication node using an application module public key to asymmetrically encrypt the license certificate corresponding to the user identifier;

[0059] The seed node is further used to query the node information of the first storage node corresponding to the first file identifier based on the storage location information table;

[0060] The seed node is further used to obtain the first sensitive file from the first storage node;

[0061] The seed node is also used to send the first sensitive file and the user license certificate to the application module, so that the application module uses the application module public key and the user public key to decrypt the user license certificate to obtain the file key, and uses the file key to decrypt the first sensitive file to obtain the original sensitive file.

[0062] In a possible implementation, the storage system includes a storage node, which is used to determine the target record according to the number of records included in the file metadata information table and the node identifier of the storage node;

[0063] The storage system includes a storage node, further used to obtain a second file identifier included in the target record and a sensitive file hash value corresponding to the second file identifier;

[0064] The storage system includes a storage node, further configured to query node information of a second storage node corresponding to the second file identifier based on the storage location information table;

[0065] The storage system includes a storage node, further used to obtain a second sensitive file from a target second storage node, determine the integrity of the second sensitive file using the hash value of the sensitive file, and the target second storage node identifies each of the second storage nodes corresponding to the second file;

[0066] The storage system includes a storage node, which is also used to obtain the second sensitive file from other second storage nodes and update the second sensitive file stored in the target second storage node if it is determined that the integrity of the second sensitive file does not meet a threshold.

[0067] In a possible implementation, the third storage node is used to obtain the storage location information table from other storage nodes, and the third storage node is a storage node that is restored after a failure;

[0068] The third storage node is further used to traverse the storage location information table to obtain a third file identifier corresponding to the node information of the third storage node;

[0069] The third storage node is further used to query node information of a fourth storage node corresponding to the third file identifier based on the storage location information table and the third file identifier, where the fourth storage node is different from the third storage node;

[0070] The third storage node is also used to obtain and store the third sensitive file from the fourth storage node.

[0071] In a possible implementation, the fifth storage node is used to obtain, based on the storage location information table, a fourth file identifier corresponding to the node information of the fifth storage node, the fifth storage node being the storage node to be withdrawn from the storage system;

[0072] The fifth storage node is used to query node information of a sixth storage node corresponding to the fourth file identifier based on the storage location information table and the fourth file identifier, where the sixth storage node is different from the fifth storage node;

[0073] The fifth storage node is used to obtain a fourth sensitive file from the sixth storage node;

[0074] The fifth storage node is used to select a backup storage node and store the sensitive files stored in the fifth storage node to the backup storage node;

[0075] The fifth storage node is used to update the storage location information table according to the node information of the backup storage node;

[0076] The fifth storage node is used to broadcast the storage location information table to the storage nodes included in the storage system.

[0077] In a possible implementation, the node selection model is trained in the following manner:

[0078] Acquire training data, where the training data includes training storage information and corresponding labels, where the training storage information includes one or more of storage space information, node scoring information, and geographic location information, and the label is used to indicate a selection result of a storage node;

[0079] The node selection model is trained using the training data.

[0080] It can be seen that this application has the following beneficial effects:

[0081] The present application provides a sensitive file processing method and storage system, in which the seed node of the storage system obtains the first sensitive file and the first file identifier sent by the application module, and the seed node stores the first file identifier and the first sensitive file in the local storage system; the seed node inputs the storage information into the node selection model to obtain the identifier of the first common node output by the node selection model. The first common node selected by the node selection model meets the requirement of storing the first sensitive file. The seed node sends the first sensitive file to the first common node. The first common node stores the first sensitive file locally. The seed node stores the node information of the first storage node including the seed node and the first common node and the corresponding relationship of the file identifier in the storage location information table, and stores the metadata of the first sensitive file as a record in the file metadata information table, so as to query the storage location of the sensitive file and detect the integrity of the sensitive file. The node selection model can be used to obtain a better storage node selection scheme, avoid the randomness of the manually selected nodes, and ensure the reliability and service quality of the selected storage nodes. BRIEF DESCRIPTION OF THE DRAWINGS

[0082] Figure 1 A schematic diagram of the structure of a storage system provided in an embodiment of the present application;

[0083] Figure 2 A schematic diagram of a sensitive file processing method provided in an embodiment of the present application;

[0084] Figure 3 A schematic diagram of a file storage process provided in an embodiment of the present application;

[0085] Figure 4 A schematic diagram of a process for a user to apply for permission provided in an embodiment of the present application;

[0086] Figure 5 A schematic diagram of a process for a user to obtain a file provided in an embodiment of the present application. DETAILED DESCRIPTION

[0087] In order to facilitate the understanding and explanation of the technical solutions provided by the embodiments of the present application, the background technology of the present application will be described below.

[0088] Sensitive files are files that contain sensitive information or data. The leakage of information contained in sensitive files will pose a risk to the security of enterprises or users. The processing of sensitive files in the storage system mainly includes: storage node selection, file encryption, file acquisition, permission management, and file backup.

[0089] In the process of selecting storage nodes, it is necessary to select storage nodes suitable for storing sensitive files from multiple storage nodes included in the storage system. Currently, the storage nodes for storing sensitive files are usually determined based on experience and manual decision-making. Decision-makers select appropriate storage nodes based on the performance of storage nodes. Manual selection of storage nodes lacks sufficient basis, and the standards for selecting storage nodes are not unified, making it difficult to ensure that the selected storage nodes are suitable for storing sensitive files.

[0090] Based on this, an embodiment of the present application provides a sensitive file processing method and storage system, in which the seed node of the storage system obtains the first sensitive file and the first file identifier sent by the application module, and the seed node stores the first file identifier and the first sensitive file in the local storage system; the seed node inputs the storage information into the node selection model to obtain the identifier of the first common node output by the node selection model. The first common node selected by the node selection model meets the requirement of storing the first sensitive file. The seed node sends the first sensitive file to the first common node. The first common node stores the first sensitive file locally. The seed node stores the node information of the first storage node including the seed node and the first common node and the corresponding relationship of the file identifier in the storage location information table, and stores the metadata of the first sensitive file as a record in the file metadata information table, so as to query the storage location of the sensitive file and detect the integrity of the sensitive file. The node selection model can be used to obtain a better storage node selection scheme, avoid the randomness of the manually selected node, and ensure the reliability and service quality of the selected storage node.

[0091] In order to facilitate understanding of the technical solution provided in the embodiment of the present application, a method for processing sensitive files provided in the embodiment of the present application is described below with reference to the accompanying drawings.

[0092] The sensitive file processing method provided in the embodiment of the present application is applied to the storage system. Figure 1 As shown, this figure is a schematic diagram of the structure of the storage system provided in an embodiment of the present application.

[0093] The storage system includes a license authentication node and a storage node. The license authentication node is responsible for the generation and storage of various keys. The keys used mainly include user public and private keys, application module public and private keys, and sensitive file symmetric keys. The license authentication node is also responsible for storing licenses. User public and private keys are asymmetric keys, which are generated and stored by the license authentication node. The public key in the user's public and private keys is called the user's public key, and the private key in the user's public and private keys is called the user's private key. The application module public and private keys are asymmetric keys, which are generated and stored by the license authentication node. The public key in the application module's public and private keys is called the application module public key, and the private key in the application module's public and private keys is called the application module private key. The file key is a symmetric key, which is generated by the license authentication node and stored by the application module, and is used to encrypt sensitive files.

[0094] Storage nodes are responsible for storing sensitive files. Storage nodes include seed nodes and ordinary nodes. Seed nodes are responsible for interacting with application modules and storing database tables and sensitive files. Application modules are used to interact with users. Application modules are external applications that call storage systems. Application modules interact with seed nodes to store and read sensitive files. Ordinary nodes are responsible for storing database tables and sensitive files. Seed nodes are connected to at least one ordinary node.

[0095] See also Figure 2 As shown in FIG. 1 , this figure is a schematic diagram of a sensitive file processing method provided by an embodiment of the present application. Figure 2 As shown, a sensitive file processing method provided in an embodiment of the present application includes S201-S205.

[0096] S201: The seed node obtains a storage request sent by an application module, where the storage request includes a first sensitive file and a first file identifier.

[0097] See also Figure 3 As shown, this figure is a schematic diagram of a file storage process provided by an embodiment of the present application. The user (i.e., the file uploader) uploads the original sensitive file through the application module, and the application module requests the license authentication node to obtain the first file identifier and the file key of the original sensitive file. The first file identifier is used to identify the original sensitive file and the first sensitive file after the original sensitive file is encrypted. The application module stores the file key, and uses the file key to symmetrically encrypt the original sensitive file to obtain the first sensitive file. The application module sends the first file identifier and the first sensitive file to the seed node connected to the application module. The seed node obtains the first sensitive file and the first file identifier sent by the application module.

[0098] S202: The seed node stores the first file identifier and the first sensitive file in a local storage system.

[0099] After receiving the storage request, the seed node stores the first sensitive file in the local file system according to the first file identifier. The seed node stores the correspondence between the first file identifier and the first sensitive file so as to query and read the first sensitive file according to the first file identifier later.

[0100] S203: The seed node inputs the storage information into the node selection model to obtain the identifier of the first common node output by the node selection model.

[0101] The first sensitive file is stored in multiple backup encryption, and the seed node connected to the application module is used as the main node to store the first sensitive file. The node selection model is used to determine the corresponding number of ordinary nodes as backup nodes to store the first sensitive file.

[0102] The storage information is used to describe the storage scheme for implementing the storage of the first sensitive file. As an example, the storage information includes storage space information, node scoring information, and geographic location information. By setting different storage space information, node scoring information, and geographic location information, sensitive file storage in different implementations can be implemented, corresponding to different storage schemes.

[0103] The seed node selects a backup node according to the storage node selection mechanism. Specifically, the seed node inputs the storage information into the node selection model to obtain the identifier of the first common node output by the node selection model. The first common node is a backup node, which is used to back up the first sensitive file.

[0104] The node selection model is constructed based on, for example, a radial basis function (RBF) neural network.

[0105] The node selection model is trained in the following way:

[0106] Acquire training data. The training data includes training storage information and corresponding labels. The training storage information includes one or more of storage space information, node score information, and geographic location information. The type of information included in the training storage information is consistent with the type of information included in the storage information. The label is used to indicate the selection result of the storage node. The selection result includes a storage identifier of at least one storage node.

[0107] The node selection model is trained using the training data. The trained node selection model can output selected storage nodes suitable for the storage solution based on the input storage information.

[0108] S204: The seed node sends the first sensitive file to the first ordinary node, so that the first ordinary node stores the first sensitive file locally.

[0109] Specifically, the seed node sends the first sensitive file and the first file identifier to the first common node. The first common node stores the corresponding relationship between the first sensitive file and the first file identifier locally.

[0110] S205: The seed node stores the node information of the first storage node and the correspondence between the file identifier as a record in the storage location information table, and stores the metadata of the first sensitive file as a record in the file metadata information table.

[0111] The seed node maintains the master node (that is, the seed node) and the backup node (that is, the first ordinary node) storing the first sensitive file in the file storage location information table, and maintains the metadata of the first sensitive file in the file metadata information table. In a possible implementation, the master node and the backup node are called the first storage node. The first storage node includes a seed node and a first ordinary node. The file storage location information table stores the first file identifier and the node information of the first storage node. The node information of the first storage node is, for example, the Internet Protocol (IP) address of the first storage node.

[0112] Further, the seed node broadcasts the storage location information table and the file metadata information table to the storage nodes included in the storage system. The storage nodes included in the storage system are, for example, other seed nodes and various ordinary nodes except the seed node. In one possible implementation, the complete storage location information table and the file metadata information table are broadcast. In another possible implementation, the newly added records in the storage location information table and the newly added records in the file metadata information table are broadcast.

[0113] Permission management of sensitive files is an important step to improve the security of sensitive files. Through reasonable permission settings, it can ensure that only authorized users can access and process relevant sensitive files, thereby ensuring the security and compliance of the business.

[0114] Furthermore, the embodiment of the present application provides a method for processing sensitive files, which, in addition to the above steps, further includes the following steps:

[0115] A1: The seed node obtains a usage request, which includes a license certificate and a user ID. The license certificate is generated by asymmetrically encrypting the file key based on the user's private key.

[0116] See also Figure 4 As shown, this figure is a schematic diagram of a process of a user applying for permissions provided in an embodiment of the present application.

[0117] The user initiates a sensitive file use application in the application module. The sensitive file use application includes the user's private key and user ID. The application module uses the user's private key to asymmetrically encrypt the file key and generate a license certificate. The file key is obtained in advance by the application module from the license authentication node.

[0118] The application module sends a use request including a license certificate and a user ID to the seed node. After receiving the use request, the seed node obtains the license certificate and the user ID.

[0119] A2: The seed node sends the license certificate and user ID to the license authentication node.

[0120] A3: The license authentication node stores the correspondence between the license certificate and the user ID.

[0121] Based on the above A1-A3 related content, it can be known that for sensitive file permission management, a user authorization mechanism is adopted to issue licenses to users who need authorization. Using licenses to verify users' access to sensitive files is conducive to improving the security of sensitive files.

[0122] Authorized users can apply to obtain sensitive files. Furthermore, the present application embodiment provides a method for processing sensitive files, which, in addition to the above steps, also includes the following steps:

[0123] B1: The seed node obtains a sensitive file acquisition request sent by the application module, where the sensitive file acquisition request includes a user identifier and a first file identifier.

[0124] See also Figure 5 As shown, this figure is a schematic diagram of a process for a user to obtain a file provided in an embodiment of the present application.

[0125] The user initiates a sensitive file acquisition request in the application module. The sensitive file acquisition request includes a user identifier and a first file identifier. The application module initiates a sensitive file acquisition request to a seed node connected to it.

[0126] The seed node obtains a sensitive file acquisition request including a user identifier and a first file identifier.

[0127] B2: The seed node sends a certificate acquisition request to the license authentication node, where the certificate acquisition request includes a user identifier.

[0128] The license authentication node can query the user's license certificate based on the user ID. The license authentication node uses the application module public key to asymmetrically encrypt the authorized user's license certificate, obtain the user's license certificate, and return it to the seed node.

[0129] B3: The seed node obtains the user license certificate fed back by the license authentication node.

[0130] B4: The seed node queries the node information of the first storage node corresponding to the first file identifier based on the storage location information table.

[0131] The node information is, for example, an IP address of the first storage node. The first file identifier corresponds to at least one first storage node. The seed node selects a first storage node from the at least one first storage node.

[0132] B5: The seed node obtains the first sensitive file from the first storage node.

[0133] B6: The seed node sends the first sensitive file and the user license certificate to the application module, so that the application module uses the application module public key and the user public key to decrypt the user license certificate to obtain the file key, and uses the file key to decrypt the first sensitive file to obtain the original sensitive file.

[0134] After the application module receives the user license certificate and the first sensitive file returned by the seed node, it uses the application module public key and the user public key to decrypt the user license certificate to obtain the file key, and uses the file key to symmetrically decrypt the first sensitive file to obtain the original sensitive file for user use.

[0135] Furthermore, it is also possible to perform integrity checks on sensitive files stored in the storage system. In addition to the above steps, the following steps are also included:

[0136] C1: A storage node included in the storage system determines a target record according to the number of records included in the file metadata information table and the node identifier of the storage node.

[0137] The storage system includes storage nodes, that is, seed nodes and ordinary nodes, which periodically check the integrity of some sensitive files in the storage nodes. All seed nodes and ordinary nodes have a node identifier i, where i takes values ​​of 0, 1, ..., n. n is a positive integer. The number of records in the file metadata information table is N. N is a positive integer. Each seed node and ordinary node checks i*[N / n] to (i+1)*[N / n] records in the file metadata information table, that is, the target records.

[0138] C2: The storage node included in the storage system obtains the second file identifier included in the target record and the sensitive file hash value corresponding to the second file identifier.

[0139] The storage node obtains the second file identifier and the file hash value from the file metadata information table according to the target record. The file hash value can be generated by processing the sensitive file using a hash algorithm when the seed node obtains the second sensitive file. The second file identifier corresponds to the second sensitive file.

[0140] C3: The storage node included in the storage system queries the node information of the second storage node corresponding to the second file identifier based on the storage location information table.

[0141] The storage node obtains node information of the second storage node from the file storage location information table. The second storage node is a storage node storing the second sensitive file corresponding to the second file identifier.

[0142] C4: The storage system includes a storage node that obtains a second sensitive file from a target second storage node, and uses a hash value of the sensitive file to determine the integrity of the second sensitive file. The target second storage node identifies each of the second storage nodes corresponding to the second file.

[0143] The storage node obtains the second sensitive file from the target second storage node according to the node information of the target second storage node, and uses the file hash value to determine the integrity of the second sensitive file stored in the target second storage node to obtain the integrity. The target second storage node identifies each of the second storage nodes corresponding to the second file, thereby realizing the storage of the second sensitive file stored in each second storage node.

[0144] C5: If it is determined that the integrity of the second sensitive file does not meet the threshold, obtain the second sensitive file from other second storage nodes, and update the second sensitive file stored in the target second storage node.

[0145] If it is determined that the sensitive file in the target second storage node is lost or damaged, that is, the integrity does not meet the threshold, the second sensitive file is obtained from any other second storage node, and the second sensitive file is stored in the target second storage node.

[0146] Furthermore, in some possible implementations, the storage system has a storage node that is recovered after a failure. The recovered storage node needs to reacquire sensitive files. In addition to the above steps, the following steps are also included:

[0147] D1: The third storage node obtains the storage location information table from other storage nodes, and the third storage node is a storage node that is restored after a failure.

[0148] The third storage node synchronizes the storage location information table from other seed nodes or common nodes. In addition, the third storage node also obtains the file metadata information table from other seed nodes or common nodes.

[0149] D2: The third storage node traverses the storage location information table to obtain a third file identifier corresponding to the node information of the third storage node.

[0150] The third file identifier corresponds to the third sensitive file.

[0151] D3: The third storage node queries the node information of the fourth storage node corresponding to the third file identifier based on the storage location information table and the third file identifier, and the fourth storage node is different from the third storage node.

[0152] The fourth storage node is a storage node other than the third storage node that stores the third sensitive file.

[0153] D4: The third storage node obtains and stores the third sensitive file from the fourth storage node.

[0154] The third storage node stores the acquired third sensitive file locally. The third storage node stores the correspondence between the third sensitive file and the third file identifier.

[0155] Furthermore, in some possible implementations, when a storage node exits the storage system, it is necessary to back up the stored sensitive files. In addition to the above steps, the following steps are also included:

[0156] E1: The fifth storage node obtains a fourth file identifier corresponding to the node information of the fifth storage node based on the storage location information table, and the fifth storage node is the storage node to be exited from the storage system.

[0157] Before the fifth storage node exits the storage system, it needs to back up the fourth sensitive file stored in itself. The fourth sensitive file is each sensitive file stored in the fifth storage node.

[0158] The fifth storage node queries the fourth file identifier stored in the fifth storage node according to the file storage location information table. The fourth file identifier corresponds to the fourth sensitive file.

[0159] E2: The fifth storage node queries the node information of the sixth storage node corresponding to the fourth file identifier based on the storage location information table and the fourth file identifier, and the sixth storage node is different from the fifth storage node.

[0160] The fifth storage node queries the file storage location information table for node information of a sixth storage node corresponding to the fourth file identifier. The sixth storage node is a storage node storing the fourth sensitive file other than the fifth storage node.

[0161] E3: The fifth storage node obtains the fourth sensitive file from the sixth storage node.

[0162] E4: The fifth storage node selects a backup storage node, and stores the sensitive files stored by the fifth storage node to the backup storage node.

[0163] The fifth storage node can determine the backup storage node using the node selection model. The backup storage node is used to back up each sensitive file included in the fifth storage node.

[0164] E5: The fifth storage node updates the storage location information table according to the node information of the backup storage node.

[0165] The fifth storage node takes the correspondence between the node information of the backup storage node and the fourth file identifier as a new record, and updates the storage location information table.

[0166] E6: The fifth storage node broadcasts the storage location information table to the storage nodes included in the storage system.

[0167] The fifth storage node may broadcast the new record to other storage nodes to update the storage location information table in each storage node.

[0168] The method for processing sensitive files provided in the embodiment of the present application introduces a double-layer encryption mechanism in the sensitive file storage link, and uses a symmetric key to encrypt sensitive files. The symmetric key uses the user public key and the application module public key for asymmetric encryption, thereby ensuring the security of sensitive file storage and transmission and the security of the file key. In the sensitive file use link, a user content authorization mechanism is introduced to issue license certificates to users who need authorization and store them in the license authentication node. When a user needs to use a sensitive file, the user license certificate is obtained, and the file key is decrypted using the user private key and the application module private key. It is ensured that only authorized users can access sensitive files, further ensuring the security of sensitive files.

[0169] In addition, this method introduces a multiple backup mechanism for sensitive files. When a storage node exits the storage system, the optimal backup node is selected through the node selection model to prevent the loss of sensitive files while ensuring the integrity of sensitive files.

[0170] The file storage location information table is maintained through seed nodes and ordinary nodes to improve the retrieval efficiency and acquisition efficiency of sensitive files.

[0171] Based on the sensitive file processing method provided by the above method embodiment, the embodiment of the present application also provides a storage system, which will be described below in conjunction with the accompanying drawings.

[0172] The storage system includes a license authentication node and a storage node, wherein the storage node includes a seed node and a common node connected to the seed node, wherein the seed node is connected to an application module, wherein the application module is used to interact with a user, and wherein the storage system includes:

[0173] The seed node is used to obtain a storage request sent by the application module, the storage request includes a first sensitive file and a first file identifier, the first sensitive file is obtained by symmetrically encrypting the original sensitive file using a file key, the first file identifier corresponds to the first sensitive file, the first file identifier is obtained by the application module from the license authentication node, and the file key and the first file identifier are stored in the license authentication node;

[0174] The seed node is further used to locally store the first file identifier and the first sensitive file;

[0175] The seed node is further used to input storage information into a node selection model to obtain an identifier of a first common node output by the node selection model, wherein the storage information is used to describe a storage scheme for storing the first sensitive file;

[0176] The seed node is further used to send the first sensitive file to the first ordinary node, so that the first ordinary node stores the first sensitive file locally;

[0177] The seed node is also used to store the node information of the first storage node and the correspondence between the first file identifier as a record in the storage location information table, and store the metadata of the first sensitive file as a record in the file metadata information table. The first storage node includes the seed node and the first ordinary node.

[0178] Optionally, the seed node is further used to broadcast the storage location information table and the file metadata information table to storage nodes included in the storage system.

[0179] Optionally, the seed node is further used to obtain a use request, the use request includes a license certificate and a user identifier, and the license certificate is generated by asymmetrically encrypting the file key according to the user private key;

[0180] The seed node is further used to send the license certificate and the user identification to the license authentication node;

[0181] The license authentication node is used to store the corresponding relationship between the user identification and the license certificate.

[0182] Optionally, the seed node is further used to obtain a sensitive file acquisition request sent by an application module, where the sensitive file acquisition request includes the user identifier and the first file identifier;

[0183] The seed node is further configured to send a certificate acquisition request to the license authentication node, wherein the certificate acquisition request includes the user identifier;

[0184] The seed node is further used to obtain a user license certificate fed back by the license authentication node, wherein the user license certificate is obtained by the license authentication node using an application module public key to asymmetrically encrypt the license certificate corresponding to the user identifier;

[0185] The seed node is further used to query the node information of the first storage node corresponding to the first file identifier based on the storage location information table;

[0186] The seed node is further used to obtain the first sensitive file from the first storage node;

[0187] The seed node is also used to send the first sensitive file and the user license certificate to the application module, so that the application module uses the application module public key and the user public key to decrypt the user license certificate to obtain the file key, and uses the file key to decrypt the first sensitive file to obtain the original sensitive file.

[0188] Optionally, the storage system includes a storage node, which is used to determine the target record according to the number of records included in the file metadata information table and the node identifier of the storage node;

[0189] The storage system includes a storage node, further used to obtain a second file identifier included in the target record and a sensitive file hash value corresponding to the second file identifier;

[0190] The storage system includes a storage node, further configured to query node information of a second storage node corresponding to the second file identifier based on the storage location information table;

[0191] The storage system includes a storage node, further used to obtain a second sensitive file from a target second storage node, determine the integrity of the second sensitive file using the hash value of the sensitive file, and the target second storage node identifies each of the second storage nodes corresponding to the second file;

[0192] The storage system includes a storage node, which is also used to obtain the second sensitive file from other second storage nodes and update the second sensitive file stored in the target second storage node if it is determined that the integrity of the second sensitive file does not meet a threshold.

[0193] Optionally, a third storage node is used to obtain the storage location information table from other storage nodes, and the third storage node is a storage node that is restored after a failure;

[0194] The third storage node is further used to traverse the storage location information table to obtain a third file identifier corresponding to the node information of the third storage node;

[0195] The third storage node is further used to query node information of a fourth storage node corresponding to the third file identifier based on the storage location information table and the third file identifier, where the fourth storage node is different from the third storage node;

[0196] The third storage node is also used to obtain and store the third sensitive file from the fourth storage node.

[0197] Optionally, a fifth storage node is used to obtain a fourth file identifier corresponding to the node information of the fifth storage node based on the storage location information table, and the fifth storage node is a storage node to be withdrawn from the storage system;

[0198] The fifth storage node is used to query node information of a sixth storage node corresponding to the fourth file identifier based on the storage location information table and the fourth file identifier, where the sixth storage node is different from the fifth storage node;

[0199] The fifth storage node is used to obtain a fourth sensitive file from the sixth storage node;

[0200] The fifth storage node is used to select a backup storage node and store the sensitive files stored in the fifth storage node to the backup storage node;

[0201] The fifth storage node is used to update the storage location information table according to the node information of the backup storage node;

[0202] The fifth storage node is used to broadcast the storage location information table to the storage nodes included in the storage system.

[0203] Optionally, the node selection model is trained in the following manner:

[0204] Acquire training data, where the training data includes training storage information and corresponding labels, where the training storage information includes one or more of storage space information, node scoring information, and geographic location information, and the label is used to indicate a selection result of a storage node;

[0205] The node selection model is trained using the training data.

[0206] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments can be referred to each other. For the system or device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.

[0207] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0208] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0209] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0210] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for processing sensitive files, characterized in that: The method is applied to a storage system, the storage system includes a license authentication node and a storage node, the storage node includes a seed node and a common node connected to the seed node, the seed node is connected to an application module, the application module is used to interact with a user, and the method includes: The seed node obtains a storage request sent by the application module, the storage request includes a first sensitive file and a first file identifier, the first sensitive file is obtained by symmetrically encrypting the original sensitive file using a file key, the first file identifier corresponds to the first sensitive file, the first file identifier is obtained by the application module from the license authentication node, and the file key and the first file identifier are stored in the license authentication node; The seed node stores the first file identifier and the first sensitive file in a local storage system; The seed node inputs the storage information into the node selection model to obtain the identifier of the first common node output by the node selection model, wherein the storage information is used to describe a storage scheme for storing the first sensitive file; The seed node sends the first sensitive file to the first ordinary node, so that the first ordinary node stores the first sensitive file locally; The seed node stores the node information of the first storage node and the correspondence between the first file identifier as a record in a storage location information table, and stores the metadata of the first sensitive file as a record in a file metadata information table. The first storage node includes the seed node and the first ordinary node.

2. The method according to claim 1, characterized in that The method further comprises: The seed node broadcasts the storage location information table and the file metadata information table to storage nodes included in the storage system.

3. The method according to claim 1, characterized in that The method further comprises: The seed node obtains a use request, the use request includes a license certificate and a user identification, and the license certificate is generated by asymmetrically encrypting the file key according to the user private key; The seed node sends the license certificate and the user identification to the license authentication node; The license authentication node stores the corresponding relationship between the user identification and the license certificate.

4. The method according to claim 3, characterized in that The method further comprises: The seed node obtains a sensitive file acquisition request sent by the application module, where the sensitive file acquisition request includes the user identifier and the first file identifier; The seed node sends a certificate acquisition request to the license authentication node, wherein the certificate acquisition request includes the user identifier; The seed node obtains the user license certificate fed back by the license authentication node, wherein the user license certificate is obtained by the license authentication node using the application module public key to asymmetrically encrypt the license certificate corresponding to the user identifier; The seed node queries the node information of the first storage node corresponding to the first file identifier based on the storage location information table; The seed node obtains the first sensitive file from the first storage node; The seed node sends the first sensitive file and the user license certificate to the application module, so that the application module uses the application module public key and the user public key to decrypt the user license certificate to obtain the file key, and uses the file key to decrypt the first sensitive file to obtain the original sensitive file.

5. The method according to claim 1, characterized in that The method further comprises: The storage node included in the storage system determines the target record according to the number of records included in the file metadata information table and the node identifier of the storage node; The storage node included in the storage system obtains the second file identifier included in the target record and a sensitive file hash value corresponding to the second file identifier; The storage node included in the storage system queries the node information of the second storage node corresponding to the second file identifier based on the storage location information table; The storage system includes a storage node that obtains a second sensitive file from a target second storage node, determines the integrity of the second sensitive file using a hash value of the sensitive file, and the target second storage node identifies each of the second storage nodes corresponding to the second file; If it is determined that the integrity of the second sensitive file does not meet the threshold, the second sensitive file is obtained from other second storage nodes, and the second sensitive file stored in the target second storage node is updated.

6. The method according to claim 1, characterized in that The method further comprises: A third storage node obtains the storage location information table from other storage nodes, and the third storage node is a storage node that is restored after a failure; The third storage node traverses the storage location information table to obtain a third file identifier corresponding to the node information of the third storage node; The third storage node queries the node information of a fourth storage node corresponding to the third file identifier based on the storage location information table and the third file identifier, where the fourth storage node is different from the third storage node; The third storage node obtains and stores the third sensitive file from the fourth storage node.

7. The method according to claim 1, characterized in that The method further comprises: The fifth storage node acquires, based on the storage location information table, a fourth file identifier corresponding to the node information of the fifth storage node, the fifth storage node being the storage node to be withdrawn from the storage system; The fifth storage node queries the node information of the sixth storage node corresponding to the fourth file identifier based on the storage location information table and the fourth file identifier, where the sixth storage node is different from the fifth storage node; The fifth storage node obtains the fourth sensitive file from the sixth storage node; The fifth storage node selects a backup storage node, and stores the sensitive files stored by the fifth storage node to the backup storage node; The fifth storage node updates the storage location information table according to the node information of the backup storage node; The fifth storage node broadcasts the storage location information table to storage nodes included in the storage system.

8. The method according to any one of claims 1 to 7, characterized in that: The node selection model is trained in the following way: Acquire training data, where the training data includes training storage information and corresponding labels, where the training storage information includes one or more of storage space information, node scoring information, and geographic location information, and the label is used to indicate a selection result of a storage node; The node selection model is trained using the training data.

9. A storage system, characterized in that: The storage system includes a license authentication node and a storage node, the storage node includes a seed node and a common node connected to the seed node, the seed node is connected to an application module, the application module is used to interact with a user, and the storage system includes: The seed node is used to obtain a storage request sent by the application module, the storage request includes a first sensitive file and a first file identifier, the first sensitive file is obtained by symmetrically encrypting the original sensitive file using a file key, the first file identifier corresponds to the first sensitive file, the first file identifier is obtained by the application module from the license authentication node, and the file key and the first file identifier are stored in the license authentication node; The seed node is further used to store the first file identifier and the first sensitive file in a local storage system; The seed node is further used to input storage information into a node selection model to obtain an identifier of a first common node output by the node selection model, wherein the storage information is used to describe a storage scheme for storing the first sensitive file; The seed node is further used to send the first sensitive file to the first ordinary node, so that the first ordinary node stores the first sensitive file locally; The seed node is also used to store the node information of the first storage node and the correspondence between the first file identifier as a record in the storage location information table, and store the metadata of the first sensitive file as a record in the file metadata information table. The first storage node includes the seed node and the first ordinary node.

10. The storage system according to claim 9, characterized in that: The seed node is further used to broadcast the storage location information table and the file metadata information table to the storage nodes included in the storage system.

Citation Information

Patent Citations

  • Digital copyright management method, device and system

    CN105893792A

  • Data management method and device, server and storage medium

    CN114528591A

  • Distributed data storage method and device based on block chain, and terminal

    CN116701539A

  • Method And Device For Writing Data To A Data Storage System Comprising A Plurality Of Data Storage Nodes

    US20130060884A1

  • Data storage method and apparatus oriented to blockchain user node

    WO2022141561A1