Data protection method, device and equipment

By calculating the inflow and outflow impact values ​​of the target data source in the HBase database and setting the protection level, the problem of sensitive data protection in the HBase database is solved, quantitative assessment and timely protection of sensitive data are achieved, and data security is improved.

CN114329581BActive Publication Date: 2025-09-23HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111452394.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-01
Publication Date
2025-09-23
Estimated Expiration
2041-12-01

AI Technical Summary

Technical Problem

In the HBase database, how to effectively discover and protect sensitive data in a large number of data tables to avoid sensitive data leakage.

Method used

By determining the inflow and outflow impact values ​​of the target data source, calculating the target impact value based on these impact values, and setting the protection level according to the target impact value, the data in the target data source is protected.

Benefits of technology

It achieves quantitative assessment and timely protection of sensitive data in the HBase database, avoids sensitive data leakage, and improves data security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114329581B_ABST
    Figure CN114329581B_ABST
Patent Text Reader

Abstract

The present application provides a data protection method, apparatus and equipment, the method comprising: for a target data source among multiple data sources, obtaining a first data source and a second data source from the multiple data sources; wherein, the first data in the first data source flows from the first data source to the target data source, and the second data in the target data source flows from the target data source to the second data source; determining an inflow impact value corresponding to the target data source based on the sensitive value of the first data; determining an outflow impact value corresponding to the target data source based on the sensitive value of the second data; determining a target impact value corresponding to the target data source based on the inflow impact value and the outflow impact value, and determining a protection level corresponding to the target data source based on the target impact value; and performing data protection on the data in the target data source based on the protection level. Through the technical solution of the present application, sensitive data can be discovered from a large number of data sources, and then data protection can be performed on the sensitive data, which can greatly improve the security of the data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data security technology, and in particular to a data protection method, device and equipment. Background Art

[0002] The HBase database is a column-oriented (column family-oriented) distributed database developed based on HDFS (Hadoop Distributed File System). It is mainly used to store ultra-large data sets, thereby enabling real-time random access to ultra-large-scale data.

[0003] In the HBase database, the following concepts are involved: Data tables: Data in the HBase database is organized using data tables. Data tables consist of rows and columns, and columns are divided into several column families. The intersection of row and column coordinates determines a cell. Row: A data table consists of several rows. Each row has a row key that uniquely identifies it. There are three ways to access rows in a data table: querying through a single row key, accessing through a row key range, and full table scan. Column family: A data table is grouped into a collection of many "column families." Column families are the basic access control units. Column modifiers (column qualifiers): Data in a column family is located using column qualifiers (or columns). Cell: A cell can be identified by row, column family, and column qualifier. When the data stored in a cell does not have a data type, it is always treated as a byte array. Timestamp: Each cell stores multiple versions of the same data, and these versions are indexed by timestamps.

[0004] With the rapid development of internet technology, the scale of data in HBase databases is growing. Protecting sensitive data in HBase databases to prevent leakage is a hot topic. However, in big data scenarios, HBase databases contain numerous tables, and there is no effective way to discover sensitive data within these tables and then protect it. Summary of the Invention

[0005] The present application provides a data protection method, which is applied to a database server, wherein the database server includes multiple data sources, each of which is used to store data. The method includes:

[0006] For a target data source among the multiple data sources, a first data source and a second data source are obtained from the multiple data sources; wherein first data in the first data source flows from the first data source to the target data source, and second data in the target data source flows from the target data source to the second data source;

[0007] Determining an inflow impact value corresponding to the target data source based on the sensitivity value of the first data;

[0008] determining an outflow impact value corresponding to the target data source based on the sensitivity value of the second data;

[0009] Determine a target impact value corresponding to the target data source based on the inflow impact value and the outflow impact value, and determine a protection level corresponding to the target data source based on the target impact value;

[0010] Data protection is performed on the data in the target data source based on the protection level.

[0011] The present application provides a data protection device, which is applied to a database server. The database server includes multiple data sources, each of which is used to store data. The device includes:

[0012] an acquisition module, configured to acquire a first data source and a second data source from a plurality of data sources for a target data source among the plurality of data sources; wherein first data in the first data source flows from the first data source to the target data source, and second data in the target data source flows from the target data source to the second data source;

[0013] a determination module, configured to determine an inflow impact value corresponding to the target data source based on the sensitivity value of the first data; determine an outflow impact value corresponding to the target data source based on the sensitivity value of the second data; determine a target impact value corresponding to the target data source based on the inflow impact value and the outflow impact value, and determine a protection level corresponding to the target data source based on the target impact value;

[0014] A processing module is used to protect the data in the target data source based on the protection level.

[0015] The present application provides a database server, comprising: a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the data protection method disclosed in the above example of the present application.

[0016] As can be seen from the above technical solutions, in the embodiment of the present application, for a target data source (i.e., a data source containing sensitive data) in multiple data sources (such as a data table), the inflow impact value and the outflow impact value corresponding to the target data source can be determined, and the target impact value corresponding to the target data source can be determined based on the inflow impact value and the outflow impact value. The target impact value can reflect the sensitivity level of the sensitive data in the target data source, thereby determining the protection level corresponding to the target data source based on the target impact value, and then protecting the data in the target data source based on the protection level, thereby being able to discover sensitive data from a large number of data sources, and then protecting the sensitive data, thereby avoiding leakage of sensitive data and greatly improving data security. Sensitive data can be quantitatively evaluated, the sensitivity of sensitive data in each data source can be measured, and appropriate protection measures can be taken to timely discover and protect possible data sources. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments of the present application or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in this application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings of the embodiments of the present application.

[0018] Figure 1 This is a flow chart of a data protection method in one embodiment of the present application;

[0019] Figure 2 This is a flow chart of a data protection method in one embodiment of the present application;

[0020] Figure 3 is a schematic diagram of a sensitive operation in one embodiment of the present application;

[0021] Figures 4A-4D This is a schematic diagram of data source analysis in one embodiment of the present application;

[0022] Figure 5 This is a schematic diagram of data flow between data sources in one embodiment of the present application;

[0023] Figure 6 This is a schematic diagram of the structure of a data protection device in one embodiment of the present application;

[0024] Figure 7 This is a hardware structure diagram of a database server in one embodiment of the present application. DETAILED DESCRIPTION

[0025] The terms used in the embodiments of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The singular forms "a," "the," and "the" used in this application and claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to any or all possible combinations of one or more associated listed items.

[0026] It should be understood that although the terms first, second, third, etc. may be used to describe various information in the embodiments of the present application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" used may also be interpreted as "at the time of" or "when" or "in response to determining".

[0027] In an embodiment of the present application, a data protection method is proposed, which can be applied to a database server. The database server includes multiple data sources (each data source can be a data table), each data source is used to store data, see Figure 1 FIG. 1 is a flow chart of the method, which may include:

[0028] Step 101: For a target data source among multiple data sources, obtain a first data source and a second data source from the multiple data sources; illustratively, first data in the first data source flows from the first data source to the target data source, and second data in the target data source flows from the target data source to the second data source.

[0029] Exemplarily, obtaining a first data source and a second data source from multiple data sources may include, but is not limited to: receiving a first operation command, the first operation command including data source information; determining an operation type corresponding to the first operation command, and if the operation type is determined to be a sensitive operation based on configured sensitive operations, determining the data source corresponding to the data source information as the first data source, and sending the first data in the first data source to a target data source based on the first operation command. Receiving a second operation command, the second operation command including data source information; determining an operation type corresponding to the second operation command, and if the operation type is determined to be a sensitive operation based on configured sensitive operations, determining the data source corresponding to the data source information as the second data source, and sending the second data in the target data source to the second data source based on the second operation command.

[0030] Step 102: Determine an inflow impact value corresponding to a target data source based on the sensitivity value of the first data.

[0031] Exemplarily, if the first data includes K columns of data in the first data source, where K is a positive integer, the column cumulative sensitivity value corresponding to each column of data is determined, the table sensitivity value corresponding to the first data source is determined, and the attenuation coefficient value corresponding to the operation type corresponding to the first data is determined; based on the column cumulative sensitivity values, the table sensitivity value and the attenuation coefficient value corresponding to the K columns of data, the inflow impact value corresponding to the target data source is determined.

[0032] Exemplarily, regarding the column cumulative sensitivity value corresponding to each column of data, the process of determining the column cumulative sensitivity value may include but is not limited to: for each column of data, based on the matching relationship between the column name corresponding to the column data and the configured sensitive words, determining the amplification factor corresponding to the column data; for each cell in the column data, based on the matching relationship between the words in the cell and the configured sensitive words, determining the initial sensitivity value corresponding to the cell, and determining the target sensitivity value corresponding to the cell based on the initial sensitivity value and the amplification factor; determining the column cumulative sensitivity value based on the target sensitivity value corresponding to each cell in the column data.

[0033] Exemplarily, regarding the table sensitivity value corresponding to the first data source, the process of determining the table sensitivity value may include but is not limited to: for each column of the data source (i.e., the first data source), based on the matching relationship between the column name and the configured sensitive words, determining the amplification factor corresponding to the column; for each cell in each row of the data source, based on the matching relationship between the words in the cell and the configured sensitive words, determining the initial sensitivity value corresponding to the cell, and determining the target sensitive value corresponding to the cell based on the initial sensitivity value and the amplification factor corresponding to the column where the cell is located; determining the row cumulative sensitive value corresponding to the row based on the target sensitive value corresponding to each cell in a row; and determining the table sensitivity value based on the row cumulative sensitivity values ​​corresponding to all rows of the data source.

[0034] Step 103: Determine the outflow impact value corresponding to the target data source based on the sensitivity value of the second data.

[0035] Exemplarily, if the second data includes P columns of data in the target data source, where P is a positive integer, the column cumulative sensitivity value corresponding to each column of data is determined. The first table sensitivity value corresponding to the target data source is determined, and the first attenuation coefficient value corresponding to the operation type when the second data is sent from the target data source to the second data source is determined; the first impact value is determined based on the column cumulative sensitivity value, the first table sensitivity value, and the first attenuation coefficient value corresponding to the P columns of data. Furthermore, the second table sensitivity value corresponding to the second data source is determined, and the second attenuation coefficient value corresponding to the operation type when the second data is sent from the second data source to the third data source is determined; the second impact value is determined based on the column cumulative sensitivity value, the second table sensitivity value, and the second attenuation coefficient value corresponding to the P columns of data. Based on the first impact value and the second impact value, the outflow impact value corresponding to the target data source is determined.

[0036] Exemplarily, regarding the column cumulative sensitivity value corresponding to each column of data, the process of determining the column cumulative sensitivity value may include but is not limited to: for each column of data, based on the matching relationship between the column name corresponding to the column data and the configured sensitive words, determining the amplification factor corresponding to the column data; for each cell in the column data, based on the matching relationship between the words in the cell and the configured sensitive words, determining the initial sensitivity value corresponding to the cell, and determining the target sensitivity value corresponding to the cell based on the initial sensitivity value and the amplification factor; determining the column cumulative sensitivity value based on the target sensitivity value corresponding to each cell in the column data.

[0037] Exemplarily, regarding the first table sensitive value corresponding to the target data source or the second table sensitive value corresponding to the second data source, the process of determining the first table sensitive value or the second table sensitive value may include but is not limited to: for each column of the data source (i.e., the target data source or the second data source), based on the matching relationship between the column name and the configured sensitive words, determining the amplification factor corresponding to the column; for each cell in each row of the data source, based on the matching relationship between the words in the cell and the configured sensitive words, determining the initial sensitive value corresponding to the cell, and determining the target sensitive value corresponding to the cell based on the initial sensitive value and the amplification factor corresponding to the column where the cell is located; determining the row cumulative sensitive value corresponding to the row based on the target sensitive value corresponding to each cell in a row; and determining the table sensitive value based on the row cumulative sensitive values ​​corresponding to all rows of the data source.

[0038] Step 104: Determine a target impact value corresponding to the target data source based on the inflow impact value and the outflow impact value, and determine a protection level corresponding to the target data source based on the target impact value.

[0039] Exemplarily, before determining the protection level corresponding to the target data source based on the target impact value, the table sensitivity value corresponding to the target data source may also be determined. On this basis, determining the protection level corresponding to the target data source based on the target impact value may include, but is not limited to, determining the protection level corresponding to the target data source based on the target impact value corresponding to the target data source and the table sensitivity value corresponding to the target data source.

[0040] Exemplarily, regarding the table sensitivity value corresponding to the target data source, the process of determining the table sensitivity value may include but is not limited to: for each column of the target data source, based on the matching relationship between the column name and the configured sensitive words, determining the amplification factor corresponding to the column; for each cell in each row of the target data source, based on the matching relationship between the words in the cell and the configured sensitive words, determining the initial sensitivity value corresponding to the cell, and determining the target sensitive value corresponding to the cell based on the initial sensitivity value and the amplification factor corresponding to the column where the cell is located; determining the row cumulative sensitive value corresponding to the row based on the target sensitive value corresponding to each cell in a row; and determining the table sensitivity value based on the row cumulative sensitivity values ​​corresponding to all rows of the target data source.

[0041] Step 105: Protect the data in the target data source based on the protection level.

[0042] Illustratively, protecting the data in the target data source based on the protection level may include, but is not limited to: upon receiving a data operation request for the target data source, the data operation request including operating user information, determining the access level corresponding to the operating user information; if, based on the access level and the protection level, it is determined that the operating user has access rights to the target data source, performing the operation on the data in the target data source based on the data operation request; and if, based on the access level and the protection level, it is determined that the operating user does not have access rights to the target data source, prohibiting the operation on the data in the target data source.

[0043] As can be seen from the above technical solutions, in the embodiment of the present application, for a target data source (i.e., a data source containing sensitive data) in multiple data sources (such as a data table), the inflow impact value and the outflow impact value corresponding to the target data source can be determined, and the target impact value corresponding to the target data source can be determined based on the inflow impact value and the outflow impact value. The target impact value can reflect the sensitivity level of the sensitive data in the target data source, thereby determining the protection level corresponding to the target data source based on the target impact value, and then protecting the data in the target data source based on the protection level, thereby being able to discover sensitive data from a large number of data sources, and then protecting the sensitive data, thereby avoiding leakage of sensitive data and greatly improving data security. Sensitive data can be quantitatively evaluated, the sensitivity of sensitive data in each data source can be measured, and appropriate protection measures can be taken to timely discover and protect possible data sources.

[0044] The following describes the data protection method of the embodiment of the present application in combination with specific application scenarios.

[0045] Before introducing the technical solutions of the embodiments of the present application, the technical terms related to the present application are first introduced.

[0046] HBase database: HBase database is a column-oriented (column family-oriented) distributed database developed based on HDFS. The following concepts are involved in the HBase database: Data table: Data in the HBase database is organized using data tables. Data tables consist of rows and columns. Columns are divided into several column families. The intersection of row and column coordinates determines a cell. Row: A data table consists of several rows. Each row has a row key as a unique identifier. There are three ways to access rows in a data table: query through a single row key, access through a row key range, and full table scan. Column family: A data table is grouped into a collection of many "column families". Column families are the basic access control units. Column modifier (column qualifier): Data in a column family is located by column qualifier (or column). Cell: A cell is determined by row, column family, and column qualifier.

[0047] Sensitive data: Among all the data information in the database, there is data that is not allowed to be viewed by external systems. This data is called sensitive data. Sensitive data can be fields in the data structure layer.

[0048] Blood relationship: There is cross-table information transfer between data tables, which constitutes the blood relationship between data tables.

[0049] Decay value: Defines a percentage of residual information between the source and target ends for data operations between data tables. This percentage of residual information is the decay value, which can range from 0 to 1.

[0050] Influence: Influence is bidirectional, including being influenced (influenced) and spreading influence (influence). Being influenced (influenced) requires clarifying "who is influenced by", and then using the connectivity graph and decay value to calculate the value of the influenced (influenced), that is, the inflow influence value. Spreading influence (influence) requires clarifying "who is influenced", and then using the connectivity graph and decay value to calculate the value of the spread influence (influence), that is, the outflow influence value. The inflow influence value and the outflow influence value are the influence value.

[0051] Fingerprint: When performing log audit, the fingerprint is used to uniquely identify the visitor.

[0052] In an embodiment of the present application, a data protection method is provided. The method can be applied to a database server that may include multiple data sources, each of which is used to store data. The multiple data sources can be multiple data sources of an HBase database or multiple data sources of another database type. The database type is not limited, as long as the multiple data sources can store a large amount of data.

[0053] For each of the multiple data sources, the data source can use a data table to store data, such as one data source corresponding to one data table. For each data table, the data table can be composed of rows and columns, and the columns are divided into several column families. The intersection of row and column coordinates determines a cell.

