CN114329527A - 交集数据获取方法、设备和*** - Google Patents
交集数据获取方法、设备和*** Download PDFInfo
- Publication number
- CN114329527A CN114329527A CN202111555247.6A CN202111555247A CN114329527A CN 114329527 A CN114329527 A CN 114329527A CN 202111555247 A CN202111555247 A CN 202111555247A CN 114329527 A CN114329527 A CN 114329527A
- Authority
- CN
- China
- Prior art keywords
- hash
- privacy
- intersection
- compression
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种交集数据获取方法、设备和***,该***包括:发送方对应的第一设备和接收方对应的第二设备。第一设备使用通过OPRF获得的密钥对本地第一隐私数据集加密得到第一加密隐私数据集,采用压缩函数对第一加密隐私数据集压缩计算得到第一压缩值集,将第一压缩值发送至第二设备,压缩函数用于将输入数据的长度变为不超过设定长度,设定长度根据差分隐私预算和第一隐私数据集中的数据数量确定。第二设备获取由密钥对第二隐私数据集加密后的第二加密隐私数据集,采用压缩函数对第二加密隐私数据集计算得到第二压缩值集,根据第一压缩值集与第二压缩值集确定第二隐私数据集与第一隐私数据集的交集,得到差分隐私保护的交集。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种交集数据获取方法、设备和***。
背景技术
隐私集合求交集(Private Set Intersection,简称PSI)协议,是一种特定的安全多方计算协议,它允许持有数据的两方能够计算得到双方数据集合的交集部分,交集结果可以由一方或者双方获得,但不暴露交集以外的任何数据集合信息,即除交集内的数据外,交集外的集合中任何数据不会泄露给任何数据一方。
自提出以来,PSI协议引起了学术界和工业界的广泛关注,近年来,已经被应用到了很多实际的计算场景中,例如广告投放、寻找联系人,等等。但在实际部署和应用PSI协议的同时,需要关注的是,PSI协议的输出结果,即交集集合是否包含了一些敏感信息。
在某些隐私保护的计算场景中,集合交集中可能会包含一些敏感信息,比如用户的身份信息。现有的PSI方案都无法保证交集结果的隐私性。
发明内容
本发明实施例提供一种交集数据获取方法、设备和***,用以实现交集数据获取过程中的隐私数据保护。
第一方面,本发明实施例提供一种获取交集数据的***,包括:
执行隐私集合求交集协议的发送方所对应的第一设备以及接收方所对应的第二设备;
所述第一设备,用于获取所述发送方对应的第一隐私数据集,通过不经意伪随机函数获得密钥,使用所述密钥对所述第一隐私数据集进行加密得到第一加密隐私数据集;采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,将所述第一压缩值集发送至所述第二设备,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述第一隐私数据集中包含的数据数量确定;
所述第二设备,用于获取所述接收方对应的第二隐私数据集,获取由所述不经意伪随机函数产生的所述密钥对所述第二隐私数据集加密后的第二加密隐私数据集;采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到第二压缩值集,根据所述第一压缩值集与所述第二压缩值集确定所述第二隐私数据集与所述第一隐私数据集的交集。
第二方面,本发明实施例提供一种交集数据获取方法,应用于执行隐私集合求交集协议的发送方所对应的第一设备,所述方法包括:
获取所述发送方对应的第一隐私数据集;
通过不经意伪随机函数获得密钥;
使用所述密钥对所述第一隐私数据集进行加密得到第一加密隐私数据集;
采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述第一隐私数据集中包含的数据数量确定;
将所述第一压缩值集发送至执行隐私集合求交集协议的接收方所对应的第二设备,以使所述第二设备根据所述第一压缩值集与第二压缩值集确定所述接收方对应的第二隐私数据集与所述第一隐私数据集的交集,其中,所述第二压缩值集是所述第二设备在获取基于所述密钥对所述第二隐私数据集加密后的第二加密隐私数据集后,采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到的。
第三方面,本发明实施例提供一种交集数据获取装置,应用于执行隐私集合求交集协议的发送方所对应的第一设备,所述装置包括:
获取模块,用于获取所述发送方对应的第一隐私数据集;
处理模块,用于通过不经意伪随机函数获得密钥,使用所述密钥对所述第一隐私数据集进行加密得到第一加密隐私数据集,采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述第一隐私数据集中包含的数据数量确定;
发送模块,用于将所述第一压缩值集发送至执行隐私集合求交集协议的接收方所对应的第二设备,以使所述第二设备根据所述第一压缩值集与第二压缩值集确定所述接收方对应的第二隐私数据集与所述第一隐私数据集的交集,其中,所述第二压缩值集是所述第二设备在获取基于所述密钥对所述第二隐私数据集加密后的第二加密隐私数据集后,采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到的。
第四方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第二方面所述的交集数据获取方法。
第五方面,本发明实施例提供一种交集数据获取方法,应用于执行隐私集合求交集协议的接收方所对应的第一设备,所述方法包括:
获取所述接收方对应的第一隐私数据集;
获取由不经意伪随机函数产生的密钥对所述第一隐私数据集加密后的第一加密隐私数据集;
采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和第二隐私数据集中包含的数据数量确定,所述第二隐私数据集对应于执行隐私集合求交集协议的发送方;
接收所述发送方对应的第二设备发送的第二压缩值集,其中,所述第二压缩值是所述第二设备通过不经意伪随机函数获得密钥,使用所述密钥对所述第二隐私数据集进行加密得到第二加密隐私数据集,以及采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到的;
根据所述第一压缩值集与所述第二压缩值集确定所述第一隐私数据集与所述第二隐私数据集的交集。
第六方面,本发明实施例提供一种交集数据获取装置,应用于执行隐私集合求交集协议的接收方所对应的第一设备,所述装置包括:
获取模块,用于获取所述接收方对应的第一隐私数据集,以及,获取由不经意伪随机函数产生的密钥对所述第一隐私数据集加密后的第一加密隐私数据集;
处理模块,采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和第二隐私数据集中包含的数据数量确定,所述第二隐私数据集对应于执行隐私集合求交集协议的发送方;
接收模块,用于接收所述发送方对应的第二设备发送的第二压缩值集,其中,所述第二压缩值是所述第二设备通过不经意伪随机函数获得密钥,使用所述密钥对所述第二隐私数据集进行加密得到第二加密隐私数据集,以及采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到的;
所述处理模块,还用于根据所述第一压缩值集与所述第二压缩值集确定所述第一隐私数据集与所述第二隐私数据集的交集。
第七方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第五方面所述的交集数据获取方法。
第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第二方面或第五方面所述的交集数据获取方法。
第九方面,本发明实施例提供一种获取交集数据的***,包括:
执行隐私集合求交集协议的用户端所对应的终端设备以及服务端所对应的服务器;
所述终端设备,用于获取所述用户端对应的联系人集,通过不经意伪随机函数获得密钥,使用所述密钥对所述联系人集进行加密得到加密联系人集;采用设定的压缩函数对所述加密联系人集进行压缩计算得到第一压缩值集,将所述第一压缩值集发送至所述服务器,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述联系人集中包含的联系人数量确定;
所述服务器,用于获取所述服务端存储的注册用户集,获取由所述密钥对所述注册用户集加密后的加密注册用户集;采用所述压缩函数对所述加密注册用户集进行压缩计算得到第二压缩值集,根据所述第一压缩值集与所述第二压缩值集确定所述注册用户集与所述联系人集的交集,将所述交集中联系人对应的注册账号发送至所述终端设备。
第十方面,本发明实施例提供一种获取交集数据的***,包括:
执行隐私集合求交集协议的第一金融服务器和第二金融服务器;
所述第一金融服务器,用于获取第一金融服务提供方对应的第一注册用户集,通过不经意伪随机函数获得密钥,使用所述密钥对所述第一注册用户集进行加密得到第一加密注册用户集;采用设定的压缩函数对所述第一加密注册用户集进行压缩计算得到第一压缩值集,将所述第一压缩值集发送至所述第二金融服务器,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述第一注册用户集中包含的注册用户数量确定;
所述第二金融服务器,用于获取第二金融服务提供方对应的第二注册用户集,获取由所述密钥对所述第二注册用户集加密后的第二加密注册用户集;采用所述压缩函数对所述第二加密注册用户集进行压缩计算得到第二压缩值集,根据所述第一压缩值集与所述第二压缩值集确定所述第一注册用户集与所述第二注册用户集的交集。
以执行PSI协议的发送方和接收方来说,假设发送方通过其对应的第一设备获取自己的第一隐私数据集,接收方通过其对应的第二设备获取自己的第二隐私数据集。当发送方与接收方想要求取各自数据集合的交集时,通过本发明实施例提供的方案实现。具体来说,第一设备通过不经意伪随机函数(Oblivious Pseudorandom Function,简称OPRF)获得密钥,使用所述密钥对第一隐私数据集进行加密得到第一加密隐私数据集,之后采用设定的压缩函数(比如第一哈希函数)对第一加密隐私数据集进行压缩计算得到第一压缩值集(比如第一哈希值集),将第一压缩值集发送至第二设备。其中,压缩函数用于将输入数据的长度变为不超过设定长度,而该设定长度根据差分隐私预算和第一隐私数据集中包含的数据数量确定。第二设备获取由所述密钥对第二隐私数据集加密后的第二加密隐私数据集,即获取加密后的第二隐私数据集,进而采用压缩函数对第二加密隐私数据集进行压缩计算得到第二压缩值集(比如第二哈希值集)。最终,第二设备可以根据接收的第一压缩值集与本地生成的第二压缩值集确定自己的第二隐私数据集与发送方的第一隐私数据集的交集。
本发明实施例中,通过在交集输出结果中加入满足差分隐私安全性定义的噪音,以保护交集的隐私性。具体地,是通过定义设定的压缩函数(比如第一哈希函数)来实现引入差分隐私噪声到交集计算结果中的。压缩函数,用于将输入的较长的数据(如第一加密隐私数据集以及第二加密隐私数据集中包含的各条数据)变换为更短的设定长度的数据,而该设定长度是基于差分隐私预算以及发送方对应的第一隐私数据集中包含的数据数量决定的,该设定长度的设置可以使得交集结果满足差分隐私要求,实现对交集结果的隐私保护。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种获取交集数据的***的示意图;
图2为本发明实施例提供的一种OPRF执行过程的示意图;
图3为本发明实施例提供的一种交集数据获取方法的交互流程图;
图4为本发明实施例提供的一种交集数据获取方法的流程图;
图5为本发明实施例提供的一种交集数据获取方法的流程图;
图6为本发明实施例提供的一种交集数据获取方法的应用示意图;
图7为本发明实施例提供的一种交集数据获取方法的应用示意图;
图8为本发明实施例提供的一种交集数据获取装置的结构示意图;
图9为本发明实施例提供的一种交集数据获取装置的结构示意图;
图10为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例提供的交集数据获取方法可以由一电子设备来执行,该电子设备可以是服务器,也可以是用户终端,该服务器可以是云端的物理服务器或虚拟服务器(虚拟机)。
在实际应用中,当PSI协议的参与双方将个人身份信息作为PSI协议的输入(即参与双方各自的数据集由各自收集的用户身份信息构成)时,基于传统的PSI协议,参与双方中得到交集计算结果的一方就会知道交集结果中包含的用户身份信息,而这些用户身份信息都是另一方的真实有效的用户信息。比如当参与双方是医院、金融公司等公司或机构时,这些注册的用户身份信息是非常隐私的敏感数据(即隐私数据),因此,希望能够提供一种优化的PSI协议,在其执行过程中,可以对参与双方各自的隐私数据进行保护,同时能够使参与双方获得准确性可接受的交集计算结果。
本实施例中,采用差分隐私(Differential Privacy,简称DP)的机制来保护参与双方各自的隐私数据,也就是说,在实际输出的交集计算结果中会包含差分隐私噪声。而引入差分隐私噪声的方式,可以通过生成可控的误报率、漏报率的方式来实现。
举例来说,假设参与双方真实的交集中包括数据1、数据2和数据3。其中,所述漏报是指原本应该存在于交集中的数据,并未在实际计算出的交集中,比如实际计算出的交集中仅包括数据1和数据2,即原本应该在交集中的数据3不在实际计算出的交集中。其中,所述误报是指原本不应该存在于交集中的数据却存在于实际计算出的交集中,比如实际计算出的交集中还包括数据4,而数据4原本不应该在交集。
下面对本发明实施例提供的交集数据获取方法的执行过程进行详细说明。
图1为本发明实施例提供的一种获取交集数据的***的示意图,如图1所示,该***中包括参与执行PSI协议的双方,分别称为发送方和接收方。假设发送方通过其第一设备来执行PSI协议,接收方通过其第二设备来执行PSI协议。
实际应用中,参与PSI协议的双方中,谁作为发送方,谁作为接收方可以预先随机设定。发送方和接收方按照设定的安全模型(Security Model)执行各自应该执行的处理步骤即可。
安全模型:根据参与方在协议执行过程中的行为,可以区分成半诚实敌手模型和恶意敌手模型。其中,半诚实敌手模型假设参与方按照协议规定的步骤执行,但期望可以能在协议执行过程中推测另一方的输入数据。恶意模型则假设参与方可以任意篡改协议执行过程,以期获取对方的输入数据。本发明实施例中,假设上述发送方和接收方都遵守半诚实敌手模型。
发送方可以收集自己的隐私数据,构成第一隐私数据集存入第一设备中。接收方可以收集自己的同种类的隐私数据,构成第二隐私数据集存入第二设备中。
实际应用中,第一隐私数据集中存储的各条隐私数据比如为用户身份信息,同样地,第二隐私数据集中存储的各条隐私数据也是用户身份信息,比如,用户名称和电话号码。
需要说明的是,本发明实施例中之所以强调PSI协议的参与双方各自采集的是由多条隐私数据构成的隐私数据集合,是因为隐私数据具有特别强烈的隐私保护需求。但是这并不限定只有由隐私数据构成的集合才能适用本发明实施例提供的求交集方法。
在图1中,假设第一隐私数据集中包括用户a、用户b、用户c和用户d的身份标识(比如名称、电话号码),第二隐私数据集中包括用户b、用户c、用户e、用户f的身份标识。由该假设条件可知,基于传统的PSI协议,最终得到的交集计算结果为:用户b和用户c。但是,基于本发明实施例提供的方案,最终的交集计算结果则未必,比如可能是:用户b;可能是:用户b、用户c、用户e。
为完成发送方和接收方各自对应的隐私数据集的求交集处理,发送方和接收方各自对应的第一设备和第二设备的处理过程(亦即本发明实施例提供的优化后PSI协议规定双方的执行步骤)包括:
第一设备,用于通过OPRF获得密钥c,使用该密钥c对第一隐私数据集进行加密得到第一加密隐私数据集;采用设定的压缩函数对第一加密隐私数据集进行压缩计算得到第一压缩值集,将第一压缩值集发送至第二设备。
第二设备,用于获取由密钥c对第二隐私数据集加密后的第二加密隐私数据集,采用所述压缩函数对第二加密隐私数据集进行压缩计算得到第二压缩值集,根据第一压缩值集与第二压缩值集确定第二隐私数据集与第一隐私数据集的交集。
其中,压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算ε和第一隐私数据集中包含的数据数量确定。
本发明实施例中,可选地,上述压缩函数可以选用哈希函数,为与下文中使用的其他哈希函数相区分,称为第一哈希函数。下面以压缩函数是第一哈希函数为例进行说明。可以理解的是,在采用第一哈希函数时,上述压缩计算体现为哈希计算,从而,第一压缩值集和第二压缩值集将变为第一哈希值集和第二哈希值集。
可以理解的是,针对第一设备和第二设备来说,上述第一哈希函数的输入数据分别是第一加密隐私数据集中的各条加密后隐私数据以及第二加密隐私数据集中的各条加密后隐私数据。
先对OPRF进行简单介绍。OPRF,是构建PSI协议的基础密码学协议。在OPRF协议中,假设接收方的输入信息为m,发送方的输入信息为空,执行OPRF协议后,接收方可以得到使用密钥c对消息m加密后的密文,即F(c,m),而发送方得到的是密钥c。注意,接收方无法得到密钥c的信息。
在执行OPRF之前,可选地,可以分别对第一隐私数据集和第二隐私数据集进行哈希计算,将原始的隐私数据映射为固定长度的哈希值,以确保双方参与PSI的数据是等长的。
具体地,第一设备可以采用第二哈希函数对第一隐私数据集进行哈希计算得到第三哈希值集,第二设备同样采用第二哈希函数对第二隐私数据集进行哈希计算得到第四哈希值集。其中,第三哈希值集中第一隐私数据集中的各条隐私数据进行哈希计算后得到的哈希值构成,第四哈希值集同理。
可以理解的是,对隐私数据集进行哈希计算实际上是对隐私数据集中的每条隐私数据分别进行哈希计算,得到对应的哈希值。比如H(用户i),是指对用户i的身份标识进行第二哈希函数计算处理得到的哈希值,用户i是指第一隐私数据集和第二隐私数据集中的任一条隐私数据,H()表示第二哈希函数。
实际应用中,可以定义第二哈希函数用于将输入数据映射为预设长度的二进制字符串,该预设长度假设为s(比如128位)。也就是说,第一隐私数据集和第二隐私数据集中的各条隐私数据经过第二哈希函数的处理后,都变成长度为s的二进制字符串。
之后,第一设备通过OPRF获得密钥c,使用该密钥c对第三哈希值集进行加密得到第一加密隐私数据集。而第二设备获取由密钥c对第四哈希值集加密后的第二加密隐私数据集。
图2给出了一种可选的OPRF的执行过程的示意。在图2中,假设发送方的第一隐私数据集表示为Y,接收方的第二隐私数据集表示为X,H()表示上述第二哈希函数的哈希计算处理。接收方使用OPRF生成随机因子z,乘以自己的H(X),发送给发送方。发送方使用OPRF生成密钥c,分别乘以自己的H(Y)以及接收方发送来的z*H(X),将计算结果c*z*H(X)发送给接收方。接收方使用z的逆z-1乘以c*z*H(X),消去z,得到c*H(X)。
在图2的举例中,H(Y)和H(X)分别是发送方对应的第三哈希值集以及接收方对应的第四哈希值集。c*H(Y)和c*H(X)分别是发送方对应的第一加密隐私数据集以及接收方对应的第二加密隐私数据集。
假设接收方对应的第二隐私数据集中包含n1条隐私数据,发送方的第一隐私数据集中包含n2条隐私数据,实际应用中,经过上述密钥c加密后的隐私数据的长度可以是:λ+log(n1*n2),其中,λ为预设值,可以取值为40。
另外,需要说明的是,在图2中,仅假设密钥c的加密方式为乘以需要被加密的数据,实际上不以此为限。
之后,第一设备采用第一哈希函数对第一加密隐私数据集进行哈希计算得到第一哈希值集,将第一哈希值发送至第二设备。第二设备采用第一哈希函数对第二加密隐私数据集进行哈希计算得到第二哈希值集。
如上文所述,第一哈希函数用于将输入数据的长度变为不超过设定长度,而该设定长度根据差分隐私预算和第一隐私数据集中包含的数据数量确定。
在一可选实施例中,该设定长度根据如下方式确定:
根据差分隐私预算ε确定碰撞因子k为:ln(1+e-ε),进而确定所述设定长度为:第一隐私数据集中包含的数据数量与该碰撞因子k的商的向下取整结果。
为了将第一哈希函数与上述第二哈希函数相区别,将第一哈希函数表示为H1(),如上文所说,第一哈希函数可以将输入数据映射为长度不超过上述设定长度的字符串,可以表示为:
其中,第一哈希函数的输入数据即为第一加密隐私数据集和第二加密隐私数据集中包含的各条数据(比如第三哈希值集中各哈希值经过密钥c加密后的二进制字符串,以及第四哈希值集中各哈希值经过密钥c加密后的二进制字符串),其数据长度为λ+log(n1*n2),经过第一哈希函数的处理后,输出的哈希值的长度的取值范围为[1,N],即针对一个输入的加密隐私数据集来说,第一哈希函数的各输出值在1~N这个范围内是均匀分布的。
第一设备采用第一哈希函数对第一加密隐私数据集中包含的各条数据分别进行哈希计算得到由计算出的各个哈希值构成的第一哈希值集。同理,第二设备采用第一哈希函数对第二加密隐私数据集中包含的各条数据进行哈希计算得到由计算出的各个哈希值构成的第二哈希值集。
第一设备进而可以对第一哈希值集中的各个哈希值进行乱序处理,比如随机排序第一哈希值集中的哈希值,将排序后的第一哈希值集发送给第二设备。
第二设备根据从第一设备接收到的第一哈希值集与自己本地计算出的第二哈希值集,确定自己的第二隐私数据集与第一隐私数据集的交集。
其中,具体地,对于第二隐私数据集中的任一隐私数据,若该任一隐私数据在第二哈希值集中对应的哈希值包含在第一哈希值集中,则第二设备确定该任一隐私数据包含在交集内。相对的,如果该任一隐私数据在第二哈希值集中对应的哈希值不包含在第一哈希值集中,则确定该任一隐私数据不在交集内。通过逐个遍历第二隐私数据集中的各条隐私数据,第二设备便可以得出第二隐私数据集与第一隐私数据集的交集。
由于第二隐私数据集、第二哈希值集都是第二设备本地计算和存储的,第二设备已知第二隐私数据集中每个隐私数据在第二哈希值中对应的哈希值。
由上述内容可知,第一哈希函数的输入数据长度为λ+log(n1*n2),经过该第一哈希函数的处理后,长度变为[1,N],即最长是N,N一般远低于λ+log(n1*n2)。在本发明实施例中,定义第一哈希函数的目的是:为交集计算结果引入可控的误报率。具体地,假设第一隐私数据集中任一隐私数据y1,第二隐私数据集中任一隐私数据x1,x1不等于y1,设第一隐私数据集中不包含x1。经过第二哈希函数处理后,H(x1)不等于H(y1),经过密钥c分别对H(x1)与H(y1)加密后的结果分别表示为C1和C2,则C1和C2二者不等。C1和C2长度均为λ+log(n1*n2),之后,C1和C2通过第一哈希函数进行处理后得到H1(C1)和H1(C2),此时因为长度变短,更加容易使得H1(C1)和H1(C2)相等,即通过第一哈希函数的处理增加了两者相等的概率。如果H1(C1)和H1(C2)相等,则第二设备针对第二隐私数据集中的x1进行判断时,就会因为其对应的H1(C1)与从第一设备接收到的H1(C2)相等,而确定x1属于交集内元素,从而产生误报——原本x1不包含在第一隐私数据集中。
由上述内容可知,本发明实施例中,通过在交集计算结果中引入差分隐私噪声(如通过引入上述误报情形),可以使得接收方获得经过差分隐私保护的交集数据,其中,上述第一哈希函数对应的映射长度根据差分隐私预算以及发送方的隐私数据集中包含的隐私数据数量确定,即是为了满***集计算结果满足差分隐私要求而设计的。其中,经过差分隐私保护的交集结果,简单来说就是与真实的交集结果之间存在一定误差的交集计算结果,但是该误差并不影响交集数据的可用性。
以上实施例中介绍的是通过引入误报率的形式来使得交集计算结果满足差分隐私,实际上,还可以通过引入漏报率的形式来使得交集计算结果满足差分隐私。
概括来说,第一设备可以以设定概率生成随机字符串,以替换第一隐私数据集中的隐私数据,其中,该设定概率p根据差分隐私预算确定,进而,第一设备再使用所述密钥c对经过替换后的第一隐私数据集进行加密得到第一加密隐私数据集。当然,在采用第二哈希函数对第一隐私数据集先进行哈希计算处理的情形下,先由第二哈希函数对第一隐私数据集先进行哈希计算处理得到第三哈希值集,之后,以设定概率p生成随机字符串,以替换第三哈希值集中的哈希值,之后,获取密钥c,并使用密钥c对替换处理后的第三哈希值集中各哈希值进行加密处理,得到第一加密隐私数据集。
可选地,设定概率p=e-ε,其中,ε为预设的差分隐私预算。
其中,概率p,以第三哈希值集来说,应该理解为是:第三哈希值集中的每个哈希值都以概率p被替换为随机生成的二进制字符串,其中,替换前后的字符串长度相等,比如替换前的哈希值字符串长度为s,则替换后的二进制字符串长度也是s。
本发明实施例中,以上述概率p来随机产生替换用的二进制字符串的目的是:为交集计算结果引入可控的漏报率。具体地,假设第一隐私数据集中任一隐私数据y1,第二隐私数据集中任一隐私数据x1,x1=y1。经过第二哈希函数处理后,H(x1)=H(y1),如果将H(y1)用等长度的字符串D1替换,那么会导致,H(x1)与D1的值是不相等。经过密钥c分别对H(x1)和D1加密后的结果分别表示为C1和C3,则C1和C3二者不等。为便于描述,假设不进行后续的第一哈希函数的处理,发送方的第一设备将加密结果C3发送给接收方,接收方的第二设备接收到C3后,在自己获取的加密结果集合中未查询到与C3相等的元素,则确定x1不在交集内,这就使得原本应该在交集内的x1最终被判定为不在交集内——漏报。
综上,本发明实施例提出了一种基于差分隐私的集合求交集机制,在此机制中,接收方会得到带差分隐私噪音的交集结果,从而确保交集数据本身的隐私性。同时,在利用OPRF实现该机制时,使用了第一哈希函数计算OPRF的输出结果(加密后的隐私数据集)的哈希值,最终使得发送方向接收方发送的数据量得到降低,从而进一步节省了协议的通信开销。因为第一哈希函数将更长的输入数据映射为更短的哈希值。
为了能够更加直观地理解本发明实施例提供的差分隐私集合求交集协议的执行过程,结合图3示例性说明。
先对图3中涉及到的相关定义进行说明。
假设接收方R输入的数据集合X={x_1,…,x_n1}∈{0,1}^*,一共n1条隐私数据;发送方S输入的数据集合Y={y_1,…,y_n2}∈{0,1}^*,一共n2条隐私数据。其中,{0,1}^*,表示集合中任一条数据是任一长度的二进制字符串。另外,假设设定的差分隐私预算表示为ε,替换概率p=e-ε,碰撞因子k=ln(1+e-ε)。另外,定义哈希函数H_0:{0,1}^*->{0,1}^s,用于将任一长度的二进制字符串映射为长度为固定值s的二进制字符串。另外,再定义另一个哈希函数H:{0,1}^{λ+log(n1*n2)}->{1,2,…,N},其中该哈希函数用于将长度为λ+log(n1*n2)的二进制字符串映射为长度在1~N范围内均匀分布的某个长度的二进制字符串。可以理解的是,电子设备中进行信息存储与计算的方式都是二进制字符串形式,所以上述二进制字符串都是以电子设备中信息的存在形式的角度来描述的。
如图3中所示,在执行差分隐私集合求交集协议的过程中:
1、接收方R和发送方S首先基于哈希函数H_0对各自对应的集合X和集合Y进行哈希计算处理,得到如下结果:
{H_0(x_i)},i=1,…,n1
{H_0(y_i)},i=1,…,n2
其中,x_i是集合X中任一条数据,y_i是集合Y中任一条数据。
2、发送方S以替换概率p用随机的字符串r_i∈{0,1}^s替换H_0(y_i),替换后的集合为{H_0(y_i)’},i=1,…,n2。
3、发送方S和接收方R调用OPRF,发送方S作为OPRF的发送方,接收方R作为OPRF的接收方。OPRF执行结束后,接收方R获得集合{T_i},i=1,…,n1,其中,T_i=F(c,H_0(x_i)),S获得密钥c。其中,F(c,H_0(x_i))表示使用密钥c对H_0(x_i)进行加密后得到的密文。T_i的比特长度为λ+log(n1*n2)。
4、发送方S在本地计算得到集合{Q_i},i=1,…,n2,其中,Q_i=F(c,H_0(y_i)’)。
5、发送方S使用哈希函数H对集合{Q_i}进行哈希计算处理,得到集合O={H(Q_i)},i=1,…,n2,对集合O内元素进行随机排序后发送给接收方R。
6、接收方R使用哈希函数H对T_i进行哈希计算处理,得到H(T_i)。接收方R输出如下两个集合:
X_1={x_i∈X|H(T_i)∈O},
其中,X_1表示交集集合,X_0表示非交集集合。
上述表达式的意思是:针对接收方集合X中的任一数据x_i,如果满足条件——x_i对应的哈希值H(T_i)包含在集合O中,则确定x_i位于交集集合内,即x_i是接收方R的集合X与发送方的集合Y的交集数据。反之,如果x_i对应的哈希值H(T_i)不包含在集合O中,则确定x_i不位于交集集合内。
以上实施例给出了本文提供的差分隐私的集合求交集协议的一种实现过程。下面对该基于差分隐私的集合求交集协议的原理进行概要说明。
假设接收方R输入的数据集合X={x_1,…,x_n1}∈{0,1}^*,一共n1条隐私数据;发送方S输入的数据集合Y={y_1,…,y_n2}∈{0,1}^*,一共n2条隐私数据。生成一个长度为n1的二进制向量V∈{0,1}^n1,其中,对于集合X中的任一元素x_i,如果x_i属于集合Y,则V[i]=1,否则V[i]=0。之后,基于ε-DP差分隐私定义,对向量V添加噪声,添加噪声后的向量V’满足ε-DP的安全性定义。那么接收方可以输出如下两个集合:
X_1={x_i∈X|V’[i]=1}和X_0={x_i∈X|V’[i]=0}。其中,X_1为交集,X_0为非交集。
其中,加噪声的过程,即由V得到V’的过程。V变换为V’的过程实际上就是1、0置换的过程:V中的元素1以某概率被置换为0;V中的元素0以某概率被置换为1。其中,1变为0的目的是产生漏报率,0变为1的目的是产生误报率。
具体地,接收方R的集合X中的某元素x_i位于发送方S的集合Y中,则V[i]=1,意味着x_i为交集内元素,所以,V[i]由1变为0使得原本应该在交集内的元素变为不在交集内,即产生了漏报。
而若接收方R的集合X中的某元素x_i不位于发送方S的集合Y中,则V[i]=0,意味着x_i不是交集内元素,所以,V[i]由0变为1使得原本不应该在交集内的元素变为在交集内,即产生误报。
由此可见,从V向V’的变换目的是要满足ε-DP的安全性定义,而产生误报率和漏报率就是满足ε-DP的安全性定义的手段。交集结果满足ε-DP的安全性定义,实际上意味着不能输出完全正确的交集结果,而是有一定错误率的交集结果,以实现真正交集结果的隐私保护。
基于上述原理的说明,前述介绍的替换概率p、第一哈希函数的相关处理过程,基于基于该原理提供的一种具体的实施方案。
图4为本发明实施例提供的一种交集数据获取方法的流程图,该方法应用于执行隐私集合求交集协议的发送方所对应的第一设备,如图4所示,该方法包括如下步骤:
401、获取发送方对应的第一隐私数据集。
402、通过不经意伪随机函数获得密钥。
403、使用所述密钥对第一隐私数据集进行加密得到第一加密隐私数据集。
404、采用第一哈希函数对第一加密隐私数据集进行哈希计算得到第一哈希值集,第一哈希函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和第一隐私数据集中包含的数据数量确定。
405、将第一哈希值集发送至执行隐私集合求交集协议的接收方所对应的第二设备,以使第二设备根据第一哈希值集与第二哈希值集确定接收方对应的第二隐私数据集与第一隐私数据集的交集,第二哈希值集是第二设备在获取基于所述密钥对第二隐私数据集加密后的第二加密隐私数据集后,采用第一哈希函数对第二加密隐私数据集进行哈希计算得到的。
其中,可选地,使用所述密钥对第一隐私数据集进行加密得到第一加密隐私数据集,包括:
采用第二哈希函数对第一隐私数据集进行哈希计算得到第三哈希值集;
以设定概率生成随机字符串,替换第三哈希值集中的哈希值,所述设定概率根据差分隐私预算确定;
基于所述密钥加密第三哈希值集得到第一加密隐私数据集。
基于此,第二设备还采用第二哈希函数对第二隐私数据集进行哈希计算得到第四哈希值集,以及获取基于所述密钥加密第四哈希值集得到的所述第二加密隐私数据集。
本实施例中介绍的是发送方侧的处理步骤,具体可以参考前述实施例中的相关说明,在此不赘述。
图5为本发明实施例提供的一种交集数据获取方法的流程图,该方法应用于执行隐私集合求交集协议的接收方所对应的第一设备,如图5所示,该方法包括如下步骤:
501、获取接收方对应的第一隐私数据集。
502、获取由不经意伪随机函数产生的密钥对第一隐私数据集加密后的第一加密隐私数据集。
503、采用第一哈希函数对第一加密隐私数据集进行哈希计算得到第一哈希值集,第一哈希函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和第二隐私数据集中包含的数据数量确定,第二隐私数据集对应于执行隐私集合求交集协议的发送方。
504、接收发送方对应的第二设备发送的第二哈希值集,其中,第二哈希值集是第二设备通过不经意伪随机函数获得密钥,使用所述密钥对第二隐私数据集进行加密得到第二加密隐私数据集,以及采用第一哈希函数对第二加密隐私数据集进行哈希计算得到的。
505、根据第一哈希值集与第二哈希值集确定第一隐私数据集与第二隐私数据集的交集。
其中,第二加密隐私数据集的过程方式是:第二设备以设定概率生成随机字符串,替换第二隐私数据集中的隐私数据,使用所述密钥对经过替换后的第二隐私数据集进行加密得到第二加密隐私数据集,所述设定概率根据差分隐私预算确定。
本实施例中介绍的是接收方侧的处理步骤,具体可以参考前述实施例中的相关说明,在此不赘述。需要注意的是,本实施例中的第一设备、第二设备、第一隐私数据集以及第二隐私数据集与前文其他实施例中的假设情形不一致:本实施例中假设发送方对应的是第二设备以及第二隐私数据集;接收方对应的是第一设备以及第一隐私数据集。
以上本发明实施例提供的基于差分隐私的集合求交集方法可以适用于多种计算场景中,比如广告投放、寻找联系人等应用场景中。
以寻找联系人场景为例,当一个用户注册使用一种新的通讯服务的时候,该用户想要从现有联系人中寻找有哪些好友已经注册了同类服务,是一种常见的好友发现需求。为满足用户的这种需求,可以将用户的联系人信息作为一个数据集合,将该通讯服务的提供商所拥有的注册用户信息作为另一个数据集合,通过执行本发明实施例提供的基于差分隐私的集合求交集方案,可以完成发现联系人的功能,并防止交集外的信息泄露给双方中的任一方。
具体地,为完成上述联系人发现功能,本发明实施例提供一种获取交集数据的***,如图6所示,该***包括:执行PSI协议的用户端所对应的终端设备以及服务端所对应的服务器。其中,该用户端即可以是上述举例中的用户,服务端即为讯通服务的提供商。服务端对应的服务器可以是部署在云端的服务器集群。
终端设备,用于获取用户端对应的联系人集,通过OPRF获得密钥,使用所述密钥对联系人集进行加密得到加密联系人集;采用设定的压缩函数如第一哈希函数对加密联系人集进行压缩计算得到第一压缩值集(如第一哈希值集),将第一压缩值发送至服务器,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和联系人集中包含的联系人数量确定;
服务器,用于获取服务端存储的注册用户集,获取由所述密钥对注册用户集加密后的加密注册用户集,采用压缩函数对加密注册用户集进行哈希计算得到第二压缩值集(如第二哈希值集),根据第一压缩值集与第二压缩值集确定注册用户集与联系人集的交集,将交集中联系人对应的注册账号发送至终端设备。
其中,上述联系人集可以由用户终端中的通讯录中包含的各个联系人信息构成,联系人信息包括名字以及联系电话。上述注册用户集中包括已经注册了上述通讯服务的各个用户的注册信息,该注册信息包括名字以及联系电话。
服务器针对自己的注册用户集中的任一注册用户信息i,如果其在第二哈希值集中对应的哈希值包含在第一哈希值集中,则确定注册用户信息i包含在交集内,从而找到注册用户集与联系人集的交集数据,进而查询与交集中的注册用户信息相对应的通讯服务账号(比如昵称等),发送给用户的终端设备,用户便可以发起添加好友的请求。
本实施例中终端设备和服务器的执行过程可以参考前述实施例中第一设备和第二设备的执行过程,在此不展开赘述。
如上文所述,引入第一哈希函数的目的是为了在最终输出的交集计算结果中引入可控的误报率,以使得实际输出的交集计算结果满足差分隐私要求。因此,可以理解的是,假设上述用户地联系人集中原本是有20人注册了上述通讯服务的,但是服务器输出的交集计算结果中却未必准确地包含这20个人的注册信息,即实际输出的交集中除包含这20个人之外,还可能包含其他人的注册信息,通过引入了误报率而对交集结果进行了差分隐私保护。同时,基于第一哈希函数的计算处理,可以降低终端设备发送给服务器的数据量,节省通信开销。
再以金融场景为例,在互联网金融服务和产品被广泛接受的今日,很多用户不仅可以使用各种银行提供的储蓄、手机银行/网上银行转账等服务,还可以使用各种互联网金融服务提供商提供的金融服务。因此,便可能产生如下需求:某金融服务提供商W1想要统计同时使用金融服务提供商W1和金融服务提供商W2所提供的金融服务(比如支付服务)的用户。
本发明实施例提供了一种可以满足上述需求的获取交集数据的***,如图7所示,该***包括:执行PSI协议的第一金融服务器和第二金融服务器。其中,第一金融服务器对应于第一金融服务提供方,第二金融服务器对应于第二金融服务提供方。第一金融服务器和第二金融服务器可以是部署在云端的服务器集群。
第一金融服务器,用于获取第一金融服务提供方对应的第一注册用户集,通过不经意伪随机函数获得密钥,使用所述密钥对第一注册用户集进行加密得到第一加密注册用户集;采用设定的压缩函数对第一加密注册用户集进行压缩计算得到第一压缩值集,将第一压缩值集发送至第二金融服务器,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和第一注册用户集中包含的注册用户数量确定;
第二金融服务器,用于获取第二金融服务提供方对应的第二注册用户集,获取由所述密钥对第二注册用户集加密后的第二加密注册用户集;采用所述压缩函数对第二加密注册用户集进行压缩计算得到第二压缩值集,根据第一压缩值集与第二压缩值集确定第一注册用户集与第二注册用户集的交集。
可以理解的是,上述第一注册用户集、第二注册用户集中包括用户在注册相应金额服务提供商提供的金融服务时所注册的唯一性身份标识。
如前文所述,压缩函数包括第一哈希函数,压缩计算包括哈希计算,从而,第一压缩值集包括第一哈希值集,第二压缩值集包括第二哈希值集。
另外,可选地,第一金融服务器,还用于采用第二哈希函数对第一注册用户集进行哈希计算得到第三哈希值集;以设定概率生成随机字符串,替换第三哈希值集中的哈希值,所述设定概率根据差分隐私预算确定;基于所述密钥加密第三哈希值集得到第一加密注册用户集。类似地,第二金融服务器,还用于采用第二哈希函数对第二注册用户集进行哈希计算得到第四哈希值集,以及获取基于所述密钥加密第四哈希值集得到的第二加密注册用户集。
上述仅以不同金融服务提供商想要得知共同注册用户的需求为例进行了用户交集的获取过程。具体执行过程可以参考前述其他实施例中的相关说明,在此不赘述。
实际应用中,在金额领域,用户交集的计算需求不限于上述的举例,比如,某诚信评估机构想要查询一些用户是否具有***未准时还款的行为,此时,该诚信评估机构创建包含被评估的各个用户的身份标识的用户集1,并作为PSI协议的发送方。各个银行作为PSI协议的另一参与方(接收方),维护由所有***注册用户的用户集2,通过执行上述交集数据获取方案,每个银行可以得到用户集1中在本银行中进行过***注册的用户——交集用户,从而查询交集用户的***使用记录,确定是否有过逾期未还款的行为,反馈给诚信评估机构。
再以医疗场景为例,一个用户往往不仅仅在一家医院就医,当一个医院想要了解一些患者的既往病史情况时,可以基于本发明实施例提供的如下***实现:
一种获取交集数据的***,该***包括:执行PSI协议的第一医疗服务器和第二医疗服务器。其中,第一医疗服务器对应于第一医院,第二医疗服务器对应于第二医院。
第一医疗服务器,用于获取第一医院对应的第一就诊用户集,通过不经意伪随机函数获得密钥,使用所述密钥对第一就诊用户集进行加密得到第一加密就诊用户集;采用设定的压缩函数对第一加密就诊用户集进行压缩计算得到第一压缩值集,将第一压缩值集发送至第二医疗服务器,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和第一就诊用户集中包含的就诊用户数量确定;
第二医疗服务器,用于获取第二医院对应的第二就诊用户集,获取由所述密钥对第二就诊用户集加密后的第二加密就诊用户集;采用所述压缩函数对第二加密就诊用户集进行压缩计算得到第二压缩值集,根据第一压缩值集与第二压缩值集确定第一就诊用户集与第二就诊用户集的交集。
之后,第二医疗服务器可以本地查询上述交集中的就诊用户的就诊记录,加密传输给第一医疗服务器。
可选地,上述压缩函数可以是第一哈希函数,压缩计算包括哈希计算,从而,第一压缩值集包括第一哈希值集,第二压缩值集包括第二哈希值集。
另外,可选地,第一医疗服务器,还用于采用第二哈希函数对第一就诊用户集进行哈希计算得到第三哈希值集;以设定概率生成随机字符串,替换第三哈希值集中的哈希值,所述设定概率根据差分隐私预算确定;基于所述密钥加密第三哈希值集得到第一加密就诊用户集。类似地,第二医疗服务器,还用于采用第二哈希函数对第二就诊用户集进行哈希计算得到第四哈希值集,以及获取基于所述密钥加密第四哈希值集得到的第二加密就诊用户集。
实际上,各种需要进行交集计算的应用场景下都可以采用本发明实施例提供的方案进行交集数据的获取,不以上述应用场景为限。
以下将详细描述本发明的一个或多个实施例的交集数据获取装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图8为本发明实施例提供的一种交集数据获取装置的结构示意图,应用于执行隐私集合求交集协议的发送方所对应的第一设备,如图8所示,该装置包括:获取模块11、处理模块12、发送模块13。
获取模块11,用于获取所述发送方对应的第一隐私数据集。
处理模块12,用于通过不经意伪随机函数获得密钥,使用所述密钥对所述第一隐私数据集进行加密得到第一加密隐私数据集,采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述第一隐私数据集中包含的数据数量确定。
发送模块13,用于将所述第一压缩值集发送至执行隐私集合求交集协议的接收方所对应的第二设备,以使所述第二设备根据所述第一压缩值集与第二压缩值集确定所述接收方对应的第二隐私数据集与所述第一隐私数据集的交集,其中,所述第二压缩值集是所述第二设备在获取基于所述密钥对所述第二隐私数据集加密后的第二加密隐私数据集后,采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到的。
可选地,所述压缩函数包括第一哈希函数,所述压缩计算包括哈希计算;所述第一压缩值集包括第一哈希值集,所述第二压缩值集包括第二哈希值集。
可选地,所述处理模块12具体用于:采用第二哈希函数对所述第一隐私数据集进行哈希计算得到第三哈希值集;以设定概率生成随机字符串,替换所述第三哈希值集中的哈希值,所述设定概率根据所述差分隐私预算确定;基于所述密钥加密所述第三哈希值集得到所述第一加密隐私数据集。
其中,所述第二设备还采用所述第二哈希函数对所述第二隐私数据集进行哈希计算得到第四哈希值集,以及获取基于所述密钥加密所述第四哈希值集得到的所述第二加密隐私数据集。
图8所示装置可以执行前述实施例中发送方侧所执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
图9为本发明实施例提供的一种交集数据获取装置的结构示意图,应用于执行隐私集合求交集协议的接收方所对应的第一设备,如图9所示,该装置包括:获取模块21、处理模块22、接收模块23。
获取模块21,用于获取所述接收方对应的第一隐私数据集,以及,获取由不经意伪随机函数产生的密钥对所述第一隐私数据集加密后的第一加密隐私数据集。
处理模块22,采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和第二隐私数据集中包含的数据数量确定,所述第二隐私数据集对应于执行隐私集合求交集协议的发送方。
接收模块23,用于接收所述发送方对应的第二设备发送的第二压缩值集,其中,所述第二压缩值是所述第二设备通过不经意伪随机函数获得密钥,使用所述密钥对所述第二隐私数据集进行加密得到第二加密隐私数据集,以及采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到的。
所述处理模块22,还用于根据所述第一压缩值集与所述第二压缩值集确定所述第一隐私数据集与所述第二隐私数据集的交集。
可选地,所述压缩函数包括第一哈希函数,所述压缩计算包括哈希计算;所述第一压缩值集包括第一哈希值集,所述第二压缩值集包括第二哈希值集。
可选地,所述第二加密隐私数据集的过程方式是:
所述第二设备以设定概率生成随机字符串,替换所述第二隐私数据集中的隐私数据,使用所述密钥对经过所述替换后的第二隐私数据集进行加密得到所述第二加密隐私数据集,所述设定概率根据所述差分隐私预算确定。
图9所示装置可以执行前述实施例中接收方侧所执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述交集数据获取装置的结构可实现为一电子设备。如图10所示,该电子设备可以包括:处理器31、存储器32、通信接口33。其中,存储器32上存储有可执行代码,当所述可执行代码被处理器31执行时,使处理器31至少可以实现如前述实施例中提供的第一设备或第二设备执行的交集数据获取方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的第一设备或第二设备执行的交集数据获取方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的网元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种获取交集数据的***,其特征在于,包括:
执行隐私集合求交集协议的发送方所对应的第一设备以及接收方所对应的第二设备;
所述第一设备,用于获取所述发送方对应的第一隐私数据集,通过不经意伪随机函数获得密钥,使用所述密钥对所述第一隐私数据集进行加密得到第一加密隐私数据集;采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,将所述第一压缩值集发送至所述第二设备,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述第一隐私数据集中包含的数据数量确定;
所述第二设备,用于获取所述接收方对应的第二隐私数据集,获取由所述不经意伪随机函数产生的所述密钥对所述第二隐私数据集加密后的第二加密隐私数据集;采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到第二压缩值集,根据所述第一压缩值集与所述第二压缩值集确定所述第二隐私数据集与所述第一隐私数据集的交集。
2.根据权利要求1所述的***,其特征在于,所述压缩函数包括第一哈希函数;
所述第一设备,用于采用第一哈希函数对所述第一加密隐私数据集进行哈希计算得到第一哈希值集,将所述第一哈希值集发送至所述第二设备;
所述第二设备,用于采用所述第一哈希函数对所述第二加密隐私数据集进行哈希计算得到第二哈希值集,根据所述第一哈希值集与所述第二哈希值集确定所述第二隐私数据集与所述第一隐私数据集的交集。
3.根据权利要求2所述的***,其特征在于,所述第二设备,用于对于所述第二隐私数据集中的任一隐私数据,若所述任一隐私数据在所述第二哈希值集中对应的哈希值包含在所述第一哈希值集中,则确定所述任一隐私数据包含在所述交集内。
4.根据权利要求2所述的***,其特征在于,所述第一设备,用于对所述第一哈希值集中的哈希值进行随机排序后,发送至所述第二设备。
5.根据权利要求1所述的***,其特征在于,所述第一设备,用于以设定概率生成随机字符串,替换所述第一隐私数据集中的隐私数据,所述设定概率根据所述差分隐私预算确定,使用所述密钥对经过所述替换后的第一隐私数据集进行加密得到所述第一加密隐私数据集。
6.根据权利要求1至5中任一项所述的***,其特征在于,所述第一设备,用于对所述第一隐私数据集加密前采用第二哈希函数对所述第一隐私数据集进行哈希计算得到第三哈希值集,所述第一加密隐私数据集是基于所述密钥加密所述第三哈希值集得到的;
所述第二设备,用于采用所述第二哈希函数对所述第二隐私数据集进行哈希计算得到第四哈希值集,所述第二加密隐私数据集是基于所述密钥加密所述第四哈希值集得到的。
7.一种交集数据获取方法,其特征在于,应用于执行隐私集合求交集协议的发送方所对应的第一设备,所述方法包括:
获取所述发送方对应的第一隐私数据集;
通过不经意伪随机函数获得密钥;
使用所述密钥对所述第一隐私数据集进行加密得到第一加密隐私数据集;
采用设定的压缩函数对所述第一加密隐私数据集进行压缩计算得到第一压缩值集,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述第一隐私数据集中包含的数据数量确定;
将所述第一压缩值集发送至执行隐私集合求交集协议的接收方所对应的第二设备,以使所述第二设备根据所述第一压缩值集与第二压缩值集确定所述接收方对应的第二隐私数据集与所述第一隐私数据集的交集,其中,所述第二压缩值集是所述第二设备在获取基于所述密钥对所述第二隐私数据集加密后的第二加密隐私数据集后,采用所述压缩函数对所述第二加密隐私数据集进行压缩计算得到的。
8.根据权利要求7所述的方法,其特征在于,所述压缩函数包括第一哈希函数,所述压缩计算包括哈希计算;所述第一压缩值集包括第一哈希值集,所述第二压缩值集包括第二哈希值集。
9.根据权利要求7或8所述的方法,其特征在于,所述使用所述密钥对所述第一隐私数据集进行加密得到第一加密隐私数据集,包括:
采用第二哈希函数对所述第一隐私数据集进行哈希计算得到第三哈希值集;
以设定概率生成随机字符串,替换所述第三哈希值集中的哈希值,所述设定概率根据所述差分隐私预算确定;
基于所述密钥加密所述第三哈希值集得到所述第一加密隐私数据集;
其中,所述第二设备还采用所述第二哈希函数对所述第二隐私数据集进行哈希计算得到第四哈希值集,以及获取基于所述密钥加密所述第四哈希值集得到的所述第二加密隐私数据集。
10.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求7至9中任一项所述的交集数据获取方法。
11.一种获取交集数据的***,其特征在于,包括:
执行隐私集合求交集协议的用户端所对应的终端设备以及服务端所对应的服务器;
所述终端设备,用于获取所述用户端对应的联系人集,通过不经意伪随机函数获得密钥,使用所述密钥对所述联系人集进行加密得到加密联系人集;采用设定的压缩函数对所述加密联系人集进行压缩计算得到第一压缩值集,将所述第一压缩值集发送至所述服务器,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述联系人集中包含的联系人数量确定;
所述服务器,用于获取所述服务端存储的注册用户集,获取由所述密钥对所述注册用户集加密后的加密注册用户集;采用所述压缩函数对所述加密注册用户集进行压缩计算得到第二压缩值集,根据所述第一压缩值集与所述第二压缩值集确定所述注册用户集与所述联系人集的交集,将所述交集中联系人对应的注册账号发送至所述终端设备。
12.一种获取交集数据的***,其特征在于,包括:
执行隐私集合求交集协议的第一金融服务器和第二金融服务器;
所述第一金融服务器,用于获取第一金融服务提供方对应的第一注册用户集,通过不经意伪随机函数获得密钥,使用所述密钥对所述第一注册用户集进行加密得到第一加密注册用户集;采用设定的压缩函数对所述第一加密注册用户集进行压缩计算得到第一压缩值集,将所述第一压缩值集发送至所述第二金融服务器,所述压缩函数用于将输入数据的长度变为不超过设定长度,所述设定长度根据差分隐私预算和所述第一注册用户集中包含的注册用户数量确定;
所述第二金融服务器,用于获取第二金融服务提供方对应的第二注册用户集,获取由所述密钥对所述第二注册用户集加密后的第二加密注册用户集;采用所述压缩函数对所述第二加密注册用户集进行压缩计算得到第二压缩值集,根据所述第一压缩值集与所述第二压缩值集确定所述第一注册用户集与所述第二注册用户集的交集。
13.根据权利要求12所述的***,其特征在于,所述压缩函数包括第一哈希函数,所述压缩计算包括哈希计算;所述第一压缩值集包括第一哈希值集,所述第二压缩值集包括第二哈希值集。
14.根据权利要求12所述的***,其特征在于:
所述第一金融服务器,还用于采用第二哈希函数对所述第一注册用户集进行哈希计算得到第三哈希值集;以设定概率生成随机字符串,替换所述第三哈希值集中的哈希值,所述设定概率根据所述差分隐私预算确定;基于所述密钥加密所述第三哈希值集得到所述第一加密注册用户集;
所述第二金融服务器,还用于采用所述第二哈希函数对所述第二注册用户集进行哈希计算得到第四哈希值集,以及获取基于所述密钥加密所述第四哈希值集得到的所述第二加密注册用户集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111555247.6A CN114329527A (zh) | 2021-12-17 | 2021-12-17 | 交集数据获取方法、设备和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111555247.6A CN114329527A (zh) | 2021-12-17 | 2021-12-17 | 交集数据获取方法、设备和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329527A true CN114329527A (zh) | 2022-04-12 |
Family
ID=81051896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111555247.6A Pending CN114329527A (zh) | 2021-12-17 | 2021-12-17 | 交集数据获取方法、设备和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329527A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722049A (zh) * | 2022-05-18 | 2022-07-08 | 华控清交信息科技(北京)有限公司 | 一种多方数据交集计算方法、装置及电子设备 |
CN114866312A (zh) * | 2022-04-24 | 2022-08-05 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的共有数据确定方法及装置 |
CN115277253A (zh) * | 2022-09-26 | 2022-11-01 | 北京融数联智科技有限公司 | 一种三方隐私集合交集获取方法和*** |
CN115936112A (zh) * | 2023-01-06 | 2023-04-07 | 北京国际大数据交易有限公司 | 一种基于联邦学习的客户画像模型训练方法及*** |
CN115935438A (zh) * | 2023-02-03 | 2023-04-07 | 杭州金智塔科技有限公司 | 数据隐私求交***及方法 |
CN115967491A (zh) * | 2023-03-07 | 2023-04-14 | 华控清交信息科技(北京)有限公司 | 一种隐私求交方法、***和可读存储介质 |
CN117240619A (zh) * | 2023-11-13 | 2023-12-15 | 杭州金智塔科技有限公司 | 隐私集合求交集基数***及方法 |
-
2021
- 2021-12-17 CN CN202111555247.6A patent/CN114329527A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866312A (zh) * | 2022-04-24 | 2022-08-05 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的共有数据确定方法及装置 |
CN114722049A (zh) * | 2022-05-18 | 2022-07-08 | 华控清交信息科技(北京)有限公司 | 一种多方数据交集计算方法、装置及电子设备 |
CN114722049B (zh) * | 2022-05-18 | 2022-08-12 | 华控清交信息科技(北京)有限公司 | 一种多方数据交集计算方法、装置及电子设备 |
CN115277253A (zh) * | 2022-09-26 | 2022-11-01 | 北京融数联智科技有限公司 | 一种三方隐私集合交集获取方法和*** |
CN115277253B (zh) * | 2022-09-26 | 2022-12-27 | 北京融数联智科技有限公司 | 一种三方隐私集合交集获取方法和*** |
CN115936112A (zh) * | 2023-01-06 | 2023-04-07 | 北京国际大数据交易有限公司 | 一种基于联邦学习的客户画像模型训练方法及*** |
CN115935438A (zh) * | 2023-02-03 | 2023-04-07 | 杭州金智塔科技有限公司 | 数据隐私求交***及方法 |
CN115967491A (zh) * | 2023-03-07 | 2023-04-14 | 华控清交信息科技(北京)有限公司 | 一种隐私求交方法、***和可读存储介质 |
CN117240619A (zh) * | 2023-11-13 | 2023-12-15 | 杭州金智塔科技有限公司 | 隐私集合求交集基数***及方法 |
CN117240619B (zh) * | 2023-11-13 | 2024-04-16 | 杭州金智塔科技有限公司 | 隐私集合求交集基数***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114329527A (zh) | 交集数据获取方法、设备和*** | |
KR102415097B1 (ko) | 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 | |
JP6908700B2 (ja) | 情報保護のためのシステム及び方法 | |
JP2020504916A (ja) | 匿名エントリを含む分散型データベースのための方法および装置 | |
CN114860735A (zh) | 匿踪查询方法及装置 | |
EP3465524A1 (en) | Secure transmission of sensitive data | |
CN113536379B (zh) | 一种隐私数据的查询方法、装置及电子设备 | |
CN107196840B (zh) | 数据处理方法、装置及设备 | |
CN114175028B (zh) | 密码假名映射方法、计算机***、计算机程序和计算机可读介质 | |
Li et al. | SPFM: Scalable and privacy-preserving friend matching in mobile cloud | |
CN112073196B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN108805574B (zh) | 基于隐私保护的交易方法和*** | |
JP2023527713A (ja) | ブロックチェーントランザクションのフィルタリング | |
CN114640444A (zh) | 基于国产密码算法的隐私保护集合交集获取方法及装置 | |
KR20220012347A (ko) | 지식 증명 | |
CN114119013A (zh) | 区块链***及其操作方法 | |
CN115242371A (zh) | 差分隐私保护的集合交集及其基数计算方法、装置及*** | |
CN103368918A (zh) | 一种动态口令认证方法、装置及*** | |
JP2023554148A (ja) | 機密データのブロック | |
CN114144783A (zh) | 密码假名映射方法、计算机***、计算机程序和计算机可读介质 | |
CN111401888A (zh) | 一种生成多重签名钱包的方法及装置 | |
CN113254989B (zh) | 目标数据的融合方法、装置和服务器 | |
CN112765570B (zh) | 一个支持数据转移的基于身份可证明数据持有方法 | |
JP2005227331A (ja) | 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム | |
CN113627911A (zh) | 一种基于区块链匿名收发红包的方法、设备及储存介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |