当前位置: 首页 > 专利查询>南京大学专利>正文

一种两方参与的频繁项数据挖掘的隐私保护方法技术

技术编号:39043073 阅读:24 留言:0更新日期:2023-10-10 11:55
本发明专利技术公开一种两方参与的频繁项数据挖掘的隐私保护方法,通过两个参与方A和B实施方法,其中每个参与方各自拥有一些键值对。在A和B本地,参与方A和B先对本地大量的数据进行排序,排序之后互相约定长度对本地数组进行剪切,只保留较少的一部分数据。之后,参与方A和B通过安全计算合并各自的数组成为一个大的共享数组,实现秘密共享,并在这之上利用安全比较对共享数组进行安排排序。最后Top

【技术实现步骤摘要】
一种两方参与的频繁项数据挖掘的隐私保护方法


[0001]本专利技术涉及一种针对两方参与的频繁项数据挖掘的隐私保护方法,属于数据挖掘,隐私保护


技术介绍

[0002]在数据挖掘技术日趋成熟之时,人们开始意识到隐私的重要性,越来越多的呼声要求企业和部门加强隐私的保护。在这个背景下,各种隐私保护技术得以蓬勃发展。隐私保护不仅仅是对用户的保护,也是对大公司信誉和名誉的保护,隐私的泄漏也会带给公司和国家部门巨大的损失。更好地保护各种隐私,称为全社会共同的期望。
[0003]例如两家大医院想要共同计算出近年来最常见的几种疾病,常规手段下,两家医院只能共享双方的数据,但两家医院是竞争关系且用户的患病记录对于所有者来说是相当重要的隐私,共享数据的做法会损害用户的隐私;常规地使用差分隐私计算的话就需要可信的第三方,而第三方要对两个数据拥有方都可信是一种比较苛刻的条件;普通的安全多方计算并不能提供差分隐私的效果。
[0004]对于两方参与的数据分析任务,每一方都拥有自己的部分数据,且不愿意与另一方共享数据。尽管安全计算能够实现安全的频繁项挖掘,但准确的前k项的输出仍然可能给攻击者留下推断敏感信息的机会。差分隐私已被用于各种数据分析任务以保护参与个体的信息,但如何安全地为两方频繁项挖掘提供差分隐私尚未得到解决。
[0005]以下是专利技术中运用到的相关知识。
[0006]安全多方计算:安全多方计算主要针对在无可信第三方的情况下,如何安全地计算一个约定函数的问题。秘密共享,是将秘密分散到人群的方法,每人得到秘密的一部分,称为份额。只有当充够多,或足够多种的份额结合时,才能还原出秘密;每件份额各自则没有用途。在增性秘密共享中,数据的拆分和还原运用的是简单的加减法,比如秘密S被拆分成两份<S1>和<S2>,两份秘密交由运算的两个参与方A和B所有,且存在S=<S1>+<S2>的关系。混淆电路,是一个能让两个数据拥有方参与安全计算的密码学协议,使用这个协议可以让双方在互不知道对方数据的前提下计算出某个约定函数的结果。混淆电路的两个参与方的其中一个参与方被称为混淆者,负责混淆真值表并创建标签,而另一个参与方则被称为计算者,接收混淆后的电路并计算结果。混淆者一方会将代表自己的输入的标签发给计算者,但由于真值表被打乱了,这些标签看起来就是随机的。相对应的,计算者不会将代表自己输入的标签发给混淆者,因为这样的话计算者的输入就很容易被计算出来了。只要有了两个参与方的输入对应的标签,计算者就能计算出当前门对应的标签并用它来计算下一个门。混淆者还会提供最终的结果翻译表,通过它可以得到明文的结果。
[0007]差分隐私:差分隐私是由Cynthia Dwork等人提出的一个隐私概念。差分隐私技术可以使用户了解到数据集和的性质但却不泄漏数据集和中个体的隐私。差分隐私的定义如下:对于定义域和值域分别为D
n
和R
p
的随机机制M:D
n

R
p
,如果对于任何相邻数据库d,d

∈D
n
和任何值域的子集满足Pr[M(d)∈S]≤exp(ε)Pr[M(d

)∈S]+δ,则称随机机制M满
足(ε,δ)

差分隐私。理论上,任何满足差分隐私定义的随机机制都可以用作差分隐私机制。现在已经有很多的差分隐私机制被提出并应用在现实的隐私保护中,例如:高斯机制,拉普拉斯机制,随机响应等。
[0008]布隆过滤器:布隆过滤器实际上是一个很长的二进制向量和一系列随机映射函数,可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。布隆过滤器的原理是,当一个元素被加入集合时,通过K个散列函数将这个元素映射成一个位数组中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1就(大约)知道集合中有没有它了:如果这些点有任何一个0,则被检元素一定不在;如果都是1,则被检元素很可能在。这就是布隆过滤器的基本思想。布隆过滤器在空间和时间上相较于其他数据结构有巨大的优势,且不需要存储元素本身因此在数据需要保密的场景下有较多的发挥空间。但是布隆过滤器的误算率也是很多场景用不了的原因,在存入的元素较多的情况下,误算率也会随之提高。