[0054] In the embodiment of the present application, the user can construct the initial input value of sensitive discovery (such as sensitive words, sensitive operations, sensitive relationships, etc.), determine the scope to be evaluated based on the initial input value, and then perform qualitative and quantitative evaluation of the data within the evaluation range. Finally, the sensitivity value and impact value of each data source within the entire scanning range are calculated, and this is used as the basis for risk assessment and the corresponding protection measures are set. At the same time, a "fingerprint" comparison capability is provided for post-processing, which can quickly identify and alert when abnormal behavior is found.

[0055] See also Figure 2 As shown, an embodiment of the present application proposes a data protection method, which may include:

[0056] Step 201: Configure sensitive information. The sensitive information may be used as an initial input value, and the sensitive information may include but is not limited to at least one of the following: sensitive words, sensitive operations, and sensitive relationships.

[0057] Exemplarily, sensitive words (which may be multiple sensitive words) can be pre-configured, such as sensitive words configured by the user. For each configured sensitive word, the sensitive word can be subjected to stem extraction and morphological restoration to obtain the stem corresponding to the sensitive word. For example, the sensitive word can be subjected to stem extraction and morphological restoration through the NLP (Natural language processing) library to obtain the stem corresponding to the sensitive word. There is no restriction on this process. After obtaining the stem corresponding to each sensitive word, the stem corresponding to each sensitive word can be stored. In the subsequent process, for the processing process of each data table, the word vector between the stem of the data in the data table and the stem corresponding to the sensitive word can be calculated. If the word vector is greater than a preset similarity threshold, it means that the data in the data table matches the sensitive word.

[0058] Each configured sensitive word can correspond to a sensitivity value. The sensitivity values ​​of different sensitive words can be the same or different, without any restrictions. The sensitivity value can be configured by the user based on experience. For example, the sensitivity values ​​of all sensitive words can be the same, such as the default sensitivity value, which can be 1. Another example is that the sensitivity values ​​of all sensitive words are not exactly the same, such as the sensitivity values ​​of 1 for sensitive words 1-10, 1.2 for sensitive words 11-20, 0.8 for sensitive words 21-30, and so on. There are no restrictions on this.

[0059] When data in a data table matches a sensitive word, the sensitive value corresponding to the sensitive word is used as the sensitive value corresponding to the data. For example, when the sensitive value corresponding to the sensitive word is 0.8, the sensitive value corresponding to the data is 0.8.

[0060] For example, sensitive operations (which may be multiple sensitive operations, where sensitive operations are user behaviors) may be pre-configured, such as by the user. There may be multiple data operations for a data source, and some data operations may be selected from a large number of data operations as sensitive operations, and sensitive operations may be configured.

[0061] Based on the configured sensitive operations, if the data operation on the data source is a sensitive operation, it means that the data needs to be analyzed to achieve protection of sensitive data. If the data operation on the data source is not a sensitive operation, it means that the data does not need to be analyzed. For the specific process, please refer to the subsequent embodiments.

[0062] See also Figure 3 As shown, this is an example of a sensitive operation. There is no restriction on the type of this sensitive operation, and it can be arbitrarily configured based on experience. For example, a sensitive operation can be a sensitive operation on a data table, such as querying a data table, modifying a data table, and deleting a data table. A sensitive operation can be a sensitive operation on a column (which can be one or more columns) in a data table, such as querying a column in a data table, modifying a column in a data table, and deleting a column in a data table. A sensitive operation can be a sensitive operation on a row (which can be one or more rows) in a data table, such as querying a row in a data table, modifying a row in a data table, and deleting a row in a data table.

[0063] Exemplarily, a sensitive relationship (which may be multiple sensitive relationships, and the sensitive relationship is a data conversion relationship) can be pre-configured, such as by the user configuring the sensitive relationship. There can be multiple data conversion relationships for the data source, and some data conversion relationships can be selected from a large number of data conversion relationships as sensitive relationships, and sensitive relationships can be configured. Based on the configured sensitive relationship, if the data conversion relationship for the data source is a sensitive relationship, it is necessary to analyze the data to achieve the protection of sensitive data. If the data conversion relationship for the data source is not a sensitive relationship, it is not necessary to analyze the data. For the specific process, please refer to the subsequent embodiments.

[0064] Sensitive relationship, as the data conversion relationship between two data sources, is a key factor that directly determines whether sensitive data is leaked. Therefore, in this embodiment, a corresponding attenuation coefficient value (also called decay value) can be set for each sensitive relationship. The attenuation coefficient values ​​corresponding to different sensitive relationships can be the same, and the attenuation coefficient values ​​corresponding to different sensitive relationships can also be different. There is no restriction on this attenuation coefficient value.

[0065] See Table 1 for several examples of sensitive relationships. There is no restriction on the type of sensitive relationships, and they can be configured arbitrarily based on experience. For example, sensitive relationships may include but are not limited to data transparent transmission, data desensitization, data encryption, etc. Among them, "data transparent transmission" is used to indicate that when data is transmitted between two data sources, the "data transparent transmission" method is used for data transmission. "Data desensitization" is used to indicate that when data is transmitted between two data sources, the "data desensitization" method is used for data transmission. "Data encryption" is used to indicate that when data is transmitted between two data sources, the "data encryption" method is used for data transmission.

[0066] Table 1

[0067] sensitive relationships Attenuation coefficient value (decay value) Data transparent transmission 0.85 Data desensitization 0.5 Data encryption 0.1 … …

[0068] As shown in Table 1, for each sensitive relationship, an attenuation coefficient value can be set for the sensitive relationship, and there is no limit on the attenuation coefficient value. For example, since the security of data that has undergone "data transparent transmission" is poor, the attenuation coefficient value corresponding to "data transparent transmission" is relatively large, such as 0.85. Since the security of data that has undergone "data desensitization" is moderate, the attenuation coefficient value corresponding to "data desensitization" is moderate, such as 0.5. Since the security of data that has undergone "data encryption" is relatively high, the attenuation coefficient value corresponding to "data encryption" is relatively small, such as 0.1. Of course, the above are just examples of attenuation coefficient values ​​and there is no limit on this.

[0069] Step 202: Perform sensitive scanning. During the sensitive scanning process, it is necessary to determine the target data source (the target data source is used as the sensitive data source) and construct a connectivity graph within the scanning range of the target data source.

[0070] For example, identify all data sources managed by a database server, regardless of whether they are located in one database or in multiple databases. Figure 4A As shown in the figure, assume that all data sources managed by the database server include data source A, data source B, data source C, data source D, data source E, data source F, data source G, data source H, and data source I. In the initial state, these data sources are all data sources to be scanned, and it is necessary to analyze whether the data sources to be scanned are ordinary data sources or sensitive data sources.

[0071] For each data source, the data source can correspond to the following types of sensitive values:

[0072] 1. The initial sensitivity value corresponding to the cell, which can be recorded as ColCellSens ID(i) col(name) , that is, the initial sensitivity value corresponding to the cell with the primary key ID i and the column name name, that is, the cell sensitivity.

[0073] For example, for each cell in the data source, if the data in the cell matches a sensitive word (i.e., the similarity between the word vector of the data in the cell and the word vector of the sensitive word is greater than a preset similarity threshold), the sensitivity value corresponding to the sensitive word can be used as the initial sensitivity value corresponding to the cell, such as 1, 0.8, etc., without any restrictions. If the data in the cell does not match any sensitive words, the initial sensitivity value corresponding to the cell can be 0, indicating that the data in the cell is not a sensitive word.

[0074] 2. The target sensitivity value corresponding to the cell, which can be recorded as ColSens ID(i) col(name) , that is, the target sensitivity value corresponding to the cell with primary key ID i and column name name. For example, the target sensitivity value can be determined by: ColSens ID(i) col(name) =zoom*ColCellSens ID(i) col(name) , zoom represents the magnification coefficient corresponding to the column where the cell is located. That is to say, the target sensitivity value corresponding to the cell can be determined based on the magnification coefficient corresponding to the column where the cell is located and the initial sensitivity value corresponding to the cell.

[0075] For example, for each column in the data source, if the column name matches a sensitive word (i.e., the similarity between the word vector of the column name and the word vector of the sensitive word is greater than a preset similarity threshold), the corresponding magnification factor of the column can be a first value. If the column name does not match any sensitive words, the corresponding magnification factor of the column can be a second value. Both the first value and the second value can be configured based on experience, and the first value can be greater than the second value. For example, the second value can be 1. The first value can be any value greater than the second value, such as 1.1, 1.2, 1.3, etc., without limitation.

[0076] For each cell in the data source, the magnification coefficient corresponding to the column where the cell is located can be determined, and the initial sensitivity value corresponding to the cell can be determined. On this basis, the target sensitivity value corresponding to the cell can be determined based on the magnification coefficient corresponding to the column where the cell is located and the initial sensitivity value corresponding to the cell.

