Data dynamic publishing method and device

CN115481420BActive Publication Date: 2026-08-21CHINA TELECOM CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211198293.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-29
Publication Date
2026-08-21
Estimated Expiration
2042-09-29

AI Technical Summary

Technical Problem

[0003]随着大数据时代的到来,一次性发布所有的数据已无法满足实时数据掌控的要求,数据动态发布越来越普遍

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115481420B_ABST
    Figure CN115481420B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a data dynamic publishing method and device, and relates to the technical field of big data security. The data dynamic publishing method comprises: anonymizing new tuple data; updating a temporary table according to the anonymized new tuple data; determining a to-be-inspected equivalence group according to tuple data in the temporary table; performing diversity inspection on the to-be-inspected equivalence group; and publishing the to-be-inspected equivalence group in the case that the to-be-inspected equivalence group passes the diversity inspection. Through the above method, the ability of anonymized data to resist homogeneity attacks and differential attacks can be enhanced, and the homogeneity attacks by attackers and the differential reasoning according to data before and after updating can be effectively prevented, thereby improving the security of data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of big data security technology, and in particular to a method and apparatus for dynamic data publishing. Background Technology

[0002] k-anonymity is a privacy-preserving method for publishing data. This technique divides data into several equivalence groups, ensuring each group contains at least k tuples, and generalizes the quasi-identifiers for these tuples. An attacker has only a 1 / k probability of successfully concatenating the anonymized tuples.

[0003] With the advent of the big data era, releasing all data at once can no longer meet the requirements of real-time data control, and dynamic data release is becoming increasingly common. Summary of the Invention

[0004] This disclosure presents a method and apparatus for dynamic data publishing.

[0005] According to a first aspect of this disclosure, a data publishing method is provided, comprising: anonymizing newly added tuple data; updating a temporary table based on the anonymized newly added tuple data; determining an equivalence set to be tested based on the tuple data in the temporary table; performing a diversity test on the equivalence set to be tested; and publishing the equivalence set to be tested if the equivalence set to be tested passes the diversity test.

[0006] In some embodiments, performing diversity testing on the equivalence set to be tested includes: determining whether the number of elements in the first attribute value set of the equivalence set to be tested is greater than or equal to a first threshold.

[0007] In some embodiments, performing diversity testing on the equivalence set to be tested further includes: if the number of elements in the first attribute value set of the equivalence set to be tested is greater than or equal to a first threshold, determining whether the dispersion of the distribution of each element in the first attribute value set on the equivalence set to be tested is less than or equal to a second threshold.

[0008] In some embodiments, determining whether the dispersion of the distribution of each element in the first attribute value set on the equivalence group to be tested is less than or equal to a second threshold includes: calculating the proportion of the number of tuples corresponding to each element in the first attribute value set; determining the maximum value of the proportion of the number of tuples based on the proportion of the number of tuples corresponding to each element in the first attribute value set; and determining whether the maximum value of the proportion of the number of tuples is less than or equal to the second threshold.

[0009] In some embodiments, determining the equivalence set to be tested based on the tuple data in the temporary table includes: if there are generalized tuple data and non-generalized tuple data in the temporary table, determining whether the non-generalized tuple data satisfies the equivalence set generation condition; if the non-generalized tuple data satisfies the equivalence set generation condition, taking the equivalence set containing the generalized tuple data in the temporary table and the new equivalence set generated based on the non-generalized tuple data as the equivalence set to be tested; if the non-generalized tuple data does not satisfy the equivalence set generation condition, taking the equivalence set containing the generalized tuple data in the temporary table as the equivalence set to be tested.

[0010] In some embodiments, determining the equivalence set to be tested based on the tuple data in the temporary table further includes: when the temporary table contains only ungeneralized tuple data, taking the equivalence set containing the generalized tuple data in the temporary table as the equivalence set to be tested; when the temporary table contains only ungeneralized tuple data, taking the new equivalence set generated based on the ungeneralized tuple data as the equivalence set to be tested.

[0011] In some embodiments, the anonymization of the newly added tuple data includes: hiding the identifier in the newly added tuple data if the second attribute value in the newly added tuple data matches an equivalence group in the published data; encrypting the first attribute value in the newly added tuple data according to the unique code corresponding to the newly added tuple data; and generalizing the second attribute value in the newly added tuple data.

[0012] In some embodiments, the anonymization of the newly added tuple data includes: hiding the identifier in the newly added tuple data if the value of the second attribute in the newly added tuple data does not match the equivalence set in the published data; and encrypting the value of the first attribute in the newly added tuple data according to the unique code corresponding to the newly added tuple data.

[0013] In some embodiments, updating the temporary table based on the anonymized new tuple data includes: storing the anonymized new tuple data in the temporary table if the second attribute value in the new tuple data matches an equivalence set in the published data; and updating the ciphertext of the first attribute value set in the temporary table based on the first attribute value in the new tuple data.

[0014] In some embodiments, updating the ciphertext of the first attribute value set in the temporary table based on the first attribute value in the newly added tuple data includes: determining the first attribute value set of the equivalence group to which the newly added tuple data belongs based on the first attribute value in the newly added tuple data; encrypting the first attribute value set; and updating the ciphertext of the first attribute value set in the temporary table based on the encrypted first attribute value set.

[0015] In some embodiments, updating the temporary table based on the anonymized new tuple data includes: storing the anonymized new tuple data in the temporary table if the value of the second attribute in the new tuple data does not match the equivalence set in the published data.

[0016] In some embodiments, the method further includes: before performing diversity detection on the equivalence groups containing generalized tuple data in the temporary storage table, obtaining the ciphertext of the first attribute value set of the equivalence group and the ciphertext of the first attribute value of each tuple data in the equivalence group from the temporary storage table; decrypting the ciphertext of the first attribute value set and the ciphertext of the first attribute value to obtain the first attribute value set of the equivalence group and the first attribute value of each tuple data in the equivalence group; before performing diversity detection on the new equivalence groups formed by ungeneralized tuple data in the temporary storage table, decrypting the ciphertext of the first attribute value of each tuple data in the equivalence group to obtain the first attribute value of each tuple data in the equivalence group; and generating the first attribute value set of the equivalence group based on the first attribute value of each tuple data in the equivalence group.

[0017] In some embodiments, the first attribute is a sensitive attribute and the second attribute is a quasi-identifier.

[0018] According to a second aspect of this disclosure, a data dynamic publishing apparatus is provided, comprising: an anonymization processing module configured to anonymize newly added tuple data; an update module configured to update a temporary storage table based on the anonymized newly added tuple data; a determination module configured to determine an equivalence set to be tested based on the tuple data in the temporary storage table; a testing module configured to perform a diversity test on the equivalence set to be tested; and a publishing module configured to publish the equivalence set to be tested if the equivalence set to be tested passes the diversity test.

