A bloom filter encoding privacy protection reinforcement method based on ULDP
By enhancing the privacy protection of Bloom filters using UBF and ULA methods, the problems of insufficient privacy protection and poor matching performance in existing technologies are solved, achieving lower privacy costs and better matching results when merging hospital datasets.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIHANG UNIV
- Filing Date
- 2022-12-01
- Publication Date
- 2026-06-09
AI Technical Summary
Existing Bloom filter encoding methods suffer from privacy issues, such as failing to meet differential privacy requirements and poor matching performance. In particular, when merging datasets from different hospitals, the BLIP method, while satisfying differential privacy, suffers from low recall and precision.
The Utility-optimized Bloom filter Flip (UBF) and Utility-optimized Laplace noise Addition (ULA) methods are used to enhance the privacy of the Bloom filter by reading and standardizing patient information and using Laplace distribution and WXOR or Re-sampling XOR methods to generate codes that satisfy differential privacy.
It achieves lower privacy costs and better matching results when merging hospital datasets, improves the recall and accuracy of the datasets, and meets the requirements of differential privacy.
Smart Images

Figure CN115795541B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information security technology, and in particular to a privacy protection enhancement method based on ULDP-based Bloom filter encoding. Background Technology
[0002] Currently, there are many privacy-enhancing methods for Bloom filter encoding, such as Salting, Balancing, XOR-folding, Rule 90, BLIP, WXOR, and Re-sampling XOR. Among these methods, only BLIP satisfies the requirements of differential privacy. XOR-folding, Rule 90, WXOR, and Re-sampling XOR mainly use the properties of XOR to enhance privacy.
[0003] Salting, proposed by Niedermeyer et al., is a reinforcement method that avoids re-identification attacks on Bloom filters by adding an extra string value, also called a salt, to each qgram before hashing. The newly added string value should be highly specific to a single entity and should not change over time. Most frequently occurring qgrams become less frequent after salting, thus breaking the conditions for frequency-based decryption attacks. While salting can protect privacy, it can lead to inconsistencies in the presence and absence of salting for the same individual across different datasets, resulting in a decrease in matching results.
[0004] Balancing method: Attacks targeting Bloom filter encoding often use the Hamming weights of the Bloom filter for sorting, thereby finding frequent q-grams or certain positions within the Bloom filter. Balancing breaks this condition by halving the Hamming weight of each Bloom filter. It flips each bit of the original Bloom filter of length l and then concatenates it to the end of the original Bloom filter to make the final Bloom filter balanced. Balance means that the Hamming weight of the Bloom filter is equal to half its length. After concatenation, the Bloom filter of length 2l is shuffled to further protect privacy. However, the balanced Bloom filter requires more space than the original Bloom filter. The Balancing method calculates the privacy-enhancing Bloom filter, b H The calculation formula is as follows: b H= shuffle(b+~b), where b is the original Bloom filter, ~b represents the inversion of each bit of the Bloom filter, and shuffle() represents shuffling the Bloom filter. The Balancing method can protect privacy, but it has no effect on attack methods based on pattern mining. Since the Balancing method needs to splice the Bloom filters that appear, it will increase the space complexity of the method.
[0005] XOR-folding method: Schnell and Borgs proposed a method that combines vector folding with bitwise XOR (exclusive OR) operations to improve the privacy protection effect of Bloom filters. This method first divides the Bloom filter of length l into two parts of the same length, namely b1 and b2, each part with a length of l / 2, b1[i] = b[i], b2[i] = b[i + l / 2], where 1 ≤ i < l / 2, the privacy-protected enhanced Bloom Filter, b H The calculation is as follows: where represents the XOR calculation. Due to the characteristics of the XOR operation, the attacker cannot determine the true value of the original position, and the XOR implies the information of the set-to-1 bits in the original Bloom Filter, and it has a large tolerance for cryptographic analysis attacks. The XOR-folding method can protect privacy, but it has no effect on attack methods based on pattern mining. And the XOR-folding method does not satisfy differential privacy.
[0006] Rule 90 method: Wolfram's Rule 90 is a rule for cellular automata. This rule uses the XOR calculation of the values of the two bits on the left and right of each bit to generate the new value of this bit. Schnell and Borgs proposed using Rule 90 as a privacy-protected enhancement technology for Bloom filter encoding because, like XOR-folding, it is an irreversible process. The privacy-protected enhanced Bloom filter, b H The calculation formula for each bit is as follows: where 1 ≤ i < l, represents the XOR calculation. When calculating the first bit, there is no value on its left, and in this case, the last bit is used as the value on the left of the first bit. Similarly, when calculating the last bit, the first bit is needed as the value on the right of the last bit, so the formula (2.6) needs to use mod. But the Rule 90 method does not satisfy differential privacy.
[0007] Bloom and Flip (BLIP) method: The Bloom and Flip (BLIP) method randomly flips the value of each bit in the Bloom Filter according to the Random Response (RR) mechanism. The RR mechanism is a mechanism under the concept of Differential Privacy (DP). The BLIP method is similar to the RAPPOR method. For each bit of the Bloom filter b, assuming it has a probability p of being flipped, when it is flipped, it has a probability of 1 / 2 of becoming 1 and a probability of 1 / 2 of becoming 0, and the probability that this bit is not flipped is 1 - p. Then for the i-th position of the Bloom filter b corresponding to the privacy-enhanced Bloom filter b H The calculation can be obtained as the following formula: where 0 ≤ i < l. When p = 0.05, if l = 1000, it means that approximately every Bloom filter will have 50 bits flipped, approximately 25 bits will become the opposite value of the original value, and the remaining values will not change. The recent work of Vaiwsri et al. studied the matching quality of the Bloomfilter dataset enhanced by the above BLIP method. This work found that BLIP will reduce the matching quality, especially as the flipping probability p increases. Under certain p settings, the recall rate drops significantly, resulting in almost no real matches being found. Vaiwsri et al. improved BLIP based on the reference value. Their method uses a pseudo-random number generator (PRNG) to randomly generate a sequence of bit positions to be randomized. This method can improve the matching quality for most BLIP parameter settings, but it does not meet differential privacy. The BLIP method can only have a good matching effect when the privacy cost is large, and has a low recall rate when the similarity threshold is large, and a low accuracy when the similarity threshold is small.
[0008] WXOR method: The process of the WXOR method proposed by Thilina Ranbaduge is as Figure 1 shown. This method focuses on applying the sliding window method to enhance the Bloom filter. In this method, there are two sliding windows W1 and W2 with a window size of w that iteratively move along the Bloom filter with a length of l. In each iteration, the windows W1 and W2 move 1 bit each time. Then, a new value calculated by XORing each bit of these two windows is assigned to W1. Repeat these steps until the entire Bloom filter is processed to generate a new enhanced Bloom filter b H . However, the WXOR method does not meet differential privacy.
[0009] Re-sampling XOR Method: Re-sampling XOR is the second enhancement method proposed by Thilina Ranbaduge. This method first initializes a new enhanced Bloom filter b H , for each bit i of the enhanced b H , randomly select two bits in the original Bloom filter for XOR calculation, and then assign the result to this bit until all bits of b H are traversed. The calculation is as follows: where 0 ≤ i < l, i1 and i2 are two randomly generated positions, represents the XOR calculation. The RXOR method does not satisfy differential privacy.
[0010] There are many methods to merge data sets from two data sources, and people's requirements for privacy protection are also increasing. Currently, there are many cooperative studies between hospitals to promote the development of medicine. In this process, as much and as comprehensive patient data as possible is needed. However, each hospital may only specialize in certain diseases, so the data on these diseases is relatively complete, but the data on diseases that the hospital is not good at treating is scarce. Therefore, it is necessary to merge data sets from multiple hospitals for subsequent research. Most of us hope that our medical treatment information is not made public or known to people other than doctors. Therefore, when merging data sets from different hospitals, some information of these patients needs to be encoded so that other hospitals cannot know which person this disease data comes from. When merging data from different hospitals, we often use information such as the patient's name, age, and home address. These information are called personal identification information. After encoding this information, other hospitals cannot determine which patient this disease information comes from. Among many encoding methods, Bloom filter encoding is used the most, but Bloom filter encoding is vulnerable to attacks, so a privacy protection enhancement method is needed. Differential privacy is currently a recognized standard for privacy protection. However, among the current privacy protection enhancement methods for Bloom filter encoding, only the BLIP method satisfies differential privacy, and the BLIP method has some drawbacks. The present invention aims to design a privacy protection enhancement method for Bloomfilter encoding that satisfies differential privacy and can better merge data sets between different hospitals compared to other methods that satisfy differential privacy. Summary of the Invention
[0011] To this end, the present invention first proposes a privacy protection enhancement method based on ULDP Bloom filter encoding, including a reading module for reading and standardizing patient personal identification information data from different hospitals; an encoding module for encoding the personal identification information to prevent the patient information from being exposed and generating data column labels with a uniform format; and an output module for outputting encrypted patient data.
[0012] The encoding module is implemented using either the Utility-optimized Bloom filter Flip method or the Utility-optimized Laplace noise Addition method.
[0013] The Utility-optimized Bloom filter Flip method specifically involves: Let the sensitive dataset owned by the hospital be... It consists of n records v, that is The Bloom filter dataset obtained through encoding is B, which consists of n Bloom filters b, i.e., B = {b1, b2, ..., b}. n}, B is used to generate a Bloom filter dataset B through privacy enhancement methods. H B H Composed of n Bloom filters b H Composition, namely B H ={b H1 ,b H2 ,…,b Hn};
[0014] The length of b is l. First, by encoding a public dataset, the frequency of each position 1 in all Bloom filters is counted to obtain the frequency F, where F = {p i :b i}, 0≤i≤l-1, and arranged in descending order of frequency, where p i Indicates position, f i This represents the frequency of each bit being 1. The participating hospitals, based on the agreed-upon proportion δ of the sensitive data bits, divide the first δ bits of F into a sensitive data bit set I. S I S ={p i ,0≤i<δ·|F|},|I S |=δ·l, the rest is the set of non-sensitive data bits I N I N ={p i ,δ·|F|≤i<|F|}, thus dividing all outputs B' into a privacy-preserving set B. P'Non-privacy-protected set B N ', for b'∈B P ',b' belongs to I N None of the positions are set to 1, that is, b' = {b i ={0,1},b j =0|i∈I S ,j∈I N Otherwise, b' belongs to B. N ', B is divided into B P and B N For b∈B P b belongs to I N None of the positions are set to 1, that is, b = {b i ={0,1},b j =0|i∈I S ,j∈I N Otherwise, b belongs to B. N .
[0015] Generate b from b H The privacy protection enhancement method mentioned above is as follows: First, b uses a mechanism To obtain b', the mechanism Specifically:
[0016] Set privacy protection level calculate by The probability of b maps to b', where The specific calculation method is as follows:
[0017] If i∈I S ,
[0018] If i∈I N ,
[0019] Then, based on the threshold s used to determine whether the two Bloom filters match t Add a WXOR or Re-sampling XOR process; and then the mechanism For the output B P The record provides privacy protection that satisfies LDP, meaning that for any two Bloom filters, the output is always B. P The minimum probability of ' is d2. 2(1-δ)l ∈ takes the value 7.
[0020] The threshold s for determining whether two Bloom filters match t The specific method for determining this is as follows:
[0021] The matching parties determine the similarity threshold s t Then calculate the DiceSimilarity of the two Bloom filters according to the following formula. If the DiceSimilarity is greater than s t If the two Bloom filters match, then they are considered to be a match; otherwise, they are not.
[0022]
[0023] HW() represents the Hamming Weight of the Bloom filter (i.e., the number of 1s in the Bloom filter).
[0024] The utility-optimized Laplace noise addition method specifically involves: encoding a public dataset, counting the frequency of 1s at each position in all Bloom filters to obtain a frequency table F, and then dividing the positions into a data protection bit set I. S Non-data protection bit set I N ,|I S |=δ·l, thus dividing the output B' into a privacy-preserving set B. P 'Non-privacy-protected set B N ', B is divided into B P and B N .
[0025] Generate b from b H The privacy protection enhancement method mentioned above is as follows: First, b uses a mechanism Obtain b'. Mechanism Specifically: First, set the privacy protection level p, 0≤p≤1, and generate a random sequence of the same length as b using a Laplace distribution, n={n1,n2,…,n…} l}, calculate the threshold t for setting to 1 based on p. n , t n =abs(ln(p)), then by n and t n Generate Laplace noise bit vector b n b n ={b ni}, 1≤i≤l-1, when -t n ≤n i ≤t n At that time, b ni =0; when -t n ≥n i or n i ≥t n At that time, b ni =1, then by b and bn Through mechanism Generate b';
[0026] That is: if i∈I S ,
[0027] If i∈I N ,
[0028] After generating b', the same WXOR or Re-sampling XOR method as the UBF method is used to protect privacy on the data located in the non-privacy-protected bit set, and finally a privacy-protected Bloom filter b' is generated.
[0029] The WXOR process sets the window size w and divides b' into b' based on privacy protection bits and non-privacy protection bits. P 'and b N ', in b N Two sliding windows, W1 and W2, are generated on the top. W1 starts from b. N Starting from bit 0 at the beginning of ', shift by one bit in each iteration, W1 starts from bit b. N Starting from the second bit of ', shift one bit in each iteration, perform an XOR calculation on the values within the two windows, and then assign the result to W1, until the beginning of W1 reaches b. N The end of ' gives a new b N ', then b N 'Form b according to the original position of each of its elements in b' H Generate the final privacy-enhanced Bloom filter dataset B. H Used to record the matching phase.
[0030] The Re-sampling XOR process randomly generates position pairs of the same length as the privacy-protected bits in the non-privacy-protected bits, and then sequentially XORs each of the non-privacy-protected bits with the position pairs to generate a new value, resulting in b. N ', then b N 'Form b according to the original position of each of its elements in b' H .
[0031] The technical effects to be achieved by this invention are as follows:
[0032] Achieve lower privacy costs and better matching results in the process of data encoding and privacy protection for hospital patient information. Attached Figure Description
[0033] Figure 1 WXOR enhancement process;
[0034] Figure 2 UBF input and output partitioning;
[0035] Figure 3 Utility-optimized Bloom filter Flip (UBF) method;
[0036] Figure 4 Utility-optimized Laplace noise Addition (ULA) method;
[0037] Figure 5 Comparison of matching performance of UBF method with other reinforcement methods on NCVOTER dataset;
[0038] Figure 6 A comparison of the matching performance of the UBF method with other reinforcement methods on the EURO dataset;
[0039] Figure 7 A comparison of the matching performance of the UBF method with other reinforcement methods on the DBLP-ACM dataset;
[0040] Figure 8 Comparison of matching performance of ULA method with other reinforcement methods on NCVOTER dataset;
[0041] Figure 9 A comparison of the matching performance of the ULA method with other reinforcement methods on the EURO dataset;
[0042] Figure 10 Comparison of matching performance of ULA method with other reinforcement methods on DBLP-ACM dataset Detailed Implementation
[0043] The following are preferred embodiments of the present invention, which are described in conjunction with the accompanying drawings. However, the present invention is not limited to these embodiments.
[0044] This invention proposes a privacy-enhancing method for Bloom filter encoding based on ULDP.
[0045] The Utility-optimized Bloom filter Flip (UBF) method includes a reading module for reading and standardizing patient personal identification information data from different hospitals; an encoding module for encoding the personal identification information to prevent patient information from being exposed and generating data column labels with a uniform format; and an output module for outputting encrypted patient data.
[0046] The encoding module is implemented using either the Utility-optimized Bloom filter Flip method or the Utility-optimized Laplace noise Addition method.
[0047] Utility-optimized Bloom filter Flip method:
[0048] The sensitive datasets owned by the hospital are as follows: It consists of n records v, that is The Bloom filter dataset obtained through encoding is B, which consists of n Bloom filters b, i.e., B = {b1, b2, ..., b}. n}. B generates a Bloom filter dataset B using privacy-enhancing methods. H B H Composed of n Bloom filters b H Composition, namely B H ={b H1 ,b H2 ,…,b Hn}
[0049] Assuming the length of b is l, this method first encodes a common dataset and counts the frequency of each position 1 in all Bloom filters to obtain the frequency F, where F = {p i :f i}, 0≤i≤l-1, and arranged in descending order of frequency, where p i Indicates position, f i This represents the frequency of each '1' bit. The participating hospitals, based on the agreed-upon proportion δ of the sensitive data bits, divide the first δ bits of F into a sensitive data bit set I. S I S ={p i ,0≤i<δ·|F|},|I S |=δ·l, the rest is the set of non-sensitive data bits I N I N ={p i ,δ·|F|≤i<|F|}. Therefore, all outputs B' are partitioned into a privacy-preserving set B. P 'Non-privacy-protected set B N For b'∈B P ',b' belongs to I N None of the positions are set to 1, that is, b' = {b i ={0,1},b j =0|i∈IS ,j∈I N Otherwise, b' belongs to B. N '. B is divided into B P and B N For b∈B P b belongs to I N None of the positions are set to 1, that is, b = {b i ={0,1},b j =0|i∈I S ,j∈I N Otherwise, b belongs to B. N .like Figure 2 As shown, the UBF method only provides privacy protection that satisfies LDP for the data within the red box.
[0050] Each b generates b H As shown below.
[0051] First, b uses a mechanism We get b'. As shown below:
[0052] Set privacy protection level The larger the ∈, the lower the level of privacy protection, and vice versa. Calculation So, the mechanism You can The probability of b maps to b', where As shown below:
[0053] If i∈I S
[0054]
[0055] If i∈I N
[0056]
[0057] After obtaining b', since some real data is still exposed, it is necessary to determine whether it matches based on the threshold s. t Add another WXOR or Re-sampling XOR procedure. If it's a WXOR procedure, set the window size w, and divide b' into b' based on privacy-preserving bits and non-privacy-preserving bits. P 'and b N ', in b N Two sliding windows, W1 and W2, are generated on the top. W1 starts from b. N Starting from the beginning (bit 0), W1 moves one bit in each iteration, from b... NStarting from the second bit (bit 1), move one bit in each iteration. Perform an XOR calculation on the values within the two windows, and then assign the result to W1, until the beginning of W1 reaches b. N The end of ' gives a new b N '. Then b N 'Form b according to the original position of each of its elements in b' H Generate the final privacy-enhanced Bloom filter dataset B. H Used to record the matching phase. In the case of a Re-sampling XOR process, a pair of positions of the same length as the privacy-protected bits is randomly generated in the non-privacy-protected bits. Then, for each bit of the non-privacy-protected bits, an XOR operation is performed sequentially using the position pairs to generate a new value, resulting in b. N ', then b N 'Form b according to the original position of each of its elements in b' H .
[0058] The threshold s for determining whether two Bloom filters match t The specific method for determining this is as follows:
[0059] The matching parties determine the similarity threshold s t Then calculate the DiceSimilarity of the two Bloom filters according to the following formula. If the DiceSimilarity is greater than s t If the two Bloom filters match, then they are considered to be a match; otherwise, they are not.
[0060]
[0061] HW() represents the Hamming Weight of the Bloom filter (i.e., the number of 1s in the Bloom filter).
[0062] like Figure 3 As shown, δ = 0.5 is set, and I is obtained from F. S ={0,1,4,7,9}, I N ={2,3,5,6,8}. For a Bloom filter b = {1,0,1,1,0,0,0,1,1,0}, and setting ∈ = 7, then b through mechanism The result is b' = {1,0,1,0,0,0,0,1,1,0}. The non-privacy-protected bits of b' are then WXORed to generate b. H ={1,0,1,0,0,0,0,1,1,0}.
[0063] mechanism The output will be B P The record provides privacy protection that satisfies LDP. For any two Bloom filters, the output is a B. P The minimum probability of ' is d2. 2(1-δ)l As we can see, this value is affected by ∈ and δ. If ∈ is too small, it will severely impact the matching effect; if it is too large, it indicates insufficient privacy protection. Therefore, assuming ∈ takes a suitable value of 7, the probability is e. 7(1-δ)l While the exact value of the exponent cannot be determined, this method aims for the Hamming Weight of each Bloom filter to be half the total length, meaning half the bits are set to 1. Therefore, with 1000 Bloom filters, approximately 500 bits are set to 1. Assuming the probability of selecting each bit is equal, the average number of bits set to 1 in this portion is 500 × (1 - δ), where δ represents the number of bits protected by LDP privacy protection. Therefore, this method aims for δ to be as large as possible, so its exponent is highly likely not zero and will be a relatively large value. This indicates a very low probability that some genuine 1 bits will be exposed, making it necessary to add WXOR or Re-sampling XOR to protect this data.
[0064] Utility-optimized Laplace noise Addition method:
[0065] Similar to the UBF method, the ULA method also requires encoding a public dataset, counting the frequency of 1s at each position in all Bloom filters to obtain the frequency dictionary F, and then dividing the positions into a data protection bit set I. S Non-data protection bit set I N ,|I S |=δ·l. Therefore, the output B' is divided into a privacy-preserving set B. P 'Non-privacy-protected set B N '. B is divided into B P and B N .
[0066] Each b generates b H As shown below.
[0067] First, b uses a mechanism We get b'. As shown below:
[0068] First, define the privacy protection level p, where 0 ≤ p ≤ 1. A larger p indicates higher privacy protection, and vice versa. Then, generate a random sequence of the same length as b using a Laplace distribution, n = {n1, n2, ..., n}. l}. Calculate the threshold t for setting to 1 based on p. n , t n =abs(ln(p)). Then, based on n and t... n Generate Laplace noise bit vector b n b n ={b ni}, 1≤i≤l-1, when -t n ≤n i ≤t n At that time, b ni =0; when -t n ≥n i or n i ≥t n At that time, b ni =1. Then, from b and b n Through mechanism Generate b'
[0069] If i∈I S
[0070]
[0071] If i∈I N
[0072]
[0073] After generating b', this method, similar to the UBF method, also exposes some real data. Therefore, it is also necessary to use the same WXOR or Re-sampling XOR method as the UBF method to protect privacy on the data located in the non-privacy-protected bit set. Finally, a privacy-protected Bloom filter b' is generated.
[0074] like Figure 4 As shown, setting p = 0.03, I is obtained from F. S ={0,1,4,7,9}, I N ={2,3,5,6,8}. For a Bloom filter b = {1,0,1,1,0,0,0,1,0,0}, noise b that follows a Laplace distribution is generated. n ={0,1,0,0,0,0,0,0,0,0}, then perform an XOR operation on bn and b to obtain b' ={1,1,1,1,0,0,0,1,1,0}, and then perform a WXOR operation on the non-privacy protected bits of b' to generate b. H ={1,1,0,1,0,0,0,1,1,0}.
[0075] mechanism It will only work if the output is B. PThe record provides privacy protection that satisfies LDP. For any two Bloom filters, their outputs belong to B. P The probability of ' is minimum p 2(1-δ)l As we can see, this value is affected by p. Too much p severely impacts matching performance, while too little p indicates insufficient privacy protection. Therefore, assuming p is a suitable value of 0.03, the probability is 0.03. 2(1-δ)l While the exact value of the exponent cannot be determined, this method aims for the Hamming Weight of each Bloom filter to be half the total length, meaning half the bits are set to 1. Therefore, with 1000 Bloom filters, approximately 500 bits are set to 1. Assuming each bit is selected with equal probability, the average number of 1s in this portion is 500 × (1 - δ), where δ represents the number of bits protected by LDP privacy protection. This method aims for δ to be as large as possible, so its exponent is highly likely not zero and will be a relatively large value. This indicates a very low probability that some genuine 1s will be exposed, making WXOR protection of this data necessary.
[0076] By using the Utility-optimized Bloom filter Flip (UBF) method, lower privacy costs and better matching results can be achieved.
[0077] For the mechanism For any b i ∈{0,1}, its output b i The probabilities corresponding to '∈{0,1} are shown below:
[0078]
[0079]
[0080]
[0081]
[0082] Assume a Bloom filter b has a length of l, I S There are m bits in total, where bit x is set to 1, and bit I... S There are n digits in total, with y being 1, and m + n = 1. Then... Therefore, the probability of it generating Bloom filter b' can be obtained as follows:
[0083]
[0084] For any two records vA and v B The corresponding Bloom filter b A and b B Let b be any output b'∈B'. A I S There are m bits in total, where x A Position 1, I S There are n digits in total, where y A Position 1, b B Similarly, x A >x B We can obtain the following formula, which is less than or equal to e. ε ,because so:
[0085]
[0086] when When, the ratio is less than or equal to because Therefore, the ratio simplifies to The privacy cost of UBF.
[0087] From the above formula, it can be calculated that, Able to output B P 'Data provides satisfaction Privacy protection, of which x A x B y A y B The value of is related to δ; when δ = 1, the privacy cost is... At this point, x is equal to n in the privacy cost of the BLIP method. A x B y A y B The value of is different for different Bloom filters. The privacy cost reaches its maximum when both Bloom filters have different bits set to 1, and the sum of their bits set to 1 equals the length of the Bloom filter. Under the same conditions, the privacy cost of BLIP reaches its maximum. Similar to the UBF method. When δ is not 0, x must be less than or equal to n. At that time, the privacy cost of the ULA method is always less than or equal to BLIP, or At that time, the maximum privacy cost of the UBF method is always less than the maximum privacy cost of BLIP. However, this method assumes that not every Bloom filter requires privacy protection, so δ is not 0, therefore y A y B It is also highly unlikely to be 0, so when At that time, the privacy cost of this method is definitely less than that of BLIP, at most less. That is, y B =0, y A = (1-δ)·l.
[0088] Table 1 Statistics of the NCVOTER dataset
[0089]
[0090] Table 2 EURO Dataset Statistics
[0091] Dataset Name Number of records PERNAME1 PERNAME2 ENUMCAP DOB_YEAR census 25,343 2,169 1,029 3,022 435 cis 24,613 2,110 1,038 3,382 423
[0092] Table 3 Statistics of DBLP-ACM dataset
[0093] Dataset Name Number of records title year DBLP 2,616 2,521 15 ACM 2,294 2,230 10
[0094] Using the datasets shown in Tables 1, 2, and 3, we verified the matching performance of the UBF method compared to other methods. In the experiment, we set q = 2, l = 1000, and k = opt, and did not expand the attribute values. When determining whether two Bloom filters matched, we set the threshold to {0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0}. For the block-based method, we set num_seg = 50. When using the XOR-folding method, to prevent the blocks from becoming too large, we set num_seg = 25.
[0095] For the datasets, NC_50k_01 and NC_50k_03 use four recognition information points: first_name, last_name, county_desc, and street_name, with attribute weights of 0.8, 0.9, 0.4, and 0.6 respectively. It is assumed that first_name and last_name cannot be missing. For census and cis, PERNAME1, PERNAME2, and ENUMCAP recognition information are used, with attribute weights of 0.8, 0.9, and 0.6 respectively. It is assumed that PERNAME1 and PERNAME2 cannot be missing. For DBLP and ACM, title recognition information is used, with an attribute weight of 1.0, and the title cannot be missing. In this section's experiments, the UBF method and ULA will be compared with Balancing, XOR-folding, R90, WXOR, Re-sampling XOR (R-XOR), and BLIP methods. Because the record matching method already uses the Salt method, it is not compared with it. "None" indicates that no privacy protection enhancement method is used, "XOR-folding" uses one fold, "WXOR" selects a window size w=2, and all random seeds are set to 13. "BLIP" sets the probability to 0.05.
[0096] The UBF method is set with ∈=7 and δ=0.5. δ=0.5 indicates that half of the Bloom filter positions are privacy-preserving bits. When ∈=7, the privacy cost of the UBF method is always less than that of the BLIP method when p=0.05, meaning the UBF method offers stronger privacy protection than the BLIP method. When the similarity threshold is greater than or equal to 0.95, the WXOR method is used; otherwise, the Re-sampling XOR method is used, with a WXOR window size w=2.
[0097] from Figure 5 It can be seen that on the NCVOTER dataset, compared to the BLIP method, when the threshold is less than 0.85, it can significantly improve precision while maintaining a comparable recall; when the threshold is greater than or equal to 0.85, the precision is comparable; and when the threshold is 0.95, it can improve recall. From... Figure 6 As can be seen on the EURO dataset, compared to the BLIP method, the UBF method improves precision when the threshold is less than 0.95, but decreases recall when the threshold is [0.75, 0.85]. At a threshold of 0.95, the UBF method and the BLIP method have comparable precision, but the UBF method improves recall. Figure 7It can be seen that on the DBLP-ACM dataset, precision is better than the BLIP method when the thresholds are [0.5, 0.75] and 0.85, but worse than the BLIP method when the thresholds are 0.8 and 0.9. Recall is worse than the BLIP method when the thresholds are [0, 6, 0.8], but better than the BLIP method when the thresholds are [0.85, 0.95].
[0098] from Figure 5 , 6 As shown in Figures 7 and 8, the UBF method is unusable when the threshold is 0.1. When the threshold is less than 0.7, the precision is worse than methods that do not meet the DP (Dynamic Performance Requirement), while the recall is comparable. When the threshold is greater than 0.7, the precision can be better than some methods that do not meet the DP, but the recall is worse than these methods.
[0099] The advantage of the Utility-optimized Laplace noise Addition (ULA) method is that it achieves lower privacy costs and better matching results.
[0100] For the mechanism For any b i ∈{0,1}, its output b i The probabilities corresponding to '∈{0,1} are shown below:
[0101]
[0102]
[0103]
[0104]
[0105] Assume a Bloom filter b has a length of l, I S There are m bits in total, where bit x is set to 1, and bit I... S There are n digits in total, with y being 1, and m + n = 1. Then... Therefore, the probability of it generating Bloom filter b' can be obtained as follows:
[0106]
[0107] For any two records v A and v B The corresponding Bloom filter b A and b B Let b be any output b'∈B'.A I S There are m bits in total, where x A Position 1, I S There are n digits in total, where y A Position 1, b B Similarly, x A >x B We can obtain the following formula: less than or equal to e ε :
[0108]
[0109] when When the ratio is less than or equal to 1 The cost of ULA's privacy.
[0110] From the above formula, it can be calculated that M satisfies the privacy protection requirements for data. Where x A x B y A y B The value of is related to δ; when δ = 1, the privacy cost is... At this point, x represents the same value as n in the privacy cost of the BLIP method. Where x... A x B y A y B The value of is different for different Bloom filters. The privacy cost reaches its maximum when both Bloom filters have different values for their 1-bits, and the sum of their 1-bit values equals the length of the Bloom filter. When the two Bloom filters have completely different bits set to 1, and the sum of their bits set to 1 equals the length of the Bloom filter, the privacy cost of BLIP reaches its maximum. Similar to the ULA method. When δ is not 0, x must be less than n. At that time, the privacy cost of the ULA method is necessarily less than that of BLIP, or In this case, the privacy cost of the ULA method is certainly less than that of BLIP.
[0111] The experimental dataset and configuration remain the same as those in Tables 1, 2, and 3.
[0112] The ULA method sets p = 0.03 and δ = 0.5. δ = 0.5 indicates that half of the Bloom filter is a privacy-preserving bit. When p = 0.03, the maximum privacy cost of the ULA method is always less than that of the BLIP method when p = 0.05, meaning the ULA method offers stronger privacy protection than the BLIP method. When the similarity threshold is greater than or equal to 0.95, the WXOR method is used; otherwise, the Re-sampling XOR method is used. The WXOR window size is w = 2.
[0113] from Figure 8 It can be seen that on the NCVOTER dataset, compared to the BLIP method, when the threshold is less than 0.85, it can significantly improve precision while maintaining a comparable recall; when the threshold is greater than or equal to 0.85, the precision is comparable; and when the threshold is 0.95, it can improve recall. From... Figure 9 As can be seen on the EURO dataset, compared to the BLIP method, the UBF method improves precision when the threshold is less than 0.95, but decreases recall when the threshold is [0.75, 0.85]. At a threshold of 0.95, the UBF method and the BLIP method have comparable precision, but the UBF method improves recall. Figure 10 It can be seen that on the DBLP-ACM dataset, precision is better than the BLIP method when the thresholds are [0.5, 0.75] and 0.85, but worse than the BLIP method when the thresholds are 0.8 and 0.9. Recall is worse than the BLIP method when the thresholds are [0, 6, 0.8], but better than the BLIP method when the thresholds are [0.85, 0.95].
[0114] from Figure 8 , 9 As can be seen from Figure 10, the UBF method is unusable when the threshold is 1.0. When the threshold is less than 0.7, the precision is worse than methods that do not meet the DP requirement, while the recall is comparable. When the threshold is greater than 0.7, the precision can be better than some methods that do not meet the DP requirement, but the recall is worse than these methods.
Claims
1. A privacy-enhancing method for Bloom filter encoding based on ULDP, characterized in that: It includes a reading module for reading and standardizing patient personal identification information data from different hospitals; The encoding module is used to encode the personal identification information so that the patient information is not exposed, and to generate data column labels with a uniform format; the output module outputs the encrypted patient data. The encoding module is implemented using either the Utility-optimized Bloom filter Flip method or the Utility-optimized Laplace noise Addition method. The specific methods of the Utility-optimized Bloom filter Flip method or the Utility-optimized Laplacenoise Addition method are as follows: Let the sensitive dataset owned by the hospital be... , Depend on records Composition, that is The Bloom filter dataset obtained through encoding is ,Depend on A Bloom filter Composition, that is , A Bloom filter dataset was generated using privacy-enhancing methods. , Depend on A Bloom filter Composition, that is ; The length is First, by encoding a public dataset, the frequency of each position 1 in all Bloom filters is counted to obtain the frequency. , , And arranged in descending order of frequency, among which This represents the frequency of each bit being 1. The participating hospitals are matched based on the proportion of sensitive data bits agreed upon by both parties. ,Will The former The bits are divided into a set of sensitive data bits. , The rest are sets of non-sensitive data bits. , This will result in all outputs Divided into privacy protection sets Non-privacy-protected collections ,for , China belongs to None of the positions are set to 1, that is... ,otherwise belong , Divided into and for , China belongs to None of the positions are set to 1, that is... ,otherwise belong ; The Utility-optimized Bloom filter Flip method will generate The privacy protection enhancement method described above is as follows: First Through mechanism get ,mechanism Specifically: Set privacy protection level ,calculate , , ,by The probability will Mapped to ,in , The specific calculation method is as follows: if , ; if , ; Then, based on the threshold used to determine whether the two Bloom filters match... Add a WXOR or Re-sampling XOR process; and then the mechanism For the output is The records provide privacy protection that satisfies LDP, meaning that for any two Bloom filters, their outputs are all... The minimum probability is , The value is 7; The threshold for determining whether two Bloom filters match The specific method for determining this is as follows: Matching two parties to determine a similarity threshold Then calculate the DiceSimilarity of the two Bloom filters according to the following formula. If the DiceSimilarity is greater than... The two Bloom filters are considered to match if they do not. HW() represents the Hamming Weight of the Bloom filter, which is the number of 1s in the Bloom filter; The Utility-optimized Laplace noise Addition method will generate The privacy protection enhancement method described above is as follows: First Through mechanism get ;mechanism Specifically, this involves: first, setting the level of privacy protection. , Generate a length and using the Laplace distribution. Random number sequences of the same length ,according to Calculate the threshold value of 1 , Then by and Generate Laplace noise bit vector , , ,when hour, ;when hour, Then by and Through mechanism generate ; That is: if , ; if , ; In generation Then, the same WXOR or Re-sampling XOR method as the UBF method is used to protect privacy on the data located in the non-privacy-protected bit set, ultimately generating a privacy-preserving Bloom filter. .
2. The privacy protection enhancement method based on ULDP using Bloom filter encoding as described in claim 1, characterized in that: The WXOR procedure sets the window size. ,Will Based on privacy protection bits and non-privacy protection bits, they are divided into and ,exist Two sliding windows are generated above. and , from Starting from position 0, shift by one bit in each iteration. from Starting from the second bit, shift by one bit in each iteration, perform an XOR calculation on the values within the two windows, and then assign the result to... ,until The beginning of arrival The end, and the new Then According to each of them The original position composition in Generate the final privacy-enhanced Bloom filter dataset. Used to record the matching phase.
3. The privacy protection enhancement method based on ULDP using Bloom filter encoding as described in claim 1, characterized in that: The Re-sampling XOR process randomly generates position pairs of the same length as the privacy-protected bits in the non-privacy-protected bits, and then sequentially calculates the XOR operation using the position pairs to generate a new value for each bit of the non-privacy-protected bits. Then According to each of them The original position composition in .