[0077] Obviously, in the above method, the initial sensitivity value corresponding to the cell is amplified by the amplification coefficient corresponding to the column where the cell is located, so as to highlight the superposition state where the column name and the cell are sensitive words at the same time.

[0078] 3. Column cumulative sensitivity value, which can be recorded as TotalColSens col(name)For each column in the data source, the column cumulative sensitivity value can be determined based on the target sensitivity value corresponding to each cell in the column. For example, the sum of the target sensitivity values ​​corresponding to each cell in the column is used as the column cumulative sensitivity value. The expression of the column cumulative sensitivity value is: TotalColSens col(name) =∑ColSens ID(i) col(name) .

[0079] 4. Row cumulative sensitivity value, which can be recorded as RowSens ID(i) For example, for each row in the data source, the row cumulative sensitivity value can be determined based on the target sensitivity value corresponding to each cell in the row. For example, the sum of the target sensitivity values ​​corresponding to each cell in the row is used as the row cumulative sensitivity value. The expression of the row cumulative sensitivity value is: RowSens ID (i) =∑ all_cols ColSens ID(i) col(name) .

[0080] 5. Table sensitive value, which can be recorded as TableSens ID(tablename) For example, based on the row cumulative sensitivity values ​​corresponding to all rows of the data source (i.e., data table), the table sensitivity value can be determined. For example, the sum of the row cumulative sensitivity values ​​corresponding to all rows of the data source is used as the table sensitivity value. The table sensitivity value can be expressed as: TableSens ID(tablename) =∑ all_rows RowSens ID(i) .

[0081] 6. Database sensitivity value, which can be recorded as DBSens ID(DBname) For example, the database sensitivity value can be determined based on the table sensitivity values ​​of all data tables in the database. For example, when the database includes multiple data tables, the sum of the table sensitivity values ​​of all data tables can be used as the database sensitivity value. The expression of the database sensitivity value can be: DBSens ID(DBname) =∑ all_ tables TableSens ID(tablename) .

[0082] To summarize, for each data source, the initial sensitivity value and target sensitivity value corresponding to each cell in the data source can be determined, the column cumulative sensitivity value corresponding to each column in the data source can be determined, the row cumulative sensitivity value corresponding to each row in the data source can be determined, and the table sensitivity value corresponding to the data source can be determined.

[0083] For example, since the data in the data source changes frequently, the above process can be executed periodically. In each cycle, the initial sensitivity value and target sensitivity value corresponding to each cell in the data source, the column cumulative sensitivity value corresponding to each column, the row cumulative sensitivity value corresponding to each row, and the table sensitivity value corresponding to the data source are determined.

[0084] For example, for each data source, if the table sensitivity value corresponding to the data source is 0, the data source is treated as a normal data source (i.e., not a sensitive data source); if the table sensitivity value corresponding to the data source is not 0, the data source is treated as a target data source (the target data source is treated as a sensitive data source). Figure 4B As shown, assuming that the table sensitivity value corresponding to data source A is 0, the table sensitivity value corresponding to data source B is 0, and the table sensitivity value corresponding to data source G is 0, then data sources A, B, and G are treated as ordinary data sources. Assuming that the table sensitivity value corresponding to data source C is not 0, the table sensitivity value corresponding to data source D is not 0, the table sensitivity value corresponding to data source E is not 0, the table sensitivity value corresponding to data source F is not 0, the table sensitivity value corresponding to data source H is not 0, and the table sensitivity value corresponding to data source I is not 0, then data sources C, D, E, F, H, and I are treated as target data sources (i.e., sensitive data sources).

[0085] For example, for two data sources, there may be data operation behaviors between the two data sources, that is, data interaction operations between the two data sources. If the data operation between the two data sources is inconsistent with the configured sensitive operations (see Figure 3 If the two data sources have a matching configuration, it indicates that the operation between the two data sources is sensitive. If all data operations between the two data sources do not match the configured sensitive operations, it indicates that the operation between the two data sources is normal. Figure 4C As shown in FIG, a schematic diagram showing the relationship between sensitive operations and common operations between two data sources is shown. Figure 4C It can be seen that the operation between data source A and data source B is normal, the operation between data source A and data source C is normal, the operation between data source C and data source D is sensitive, the operation between data source C and data source H is normal, the operation between data source C and data source I is normal, the operation between data source D and data source E is sensitive, the operation between data source D and data source H is sensitive, and the operation between data source H and data source I is sensitive.

[0086] For each target data source, a connectivity graph can be constructed with the target data source as the starting point, see Figure 4DAs shown, for data source C, there are sensitive operations between data source C and data source D, between data source D and data source E, between data source D and data source H, and between data source H and data source I. Therefore, the connectivity graph starting from data source C can include data source D, data source E, data source H, and data source I. Similarly, the connectivity graph starting from data source D, the connectivity graph starting from data source E, the connectivity graph starting from data source F, the connectivity graph starting from data source H, and the connectivity graph starting from data source I can be obtained.

[0087] For example, when there is a sensitive operation between two data sources, it means that there is mutual influence between the two data sources regarding sensitive behavior, that is, it is necessary to calculate the impact value between the two data sources (such as the inflow impact value and the outflow impact value); when there is a normal operation between the two data sources, it means that there is no mutual influence between the two data sources regarding sensitive behavior, that is, there is no need to calculate the impact value between the two data sources.

[0088] See also Figure 4C As shown, the arrow from data source C to data source D indicates that a sensitive operation occurs between data sources C and D (but not between data source D and C), meaning that data flows from data source C to data source D. On this basis, when data source C is the target data source, data source D is the second data source corresponding to the target data source, and the second data in the target data source flows from the target data source to the second data source. When data source D is the target data source, data source C is the first data source corresponding to the target data source, and the first data in the first data source flows from the first data source to the target data source.

[0089] See also Figure 4C As shown, the arrow from data source D to data source E indicates that data flows from data source D to data source E. When data source D is the target data source, data source E is the second data source. When data source E is the target data source, data source D is the first data source, and so on.

[0090] In summary, for each target data source, the first data source and the second data source corresponding to the target data source can be obtained from all data sources. The first data in the first data source flows from the first data source to the target data source, and the second data in the target data source flows from the target data source to the second data source. For example, when the target data source is data source C, the second data source corresponding to data source C is data source D, and data source C does not correspond to the first data source. When the target data source is data source D, the second data sources corresponding to data source D are data source E and data source H, and the first data source corresponding to data source D is data source C. When the target data source is data source E, the first data source corresponding to data source E is data source D, and data source E does not correspond to the second data source. By analogy, the first data source and the second data source corresponding to the target data source can be determined.

[0091] In one possible implementation, for each target data source, in order to learn the relationship between the target data source, the first data source, and the second data source, the following method may be used: receiving a first operation command, the first operation command including data source information; determining the operation type corresponding to the first operation command, and if the operation type is determined to be a sensitive operation based on the configured sensitive operation, determining the data source corresponding to the data source information as the first data source, and sending the first data in the first data source to the target data source based on the first operation command. Furthermore, receiving a second operation command, the second operation command including data source information; determining the operation type corresponding to the second operation command, and if the operation type is determined to be a sensitive operation based on the configured sensitive operation, determining the data source corresponding to the data source information as the second data source, and sending the second data in the target data source to the second data source based on the second operation command.

[0092] For example, see Figure 4C As shown, assuming that the target data source is data source D, upon receiving a first operation command for data source C (the first operation command is used to instruct to send data in data source C to data source D), and the first operation command includes data source information (such as information of data source C), the operation type corresponding to the first operation command is determined (that is, the operation type for the data operation on data source C).

[0093] If based on the configured sensitive operations (see Figure 3 As shown in the figure, if it is determined that the operation type is a sensitive operation, that is, the data operation on data source C is a sensitive operation, the data source C corresponding to the data source information is determined as the first data source corresponding to data source D, and the data in data source C (that is, the first data, which can be at least one column of data from data source C) is sent to data source D based on the first operation command, without any restriction.

[0094] Based on the above operation information, Figure 4CWhen the data source connection relationship is shown, the connection relationship between data source C and data source D can be obtained, and the connection relationship can be a sensitive operation.

[0095] If the operation type is determined not to be a sensitive operation based on the configured sensitive operation, that is, the data operation on data source C is not a sensitive operation, then data source C is not the first data source corresponding to data source D, and the data in data source C is sent to data source D based on the first operation command. Figure 4C In the data source connection relationship shown, the connection relationship between data source C and data source D is a normal operation.

[0096] For example, see Figure 4C As shown, assuming that the target data source is data source D, upon receiving a second operation command for data source D (the second operation command is used to instruct to send data in data source D to data source E), and the second operation command includes data source information (such as information of data source E), the operation type corresponding to the second operation command is determined (that is, the operation type of the data operation for data source D).

[0097] If it is determined that the operation type is a sensitive operation, that is, the data operation on data source D is a sensitive operation, then the data source E corresponding to the data source information is determined as the second data source corresponding to data source D, and based on the second operation command, the data in data source D (that is, the second data, which can be at least one column of data from data source D) is sent to data source E. Based on the above operation information, the connection relationship between data source D and data source E can be obtained, and the connection relationship can be a sensitive operation. Alternatively, if it is determined that the operation type is not a sensitive operation, that is, the data operation on data source D is not a sensitive operation, then data source E is not the second data source corresponding to data source D, and based on the second operation command, the data in data source D is sent to data source E, but the connection relationship between data source D and data source E is a normal operation.

[0098] Step 203: For each target data source (i.e., sensitive data source), determine the target impact value corresponding to the target data source. For example, if the target data source corresponds to the first data source but does not correspond to the second data source, then the inflow impact value corresponding to the target data source can be determined, and the target impact value corresponding to the target data source can be determined based on the inflow impact value, for example, the target impact value is the inflow impact value. Alternatively, if the target data source corresponds to the second data source but does not correspond to the first data source, then the outflow impact value corresponding to the target data source can be determined, and the target impact value corresponding to the target data source can be determined based on the outflow impact value, for example, the target impact value is the outflow impact value. Alternatively, if the target data source corresponds to the first data source and the second data source, then the inflow impact value corresponding to the target data source can be determined, and the outflow impact value corresponding to the target data source can be determined, and the target impact value corresponding to the target data source can be determined based on the inflow impact value and the outflow impact value, for example, the target impact value is the sum of the inflow impact value and the outflow impact value.

[0099] See also Figure 4C As shown, for each target data source, taking the target data source as data source D as an example, data source C is the first data source, data source E and data source H are the second data sources, the first data in data source C (hereinafter recorded as data m1) is sent from data source C to data source D, the second data in data source D (hereinafter recorded as data m2) is sent from data source D to data source E, and the second data in data source D (hereinafter recorded as data m3) is sent from data source D to data source H. On this basis:

[0100] 1. If data m1 includes K columns of data, where K is a positive integer, determine the column cumulative sensitivity value corresponding to each column of data, determine the table sensitivity value corresponding to data source C, and determine the attenuation coefficient value corresponding to the operation type corresponding to data m1. Based on the column cumulative sensitivity values ​​corresponding to the K columns of data, the table sensitivity value, and the attenuation coefficient value, determine the inflow impact value corresponding to data source D, recorded as inflow impact value n1.

[0101] For each column of data m1, the column cumulative sensitivity value corresponding to the column data can be determined. In addition, for data source C, the table sensitivity value corresponding to data source C can be determined. For the determination of the column cumulative sensitivity value and the table sensitivity value, please refer to step 202 and will not be repeated here.

[0102] Among them, regarding the attenuation coefficient value corresponding to the operation type corresponding to the data m1, when the data m1 is sent from the data source C to the data source D, the operation type corresponding to the data m1 can be determined, for example, data transparent transmission, or data desensitization, or data encryption, etc. Then, based on the operation type query Table 1, the attenuation coefficient value (decay value) can be obtained. For example, the attenuation coefficient value corresponding to data transparent transmission is 0.85, the attenuation coefficient value corresponding to data desensitization is 0.5, and the attenuation coefficient value corresponding to data encryption is 0.1.

[0103] Among them, based on the column cumulative sensitivity value corresponding to the K columns of data, the table sensitivity value and the attenuation coefficient value, the inflow impact value n1 can be determined. For example, the above relationship can be expressed by the following formula:

[0104]

[0105] In the above formula, data source D is affected by data source C, that is, the inflow impact value n1 when data source D is affected by data source C, 0.85 represents the attenuation coefficient value, sensCell_num T Indicates the sum of the cumulative sensitivity values ​​of each column of data in data m1, totalCell_num T Indicates table sensitive value.

[0106] In a possible implementation, it is assumed that the table structure of the data table in the data source C is as shown in Table 2:

[0107] Table 2

[0108]

[0109] In Table 2, the cell sensitivity value and column cumulative sensitivity value can be obtained based on the initial import information and data statistical information. The sensitivity value of the data table (table sensitivity value) can also be calculated. The sensitivity of a single row can be calculated based on the data information and sensitivity value. Taking the demo data as an example, it can be calculated through the row sensitivity value.

[0110] To calculate the "influence" of external data sources (i.e., the primary data source) on sensitive sources (i.e., the target data source), analysis is performed using sensitive operations between data sources. The impact of external data sources on sensitive sources ultimately falls within a column of data, included in the calculation of a specific instantaneous sensitivity value. Assessing external influences aims to map the outflow path, volume, and scope of sensitive information. Therefore, when measuring external influences, we refer to the impact within a specific timeframe.

[0111] See also Figure 5The following example shows data m1 sent from data source C to data source D. Data m1 may include columns such as "Departure Location," "Departure Time," and "Arrival Time." To measure the impact of data source C on data source D, i.e., the inflow impact value n1, we can analyze the inflow of sensitive data within a time period T. For example, we can obtain inflow data within a time period T. The inflow data is a transient table, as shown in Table 3. Based on the column cumulative sensitivity value, table sensitivity value, and attenuation coefficient value corresponding to each column in this inflow data (i.e., data m1), we can determine the inflow impact value n1. This is not further detailed here.

[0112] Table 3

[0113]

[0114]

[0115] 2. If data m2 includes data in column P1, where P1 is a positive integer, determine the cumulative column sensitivity value corresponding to each column of data, determine the table sensitivity value corresponding to data source D, and determine the attenuation coefficient value corresponding to the operation type corresponding to data m2. Based on the cumulative column sensitivity value corresponding to the data in column P1, the table sensitivity value, and the attenuation coefficient value, determine the outflow impact value corresponding to data source D, denoted as outflow impact value n2. Outflow impact value n2 is the outflow impact value corresponding to data m2 flowing from data source D to data source E.

[0116] For each column of data m2, the column cumulative sensitivity value corresponding to the column data can be determined. For data source D, the table sensitivity value corresponding to data source D can be determined. The determination method is described in step 202 and will not be repeated here. For the attenuation coefficient value corresponding to the operation type corresponding to data m2, the attenuation coefficient value (decay value) can be obtained by querying Table 1 based on the operation type. The details will not be repeated here.

[0117] For example, the outflow impact value n2 can be expressed by the following formula: Indicates the outflow impact value n2 of data source D on data source E, 0.85 represents the attenuation coefficient value, sensCell_num T Indicates the sum of the cumulative sensitivity values ​​of each column of data in data m2, totalCell_num T Indicates table sensitive value.

[0118]

[0119] 3. If the data m3 includes P2 column data, and P2 is a positive integer, then determine the column cumulative sensitivity value corresponding to each column of data, determine the first table sensitivity value corresponding to the data source D, and determine the first attenuation coefficient value corresponding to the operation type corresponding to when the data m3 is sent from the data source D to the data source H. Based on the column cumulative sensitivity value, the first table sensitivity value, and the first attenuation coefficient value corresponding to the P2 column data, respectively, determine the first impact value corresponding to the data source D, which is recorded as the first impact value n3. The first impact value n3 is the outflow impact value corresponding to the data m3 flowing from the data source D to the data source H. With respect to each column of data m3, determine the column cumulative sensitivity value corresponding to the column data, with respect to the data source D, determine the first table sensitivity value corresponding to the data source D, and with respect to the first attenuation coefficient value corresponding to the operation type corresponding to the data m3, and obtain the attenuation coefficient value by querying Table 1 through the operation type. Exemplarily, the first impact value n3 is expressed by the following formula: represents the first impact value n3 of data source D on data source H, 0.85 represents the first attenuation coefficient value, sensCell_num T Indicates the sum of the cumulative sensitivity values ​​of each column in data m3, totalCell_num T Indicates the first table sensitive value.

[0120] See also Figure 4C As shown, assuming that data source H sends data m3 originating from data source D (i.e., target data source) to data source I, that is, data m3 is sent from data source H to data source I, then data source I serves as the third data source corresponding to data source D. assuming that data source I sends data m3 to other data sources, then other data sources also serve as the third data sources corresponding to data source D. The processing method between data source I and other data sources refers to the processing method between data source H and data source I, and will not be repeated in this embodiment.

[0121] For example, when data m3 is sent from data source H to data source I, if data m3 includes P2 columns of data, where P2 is a positive integer, the column cumulative sensitivity value corresponding to each column of data is determined, the second table sensitivity value corresponding to data source H is determined, and the second attenuation coefficient value corresponding to the operation type corresponding to the transmission of data m3 from data source H to data source I is determined. Based on the column cumulative sensitivity value, the second table sensitivity value, and the second attenuation coefficient value corresponding to the P2 column data, the second impact value corresponding to data source H is determined, recorded as second impact value n4. Second impact value n4 is the outflow impact value corresponding to data m3 flowing from data source H to data source I. For each column of data m3, the column cumulative sensitivity value corresponding to the column of data is determined. For data source H, the second table sensitivity value D corresponding to data source H is determined. For the second attenuation coefficient value corresponding to the operation type corresponding to data m3, the attenuation coefficient value is obtained by querying Table 1 for the operation type.

[0122] Exemplarily, the second impact value n4 is expressed by the following formula: represents the second response value n4 of data source H to data source I, 0.85 represents the second attenuation coefficient value, sensCell_num T Indicates the sum of the cumulative sensitivity values ​​of each column in data m3, totalCell_num T Indicates the sensitive value of the second table.

[0123] For example, after obtaining the first influence value n3 and the second influence value n4, the outflow influence value corresponding to the data source D (i.e., the target data source) can be determined based on the first influence value n3 and the second influence value n4, which is recorded as the outflow influence value n5. The outflow influence value n5 can be the sum of the first influence value n3 and the second influence value n4.

[0124] In summary, for the target data source D, we can obtain the inflow influence value n1, outflow influence value n2, and outflow influence value n5. Based on the inflow influence values ​​n1, n2, and n5, we can determine the target influence value for data source D. For example, the target influence value can be the sum of the inflow influence values ​​n1, n2, and n5, though this is not a limitation.

[0125] Step 204: For each target data source (i.e., sensitive data source), determine the protection level corresponding to the target data source. For example, the protection level can be determined based on the target impact value corresponding to the target data source; or based on the table sensitivity value corresponding to the target data source; or based on both the target impact value and the table sensitivity value corresponding to the target data source.

[0126] The protection level can be divided into at least two levels, for example, divided into 3 levels of protection level, or divided into 4 levels of protection level, or divided into 5 levels of protection level, without limitation. In the following, taking the protection level divided into 3 levels as an example, these 3 levels of protection levels are respectively recorded as protection level 1, protection level 2 and protection level 3, where protection level 1 corresponds to the numerical interval [0, w1), protection level 2 corresponds to the numerical interval [w1, w2), and protection level 3 corresponds to the numerical interval [w2, +∞).

[0127] On this basis, if the protection level corresponding to the target data source is determined based on the target influence value corresponding to the target data source, then if the target influence value is in the numerical interval [0, w1), it can be determined that the protection level corresponding to the target data source is protection level 1; if the target influence value is in the numerical interval [w1, w2), it can be determined that the protection level corresponding to the target data source is protection level 2; if the target influence value is in the numerical interval [w2, +∞), it can be determined that the protection level corresponding to the target data source is protection level 3.

[0128] For another example, if the protection level corresponding to the target data source is determined based on the table sensitivity value corresponding to the target data source, then if the table sensitivity value is in the numerical range [0, w1), it can be determined that the protection level corresponding to the target data source is protection level 1; if the table sensitivity value is in the numerical range [w1, w2), it can be determined that the protection level corresponding to the target data source is protection level 2; if the table sensitivity value is in the numerical range [w2, +∞), it can be determined that the protection level corresponding to the target data source is protection level 3.

[0129] For another example, if the protection level corresponding to the target data source is determined based on the target impact value and the table sensitivity value corresponding to the target data source, then the protection value corresponding to the target data source is determined based on the target impact value and the table sensitivity value. For example, the protection value corresponding to the target data source is calculated using the following formula: Protection Value = Target Impact Value * w3 + Table Sensitivity Value * w4, where w3 is the weight coefficient of the target impact value and w4 is the weight coefficient corresponding to the table sensitivity value. w3 and w4 are configured based on experience, and the sum of w3 and w4 is 1. If the proportion of the target impact value in the protection level is emphasized, w3 is greater than w4. If the proportion of the table sensitivity value in the protection level is emphasized, w4 is greater than w3. Based on this, if the protection value is in the numerical interval [0, w1), the protection level corresponding to the target data source is determined to be Protection Level 1. If the protection value is in the numerical interval [w1, w2), the protection level corresponding to the target data source is determined to be Protection Level 2. If the protection value is in the numerical interval [w2, +∞), the protection level corresponding to the target data source is determined to be Protection Level 3.

[0130] Of course, the above are just a few examples of determining the protection level, and there is no limitation on this determination method.

[0131] Step 205: Protect the data in the target data source based on the protection level.

[0132] In one possible implementation, if a data operation request for a target data source is received, and the data operation request includes operating user information, then the access level corresponding to the operating user information is determined (for example, a correspondence between the operating user information and the access level is pre-configured, such as the access level can be access level 1, access level 2, access level 3, etc.); if it is determined based on the access level and the protection level that the operating user has access rights to the target data source (for example, the access level is greater than or equal to the protection level, such as when the protection level is protection level 2, the access level is access level 2 or access level 3), then the data in the target data source is operated on based on the data operation request, that is, the operating user is allowed to access the data in the target data source. If it is determined based on the access level and the protection level that the operating user does not have access rights to the target data source (for example, the access level is less than the protection level, such as when the protection level is protection level 2, the access level is access level 1), then the operation on the data in the target data source is prohibited, that is, the operating user is not allowed to access the data in the target data source, thereby preventing the data in the target data source from being leaked.

[0133] In one possible implementation, for each protection level, such as protection level 1, protection level 2, and protection level 3, corresponding protection measures can be formulated for each protection level to restrict sensitive operations of external users. There are no restrictions on this protection measure and it can be configured arbitrarily based on experience.

[0134] In a possible implementation, since each target data source has a protection level mark, the user's data operation needs to pass the level protection verification before the user can access the legally accessible data.

[0135] In one possible implementation, the connectivity graph and the target impact value of a data source can be combined to quickly identify highly sensitive points (i.e., data sources with the highest target impact value) when sensitive information outflow needs to be cut off. Data can then be promptly cut off, effectively preventing information leakage. Alternatively, when sensitive information outflow needs to be cut off, data sources with high protection levels (i.e., data sources with the highest protection levels) can be quickly identified and data can be promptly cut off, effectively preventing information leakage.

[0136] In one possible implementation, sensitive information tracing can also be performed. For example, based on the aforementioned sensitive discovery and protection measures, potential information leaks need to be detected. When external users access the system, each sensitive operation is precisely audited, and the user's "fingerprint" information is collected to facilitate operation comparison. Trust intervals are established based on the user's long-term access habits, allowing for rapid identification of abnormal operations and the issuance of alerts.

[0137] Variable Description: range: table name and data range of the access; timestamp: range time; IP: accessing IP address; port: accessing port; opera: sensitive operation. Based on this, fingerprint information can be represented as follows: fingerprint = hash(range, timestamp, IP, port, opera).

[0138] After a user performs a sensitive operation, the response will contain fingerprint information, which is the unique identifier for that operation. When an administrator or user needs to verify the authenticity of an operation, they can perform a fingerprint comparison with the other party. The distribution of all user operations can be considered to follow a certain probability distribution law. Assuming that user operations are randomized and follow a normal distribution, the steps for detecting abnormal behavior are as follows:

[0139] 1. Set the initial confidence level (0-100%) and behavior index behaviorIndex (customizable): IP, port, time stamp, range, opera. Concatenate the information, convert it to binary ASCII code, and then convert it to a decimal value. This information is considered a user behavior indicator.

[0140] behaviorIndex=ToInt(ASCCI(IP,port,timestamp,range,opera))

[0141] 2. Based on the confidence level, the mean value of historical data, and the variance of historical data, the confidence interval confidence_interval can be calculated. For example, you can first find the confidence level corresponding to the Z value table. Then, we can use the confidence interval calculation formula:

[0142] 3. When a new access comes in, it is compared to see if it is within the confidence interval and an alarm is issued.

[0143] As can be seen from the above technical solutions, in the embodiment of the present application, the protection level corresponding to the target data source can be determined based on the target impact value, and then the data in the target data source can be protected based on the protection level, so that sensitive data can be discovered from a large number of data sources, and then the sensitive data can be protected, which can prevent the leakage of sensitive data and greatly improve the security of the data. Sensitive data can be quantitatively evaluated, the sensitivity of sensitive data corresponding to each data source can be measured, and appropriate protection measures can be taken to timely discover and protect possible data sources. For external data operations, their fingerprints are recorded and accurately audited, which can be used by the server to quickly query information leakage, and can also be used by users to use their own feedback information to authenticate service operations without leaking sensitive operation information.

[0144] Based on the same application concept as the above method, a data protection device is proposed in the embodiment of the present application, which is applied to a database server. The database server includes multiple data sources, each of which is used to store data. Figure 6 FIG. 1 is a schematic structural diagram of the device, which may include:

[0145] an acquisition module 61 for acquiring a first data source and a second data source from a plurality of data sources for a target data source among the plurality of data sources; wherein first data in the first data source flows from the first data source to the target data source, and second data in the target data source flows from the target data source to the second data source;

[0146] a determination module 62 configured to determine an inflow impact value corresponding to the target data source based on the sensitivity value of the first data; determine an outflow impact value corresponding to the target data source based on the sensitivity value of the second data; determine a target impact value corresponding to the target data source based on the inflow impact value and the outflow impact value, and determine a protection level corresponding to the target data source based on the target impact value;

[0147] The processing module 63 is configured to perform data protection on the data in the target data source based on the protection level.

[0148] Exemplarily, when the acquisition module 61 acquires the first data source and the second data source from multiple data sources, it is specifically used to: receive a first operation command, the first operation command including data source information; determine the operation type corresponding to the first operation command, if the operation type is determined to be a sensitive operation based on the configured sensitive operation, determine the data source corresponding to the data source information as the first data source, and send the first data in the first data source to the target data source based on the first operation command; and receive a second operation command, the second operation command including data source information; determine the operation type corresponding to the second operation command, if the operation type is determined to be a sensitive operation based on the configured sensitive operation, determine the data source corresponding to the data source information as the second data source, and send the second data in the target data source to the second data source based on the second operation command.

[0149] Exemplarily, when the determination module 62 determines the inflow impact value corresponding to the target data source based on the sensitivity value of the first data, it is specifically used to: if the first data includes K columns of data in the first data source, and K is a positive integer, then determine the column cumulative sensitivity value corresponding to each column of data in the K columns of data, and determine the table sensitivity value corresponding to the first data source, and determine the attenuation coefficient value corresponding to the operation type corresponding to the first data; based on the column cumulative sensitivity value, the table sensitivity value and the attenuation coefficient value respectively corresponding to the K columns of data, determine the inflow impact value corresponding to the target data source.

[0150] Exemplarily, when the determination module 62 determines the outflow impact value corresponding to the target data source based on the sensitivity value of the second data, it is specifically used to: if the second data includes P columns of data in the target data source, determine the column cumulative sensitivity value corresponding to each column of data; determine the first table sensitivity value corresponding to the target data source, and determine the first attenuation coefficient value corresponding to the operation type when the second data is sent from the target data source to the second data source; determine the first impact value based on the column cumulative sensitivity value, the first table sensitivity value and the first attenuation coefficient value respectively corresponding to the P columns of data; determine the second table sensitivity value corresponding to the second data source, and determine the second attenuation coefficient value corresponding to the operation type when the second data is sent from the second data source to the third data source; determine the second impact value based on the column cumulative sensitivity value, the second table sensitivity value and the second attenuation coefficient value respectively corresponding to the P columns of data; determine the outflow impact value corresponding to the target data source based on the first impact value and the second impact value.

[0151] Exemplarily, the determination module 62 is also used to determine the table sensitivity value corresponding to the target data source; when the determination module 62 determines the protection level corresponding to the target data source based on the target impact value, it is specifically used to: determine the protection level corresponding to the target data source based on the target impact value and the table sensitivity value.

[0152] Exemplarily, in the process of determining the column cumulative sensitivity value, the determination module 62 is specifically used to: determine the amplification coefficient corresponding to the column data based on the matching relationship between the column name corresponding to the column data and the configured sensitive words; for each cell in the column data, determine the initial sensitivity value corresponding to the cell based on the matching relationship between the words in the cell and the configured sensitive words, and determine the target sensitivity value corresponding to the cell based on the initial sensitivity value and the amplification coefficient; determine the column cumulative sensitivity value based on the target sensitivity value corresponding to each cell in the column data; wherein, in the process of determining the table sensitivity value, the determination module is specifically used to: for each column of the data source, determine the amplification coefficient corresponding to the column based on the matching relationship between the column name and the configured sensitive words; for each cell in each row of the data source, determine the initial sensitivity value corresponding to the cell based on the matching relationship between the words in the cell and the configured sensitive words, and determine the target sensitivity value corresponding to the cell based on the initial sensitivity value and the amplification coefficient corresponding to the column where the cell is located; determine the row cumulative sensitivity value corresponding to the row based on the target sensitivity value corresponding to each cell in a row of the data source; and determine the table sensitivity value based on the row cumulative sensitivity values ​​corresponding to all rows of the data source.

[0153] Exemplarily, when the processing module 63 performs data protection on the data in the target data source based on the protection level, it is specifically used to: if a data operation request for the target data source is received, and the data operation request includes operation user information, then determine the access level corresponding to the operation user information; if it is determined based on the access level and the protection level that the operation user has access rights to the target data source, then operate on the data in the target data source based on the data operation request; or, if it is determined based on the access level and the protection level that the operation user does not have access rights to the target data source, prohibit operations on the data in the target data source.

[0154] Based on the same application concept as the above method, a database server is proposed in the embodiment of the present application, see Figure 7 As shown, the database server may include: a processor 71 and a machine-readable storage medium 72, wherein the machine-readable storage medium 72 stores machine-executable instructions that can be executed by the processor 71; the processor 71 is used to execute the machine-executable instructions to implement the data protection method disclosed in the above example of this application.

[0155] Based on the same application concept as the above method, an embodiment of the present application also provides a machine-readable storage medium, on which a number of computer instructions are stored. When the computer instructions are executed by a processor, the data protection method disclosed in the above example of the present application can be implemented.

[0156] The machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that may contain or store information, such as executable instructions, data, and the like. For example, the machine-readable storage medium may be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, a storage drive (such as a hard disk drive), a solid-state drive, any type of storage disk (such as a CD, DVD, etc.), or similar storage media, or a combination thereof.

[0157] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email transceiver, game console, tablet computer, wearable device, or any combination of these devices.

[0158] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0159] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0160] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0161] Furthermore, these computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0162] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 The steps for the function specified in one or more boxes.