[0019] According to a third aspect of this disclosure, a data dynamic publishing apparatus is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the data dynamic publishing method as described above based on instructions stored in the memory.

[0020] According to a fourth aspect of this disclosure, a computer-storeable medium is provided having computer program instructions stored thereon, which, when executed by a processor, implement the data dynamic publishing method described above. Attached Figure Description

[0021] The accompanying drawings, which form part of this specification, illustrate embodiments of this disclosure and, together with the specification, serve to explain the principles of this disclosure.

[0022] This disclosure will become clearer with reference to the accompanying drawings and the following detailed description, wherein:

[0023] Figure 1 This is a flowchart illustrating a method for dynamically publishing data based on relevant technologies;

[0024] Figure 2 This is a flowchart illustrating a method for dynamically publishing data according to some embodiments of the present disclosure;

[0025] Figure 3 This is a flowchart illustrating updating a temporary table based on newly added tuple data according to some embodiments of the present disclosure;

[0026] Figure 4 This is a flowchart illustrating the determination of equivalence sets to be tested according to some embodiments of the present disclosure;

[0027] Figure 5 This is a flowchart illustrating a diversity test based on data in a temporary table according to some embodiments of the present disclosure;

[0028] Figure 6 This is a flowchart illustrating a method for dynamically publishing data according to other embodiments of this disclosure;

[0029] Figure 7 This is a block diagram illustrating a data dynamic publishing apparatus according to some embodiments of the present disclosure;

[0030] Figure 8 This is a block diagram illustrating a data dynamic publishing apparatus according to other embodiments of the present disclosure;

[0031] Figure 9 This is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure. Detailed Implementation

[0032] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.

[0033] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.

[0034] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.

[0035] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.

[0036] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.

[0037] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0038] Figure 1 This is a flowchart illustrating a method for dynamically publishing data based on relevant technologies. For example... Figure 1 As shown, when dynamically publishing data based on k-anonymity technology, the relevant technologies first match the quasi-identifiers in the newly added tuple data with the equivalent groups in the published data. If the match is successful, the newly added tuple data is generalized and anonymized before being added to the published data. If the match fails, the sensitive attributes in the newly added tuple data are symmetrically encrypted and then placed in a temporary table. When an equivalent group that meets the k-anonymity requirement is generated in the temporary table, the equivalent group is anonymized and then added to the published data.

[0039] The data dynamic publishing method in related technologies has the following problems: (1) If an attacker obtains the quasi-identifier of the newly added tuple data, and some equivalent groups in the published data only update a small number of tuples, then the attacker is likely to obtain the sensitive attributes of the newly added tuple data through differential reasoning; (2) If an attacker obtains the quasi-identifier of the newly added tuple data, and the sensitive attributes of the newly added tuple data in the published data are homogeneous, then the attacker is likely to obtain private data through homogeneity attack; (3) In related technologies, the ciphertext of the sensitive attributes in the temporary storage table and the plaintext of the sensitive attributes in the published data correspond one-to-one. If an attacker steals the data in the temporary storage table, it is easy to infer the meaning of the ciphertext data in the temporary storage table based on the published data.

[0040] In view of this, this disclosure proposes a method and apparatus for dynamic data publishing, which can enhance the ability of anonymized data to resist homogeneity attacks and differential attacks, effectively prevent attackers from carrying out homogeneity attacks and differential inference based on data before and after updates, thereby improving data security.

[0041] Figure 2 This is a flowchart illustrating a method for dynamically publishing data according to some embodiments of this disclosure. For example... Figure 2 As shown, the data dynamic publishing method of this disclosure includes:

[0042] Step S210: Anonymize the newly added tuple data.

[0043] In some embodiments, the data dynamic publishing method of this disclosure is executed by a data dynamic publishing device.

[0044] In some embodiments, tuple data is a single data entry, such as a data record in a relational data table.

[0045] In some embodiments, tuple data includes three types of attributes: identifiers, first attributes, and second attributes. For example, the first attribute is a sensitive attribute, and the second attribute is a quasi-identifier. Identifiers typically refer to attributes that can directly identify the information subject, such as a user's ID number or name. Quasi-identifiers typically refer to attributes that can be combined with information obtained from other channels to identify the information subject. Sensitive attributes typically refer to attributes that the data publisher and user do not wish to be known.

[0046] In step S210, different anonymization steps can be adopted based on the matching of the newly added tuple data with the equivalent groups in the published data.

[0047] In k-anonymity techniques, equivalence sets, also known as equality sets, are typically used to generalize the quasi-identifiers of k records to the same level. This allows each original record to be linked to any of the k generalized records, thus preventing link attacks. These k generalized records are called an equivalence set.

[0048] In some embodiments, step S210 includes: hiding the identifier in the newly added tuple data when the value of the second attribute in the newly added tuple data matches an equivalent group in the published data; encrypting the value of the first attribute in the newly added tuple data according to the unique code corresponding to the newly added tuple data; and generalizing the value of the second attribute in the newly added tuple data.

[0049] In some embodiments, step S210 includes: hiding the identifier in the newly added tuple data if the value of the second attribute in the newly added tuple data does not match the equivalence group in the published data; and encrypting the value of the first attribute in the newly added tuple data according to the unique code corresponding to the newly added tuple data.

[0050] Step S220: Update the temporary table based on the newly added tuple data after anonymization.

[0051] In some embodiments, step S220 includes storing the newly anonymized tuple data in a temporary table.

[0052] In some embodiments, adopt Figure 3 The process shown executes steps S210 and S220.

[0053] Step S230: Determine the equivalent groups to be tested based on the tuple data in the temporary table.

[0054] In some embodiments, the temporary table contains generalized tuple data and non-generalized tuple data. In these embodiments, the equivalence set containing the generalized tuple data, and the new equivalence set generated from the non-generalized tuple data, are used as the equivalence sets to be tested.

[0055] For example, if the temporary table contains two generalized tuples (tuple codes 1 and 2) and three non-generalized tuples (tuple codes 3, 4, and 5), and the two generalized tuples correspond to the published equivalence set A, and the three non-generalized tuples can generate equivalence set B, then the two generalized tuples are considered as one equivalence set to be tested, and equivalence set B is considered as another equivalence set to be tested.

[0056] Step S240: Perform diversity testing on the equivalence group to be tested.

[0057] In step S240, a diversity test is performed for each equivalence group to be tested.

[0058] In some embodiments, performing diversity testing on each equivalence group to be tested includes: determining whether the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to a first threshold; if the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to the first threshold, then the equivalence group to be tested passes the diversity test; otherwise, the equivalence group to be tested fails the diversity test.

[0059] The set of first attribute values ​​for the equivalence group to be tested, also known as the first attribute data set or the first attribute feature set, is a set composed of the first attribute values ​​from all tuples in the equivalence group to be tested. The first threshold is a positive number, and its value can be flexibly set according to actual needs. For example, the first threshold can be set to 3, 4, 5, or other values.

[0060] For example, if the equivalence set to be tested includes tuple 1 and tuple 2, and the first attribute is health status, with health status in tuple 1 being heart disease and health status in tuple 2 being diabetes, then the set of values ​​for the first attribute of the equivalence set to be tested is {heart disease, diabetes}. When the first threshold is 3, since the number of elements in the set of values ​​for the first attribute is 2, which is less than the first threshold, it is determined that the equivalence set to be tested has failed the diversity test.

[0061] In other embodiments, performing diversity testing on each equivalence group to be tested includes: determining whether the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to a first threshold; if the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to the first threshold, determining whether the dispersion of the distribution of each element in the first attribute value set on the equivalence group to be tested is less than or equal to a second threshold; if the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to the first threshold, and the dispersion of the distribution of each element in the first attribute value set on the equivalence group to be tested is less than or equal to the second threshold, then determining that the equivalence group to be tested passes the diversity test; otherwise, determining that the equivalence group to be tested fails the diversity test.

[0062] The dispersion of the distribution of each element in the set of values ​​of the first attribute on the equivalence group to be tested can be represented by various indicators, such as variance, standard deviation, range, or the maximum value of the proportion of the number of tuples corresponding to each element in the set of values ​​of the first attribute, etc.

[0063] In some embodiments, the maximum value of the proportion of tuples corresponding to each element in the sensitive attribute value set is used as the degree of distribution dispersion. In these embodiments, performing diversity testing on each equivalence group to be tested includes: determining whether the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to a first threshold; if the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to the first threshold, calculating the proportion of tuples corresponding to each element in the first attribute value set; determining the maximum value of the proportion of tuples based on the proportion of tuples corresponding to each element in the first attribute value set; and determining whether the maximum value of the proportion of tuples is less than or equal to a second threshold.

[0064] In some other embodiments, the degree of dispersion of the distribution of each element in the first attribute value set on the equivalence group to be tested can be tested first, and then the number of elements in the first attribute value set can be tested.

[0065] In this embodiment, by performing diversity checks before publishing incremental data and only publishing tuples that pass the diversity check, both homogeneity attacks and differential inference based on the updated data are effectively prevented, thereby improving data security. Furthermore, by combining checks on the number of elements in the first attribute value set with checks on the dispersion of each element in the first attribute value set across the equivalence groups to be tested, the effectiveness of diversity checks is further enhanced, strengthening the anonymized data's resistance to homogeneity and differential attacks. Moreover, by first checking the number of elements in the first attribute value set, and then checking the dispersion only if the number check passes, and not checking the dispersion if the number check fails, the diversity check speed is accelerated.

[0066] Step S250: If the equivalence set to be tested passes the diversity test, publish the equivalence set to be tested.

[0067] In some embodiments, for equivalence sets to be tested that pass the diversity test, the tuple data in the equivalence sets to be tested are added to the published data; for equivalence sets to be tested that fail the diversity test, they are kept in the temporary table and await the next update.

[0068] In this embodiment of the disclosure, by performing diversity checks on the equivalence sets to be checked in the temporary table before publishing the updated incremental data, only the tuple data in the equivalence sets to be checked that pass the check can be published. This can prevent homogeneity attacks and prevent attackers from performing differential inference based on the data before and after the update, thereby improving the security of dynamically published data.

[0069] Figure 3 This is a flowchart illustrating updating a temporary table based on newly added tuple data according to some embodiments of the present disclosure. Figure 3 The illustrated process is an exemplary description of steps S210 and S220. Figure 3 As shown in this embodiment, the process of updating the temporary table based on newly added tuple data includes:

[0070] Step S310: Hide the identifiers in the newly added tuple data.

[0071] In some embodiments, hiding the identifier in the newly added tuple data includes removing or encrypting the identifier. For example, assuming the identifier in the newly added tuple data is a user name attribute, the user name can be deleted from the newly added tuple data, or represented as specified characters such as "***" or "###", or the user name can be encrypted.

[0072] Step S320: Encrypt the value of the first attribute in the newly added tuple data according to the unique code corresponding to the newly added tuple data.

[0073] In some embodiments, the first attribute is taken as the value of the sensitive attribute. For example, assuming the sensitive attribute in the tuple data is health status, and the health status in a newly added tuple is "heart disease", then the value of the first attribute "heart disease" in the newly added tuple data is encrypted according to the unique code corresponding to the newly added tuple data.

[0074] In some embodiments, the unique code corresponding to the newly added tuple data is the unique number of the newly added tuple data in the temporary table, or it is the identifier (such as an ID number or other attribute) contained in the newly added tuple data.

[0075] In some embodiments, encrypting the first attribute value in the newly added tuple data includes: using a symmetric encryption algorithm to encrypt the whole obtained by combining the unique code corresponding to the newly added tuple data with the sensitive attribute of the newly added tuple data.

[0076] In this embodiment of the disclosure, by combining the sensitive attributes of the newly added tuple data with the unique encoding of the newly added tuple data for encryption, the uniqueness of the resulting sensitive attribute ciphertext is guaranteed, preventing attackers from stealing temporary table data and then publishing the corresponding data to crack the ciphertext, thereby improving data security.

[0077] Step S330: Determine whether the newly added tuple matches the equivalent set.

[0078] In step S330, it is determined whether the quasi-identifier in the newly added tuple data matches the equivalent group in the published data.

[0079] For example, suppose the quasi-identifiers in the tuple data are height and weight. Suppose that the quasi-identifier in a newly added tuple data is height 172cm and weight 65kg. If the published data contains equivalent groups for height 170cm-180cm and weight 60kg-70kg, then the newly added tuple data matches the equivalent groups in the published data. However, if the published data only contains equivalent groups for height 160cm-170cm and weight 50kg-60g, then the newly added tuple data does not match the equivalent groups in the published data.

[0080] If the quasi-identifier in the newly added tuple data matches the equivalent group in the published data, proceed to steps S340, S350, and S360; if the quasi-identifier in the newly added tuple data does not match the equivalent group in the published data, proceed to step S370.

[0081] Step S340: Generalize the value of the second attribute in the newly added tuple data.

[0082] In some embodiments, the second attribute is a quasi-identifier.

