一种具有隐私保护的数据库的一对多等值连接方法及系统技术方案

技术编号:38158526 阅读:13 留言:0更新日期:2023-07-13 09:28
本发明专利技术实施例提供一种具有隐私保护的数据库的一对多等值连接方法及系统,涉及隐私计算技术,领域能够实现一对多的等值连接的运算;包括:第一参与方采用设定数量的哈希函数在本地构建布谷鸟哈希表,形成第一数据表对应的第一布谷鸟哈希表;第二参与方采用设定数量的所述哈希函数分别根据所拥有的第二记录构建第二扩展置换;第一参与方与第二参与方均执行不经意扩展置换协议,形成第一布谷鸟表与每一第二扩展置换对应的秘密分享表;形成第二数据表对应的秘密分享表;判断第二数据表对应的秘密分享表内的每个第二记录是否,与第一布谷鸟表与第二扩展置换对应的秘密分享表中的第一记录连接键匹配,实现一对多的等值连接。实现一对多的等值连接。实现一对多的等值连接。

【技术实现步骤摘要】
一种具有隐私保护的数据库的一对多等值连接方法及系统


[0001]本专利技术涉及隐私计算
,特别涉及一种具有隐私保护的数据库的一对多等值连接方法及系统。

技术介绍

[0002]互联网技术的飞速发展加速了信息化时代的到来。随着《数据安全法》《个人信息保护法》等相关法律法规的出台,组织机构间的简单直接的数据交换不再符合当下社会对于隐私保护的需求。如何打破数据流通壁垒,在保护数据隐私的前提下进行跨机构间的数据联合统计分析,成为了一个亟待解决的问题。联邦查询(Federated Query)以多方安全计算(Secure Multi

Party Computation)技术为基础,允许多个互不信任的参与方在不暴露自己私有数据的前提下,共同计算约定的查询 ,并保证不会泄露除计算结果以外的任何信息。
[0003]在联邦查询中,等值连接(Equi

Join)是进行数据分析的前置步骤。根据连接键中有无重复值,连接可以分为一对一、一对多和多对多等值连接。明文下的等值连接可以通过嵌套循环(Nested Loop Join),排序合并(Sort Merge Join)以及哈希(Hash Join)三种方法实现。在联邦查询中,为了保证数据安全,必须要保证计算流程的数据无关性,因此需要设计满足联邦查询场景中数据隐私保护需求的连接算法。
[0004]但现有技术不支持一对多等值连接,且等值连接的计算复杂度为,较大的计算开销使其无法应用于大规模数据处理任务。

技术实现思路