[0163] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A data protection method, characterized in that: Applied to a database server, the database server includes multiple data sources, each data source is used to store data, the method includes: For a target data source among the multiple data sources, a first data source and a second data source are obtained from the multiple data sources; wherein first data in the first data source flows from the first data source to the target data source, and second data in the target data source flows from the target data source to the second data source; Determine the inflow impact value corresponding to the target data source based on the sensitivity value of the first data; wherein, if the first data includes K columns of data in the first data source, and K is a positive integer, determine the column cumulative sensitivity value corresponding to each column of data, determine the table sensitivity value corresponding to the first data source, and determine the attenuation coefficient value corresponding to the operation type corresponding to the first data; determine the inflow impact value corresponding to the target data source based on the column cumulative sensitivity value, the table sensitivity value, and the attenuation coefficient value respectively corresponding to the K columns of data; wherein, the sum of the target sensitivity values ​​corresponding to each cell in the column is used as the column cumulative sensitivity value; the sum of the target sensitivity values ​​corresponding to each cell in the row is used as the row cumulative sensitivity value, and the sum of the row cumulative sensitivity values ​​corresponding to all rows of the data source is used as the table sensitivity value; determining an outflow impact value corresponding to the target data source based on the sensitivity value of the second data; Determine a target impact value corresponding to the target data source based on the inflow impact value and the outflow impact value, and determine a protection level corresponding to the target data source based on the target impact value; Data protection is performed on the data in the target data source based on the protection level.