[0083] For example, suppose the quasi-identifiers in the tuple data are "height" and "weight". If the height of a newly added tuple data is 167cm and the weight is 55kg, then the height and weight values ​​in the newly added tuple data are generalized to obtain generalized height and weight values, such as 160cm~170cm and 50kg~60kg.

[0084] Step S350: Store the processed new tuple data in a temporary table.

[0085] Step S360: Update the ciphertext of the first attribute value set in the temporary table according to the first attribute value in the newly added tuple data.

[0086] In this embodiment, the temporary storage table includes fields corresponding to the attributes in the newly added tuple data, as well as fields corresponding to the ciphertext of the first attribute value set. When the newly added tuple data matches an equivalence set in the published data, in addition to storing the processed newly added tuple data in the temporary storage table, it is also necessary to update the field information in the temporary storage table corresponding to the ciphertext of the first attribute value set.

[0087] In some embodiments, step S360 includes: determining the set of first attribute values ​​of the equivalence group to which the newly added tuple data belongs based on the first attribute value in the newly added tuple data; encrypting the set of first attribute values; and updating the ciphertext of the set of first attribute values ​​in the temporary table based on the encrypted set of first attribute values.

[0088] In some embodiments, determining the set of first attribute values ​​of the equivalence group to which the newly added tuple data belongs based on the first attribute value in the newly added tuple data includes: when there are tuple data in the equivalence group to which the newly added tuple data belongs in the temporary table, determining the set of first attribute values ​​of the equivalence group based on the first attribute values ​​of the newly added tuple data in the same equivalence group and the existing tuple data in the temporary table; when there are no tuple data in the equivalence group to which the newly added tuple data belongs in the temporary table, determining the set of first attribute values ​​of the equivalence group based on the first attribute values ​​of the newly added tuple data in the same equivalence group.

[0089] For example, suppose there are two new tuples, 1 and 2, that belong to the published equivalence group A, and the temporary table contains two tuples, 3 and 4, that belong to equivalence group A. If the first attribute of the new tuple 1 is "heart disease", the first attribute of the new tuple 2 is "diabetes", the first attribute of the existing tuple 3 in the temporary table is "heart disease", and the first attribute of the existing tuple 4 in the temporary table is "asthma", then the set of first attributes of this equivalence group can be determined as {heart disease, diabetes, asthma}.

[0090] In some embodiments, a symmetric encryption algorithm is used to encrypt the first attribute value set, and the fields in the temporary storage table corresponding to the ciphertext of the first attribute value set are updated according to the encrypted first attribute value set.

[0091] Step S370: Store the processed new tuple data in a temporary table.

[0092] If the newly added tuple data does not match the published equivalent set, proceed with steps S310, S320, and S370.

[0093] It should be noted that the execution order of each step in the process shown in the embodiments of this disclosure can be flexibly adjusted without affecting the implementation of the data dynamic publishing method in this disclosure. For example, in some embodiments, the judgment logic in step S330 can be executed first. If the judgment result is that the newly added tuple data matches the equivalence set, then steps S350 to S360 are executed. If the judgment result is that the newly added tuple data does not match the equivalence set, then steps S370 are executed.

[0094] In this embodiment, by performing anonymization processing based on the matching of newly added tuple data with equivalent sets in published data, and storing the processed newly added tuple data in a temporary storage table, the security of the data stored in the temporary storage table can be improved. Furthermore, by optimizing the structure of the temporary storage table by adding a field corresponding to the ciphertext of the first attribute value set, it is easier to perform diversity checks subsequently based on this field and the field in the temporary storage table corresponding to the ciphertext of the first attribute value. This not only speeds up the checks but also reduces the risk of leakage of individual tuple data.

[0095] Figure 4 This is a flowchart illustrating the determination of equivalence sets to be tested according to some embodiments of the present disclosure. Figure 4 The illustrated process is an exemplary description of step S230. For example... Figure 4As shown, the process for determining the equivalence set to be tested in this embodiment of the disclosure includes:

[0096] Step S410: Determine whether there is generalized tuple data in the temporary table.

[0097] Step S420: Determine whether there are ungeneralized tuple data in the temporary table.

[0098] If the judgment result of step S410 is negative and the judgment result of step S420 is positive, then step S430 is executed; if the judgment result of step S410 is negative and the judgment result of step S420 is negative, then the current processing flow ends.

[0099] Step S430: Determine whether the ungeneralized tuple data satisfies the conditions for generating equivalence sets.

[0100] In some embodiments, step S430 includes: determining whether the number of non-generalized tuples corresponding to the same equivalence group is greater than or equal to k; if the number of non-generalized tuples corresponding to the same equivalence group is greater than or equal to k, determining that the equivalence group generation condition is met; otherwise, determining that the equivalence group generation condition is not met. Wherein, k is a positive integer greater than or equal to 2.

[0101] If the judgment result of step S410 is negative, the judgment result of step S420 is positive, and the judgment result of step S430 is positive, then step S440 is executed; if the judgment result of step S410 is negative, the judgment result of step S420 is positive, and the judgment result of step S430 is negative, then the current processing flow ends.

[0102] Step S440: The new equivalence set generated from the ungeneralized tuple data is used as the equivalence set to be tested.

[0103] In this embodiment of the disclosure, when there are ungeneralized tuple data in the temporary storage table, and the ungeneralized tuple data can generate new equivalent sets, the new equivalent sets generated based on the ungeneralized tuple data will be used as the equivalent sets to be tested.

[0104] Step S450: Determine whether there are ungeneralized tuple data in the temporary table.

[0105] If the judgment result of step S410 is yes and the judgment result of S450 is yes, then step S460 is executed; if the judgment result of step S410 is yes and the judgment result of S450 is no, then step S480 is executed.

[0106] Step S460: Determine whether the ungeneralized tuple data satisfies the conditions for generating equivalence sets.

[0107] If the judgment result of step S410 is yes, the judgment result of S450 is yes, and the judgment result of S460 is yes, then step S470 is executed; if the judgment result of step S410 is yes, the judgment result of S450 is yes, and the judgment result of S460 is no, then step S480 is executed.

[0108] Step S470: Take the equivalent set containing the generalized tuple data in the temporary table, and the new equivalent set generated from the non-generalized tuple data, as the equivalent set to be tested.

[0109] In this embodiment of the disclosure, when there are generalized tuple data and non-generalized tuple data in the temporary storage table, and the non-generalized tuple data can generate a new equivalence set, the equivalence set containing the generalized tuple data in the temporary storage table, and the new equivalence set generated based on the non-generalized tuple data, are taken as the equivalence sets to be tested.

[0110] Step S480: Take the equivalent group containing the generalized tuple data in the temporary table as the equivalent group to be tested.

[0111] In this embodiment of the disclosure, when there are generalized tuple data and non-generalized tuple data in the temporary storage table, and the non-generalized tuple data cannot generate a new equivalence set, the equivalence set containing the generalized tuple data in the temporary storage table is taken as the equivalence set to be tested.

[0112] Without affecting the implementation of the data dynamic publishing method of this disclosure, the execution order of each step in the process of determining the equivalent set to be tested can be flexibly adjusted. For example, in some embodiments, it can be determined first whether there is ungeneralized tuple data in the temporary table, and then whether there is generalized tuple data in the temporary table.

[0113] In this embodiment of the disclosure, the above process can automatically determine the corresponding equivalent groups to be tested based on the tuple data in the temporary table, which can not only speed up the diversity test, but also improve the applicability of the dynamic data release method.

[0114] Figure 5 This is a flowchart illustrating a diversity test based on data in a temporary table according to some embodiments of the present disclosure. Figure 5 The illustrated process is primarily an exemplary description of steps S230 and S240. For example... Figure 5 As shown in this embodiment, the process of performing diversity testing based on data in the temporary storage table includes:

[0115] Step S501: Determine whether there is generalized tuple data in the temporary table.

[0116] If the result of the judgment in step S501 is negative, proceed to step S502; if the result of the judgment in step S501 is positive, proceed to step S507.

[0117] Step S502: Determine whether there are ungeneralized tuple data in the temporary table.

[0118] If the judgment result of step S502 is yes, proceed to step S503; if the judgment result of step S502 is no, end the current processing flow.

[0119] Step S503: Determine whether the ungeneralized tuple data satisfies the conditions for generating equivalence sets.

[0120] In some embodiments, the condition for generating equivalence sets is that the number of tuples located in the same quasi-identifier value range is greater than or equal to the value k.

[0121] If the judgment result of step S503 is yes, proceed to step S504; if the judgment result of step S503 is no, end the current processing flow.

[0122] Step S504: The new equivalence set generated based on the ungeneralized tuple data is used as the equivalence set to be tested.

[0123] For example, suppose that the temporary table contains only 5 ungeneralized tuples (tuple numbers 1 to 5) as shown in Table 1, and suppose the value of k is 3, check whether these 5 tuples satisfy the conditions for generating equivalence sets.

[0124] Table 1

[0125]

[0126] As shown in Table 1, tuples numbered 1 and 3-5 correspond to the same quasi-identifier value range "height (180, 190], weight (70, 80]". Since the number of tuples is greater than 3, tuples numbered 1 and 3-5 can form an equivalence set "height (180, 190], weight (70, 80]". The tuple numbered 2 contains only one tuple in its quasi-identifier value range, which is less than the k value and does not meet the k-anonymity requirement. Therefore, the equivalence set generated from tuples numbered 1 and 3-5 in the temporary table will be used as the equivalence set to be tested.

[0127] Step S505: Decrypt the ciphertext containing sensitive attributes.

[0128] In some embodiments, a symmetric decryption algorithm is used to decrypt the ciphertext of the sensitive attribute to obtain the plaintext of the sensitive attribute.

[0129] Step S506: Generate a set of sensitive attribute values.

[0130] In this step, a set of sensitive attribute values ​​for the equivalence group is generated based on the sensitive attributes of the tuple data under the same equivalence group.

[0131] For example, decrypting the ciphertext of the sensitive attribute "health status" values ​​in tuples numbered 1 and 3-5 in Table 1 reveals the sensitive attribute values ​​for these four tuples as follows: heart disease, diabetes, diabetes, diabetes. Then, based on these four tuple values, a sensitive attribute value set {heart disease, diabetes} is generated.

[0132] After step S506, step S509 is executed.

[0133] Step S507: Take the equivalent group containing the generalized tuple data in the temporary table as the equivalent group to be tested.

[0134] In step S507, if the temporary table contains only generalized tuple data, then the equivalence set containing the generalized tuple data is taken as the equivalence set to be tested; if the temporary table contains both generalized and non-generalized tuple data, and the non-generalized tuple data can generate an equivalence set, then the equivalence set containing the generalized tuple data and the newly generated equivalence set are taken as the equivalence set to be tested.

[0135] For example, assuming that the temporary table contains only the 5 generalized tuples shown in Table 2, then the equivalence set containing these 5 generalized tuples will be taken as the equivalence set to be tested.

[0136] Table 2

[0137]

[0138]

[0139] As shown in Table 2, the equivalence group containing tuples numbered 1, 2, and 4 is "height (170, 180], weight (60, 70]", and the equivalence group containing tuples numbered 3 and 5 is "height (160, 170], weight (60, 70]". Therefore, these two equivalence groups are taken as the equivalence groups to be tested.

[0140] Step S508: Decrypt the ciphertext of the sensitive attribute values ​​and the ciphertext of the sensitive attribute value set.

[0141] In this step, the ciphertext of the sensitive attribute values ​​and the ciphertext of the sensitive attribute value set of the generalized tuple data in the temporary table are decrypted.

[0142] For example, decrypting the ciphertext of the sensitive attribute values ​​of tuples numbered 1-5 in Table 2 yields the following sensitive attribute values: heart disease, asthma, diabetes, diabetes, asthma; decrypting the ciphertext of the sensitive attribute value set of the equivalence group containing tuples numbered 1, 2, and 4 in Table 2 yields the sensitive attribute value set {heart disease, asthma, diabetes}; and decrypting the ciphertext of the sensitive attribute value set of the equivalence group containing tuples numbered 3 and 5 in Table 2 yields the sensitive attribute value set {diabetes, asthma}.

[0143] After step S508, step S509 is executed.

[0144] Step S509: Perform diversity testing based on the sensitive attributes and the set of sensitive attributes of the equivalence group to be tested.

[0145] In some embodiments, in step S509, a diversity test is performed as follows: Assuming there exists an equivalence set G, containing n tuples and m sensitive attribute values, the number of tuples possessing the i-th sensitive attribute characteristic is... The equivalence set to be tested meets the diversity test if it satisfies the following conditions:

[0146] m≥p (1)

[0147]

[0148] Equation (1) is called the p-test, and Equation (2) is called the t-test. p is a positive integer, and t is a floating-point number in the interval (0, 1).

[0149] Step S510: Determine whether the equivalence group to be tested passes the diversity test.

[0150] For example, assuming k is 3, p is 3, and t is 0.4, the tuple data numbered 1 and 3-5 in Table 1 can form an equivalence group "height (180, 190], weight (70, 80]". The sensitive attribute value set in this equivalence group is {heart disease, diabetes}, and the number of elements is less than 3, which does not meet the diversity test requirements. Therefore, these tuple data will not be published.