技术实现思路

[0009]专利技术目的:针对现有技术中存在的问题与不足,为了防止双方的数据泄露给对方,同时实现发布输出的差异隐私,本专利技术研究了差异隐私的两方频繁项挖掘问题。提出了一种实用的安全计算协议,一种两方参与的频繁项数据挖掘的隐私保护方法,可以以差分隐私的方式有效地选择两个机密数据库并集的频繁项。
[0010]技术方案:一种两方参与的频繁项数据挖掘的隐私保护方法,所述方法包含两个参与方A和B,其中每个参与方各自拥有一个键值对数组{(key_1,value_1),...,(key_n,value_n)}。在A和B本地,参与方A和B先对本地大量的数据依据键值对中的值进行排序,排序之后互相约定长度对本地数组进行剪切,只保留较少的一部分数据。之后,参与方A和B通过安全计算合并双方的数组成为一个大的共享数组,A和B持有能组成共享数组的秘密片段,实现秘密共享,并在这之上利用安全比较对共享数组进行安全排序。最后Top

k选取,通过差分隐私的指数机制,从上一步安全排序的结果中选出Top

k的结果。
[0011]所述方法包含以下内容:
[0012]数组剪切。刚开始,两个参与方A和B都拥有大量的数据,但Top

k选取中,大部分的数据都是无用的,因此剪切能在保证精度的同时减小时间复杂度。数组剪切包括如下步骤:
[0013]步骤11:两个参与方A和B约定一个值k

=k。
[0014]步骤12:A生成一个布隆数组blm,并将他的Top

k

个数据通过函数bloom_add添加进布隆数组blm中,然后将blm发给B。
[0015]步骤13:B通过布隆过滤器函数bloom_check依次检测它的本地数据,bloom_check会判断某个元素是否在布隆数组blm中,然后参与方B统计本地在blm中的key的数量为c。
[0016]步骤14:若c≥μk

(0<μ≤1),参与方A和B截取数组的前k

个元素并退出;否则让k

=2k

,重复步骤12

14,直到满足条件c≥μk

(0<μ≤1)退出或循环次数超出给定的值。给定的值可以视系统的运算能力而定。
[0017]步骤15:完成上述步骤12

14后,A和B会分别持有一个长度为k本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种两方参与的频繁项数据挖掘的隐私保护方法,其特征在于,所述方法包含两个参与方A和B,其中每个参与方各自拥有一个键值对数组{(key_1,value_1),...,(key_n,value_n)};在A和B本地,参与方A和B先对本地数据依据键值对中的值进行排序,排序之后互相约定长度对本地数组进行剪切;之后,参与方A和B通过安全计算合并双方的数组成为一个大的共享数组,A和B持有能组成共享数组的秘密片段,实现秘密共享,并利用安全比较对共享数组进行安全排序;最后Top

k选取,通过差分隐私的指数机制,从安全排序的结果中选出Top

k的结果。2.根据权利要求1所述的两方参与的频繁项数据挖掘的隐私保护方法,其特征在于,数组剪切包括如下步骤:步骤11:两个参与方A和B约定一个值k

=k;步骤12:A生成一个布隆数组blm,并将他的Top

k

个数据通过函数bloom_add添加进布隆数组blm中,然后将blm发给B;步骤13:B通过布隆过滤器函数bloom_check依次检测它的本地数据,bloom_check会判断某个元素是否在布隆数组blm中,然后参与方B统计本地在blm中的key的数量为c;步骤14:若c≥μk

(0<μ≤1),参与方A和B截取数组的前k

个元素并退出;否则让k

=2k

,重复步骤12

14,直到满足条件c≥μk

(0<μ≤1)退出或循环次数超出给定的值。给定的值可以视系统的运算能力而定;步骤15:完成上述步骤12

14后,A和B会分别持有一个长度为k

的数组。3.根据权利要求1所述的两方参与的频繁项数据挖掘的隐私保护方法,其特征在于,秘密共享包括如下步骤:步骤21:A在本地创建数组<shr_dataset>
A
,B在本地创建数组<shr_dataset>
B
;步骤22:A用加密算法加密一个key为key
s
,然后将key
s
发给B;步骤23:B生成一个随机数rnd,发给A;步骤24:A在<shr_dataset>
A
中增添元素<key,rnd+value(key)>,其中value(key)指的是A中key的数据值;B则分情况讨论:若B中有一个key用相同的加密算法加密后能得到key
s
,则在<shr_dataset>
B
中添加元素<null,rnd

value(key)>,其中value(key)指的是B中key的数据值;若B中不存在这么一个key,则B在<shr_dataset>
B
中添加元素<null,rnd>;null是一个空值,表示B不知道A的key值;步骤25:A遍历在数组中的每一个key,并重复步骤22

24;在A发送完他的所有key后,B再为在步骤24...

【专利技术属性】
技术研发人员:仝伟陈文杰仲盛
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1