2. The method according to claim 1, characterized in that The obtaining of the first data source and the second data source from the plurality of data sources includes: receiving a first operation command, the first operation command including data source information; determining an operation type corresponding to the first operation command, and if the operation type is determined to be a sensitive operation based on configured sensitive operations, determining the data source corresponding to the data source information as a first data source, and sending first data in the first data source to the target data source based on the first operation command; Receive a second operation command, which includes data source information; determine the operation type corresponding to the second operation command, and if the operation type is determined to be a sensitive operation based on the configured sensitive operation, determine the data source corresponding to the data source information as the second data source, and send the second data in the target data source to the second data source based on the second operation command.

3. The method according to claim 1, characterized in that The determining, based on the sensitivity value of the second data, the outflow impact value corresponding to the target data source includes: If the second data includes P columns of data in the target data source, determining a column cumulative sensitivity value corresponding to each column of data; determining a first table sensitivity value corresponding to the target data source, and determining a first attenuation coefficient value corresponding to an operation type when the second data is sent from the target data source to the second data source; and determining a first impact value based on the column cumulative sensitivity values, the first table sensitivity values, and the first attenuation coefficient values ​​respectively corresponding to the P columns of data; Determine a second table sensitivity value corresponding to the second data source, and determine a second attenuation coefficient value corresponding to an operation type when the second data is sent from the second data source to the third data source; determine a second impact value based on the column cumulative sensitivity value, the second table sensitivity value, and the second attenuation coefficient value respectively corresponding to the P columns of data; An outflow impact value corresponding to the target data source is determined based on the first impact value and the second impact value.