[0151] For example, assuming k is 3, p is 3, and t is 0.4, the tuples numbered 1, 2, and 4 in Table 2 constitute equivalence group 1 to be tested. Its sensitive attribute value set is {heart disease, asthma, diabetes}, with 3 elements, satisfying the p-test requirement. The proportion of tuples corresponding to each sensitive attribute value in this equivalence group is 1 / 3, less than 0.4, satisfying the t-test requirement. Therefore, equivalence group 1 passes the diversity test. The tuples numbered 3 and 5 in Table 2 constitute equivalence group 2 to be tested. Its sensitive attribute value set is {diabetes, asthma}, with less than 3 elements, not satisfying the p-test requirement. Therefore, equivalence group 2 fails the diversity test.

[0152] If at least one equivalence group to be tested passes the diversity test, proceed to step S511; if none of the equivalence groups to be tested pass the diversity test, proceed to step S512.

[0153] Step S511: Publish the data.

[0154] In some embodiments, tuple data from equivalence sets that pass the diversity test in the temporary table are updated in the published data table.

[0155] Step S512: Do not publish data.

[0156] In some embodiments, tuple data from equivalence sets that fail the diversity test are retained in a temporary table, awaiting the next update.

[0157] In this embodiment, before publishing updated incremental data, a diversity check is performed on the equivalence sets to be checked in the temporary storage table. Only tuple data in the equivalence sets to be checked that pass the check can be published. This prevents homogeneity attacks and also prevents attackers from performing differential inference based on the data before and after the update, thereby improving the security of dynamically published data. Furthermore, by optimizing the structure of the temporary storage table, a "ciphertext of sensitive attribute value set" column is added. The sensitive attributes and sensitive attribute value sets of the equivalence sets are symmetrically encrypted and stored in the temporary storage table. During the diversity check, the ciphertext of the sensitive attribute value set and the ciphertext of the sensitive attribute values ​​in the temporary storage table are decrypted, and the diversity check is performed based on the decryption result. This not only speeds up the diversity check but also reduces the risk of leakage of individual tuple data.

[0158] Figure 6 This is a flowchart illustrating a method for dynamically publishing data according to other embodiments of this disclosure. For example... Figure 6 As shown, the data dynamic publishing method of this disclosure includes:

[0159] Step 610: Perform attribute splitting on the incremental tuples.

[0160] In this step, the attributes in the incremental tuple are split into: identifiers, quasi-identifiers, and sensitive attributes. For example, suppose the incremental tuple data includes the following attributes: name, height, weight, and health status. Name is used as the identifier, height and weight as quasi-identifiers, and health status as the sensitive attribute.

[0161] Step 620: Determine whether the quasi-identifier in the incremental tuple matches the published equivalence set.

[0162] For example, suppose the published data is shown in Table 3, and the incremental tuple data is shown in Table 4.

[0163] Table 3

[0164]

[0165] Table 4

[0166]

[0167] As can be seen from Tables 3 and 4, the first incremental tuple data matches the equivalent group "height (170,180], weight (60,70]" in the published data, the second incremental tuple data matches the equivalent group "height (160,170], weight (50,60]" in the published data, and the third to fifth incremental tuple data do not match the equivalent groups in the published data.

[0168] If the quasi-identifier in the incremental tuple matches the published equivalence set, proceed to step 630; if the quasi-identifier in the incremental tuple does not match the published equivalence set, do not proceed to step 630.

[0169] Step 630: Generalize the quasi-identifiers in the incremental tuples.

[0170] For example, generalization is performed on the first and second incremental tuple data in Table 4, but no generalization is performed on the third to fifth incremental tuple data in Table 4.

[0171] Step 640: Perform symmetric encryption on the sensitive attributes in the incremental tuple.

[0172] In some embodiments, sensitive attributes in the incremental tuple are symmetrically encrypted based on the unique encoding of the incremental tuple.

[0173] In some embodiments, the method further includes: anonymizing the identifiers in the incremental tuples. For example, removing the identifier "name" from the first to fifth incremental tuples in Table 4, and symmetrically encrypting the sensitive attribute "health status" in the first to fifth incremental tuples. After anonymizing the incremental data through step 640, or through steps 630 and 640, step 650 is executed.

[0174] Step 650: Update the temporary table.

[0175] In step 650, for incremental data that matches the equivalence group in the published data, the tuple data after steps 630 and 640 and the identifier concealment processing is stored in a temporary table, and the "ciphertext of sensitive attribute value set" column in the temporary table is updated; for incremental data that does not match the equivalence group in the published data, the tuple data after steps 640 and the identifier concealment processing is stored in a temporary table.

[0176] For example, suppose the plaintext form of the tuple data in the temporary table is as shown in Table 5, and the updated tuple data in the temporary table is as shown in Table 6.

[0177] Table 5

[0178]

[0179] Table 6

[0180]

[0181] For example, given the existing equivalence group "(170,180]、weight(60,70]" in the temporary table, based on the sensitive attribute values ​​"heart disease, diabetes" of the original tuple data (uniquely encoded UUIDs Id1 and Id2) in the temporary table, and the sensitive attribute value "asthma" of the incremental tuple data (uniquely encoded UUID Id6) in the equivalence group, the updated sensitive attribute value set of the equivalence group is determined to be {heart disease, diabetes, asthma}. This sensitive attribute value set is then encrypted to obtain ciphertext A.

[0182] Step 660: Generate a new equivalence set or retrieve an existing equivalence set based on the temporary table.

[0183] In this step, the equivalence sets containing the generalized tuple data in the temporary table, as well as the new equivalence sets generated by the non-generalized tuple data, are used as the equivalence sets to be tested. If no new equivalence sets can be generated, the equivalence sets containing the generalized tuple data are used as the equivalence sets to be tested; if no existing equivalence sets exist, the new equivalence sets generated by the non-generalized tuple data are used as the equivalence sets to be tested.

[0184] Step 670: Diversity test.

[0185] If at least one equivalence set to be tested passes the diversity test, proceed to step 680; if none of the equivalence sets to be tested pass the diversity test, proceed to step 690.

[0186] Step 680: Update the published data table.

[0187] Step 690: Do not update the published data table.

[0188] In this embodiment, the above steps enhance the anonymized data's resistance to homogeneity and differential attacks, effectively preventing attackers from conducting homogeneity attacks and differential inference based on data before and after updates, thereby improving the security of dynamic data release. Furthermore, by encrypting incremental data using its unique encoding and sensitive attributes during anonymization, the uniqueness of the generated sensitive attribute ciphertext fields is ensured, preventing attackers from stealing the temporary storage table and then decrypting the corresponding released data information.