[0005]本专利技术实施例提供具有隐私保护的数据库的一对多等值连接方法及系统,能够解决现有技术中存在的技术问题。
[0006]为达上述目的,一方面,本专利技术实施例提供一种具有隐私保护的数据库的一对多等值连接方法,包括:S101:根据预先设置的等值连接协议,第一参与方采用设定数量的哈希函数在本地构建布谷鸟哈希表,随机采用任一哈希函数将第一记录映射到布谷鸟哈希表的不同位置,形成第一数据表对应的第一布谷鸟哈希表;其中,第一记录存储于第一数据表内,第一记录包括第一记录连接键;S102:据等值连接协议,第二参与方采用设定数量的哈希函数分别根据所拥有的第二记录构建第二扩展置换,每个哈希函数分别用于构建一个相应的第二扩展置换;其中,第二记录存储于第二数据表内,第二记录包括第二记录连接键,具有相同连接键的第二记录与第一记录构成一组完整的数据;S103:第一参与方执行不经意扩展置换协议,第一参与方计算不经意扩展置换网络中每个交换单元相应的多种掩码组合;第一参与方将不经意扩展置换网络的输入层的交
换单元的输入线对应的掩码与第一布谷鸟哈希表的明文进行异或,得到第一布谷鸟哈希表的密文,将第一布谷鸟哈希表的密文发送给第二参与方;第一布谷鸟哈希表的密文自不经意扩展置换网络的输出层的交换单元的输出线输出对应的掩码,输出的掩码为第一布谷鸟哈希表与第二扩展置换对应的秘密分享表的第一分片;S104:第二参与方通过不经意传输协议从第一参与方为每个交换单元获取一种掩码组合;针对第一布谷鸟哈希表的密文,第二参与方将第一布谷鸟哈希表的密文依次输入哑值填充网络、元素复制网络和元素排列网络,在哑值填充网络、元素复制网络和元素排列网络中分别按照各自的交换单元的拓扑排序对每个交换单元进行计算,将每个交换单元的掩码组合与进入到自身交换单元的密文输入进行异或,得到每个交换单元的密文输出,最终元素排列网络的交换单元输出的密文结果为第一布谷鸟表与每个第二扩展置换对应的秘密分享表的第二分片;其中,秘密分享表的数量与哈希函数数量相同;以及,第二参与方为第二数据表中的每一条记录生成一条随机掩码,将随机掩码发送给第一参与方作为第二数据表对应的秘密分享表的第一分片;再将随机掩码与第二数据表中的记录进行异或,得到第二数据表对应的秘密分享表的第二分片;S105:第一参与方和第二参与方依据秘密分享计算协议,判断第二数据表对应的秘密分享表内的每个第二记录是否,与第一布谷鸟表与第二扩展置换对应的秘密分享表中的第一记录连接键匹配;其中,第一布谷鸟表与第二扩展置换对应的秘密分享表包括第一布谷鸟哈希表与第二扩展置换对应的秘密分享表的第一分片,以及第一布谷鸟表与每个第二扩展置换对应的秘密分享表的第二分片,第二数据表对应的秘密分享表包括第二数据表对应的秘密分享表的第一分片,以及第二数据表对应的秘密分享表的第二分片;且第一记录在第一布谷鸟表与第二扩展置换对应的秘密分享表内的行位置,与第二记录在第二数据表对应的秘密分享表内的行位置相同。
[0007]另一方面,本专利技术实施例提供一种具有隐私保护的数据库的一对多等值连接系统,包括第一参与方、第二参与方,第一参与方包括:布谷鸟哈希表构建单元和第一执行单元;第二参与方包括:扩展置换单元和第二执行单元;其中:布谷鸟哈希表构建单元,用于根据预先设置的等值连接协议,采用设定数量的哈希函数在本地构建布谷鸟哈希表,随机采用任一哈希函数将第一记录映射到布谷鸟哈希表的不同位置,形成第一数据表对应的第一布谷鸟哈希表;其中,第一记录存储于第一数据表内,第一记录包括第一记录连接键;扩展置换单元,用于根据等值连接协议,采用设定数量的哈希函数分别根据所拥有的第二记录构建第二扩展置换,每个哈希函数分别用于构建一个相应的第二扩展置换;其中,第二记录存储于第二数据表内,第二记录包括第二记录连接键,具有相同连接键的第二记录与第一记录构成一组完整的数据;第一执行单元,用于执行不经意扩展置换协议,计算不经意扩展置换网络中每个交换单元相应的多种掩码组合;将不经意扩展置换网络的输入层的交换单元的输入线对应的掩码与第一布谷鸟哈希表的明文进行异或,得到第一布谷鸟哈希表的密文,将第一布谷鸟哈希表的密文发送给第二执行单元;第一布谷鸟哈希表的密文自不经意扩展置换网络的输出层的交换单元的输出线输出对应的掩码,输出的掩码为第一布谷鸟哈希表与第二扩展置换对应的秘密分享表的第一分片;
第二执行单元,用于通过不经意传输协议从第一执行单元为每个交换单元获取一种掩码组合;针对第一布谷鸟哈希表的密文,将第一布谷鸟哈希表的密文依次输入哑值填充网络、元素复制网络和元素排列网络,在哑值填充网络、元素复制网络和元素排列网络中分别按照各自的交换单元的拓扑排序对每个交换单元进行计算,将每个交换单元的掩码组合与进入到自身交换单元的密文输入进行异或,得到每个交换单元的密文输出,最终元素排列网络的交换单元输出的密文结果为第一布谷鸟表与每个第二扩展置换对应的秘密分享表的第二分片;其中,秘密分享表的数量与哈希函数数量相同;为第二数据表中的每一条记录生成一条随机掩码,将随机掩码发送给第一执行单元作为第二数据表对应的秘密分享表的第一分片;再将随机掩码与第二数据表中的记录进行异或,得到第二数据表对应的秘密分享表的第二分片;第一执行单元和第二执行单元,还用于依据秘密分享计算协议,判断第二数据表对应的秘密分享表内的每个第二记录,是否与第一布谷鸟表与第二扩展置换对应的秘密分享表中的第一记录连接键匹配;其中,第一布谷鸟表与第二扩展置换对应的秘密分享表包括第一布谷鸟哈本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种具有隐私保护的数据库的一对多等值连接方法,其特征在于,包括:S101:根据预先设置的等值连接协议,第一参与方采用设定数量的哈希函数在本地构建布谷鸟哈希表,随机采用任一所述哈希函数将第一记录映射到所述布谷鸟哈希表的不同位置,形成第一数据表对应的第一布谷鸟哈希表;其中,所述第一记录存储于所述第一数据表内,所述第一记录包括第一记录连接键;S102:据等值连接协议,第二参与方采用设定数量的所述哈希函数分别根据所拥有的第二记录构建第二扩展置换,每个所述哈希函数分别用于构建一个相应的第二扩展置换;其中,所述第二记录存储于第二数据表内,所述第二记录包括第二记录连接键,具有相同连接键的第二记录与第一记录构成一组完整的数据;S103:第一参与方执行不经意扩展置换协议,第一参与方计算不经意扩展置换网络中每个交换单元相应的多种掩码组合;第一参与方将不经意扩展置换网络的输入层的交换单元的输入线对应的掩码与第一布谷鸟哈希表的明文进行异或,得到第一布谷鸟哈希表的密文,将第一布谷鸟哈希表的密文发送给第二参与方;第一布谷鸟哈希表的密文自不经意扩展置换网络的输出层的交换单元的输出线输出对应的掩码,输出的所述掩码为第一布谷鸟哈希表与第二扩展置换对应的秘密分享表的第一分片;S104:第二参与方通过不经意传输协议从第一参与方为每个交换单元获取一种所述掩码组合;针对第一布谷鸟哈希表的密文,第二参与方将第一布谷鸟哈希表的密文依次输入哑值填充网络、元素复制网络和元素排列网络,在哑值填充网络、元素复制网络和元素排列网络中分别按照各自的交换单元的拓扑排序对每个交换单元进行计算,将每个交换单元的掩码组合与进入到自身交换单元的密文输入进行异或,得到每个交换单元的密文输出,最终元素排列网络的交换单元输出的密文结果为第一布谷鸟表与每个第二扩展置换对应的秘密分享表的第二分片;其中,所述秘密分享表的数量与所述哈希函数数量相同;以及,第二参与方为第二数据表中的每一条记录生成一条随机掩码,将随机掩码发送给第一参与方作为第二数据表对应的秘密分享表的第一分片;再将随机掩码与第二数据表中的记录进行异或,得到第二数据表对应的秘密分享表的第二分片;S105:第一参与方和第二参与方依据秘密分享计算协议,判断第二数据表对应的秘密分享表内的每个第二记录,是否与所述第一布谷鸟表与第二扩展置换对应的秘密分享表中的第一记录连接键匹配;其中,所述第一布谷鸟表与第二扩展置换对应的秘密分享表包括第一布谷鸟哈希表与第二扩展置换对应的秘密分享表的第一分片,以及第一布谷鸟表与每个第二扩展置换对应的秘密分享表的第二分片,所述第二数据表对应的秘密分享表包括第二数据表对应的秘密分享表的第一分片,以及第二数据表对应的秘密分享表的第二分片;且所述第一记录在所述第一布谷鸟表与第二扩展置换对应的秘密分享表内的行位置,与第二记录在第二数据表对应的秘密分享表内的行位置相同。2.根据权利要求1所述的具有隐私保护的数据库的一对多等值连接方法,其特征在于,在所述等值连接协议中,第一参与方只将所拥有的第一数据表的数据量上界公开给第二参与方、以及第二参与方只将所拥有的第二数据表的数据量上界公开给第一参与方。3.根据权利要求1所述的具有隐私保护的数据库的一对多等值连接方法,其特征在于,S101具体包括:针对每个第一记录,布谷鸟哈希算法使用预设数量的哈希函数将每个第一记录随机映
射到预设数量的桶的任一桶内;其中,所述哈希函数的数量为3;在将每个第一记录映射到预设数量的桶的任一桶内的过程中,若所要映射的预设数量的桶内均具有一个记录时,则随机将一个所述桶内的记录踢出,并将所述第一记录映射值插入到该桶内;持续踢出桶内的记录,直到将最后一个第一记录插入桶内为止;其中,若踢出动作达到预设次数时,停止踢出动作,并将最后一个被踢出的记录放入暂存区;其中,所述暂存区的数量为0。4.根据权利要求1所述的具有隐私保护的数据库的一对多等值连接方法,其特征在于,S103具体包括:第一参与方计算不经意扩展置换网络中每个交换单元相应的四种掩码组合;其中,每个交换单元具有两个输入掩码和两个输出掩码,且每组掩码组合包括:一个输入掩码和一个输出掩码;第一参与方将不经意扩展置换网络的哑值填充网络的交换单元的输入线对应的掩码,与第一布谷鸟哈希表的第一记录进行异或得到第一布谷鸟哈希表的密文,将第一布谷鸟哈希表的密文发送给第二参与方。5.根据权利要求4所述的具有隐私保护的数据库的一对多等值连接方法,其特征在于,所述不经意扩展置换协议基于不经意扩展置换网络实现,所述不经意扩展置换网络包括:哑值填充网络、元素复制网络和元素排列网络,且所述哑值填充网络、所述元素复制网络、所述元素排列网络分别由各自的交换单元组成;S104具体包括:第二参与方自第一参与方获取由第二扩展置换指定的一种所述掩码组合;第二参与方将第一布谷鸟哈希表的密文内的第一记录输入哑值填充网络的交换单元,通过哑值填充网络的交换单元重新排列所述第一记录的顺序,且在重新排列后的第一记录之后紧跟预设数量的哑值,形成第一哑值填充序列;将第一哑值填充序列输入所述元素复制网络的交换单元,通过所述元素复制网络的交换单元将每个所述第一记录复制预设次数,形成第一复制序列;将第一复制序列输入所述元素排列网络的交换单元,将相邻的同一所述第一记录分散到由第二参与方输入的第二扩展置换指定的位置,形成第一布谷鸟表与第二扩展置换对应的秘密分享表的第二分片。6.根据权利要求5所述的具有隐私保护的数据库的一对多等值连接方法,其特征在于,还包括:第二参与方根据哑值填充网络的大小、元素复制网络的大小、元素排列网络的大小以及不经意扩展置换网络的总数的关系判断是否将多个不经意扩展置换网络进行合并;其中,采用表示哑值填充网络的大小,采用 分别表示元素复制网络的大小,以及采用表示元素排列网络的大小,采用的表示不经意扩展置换网络的总数,所述不经意扩展置换网络的总数等于哑值填充网络的数量、元素复制网络的数量和元素排列网络的数量之和;通过c表示m与n之商;当 时,第一参与方与第二参与方执行不经意扩展置换协议时,采用
各自的不经意扩展置换网络对第一布谷鸟哈希表的密文进行计算;当时,第一参与方与第二参与方分别将多个具有共同输入元素的所述哑值填充网络合并为一个新的哑值填充网络,将多个具有共同输入元素的元素复制网络合并为一个新的元素复制网络,将多个具有共同输入元素的元素排列网络合并为一个新的元素排列网络,执行不经意扩展置换协议时,采用新的哑值填充网络、新的元素复制网络、新的元素排列网络对第一布谷鸟哈希表的密文进行计算。7.根据权利要求1所述的具有隐私保护的数据库的一对多等值连接方法,其特征在于,S105具体包括:如果存在匹配的连接键,则存在与该第二记录等值连接的第一记录,将第二记录、与该第二记录等值连接的第一记录作为一组完成的数据形成输出结果;如果不存在匹配的连接键,则不存在与该第二记录等值连接的第一记录。8.根据权利要求7所述的具有隐私保护的数据库的一对多等值连接方法,其特征在于,S105具体包括:采用内连接、左连接、右连接或全连接的方式,第一参与方和第二参与方将第二记录连接键分别与各第一记录连接键进行比对匹配。9.一种具有隐私保护的数据库的一对多等值连接系统,其特征在于,包括第一参与方和第二参与方,所述第一参与方包括:布谷鸟哈希表构建单元和第一执行单元;所述第二参与方包括:扩展置换单元和第二执行单元;其中:布谷鸟哈希表...

【专利技术属性】
技术研发人员:赵纹鸿韩宗达傅跃兵
申请(专利权)人:北京融数联智科技有限公司
类型:发明
国别省市:

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

1