4. The method according to claim 1, wherein Before determining the protection level corresponding to the target data source based on the target impact value, the method further includes: determining a table sensitivity value corresponding to the target data source; The determining the protection level corresponding to the target data source based on the target impact value includes: determining the protection level corresponding to the target data source based on the target impact value and the table sensitivity value.

5. The method according to any one of claims 1 to 4, characterized in that The process of determining the cumulative sensitivity value of a column includes: determining the amplification factor corresponding to the column data based on the matching relationship between the column name corresponding to the column data and the configured sensitive words; for each cell in the column data, determining the initial sensitivity value corresponding to the cell based on the matching relationship between the words in the cell and the configured sensitive words, and determining the target sensitivity value corresponding to the cell based on the initial sensitivity value and the amplification factor; and determining the cumulative sensitivity value of the column based on the target sensitivity value corresponding to each cell in the column data; The process of determining the table sensitivity value includes: for each column of the data source, based on the matching relationship between the column name and the configured sensitive words, determining the corresponding amplification factor of the column; for each cell in each row of the data source, based on the matching relationship between the words in the cell and the configured sensitive words, determining the initial sensitivity value corresponding to the cell, and determining the target sensitivity value corresponding to the cell based on the initial sensitivity value and the amplification factor corresponding to the column where the cell is located; determining the row cumulative sensitivity value corresponding to the row based on the target sensitivity value corresponding to each cell in a row; and determining the table sensitivity value based on the row cumulative sensitivity values ​​corresponding to all rows of the data source.

6. The method according to claim 1, characterized in that The protecting the data in the target data source based on the protection level includes: If a data operation request for the target data source is received, and the data operation request includes operation user information, determining an access level corresponding to the operation user information; If it is determined based on the access level and the protection level that the operating user has the access authority to the target data source, operating the data in the target data source based on the data operation request; If it is determined based on the access level and the protection level that the operating user does not have access rights to the target data source, operations on the data in the target data source are prohibited.

7. A data protection device, characterized in that: Applied to a database server, the database server includes multiple data sources, each data source is used to store data, the device includes: an acquisition module, configured to acquire a first data source and a second data source from a plurality of data sources for a target data source among the plurality of data sources; wherein first data in the first data source flows from the first data source to the target data source, and second data in the target data source flows from the target data source to the second data source; a determination module, configured to determine an inflow impact value corresponding to the target data source based on the sensitivity value of the first data; determine an outflow impact value corresponding to the target data source based on the sensitivity value of the second data; determine a target impact value corresponding to the target data source based on the inflow impact value and the outflow impact value, and determine a protection level corresponding to the target data source based on the target impact value; A processing module, configured to perform data protection on the data in the target data source based on the protection level; The determination module is specifically used to determine the inflow impact value corresponding to the target data source based on the sensitivity value of the first data: if the first data includes K columns of data in the first data source, K is a positive integer, then determine the column cumulative sensitivity value corresponding to each column of data in the K columns of data, determine the table sensitivity value corresponding to the first data source, and determine the attenuation coefficient value corresponding to the operation type corresponding to the first data; based on the column cumulative sensitivity value, the table sensitivity value and the attenuation coefficient value respectively corresponding to the K columns of data, determine the inflow impact value corresponding to the target data source; wherein, the sum of the target sensitivity values ​​corresponding to each cell in the column is used as the column cumulative sensitivity value; the sum of the target sensitivity values ​​corresponding to each cell in the row is used as the row cumulative sensitivity value, and the sum of the row cumulative sensitivity values ​​corresponding to all rows of the data source is used as the table sensitivity value.

8. The device according to claim 7, It is characterized by: Wherein, when the acquisition module acquires the first data source and the second data source from multiple data sources, it is specifically used to: receive a first operation command, the first operation command including data source information; determine the operation type corresponding to the first operation command, if the operation type is determined to be a sensitive operation based on the configured sensitive operation, determine the data source corresponding to the data source information as the first data source, and send the first data in the first data source to the target data source based on the first operation command; and receive a second operation command, the second operation command including data source information; determine the operation type corresponding to the second operation command, if the operation type is determined to be a sensitive operation based on the configured sensitive operation, determine the data source corresponding to the data source information as the second data source, and send the second data in the target data source to the second data source based on the second operation command; Wherein, when the determination module determines the outflow impact value corresponding to the target data source based on the sensitivity value of the second data, it is specifically used to: if the second data includes P columns of data in the target data source, determine the column cumulative sensitivity value corresponding to each column of data; determine the first table sensitivity value corresponding to the target data source, and determine the first attenuation coefficient value corresponding to the operation type when the second data is sent from the target data source to the second data source; determine the first impact value based on the column cumulative sensitivity value, the first table sensitivity value, and the first attenuation coefficient value respectively corresponding to the P columns of data; determine the second table sensitivity value corresponding to the second data source, and determine the second attenuation coefficient value corresponding to the operation type when the second data is sent from the second data source to the third data source; determine the second impact value based on the column cumulative sensitivity value, the second table sensitivity value, and the second attenuation coefficient value respectively corresponding to the P columns of data; determine the outflow impact value corresponding to the target data source based on the first impact value and the second impact value; Wherein, the determination module is further used to determine the table sensitivity value corresponding to the target data source; when the determination module determines the protection level corresponding to the target data source based on the target impact value, it is specifically used to: determine the protection level corresponding to the target data source based on the target impact value and the table sensitivity value; Wherein, in the process of determining the column cumulative sensitivity value, the determination module is specifically used to: determine the amplification coefficient corresponding to the column data based on the matching relationship between the column name corresponding to the column data and the configured sensitive words; for each cell in the column data, determine the initial sensitivity value corresponding to the cell based on the matching relationship between the words in the cell and the configured sensitive words, and determine the target sensitivity value corresponding to the cell based on the initial sensitivity value and the amplification coefficient; determine the column cumulative sensitivity value based on the target sensitivity value corresponding to each cell in the column data; wherein, in the process of determining the table sensitivity value, the determination module is specifically used to: for each column of the data source, determine the amplification coefficient corresponding to the column based on the matching relationship between the column name and the configured sensitive words; for each cell in each row of the data source, determine the initial sensitivity value corresponding to the cell based on the matching relationship between the words in the cell and the configured sensitive words, and determine the target sensitivity value corresponding to the cell based on the initial sensitivity value and the amplification coefficient corresponding to the column where the cell is located; determine the row cumulative sensitivity value corresponding to the row based on the target sensitivity value corresponding to each cell in a row of the data source; determine the table sensitivity value based on the row cumulative sensitivity values ​​corresponding to all rows of the data source; Among them, when the processing module performs data protection on the data in the target data source based on the protection level, it is specifically used to: if a data operation request for the target data source is received, and the data operation request includes operation user information, then determine the access level corresponding to the operation user information; if it is determined based on the access level and the protection level that the operation user has access rights to the target data source, then operate on the data in the target data source based on the data operation request; or, if it is determined based on the access level and the protection level that the operation user does not have access rights to the target data source, prohibit operating on the data in the target data source.

9. A database server, characterized in that: include: a processor and a machine-readable storage medium storing machine-executable instructions capable of being executed by the processor; The processor is configured to execute machine-executable instructions to implement the method steps described in any one of claims 1-6.

Citation Information

Patent Citations

  • Monitoring method and device for target data diffusion process

    CN107733902A

  • Data sensitivity identification method and apparatus

    CN107944283A