[0189] Figure 7 This is a block diagram illustrating a data dynamic publishing apparatus according to some embodiments of the present disclosure. Figure 7 As shown, the data dynamic publishing device 700 of this embodiment includes: anonymization processing module 710, update module 720, determination module 730, verification module 740, and publishing module 750.

[0190] The anonymization module 710 is configured to anonymize newly added tuple data.

[0191] In some embodiments, the anonymization processing module 710 is configured to: conceal the identifier in the newly added tuple data when the value of the second attribute in the newly added tuple data matches an equivalence group in the published data; encrypt the value of the first attribute in the newly added tuple data according to the unique code corresponding to the newly added tuple data; and generalize the value of the second attribute in the newly added tuple data.

[0192] In some embodiments, the anonymization processing module 710 is configured to: conceal the identifier in the newly added tuple data when the value of the second attribute in the newly added tuple data does not match the equivalence group in the published data; and encrypt the value of the first attribute in the newly added tuple data according to the unique code corresponding to the newly added tuple data.

[0193] Update module 720 is configured to update the temporary table based on the newly added tuple data after anonymization.

[0194] The determination module 730 is configured to determine the equivalence set to be tested based on the tuple data in the temporary table.

[0195] The inspection module 740 is configured to perform diversity testing on the equivalence groups to be tested.

[0196] In some embodiments, the testing module 740 is configured to: determine whether the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to a first threshold; if the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to the first threshold, then the equivalence group to be tested passes the diversity test; otherwise, the equivalence group to be tested fails the diversity test.

[0197] In other embodiments, the verification module 740 is configured to: determine whether the number of elements in the first attribute value set of the equivalence group to be verified is greater than or equal to a first threshold; if the number of elements in the first attribute value set of the equivalence group to be verified is greater than or equal to the first threshold, determine whether the dispersion of the distribution of each element in the first attribute value set on the equivalence group to be verified is less than or equal to a second threshold; if the number of elements in the first attribute value set of the equivalence group to be verified is greater than or equal to the first threshold, and the dispersion of the distribution of each element in the first attribute value set on the equivalence group to be verified is less than or equal to the second threshold, then determine that the equivalence group to be verified passes the diversity test; otherwise, determine that the equivalence group to be verified fails the diversity test.

[0198] The publishing module 750 is configured to publish the equivalence set to be tested if the equivalence set to be tested passes the diversity test.

[0199] In the embodiments disclosed herein, the above-mentioned apparatus can enhance the ability of anonymized data to resist homogeneity attacks and differential attacks, effectively preventing attackers from carrying out homogeneity attacks and differential inference based on data before and after updates, thereby improving the security of dynamic data release.

[0200] Figure 8 This is a block diagram illustrating a data dynamic publishing apparatus according to other embodiments of the present disclosure.

[0201] like Figure 8 As shown, the data dynamic publishing apparatus 800 includes a memory 810 and a processor 820 coupled to the memory 810. The memory 810 is used to store instructions for executing embodiments of the data dynamic publishing method. The processor 820 is configured to execute the data dynamic publishing method in any of the embodiments of this disclosure based on the instructions stored in the memory 810.

[0202] Figure 9 This is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure.

[0203] like Figure 9 As shown, the computer system 900 can be represented in the form of a general computing device. The computer system 900 includes a memory 910, a processor 920, and a bus 930 connecting different system components.

[0204] The memory 910 may include, for example, system memory, non-volatile storage media, etc. The system memory may store, for example, an operating system, application programs, a boot loader, and other programs. The system memory may include volatile storage media, such as random access memory (RAM) and / or cache memory. The non-volatile storage media may store, for example, instructions for executing at least one of the corresponding embodiments of the data dynamic publishing method. Non-volatile storage media include, but are not limited to, disk storage, optical storage, flash memory, etc.

[0205] The processor 920 can be implemented using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete hardware components such as discrete gates or transistors. Accordingly, each module, such as the anonymization module, update module, determination module, verification module, and release module, can be implemented by executing instructions in the central processing unit (CPU) running memory to perform the corresponding steps, or by implementing dedicated circuitry to perform the corresponding steps.

[0206] Bus 930 can use any of the various bus architectures. For example, bus architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, and Peripheral Component Interconnect (PCI) bus.

[0207] The computer system 900 may also include an input / output interface 940, a network interface 950, and a storage interface 960. These interfaces 940, 950, and 960, as well as the memory 910 and processor 920, can be connected via a bus 930. The input / output interface 940 provides a connection interface for input / output devices such as a monitor, mouse, and keyboard. The network interface 950 provides a connection interface for various networked devices. The storage interface 960 provides a connection interface for external storage devices such as floppy disks, USB flash drives, and SD cards.

[0208] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations thereof, can be implemented by computer-readable program instructions.

[0209] These computer-readable program instructions are provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable device to produce a machine, such that execution of the instructions by the processor produces means for implementing the functions specified in one or more boxes of the flowchart and / or block diagram.

[0210] These computer-readable program instructions may also be stored in a computer-readable storage medium. These instructions cause a computer to work in a particular manner to produce an article of manufacture, including instructions that implement the functions specified in one or more boxes in a flowchart and / or block diagram.

[0211] This disclosure may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects.

[0212] The data dynamic publishing method and apparatus in the above embodiments can enhance the ability of anonymized data to resist homogeneity attacks and differential attacks, effectively preventing attackers from carrying out homogeneity attacks and differential inference based on data before and after updates, thereby improving data security.

[0213] The method and apparatus for dynamically publishing data according to this disclosure have now been described in detail. To avoid obscuring the concept of this disclosure, some details known in the art have not been described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.

Claims

1. A method for dynamically publishing data, executed by a data dynamically publishing device, comprising: Anonymize the newly added tuple data; Update the temporary table based on the newly added tuple data after anonymization; Determining equivalence groups to be tested based on the tuple data in the temporary storage table includes: if the temporary storage table contains generalized and non-generalized tuple data, determining whether the non-generalized tuple data satisfies the equivalence group generation condition; if the non-generalized tuple data satisfies the equivalence group generation condition, taking the equivalence group containing the generalized tuple data in the temporary storage table, and the new equivalence group generated based on the non-generalized tuple data, as the equivalence groups to be tested; if the non-generalized tuple data does not satisfy the equivalence group generation condition, taking the equivalence group containing the generalized tuple data in the temporary storage table as the equivalence group to be tested, wherein the tuple data is a data record in a relational data table, and determining whether the non-generalized tuple data satisfies the equivalence group generation condition includes: determining whether the number of non-generalized tuples corresponding to the same equivalence group is greater than or equal to k; if the number of non-generalized tuples corresponding to the same equivalence group is greater than or equal to k, determining that the equivalence group generation condition is satisfied, where k is an integer greater than or equal to 2. Performing a diversity test on the equivalence set to be tested includes: determining whether the number of elements in the first attribute value set of the equivalence set to be tested is greater than or equal to a first threshold; if the number of elements in the first attribute value set of the equivalence set to be tested is greater than or equal to the first threshold, determining whether the dispersion of the distribution of each element in the first attribute value set on the equivalence set to be tested is less than or equal to a second threshold; if the number of elements is greater than or equal to the first threshold and the dispersion of the distribution is less than or equal to the second threshold, determining that the equivalence set to be tested passes the diversity test; otherwise, determining that the equivalence set to be tested fails the diversity test, wherein the first attribute is a sensitive attribute; If the equivalence set to be tested passes the diversity test, the equivalence set to be tested is published.

2. The data dynamic publishing method according to claim 1, wherein, Determining whether the dispersion of the distribution of each element in the first attribute value set on the equivalence group to be tested is less than or equal to the second threshold includes: Calculate the percentage of tuples corresponding to each element in the set of values ​​for the first attribute; The maximum value of the proportion of the number of tuples is determined based on the proportion of the number of tuples corresponding to each element in the first attribute value set; Determine whether the maximum percentage of the number of tuples is less than or equal to the second threshold.

3. The data dynamic publishing method according to claim 1, wherein, Based on the tuple data in the temporary table, the equivalence sets to be tested also include: If the temporary table contains only ungeneralized tuple data, the equivalent group containing the generalized tuple data in the temporary table shall be the equivalent group to be tested. When only ungeneralized tuple data exists in the temporary table, a new equivalence set generated based on the ungeneralized tuple data will be used as the equivalence set to be tested.

4. The data dynamic publishing method according to claim 1, wherein, The anonymization process for the newly added tuple data includes: If the value of the second attribute in the newly added tuple data matches the equivalent group in the published data, the identifier in the newly added tuple data is hidden, wherein the second attribute is a quasi-identifier. Based on the unique code corresponding to the newly added tuple data, the value of the first attribute in the newly added tuple data is encrypted; and... The values ​​of the second attribute in the newly added tuple data are generalized.

5. The data dynamic publishing method according to claim 1, wherein, The anonymization process for the newly added tuple data includes: If the value of the second attribute in the newly added tuple data does not match the equivalence set in the published data, the identifier in the newly added tuple data is hidden, wherein the second attribute is a quasi-identifier; and The value of the first attribute in the newly added tuple data is encrypted based on the unique code corresponding to the newly added tuple data.

6. The data dynamic publishing method according to claim 4, wherein, The temporary table is updated based on the newly added tuple data after anonymization, including: If the value of the second attribute in the newly added tuple data matches an equivalent group in the published data, the anonymized newly added tuple data is stored in a temporary table; and The ciphertext of the first attribute value set in the temporary table is updated based on the first attribute value in the newly added tuple data.

7. The data dynamic publishing method according to claim 6, wherein, Updating the ciphertext of the first attribute value set in the temporary table based on the first attribute value in the newly added tuple data includes: Based on the value of the first attribute in the newly added tuple data, determine the set of the first attribute values ​​of the equivalence group to which the newly added tuple data belongs; Encrypt the first set of attribute values; Update the ciphertext of the first attribute value set in the temporary storage table according to the encrypted first attribute value set.

8. The data dynamic publishing method according to claim 5, wherein, The temporary table is updated based on the newly added tuple data after anonymization, including: If the value of the second attribute in the newly added tuple data does not match the equivalent set in the published data, the anonymized newly added tuple data will be stored in a temporary table.

9. The data dynamic publishing method according to claim 1 further includes: Before performing diversity testing on the equivalence groups containing the generalized tuple data in the temporary table, the ciphertext of the first attribute value set of the equivalence group and the ciphertext of the first attribute value of each tuple data in the equivalence group are obtained from the temporary table. The ciphertext of the first attribute value set and the ciphertext of the first attribute value are decrypted to obtain the first attribute value set of the equivalence group and the first attribute value of each tuple data in the equivalence group. Before performing diversity testing on the new equivalence groups formed by the ungeneralized tuple data in the temporary table, the ciphertext of the first attribute value of each tuple data in the equivalence group is decrypted to obtain the first attribute value of each tuple data in the equivalence group. Based on the first attribute value of each tuple data in the equivalence group, the first attribute value set of the equivalence group is generated.

10. A data dynamic publishing device, comprising: The anonymization module is configured to anonymize newly added tuple data; The update module is configured to update the temporary table based on the newly added tuple data after anonymization. The determination module is configured to determine the equivalence group to be tested based on the tuple data in the temporary table, including: if there are generalized tuple data and non-generalized tuple data in the temporary table, determining whether the non-generalized tuple data satisfies the equivalence group generation condition; if the non-generalized tuple data satisfies the equivalence group generation condition, taking the equivalence group containing the generalized tuple data in the temporary table and the new equivalence group generated based on the non-generalized tuple data as the equivalence group to be tested; if the non-generalized tuple data does not satisfy the equivalence group generation condition, taking the equivalence group containing the generalized tuple data in the temporary table as the equivalence group to be tested, wherein the tuple data is a data record in a relational data table, and determining whether the non-generalized tuple data satisfies the equivalence group generation condition includes: determining whether the number of non-generalized tuples corresponding to the same equivalence group is greater than or equal to k; if the number of non-generalized tuples corresponding to the same equivalence group is greater than or equal to k, determining that the equivalence group generation condition is satisfied, where k is an integer greater than or equal to 2. The testing module is configured to perform a diversity test on the equivalence group to be tested, including: determining whether the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to a first threshold; if the number of elements in the first attribute value set of the equivalence group to be tested is greater than or equal to the first threshold, determining whether the distribution dispersion of each element in the first attribute value set on the equivalence group to be tested is less than or equal to a second threshold; if the number of elements is greater than or equal to the first threshold and the distribution dispersion is less than or equal to the second threshold, determining that the equivalence group to be tested passes the diversity test; otherwise, determining that the equivalence group to be tested fails the diversity test, wherein the first attribute is a sensitive attribute; The publishing module is configured to publish the equivalence set to be tested if the equivalence set to be tested passes the diversity test.

11. A data dynamic publishing device, comprising: Memory; as well as A processor coupled to the memory, the processor being configured to execute the data dynamic publishing method as described in any one of claims 1 to 9 based on instructions stored in the memory.

12. A computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, implement the data dynamic publishing method as described in any one of claims 1 to 9.