CN116842561B - 一种数据集可动态增删的隐私求交系统和方法 - Google Patents
一种数据集可动态增删的隐私求交系统和方法 Download PDFInfo
- Publication number
- CN116842561B CN116842561B CN202310787037.2A CN202310787037A CN116842561B CN 116842561 B CN116842561 B CN 116842561B CN 202310787037 A CN202310787037 A CN 202310787037A CN 116842561 B CN116842561 B CN 116842561B
- Authority
- CN
- China
- Prior art keywords
- bucket
- sub
- sequence
- intersection
- data set
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000000977 initiatory effect Effects 0.000 claims abstract description 109
- 239000003999 initiator Substances 0.000 claims abstract description 72
- 238000012217 deletion Methods 0.000 claims abstract description 13
- 230000037430 deletion Effects 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims 1
- 238000007781 pre-processing Methods 0.000 description 10
- 238000000926 separation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据集可动态增删的隐私求交系统和方法。该系统包括任务发起方和任务参与方;任务参与方获取任务发起方的发起分桶标记序列,并根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列;任务发起方根据所述交集分桶索引序列从各发起分桶对应的过滤器序列中确定交集过滤器序列,并基于预设加密算法并行化计算所述交集盲化数据集的盲化密文序列;任务发起方向任务参与方发送所述交集过滤器序列和所述盲化密文序列;任务参与方根据所述盲化密文序列脱盲后处理后的待查询密文序列和所述交集过滤器序列,确定交集元素。本发明实施例提供的系统可以支持并行计算和数据库的动态增删。
Description
技术领域
本发明涉及多方数据求交技术领域,尤其涉及一种数据集可动态增删的隐私求交系统和方法。
背景技术
隐私集合求交(Private Set Intersection,PSI)是指参与双方在不泄露任何额外信息的情况下,得到双方持有数据的交集,额外信息指的是除了双方的数据交集以外的任何信息。
在多方安全计算(Secure Multi-Party Computation,SMPC)环境中的PSI,可以被广泛地应用于纵向联邦学习的样本对齐场景、横向联邦学习的特征对齐场景、黑名单白名单共享、隐私联系人查找、在线广告收益等多种实际场景。
对于多方安全计算下的大数据集计算,尤其是数据集分布不平衡下的计算,需要PSI底层所依赖的密码学算法计算逻辑支持很好的并行计算能力,以及数据库的可动态增删及高效查询、存储代价小等能力,而目前的PSI相关支持能力比较有限。
发明内容
本发明提供了一种数据集可动态增删的隐私求交系统和方法,以支持并行计算和数据库的动态增删、快速查询、存储代价小。
根据本发明的一方面,提供了一种数据集可动态增删的隐私求交系统,包括任务发起方和任务参与方;
任务参与方获取任务发起方的发起分桶标记序列,并根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列;
任务参与方向任务发起方发送所述交集分桶索引序列和所述交集分桶索引序列中交集分桶的交集盲化数据集;
任务发起方根据所述交集分桶索引序列从各发起分桶对应的过滤器序列中确定交集过滤器序列,并基于预设加密算法并行化计算所述交集盲化数据集的盲化密文序列;
任务发起方向任务参与方发送所述交集过滤器序列和所述盲化密文序列;
任务参与方根据所述盲化密文序列脱盲后处理后的待查询密文序列和所述交集过滤器序列,确定交集元素。
根据本发明的另一方面,提供了一种数据集可动态增删的隐私求交方法,应用于本发明任意实施例所提供系统中的任务发起方,包括:
根据交集分桶索引序列从各发起分桶对应的过滤器序列中确定交集过滤器序列,并基于预设加密算法并行化计算交集盲化数据集的盲化密文序列;
向任务参与方发送所述交集过滤器序列和所述盲化密文序列。
根据本发明的另一方面,提供了一种数据集可动态增删的隐私求交方法,应用于本发明任意实施例所提供系统中的任务参与方,包括:
获取任务发起方的发起分桶标记序列,并根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列;
向任务发起方发送所述交集分桶索引序列和所述交集分桶索引序列中交集分桶的交集盲化数据集;
根据所述盲化密文序列脱盲后处理后的待查询密文序列和所述交集过滤器序列,确定交集元素。
本发明实施例通过在任务参与方和任务发起方分别使用加密和盲化的数据处理方式,来保证多方安全计算下数据集元素的安全性,不易泄露。同时分桶和过滤器的结合使用,既直接实现了数据集的并行计算,又为后续的数据集的动态删减、高效查询提供实现基础。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是根据本发明一实施例提供的一种数据集可动态增删的隐私求交系统的示意图;
图1B是根据本发明一实施例提供的一种各阶段方法流程的示意图;
图2是根据本发明又一实施例提供的一种数据集可动态增删的隐私求交方法的流程图;
图3是根据本发明又一实施例提供的一种数据集可动态增删的隐私求交方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1A为本发明一实施例提供的一种数据集可动态增删的隐私求交系统的示意图。如图1A所示,该系统包括:
所述系统包括任务发起方110和任务参与方120;
任务参与方120获取任务发起方110的发起分桶标记序列,并根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列;
任务参与方120向任务发起方110发送所述交集分桶索引序列和所述交集分桶索引序列中交集分桶的交集盲化数据集;
任务发起方110根据所述交集分桶索引序列从各发起分桶对应的过滤器序列中确定交集过滤器序列,并基于预设加密算法并行化计算所述交集盲化数据集的盲化密文序列;
任务发起方110向任务参与方120发送所述交集过滤器序列和所述盲化密文序列;
任务参与方120根据所述盲化密文序列脱盲后处理后的待查询密文序列和所述交集过滤器序列,确定交集元素。
其中,发起分桶标记序列包含任务发起方中各发起分桶的指纹信息,发起分桶由任务发起方对本地数据集分桶确定;参与分桶标记序列包含任务参与方中各参与分桶的指纹信息,参与分桶由任务参与方对本地数据集分桶确定,指纹信息可以是分桶的前置哈希指纹。在一种数据集不平衡的情况下,发起分桶的数量远大于参与分桶的数量。
具体的,本发明的隐私求交方法分为数据库预处理,求交PS I和数据库更新三个阶段。
在数据库预处理阶段,任务发起方和任务参与方各自对本地数据库中本地数据集的数据集元素进行分桶,得到发起分桶和参与分桶,并通过不同处理得到发起分桶对应的过滤器序列和参与分桶对应的盲化数据集。
在求交PS I阶段,任务发起方将包含自身各发起分桶指纹信息的发起分桶标记序列发送给任务参与方。
在求交PS I阶段,任务参与方将发起分桶标记序列中的各发起分桶的指纹信息,与参与分桶标记序列中的各参与分桶的指纹信息逐一比对,将指纹信息相同的发起分桶和参与分桶确定为交集分桶。完成全部分桶的比对后,便得到包含所有交集分桶的交集分桶索引序列。任务参与方从本地查找这些(一个或多个)交集分桶的盲化数据集,作为交集盲化数据集,与交集分桶索引序列一并发送给任务发起方。
在求交PS I阶段,任务发起方在数据库预处理阶段部署有多个过滤器,各过滤器存储有对应发起分桶的数据集元素的全部密文。任务发起方根据交集分桶索引序列确定发起分桶中的交集分桶,并将交集分桶所对应的过滤器确定为交集过滤器序列。任务发起方利用预设加密算法及其密钥并行化计算交集盲化数据集中数据元素的加密密文,得到盲化密文序列,将确定的交集过滤器序列和盲化密文序列发送给任务参与方。
在求交PS I阶段,任务参与方首先对盲化密文序列进行并行化脱盲操作,得到待查询密文序列后,可直接在交集过滤器序列进行待查询密文序列中待查询密文的存在性查询。如果能在对应交集过滤器查询到待查询密文,则说明该密文对应的明文形式的数据集元素属于任务发起方和任务参与方共有的交集;如果不能在对应交集过滤器查询到待查询密文,则说明该密文对应的明文形式的数据集元素不属于任务发起方和任务参与方共有的交集。
本发明实施例通过在任务参与方和任务发起方分别使用加密和盲化的数据处理方式,来保证多方安全计算下数据集元素的安全性,不易泄露。同时分桶和过滤器的结合使用,既直接实现了数据集的并行计算,又为后续的数据集的动态删减、高效查询提供实现基础。
可选的,任务发起方和任务参与方分别对本地的数据集元素并行化分桶包括:
任务发起方基于加密算法并行化隐藏各发起分桶的数据集元素,得到各发起分桶的密文序列,所述密文序列包含对应发起分桶内全部数据集元素的加密密文;
任务参与方基于随机盲化序列并行化隐藏各参与分桶的数据集元素,得到各参与分桶的盲化数据集;
任务发起方并行化存储各密文序列至对应过滤器;
其中,所述过滤器、所述发起分桶和所述密文序列一一对应。
具体的,本实施例对数据库预处理阶段中,任务参与方和任务发起方分别本地离线执行的预处理步骤进行具体说明,如下:
在数据库预处理阶段,任务发起方根据数据集元素的哈希前置指纹,对本地所有的数据库元素进行分桶。基于并行计算,同时计算所有发起分桶内所有数据集元素在预设加密算法及其密钥下的加密后密文。对于每一个发起分桶,该分桶内数据集元素的加密后密文,构成了该发起分桶对应的密文序列。任一发起分桶,均在任务发起方本地存在用于存储其密文序列的过滤器,将该发起分桶的密文序列存储至对应过滤器,便得到了存储对应密文序列中全部密文的过滤器。
在数据库预处理阶段,任务参与方根据数据集元素的哈希前置指纹,对本地所有的数据库元素进行分桶。基于并行计算,同时计算所有参与分桶内数据集元素基于随机盲化序列盲化的盲化数据集,得到各参与分桶对应的盲化数据集。
可选的,所述任务发起方对本地的数据集元素并行化分桶包括:
基于并行计算确定本地所有数据集元素的发起哈希前置指纹集;
将发起哈希前置指纹集中发起哈希前置指纹相同的数据集元素标记为一桶;
相应的,所述任务参与方对本地的数据集元素进行并行化分桶包括:
基于并行计算确定本地所有数据集元素的参与哈希前置指纹集;
将参与哈希前置指纹集中参与哈希前置指纹相同的数据集元素标记为一桶。
其中,哈希前置指纹为数据集元素的哈希值在某种编码下的前t个字字符。
具体的,任务发起方基于并行计算,计算本地所有数据集元素的发起哈希前置指纹,得到发起哈希前置指纹集。将发起哈希前置指纹集中发起前置指纹相同的数据集元素标记为一桶,从而得到多个发起分桶。任务参与方基于并行计算,计算本地所有数据集元素的参与哈希前置指纹,得到参与哈希前置指纹集。将参与哈希前置指纹集中参与前置指纹相同的数据集元素标记为一桶,从而得到多个参与分桶。
可选的,所述根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列包括:
分别获取所述发起分桶标记序列中各发起分桶的发起哈希前置指纹,和参与分桶标记序列中各参与分桶的参与哈希前置指纹;将发起哈希前置指纹和参与哈希前置指纹相同的发起分桶和参与分桶,确定为交集分桶,得到发起分桶和参与分桶的交集分桶索引序列。
具体的,基于发起分桶标记序列和参与分桶标记序列,逐个比对发起哈希前置指纹和参与哈希前置指纹。若存在相同的参与哈希前置指纹和发起哈希前置指纹,则将两者分别对应的发起分桶和参与分桶确定为交集分桶,直至完成全部分桶的比对,得到包含全部交集分桶的交集分桶索引序列。
可选的,所述任务参与方根据所述盲化密文序列脱盲后处理后的待查询密文序列和所述交集过滤器序列,确定交集元素包括:
对盲化密文序列进行脱盲处理,得到待查询密文序列;
从交集过滤器序列中确定所述待查询密文序列的所有待查询密文是否已存在于对应的过滤器;
若存在所述待查询密文,则将所述待查询密文对应的明文形式的数据集元素确定为交集元素。
具体的,对于盲化密文序列,首先需要确定交集分桶对应的交集随机数盲因子序列。然后,基于并行运算,同时计算盲化密文序列在交集随机数盲因子序列脱盲操作后的密文序列,获取该密文序列中的全部密文,作为待查询密文序列。最后,基于并行计算,同时查询交集过滤器序列中是否已经存储了各待查询密文,如果存在待查询密文,则说明该待查询密文对应的明文数据集元素同时属于任务参与方的本地数据集和任务发起方的本地数据集,即可确定该待查询密文对应的数据集元素属于两个数据集的交集元素。
可选的,在新增或删除数据集元素时,任务发起方根据待新增数据集元素或待删除数据集元素的待匹配哈希前置指纹更新对应的过滤器。
具体的,在数据库更新阶段,为提高下次求交任务的性能,本发明给出对过滤器中密文进行增删,来满足数据集元素动态删减需求的方案。基于该方案,既能极大地复用最新求交任务的数据预处理结果,又能快速给出经过增加或删除后的过滤器序列。
可选的,所述根据待新增数据集元素的待匹配哈希前置指纹更新对应的过滤器包括:
获取待新增数据集元素的待匹配哈希前置指纹,并根据待匹配哈希前置指纹匹配确定所述待新增数据集元素的所属发起分桶;
对所述待新增数据集元素进行加密,并将对应的加密密文存储到所属发起分桶对应的过滤器;
相应的,所述根据待删除数据集元素的待匹配哈希前置指纹更新对应的过滤器包括;
获取待删除数据集元素的待匹配哈希前置指纹,并根据待匹配哈希前置指纹匹配确定所述待删除数据集元素的所属发起分桶;
对所述删除数据集元素进行加密,并从所属发起分桶对应的过滤器中删除对应的加密密文。
具体的,数据集新增数据集元素时:
获取待新增数据集元素的待匹配哈希前置指纹,然后将各待匹配哈希前置指纹与各发起分桶的发起哈希前置指纹逐一比对匹配,以确定待新增数据集元素所属的发起分桶。在确定所属发起分桶后,基于预设加密算法及其密钥对该新增数据集元素进行加密,以确定所属发起分桶对应的过滤器中需要新增的密文并将密文插入到所属发起分桶对应的过滤器中。
数据集删除数据集元素时:
获取待删除数据集元素的待匹配哈希前置指纹,然后将各待匹配哈希前置指纹与各发起分桶的发起哈希前置指纹逐一比对匹配,以确定待删除数据集元素所属的发起分桶。在确定所属发起分桶后,基于预设加密算法及其密钥对该新增数据集元素进行加密,以确定所属发起分桶对应的过滤器中需要删除的密文,并从过滤器中删除该密文。
可选的,所述数据集元素为具有数据唯一性属性的字段,所述过滤器为支持数据插入、查询和删除操作的数据存储结构,所述交集元素为纵向联邦学习样本对齐的两方样本对齐用户集。
其中,数据集元素为用户标识、数据特征等具有数据唯一性属性的字段,过滤器为RSQF过滤器、CF过滤器等支持数据插入、查询、删除等操作的数据存储结构。
具体的,参考图1B,本实施例以实际应用较为广泛的纵向联邦学习样本对齐场景为例,对三个阶段进行分别进行具体说明。在该场景下,数据集元素为用户标识,且为出于查询效率、空间开销上的考虑,将本实施例中过滤器的类型限定为RSQF过滤器,具体处理流程如下:
假设任务发起方P1样本集的用户标识集任务参与方P2样本集的用户标识集/>其中n1>>n2。所述的联邦学习方法和系统包括:
数据库预处理阶段
任务发起方在本地构建发起分桶:
任务发起方P1基于并行计算计算所有用户标识的发起哈希前置指纹集:
其中,fp_xi=Hash(xi)_t,i∈[n1],即fp_xi为标识xi的哈希值Hash(xi)在某种编码下的前t个字符。
然后,将fpSetP1中发起哈希前置指纹相同的标识标记为一桶。不妨设,在某种编码和参数t下,fpSetP1中一共出现了n3种发起哈希前置指纹值,则所有的用户标识集被划分为n3桶,记为:/>
其中,j∈[n3]。其中,/>
这里,fpxi,i∈[n3]为任务发起方P1样本集的用户标识集idSetP1对应发起分桶的标记。
任务参与方在本地构建参与分桶:
同理,任务参与方P2基于并行计算计算所有用户标识的参与哈希前置指纹集:
其中,fp_yi=Hash(yi)_t,i∈[n1],即fp_yi为标识yi的哈希值Hash(yi)在某种编码下的前t个字符。
然后,将fpSetP2中参与哈希前置指纹相同的标识标记为一桶。不妨设,在某种编码和参数t下,fpSetP2中一共出现了n4种参与哈希前置指纹值,则所有的用户标识集被划分为n4桶,记为:/>
其中,其中,/>
这里,fpyi,i∈[n4]为任务参与方P2样本集的用户标识集idSetP2对应参与分桶的标记。
需要说明的是:发起分桶的构建和参与分桶的构建没有前后顺序关系。
任务发起方对发起分桶内的用户标识进行加密:
任务发起方P1基于并行计算同时计算之前构建的本地数据所有发起分桶内标识在预设加密算法及其密钥sk下的加密后密文:
其中,
任务参与方对参与分桶内的用户标识进行盲化:
任务参与方P2基于并行计算同时计算所有参与分桶 内标识基于随机盲化序列/> 进行隐藏,获得本地样本集的用户标识集对应参与分桶的盲化数据集:
其中,/>
任务发起方将加密得到的密文存储到过滤器:
任务发起方P1基于并行计算同时把之前计算的所有发起分桶对应的密文同时插入存储到各自的过滤器中,所述过滤器包括但不限于RSQF过滤器、CF过滤器等同时支持对数据进行插入、查询或删除等基本操作的多种过滤器,其中对于过滤器的选择根据可接受的查询效率、空间开销、误判率、误删率等因素综合决定。为便于撰写和进行方案陈述,本发明以RSQF过滤器为例描述接下来的流程。
不妨设,所有发起分桶对应的过滤器序列为:
其中
求交PSI阶段
任务发起方P1发送本地样本集对应的发起分桶标记序列 给任务参与方P2;
任务参与方P2接收任务发起方P1样本集对应的发起分桶标记序列
首先,并将其与本地样本集对应的参与分桶标记序列进行比对,获得两方分桶标记的交集分桶索引序列:fpIntersection={indexi}i∈[m]=fpP1∩fpP2,m≤min{n3,n4};
然后,根据交集分桶索引序列fpIntersection筛选参与分桶中交集分桶对应的盲化数据集:
其中,
任务参与方P2发送两方分桶标记的交集分桶索引序列fpIntersection和交集分桶对应的盲化数据集byBlindIntersection给任务发起方P1;
任务发起方P1接收交集分桶索引序列fpIntersection和交集分桶对应的盲化数据集byBlindIntersection;
首先,根据交集分桶索引序列fpIntersection从本地所有发起分桶对应过滤器序列中筛选定位所需要的交集过滤器序列
然后,基于并行计算同时计算交集分桶对应的盲化数据集byBlindIntersection在预设加密算法及其密钥sk在的加密密文,作为盲化密文序列:
其中,
任务发起方P1发送定位到的交集过滤器序列ListsubRSQF和盲化密文序列byBICipher给任务参与方P2;
任务参与方P2接收交集过滤器序列ListsubRSQF和盲化密文序列byBICipher;
首先,基于并行计算同时对盲化密文序列byBICipher在对应随机盲因序列:
脱盲操作后的待查询密文序列:
其中,
然后,基于并行计算同时查询交集过滤器序列中 是否已经存储了对应待查询密文序列中的待查询密文。举个例子,对于过滤器/>和对应的待查询密文序列/>调用RSQF查询子算法RSQF.Qurey,如果/>则说明任务参与方P2用户标识集/>属于两方样本对齐用户集,则将其放入对齐样集中,能作为任务参与方和任务发起方的交集元素,/> 反之,则说明任务参与方P2用户标识集/>不属于两方样本对齐用户集,不能作为任务参与方和任务发起方的交集元素。
同理,基于并行计算同时筛选出任务发起方P1所有交集过滤器序列中ListsubRSQF中存储的与任务参与方P2的所有参与分桶的用户标识相同的交集序列
任务发起方P1与任务参与方P2所有样本对齐的交集
数据库动态更新阶段
假设,任务发起方P1执行最新求交任务时,基于其样本集的用户标识集构建的所有发起分桶过滤器序列为:/> 其中,/>
为了提高下次求交任务的性能,在样本集的用户标识集idSetP1发生增加或删除的情况下,既能极大地复用最新求交任务的数据预处理结果,又能快速给出经过增加或删除后的用户标识集idSetP1′,本发明给出以下数据库动态更新方法,其中增加用户的过程和删除用户的过程只是为了区别,没有先后顺序关系。
对于增加用户的过程,不妨设待新增用户的待新增用户标识为x,即idSetP1 ′=idSetP1∪{x}。
首先,根据其待匹配哈希前置指纹fp_x=Hash(x)t,即fp_x为标识x哈希值Hash(x)在某编码下的前t个字符;
然后,把fp_x与ListRSQF的所有发起分桶的发起哈希前置指纹进行匹配假设匹配fpxz(1≤z≤n3),则说明待新增用户标识x的所属发起分桶为发起分桶z;
最后,将其加密后插入到发起分桶z对应的过滤器中bxzRSQF.Insert(Hash(x)sk)。
对于删除用户的过程,不妨设待删除用户的待删除用户标识xl(1≤l≤n1),即idSetP1 ′=idSetP1/{xl}。
首先根据其待匹配哈希前置指纹fp_xl=Hash(xl)t,即fp_xl为标识xl哈希值Hash(xl)在某编码下的前t个字符;
然后,把fp_xl与ListRSQF的所有参与分桶的参与哈希前置指纹进行匹配{fpxi}i∈[n3],假设匹配fpxe(1≤e≤n3),则说明待删除用户标识xl的所属发起分桶为发起分桶e;
最后,将其加密后从发起分桶e对应的过滤器中删除bxeRSQF.Delete(Hash(xl)sk)。
图2为本发明又一实施例提供的一种数据集可动态增删的隐私求交方法的流程图,该方法应用于本发明任意实施例所提供系统中的任务发起方,包括:
S210、根据交集分桶索引序列从各发起分桶对应的过滤器序列中确定交集过滤器序列,并基于预设加密算法并行化计算交集盲化数据集的盲化密文序列;
S220、向任务参与方发送所述交集过滤器序列和所述盲化密文序列。
本发明实施例通过在任务参与方和任务发起方分别使用加密和盲化的数据处理方式,来保证多方安全计算下数据集元素的安全性,不易泄露。同时分桶和过滤器的结合使用,既直接实现了数据集的并行计算,又为后续的数据集的动态删减、高效查询提供实现基础。
图3为本发明又一实施例提供的一种数据集可动态增删的隐私求交方法的流程图,该方法应用于本发明任意实施例所提供系统中的任务参与方,包括:
S310、获取任务发起方的发起分桶标记序列,并根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列;
S320、向任务发起方发送所述交集分桶索引序列和所述交集分桶索引序列中交集分桶的交集盲化数据集;
S330、根据所述盲化密文序列脱盲后处理后的待查询密文和所述交集过滤器序列,确定交集元素。
本发明实施例通过在任务参与方和任务发起方分别使用加密和盲化的数据处理方式,来保证多方安全计算下数据集元素的安全性,不易泄露。同时分桶和过滤器的结合使用,既直接实现了数据集的并行计算,又为后续的数据集的动态删减、高效查询提供实现基础。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (9)
1.一种数据集可动态增删的隐私求交优化系统,其特征在于,所述系统包括任务发起方和任务参与方;
任务参与方获取任务发起方的发起分桶标记序列,并根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列;所述发起分桶标记序列包含所述任务发起方中各发起分桶的指纹信息,所述参与分桶标记序列包含所述任务参与方中各参与分桶的指纹信息;
任务参与方向任务发起方发送所述交集分桶索引序列和所述交集分桶索引序列中交集分桶的交集盲化数据集;
任务发起方根据所述交集分桶索引序列从各发起分桶对应的过滤器序列中确定交集过滤器序列,并基于预设加密算法并行化计算所述交集盲化数据集的盲化密文序列;所述过滤器为支持数据插入、查询和删除操作的数据存储结构;
任务发起方向任务参与方发送所述交集过滤器序列和所述盲化密文序列;
任务参与方根据对所述盲化密文序列进行脱盲处理,得到待查询密文序列;从交集过滤器序列中确定所述待查询密文序列的所有待查询密文是否已存在于对应的过滤器;若存在所述待查询密文,则将所述待查询密文对应的明文形式的数据集元素确定为交集元素。
2.根据权利要求1所述的系统,其特征在于:
任务发起方和任务参与方分别对本地的数据集元素并行化分桶;
任务发起方基于加密算法并行化隐藏各发起分桶的数据集元素,得到各发起分桶的密文序列,所述密文序列包含对应发起分桶内全部数据集元素的加密密文;
任务参与方基于随机盲化序列并行化隐藏各参与分桶的数据集元素,得到各参与分桶的盲化数据集;
任务发起方并行化存储各密文序列至过滤器,得到过滤器序列;所述过滤器序列、所述发起分桶和所述密文序列一一对应。
3.根据权利要求2所述的系统,其特征在于,所述任务发起方对本地的数据集元素并行化分桶包括:
基于并行计算确定本地所有数据集元素的发起哈希前置指纹集;
将发起哈希前置指纹集中发起哈希前置指纹相同的数据集元素标记为一桶;
相应的,所述任务参与方对本地的数据集元素进行并行化分桶包括:
基于并行计算确定本地所有数据集元素的参与哈希前置指纹集;
将参与哈希前置指纹集中参与哈希前置指纹相同的数据集元素标记为一桶。
4.根据权利要求3所述的系统,其特征在于,所述根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列包括:
分别获取所述发起分桶标记序列中各发起分桶的发起哈希前置指纹,和参与分桶标记序列中各参与分桶的参与哈希前置指纹;
将发起哈希前置指纹和参与哈希前置指纹相同的发起分桶和参与分桶,确定为交集分桶,得到发起分桶和参与分桶的交集分桶索引序列。
5.根据权利要求2所述的系统,其特征在于:
在新增或删除数据集元素时,任务发起方根据待新增数据集元素或待删除数据集元素的待匹配哈希前置指纹更新对应的过滤器。
6.根据权利要求5所述的系统,其特征在于,所述根据待新增数据集元素的待匹配哈希前置指纹更新对应的过滤器包括:
获取待新增数据集元素的待匹配哈希前置指纹,并根据待匹配哈希前置指纹匹配确定待新增用户的所属发起分桶;
对所述待新增数据集元素进行加密,并将对应的加密密文存储到所属发起分桶对应的过滤器;
相应的,所述根据待删除数据集元素的待匹配哈希前置指纹更新对应的过滤器包括:
获取待删除数据集元素的待匹配哈希前置指纹,并根据待匹配哈希前置指纹匹配确定待删除用户的所属发起分桶;
对所述删除数据集元素进行加密,并从所属发起分桶对应的过滤器中删除对应的加密密文。
7.根据权利要求2-6任一项所述的系统,其特征在于,所述数据集元素为具有数据唯一性属性的字段,所述交集元素为纵向联邦学习样本对齐的两方样本对齐用户集。
8.一种数据集可动态增删的隐私求交方法,其特征在于,应用于权利要求1-7任一项所述系统中的任务发起方,包括:
根据交集分桶索引序列从各发起分桶对应的过滤器序列中确定交集过滤器序列,并基于预设加密算法并行化计算交集盲化数据集的盲化密文序列;
向任务参与方发送所述交集过滤器序列和所述盲化密文序列。
9.一种数据集可动态增删的隐私求交方法,其特征在于,应用于权利要求1-7任一项所述系统中的任务参与方,包括:
获取任务发起方的发起分桶标记序列,并根据所述发起分桶标记序列和参与分桶标记序列确定发起分桶和参与分桶的交集分桶索引序列;
向任务发起方发送所述交集分桶索引序列和所述交集分桶索引序列中交集分桶的交集盲化数据集;
根据所述盲化密文序列脱盲后处理后的待查询密文序列和所述交集过滤器序列,确定交集元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310787037.2A CN116842561B (zh) | 2023-06-29 | 2023-06-29 | 一种数据集可动态增删的隐私求交系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310787037.2A CN116842561B (zh) | 2023-06-29 | 2023-06-29 | 一种数据集可动态增删的隐私求交系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116842561A CN116842561A (zh) | 2023-10-03 |
CN116842561B true CN116842561B (zh) | 2024-05-24 |
Family
ID=88171955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310787037.2A Active CN116842561B (zh) | 2023-06-29 | 2023-06-29 | 一种数据集可动态增删的隐私求交系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116842561B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101548654B1 (ko) * | 2014-09-03 | 2015-09-02 | 서울과학기술대학교 산학협력단 | 보안성이 있는 암호화 체계를 구비하고 순서 버킷을 이용하는 데이터베이스 쿼리 장치 및 방법 |
CN111125736A (zh) * | 2019-12-25 | 2020-05-08 | 暨南大学 | 基于隐私保护交集计算协议的致病基因检测方法 |
CN114491613A (zh) * | 2021-11-11 | 2022-05-13 | 北京航空航天大学 | 高效可搜索的代理隐私集合求交方法及装置 |
CN115134082A (zh) * | 2022-05-31 | 2022-09-30 | 西北工业大学 | 一种隐私保护的社交媒体假消息检测方法 |
WO2022257720A1 (zh) * | 2021-06-11 | 2022-12-15 | 支付宝(杭州)信息技术有限公司 | 针对隐私计算进行多方算法协商的方法、装置及系统 |
WO2023040429A1 (zh) * | 2021-09-15 | 2023-03-23 | 京东科技信息技术有限公司 | 用于联邦特征工程的数据处理方法、装置、设备以及介质 |
CN115906177A (zh) * | 2022-12-15 | 2023-04-04 | 中国电信股份有限公司 | 集合安全求交方法、装置、电子设备及存储介质 |
CN116150806A (zh) * | 2023-03-06 | 2023-05-23 | 蚂蚁区块链科技(上海)有限公司 | 用于隐私求交的方法及装置 |
CN116204922A (zh) * | 2023-03-06 | 2023-06-02 | 蚂蚁区块链科技(上海)有限公司 | 用于隐私求交的方法及装置 |
CN116232579A (zh) * | 2023-01-10 | 2023-06-06 | 深圳市和讯华谷信息技术有限公司 | 基于随机ot协议的隐私安全求交方法及系统 |
WO2023098294A1 (zh) * | 2021-12-02 | 2023-06-08 | 深圳前海微众银行股份有限公司 | 异构数据处理方法、装置及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8526603B2 (en) * | 2011-07-08 | 2013-09-03 | Sap Ag | Public-key encrypted bloom filters with applications to private set intersection |
US8832427B2 (en) * | 2012-03-30 | 2014-09-09 | Microsoft Corporation | Range-based queries for searchable symmetric encryption |
US10075288B1 (en) * | 2014-02-28 | 2018-09-11 | The Governing Council Of The University Of Toronto | Systems, devices, and processes for homomorphic encryption |
US11222066B1 (en) * | 2016-09-26 | 2022-01-11 | Splunk Inc. | Processing data using containerized state-free indexing nodes in a containerized scalable environment |
US20230361984A1 (en) * | 2020-04-22 | 2023-11-09 | Shield Crypto Systems Inc. | Method and system for confidential string-matching and deep packet inspection |
-
2023
- 2023-06-29 CN CN202310787037.2A patent/CN116842561B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101548654B1 (ko) * | 2014-09-03 | 2015-09-02 | 서울과학기술대학교 산학협력단 | 보안성이 있는 암호화 체계를 구비하고 순서 버킷을 이용하는 데이터베이스 쿼리 장치 및 방법 |
CN111125736A (zh) * | 2019-12-25 | 2020-05-08 | 暨南大学 | 基于隐私保护交集计算协议的致病基因检测方法 |
WO2022257720A1 (zh) * | 2021-06-11 | 2022-12-15 | 支付宝(杭州)信息技术有限公司 | 针对隐私计算进行多方算法协商的方法、装置及系统 |
WO2023040429A1 (zh) * | 2021-09-15 | 2023-03-23 | 京东科技信息技术有限公司 | 用于联邦特征工程的数据处理方法、装置、设备以及介质 |
CN114491613A (zh) * | 2021-11-11 | 2022-05-13 | 北京航空航天大学 | 高效可搜索的代理隐私集合求交方法及装置 |
WO2023098294A1 (zh) * | 2021-12-02 | 2023-06-08 | 深圳前海微众银行股份有限公司 | 异构数据处理方法、装置及电子设备 |
CN115134082A (zh) * | 2022-05-31 | 2022-09-30 | 西北工业大学 | 一种隐私保护的社交媒体假消息检测方法 |
CN115906177A (zh) * | 2022-12-15 | 2023-04-04 | 中国电信股份有限公司 | 集合安全求交方法、装置、电子设备及存储介质 |
CN116232579A (zh) * | 2023-01-10 | 2023-06-06 | 深圳市和讯华谷信息技术有限公司 | 基于随机ot协议的隐私安全求交方法及系统 |
CN116150806A (zh) * | 2023-03-06 | 2023-05-23 | 蚂蚁区块链科技(上海)有限公司 | 用于隐私求交的方法及装置 |
CN116204922A (zh) * | 2023-03-06 | 2023-06-02 | 蚂蚁区块链科技(上海)有限公司 | 用于隐私求交的方法及装置 |
Non-Patent Citations (5)
Title |
---|
Practical Multi-Party Private Set Intersection Protocols;Aslı Bay et.al;IEEE Transactions on Information Forensics and Security;20211008;第17卷;1-15 * |
基于OT协议的外包隐私集合交集计算协议;廖鹏程;陈小军;申立艳;时金桥;;信息技术与网络安全;20180610(第06期);全文 * |
基于量子特性的多重代理盲签名方案;梁建武;刘晓书;;信息网络安全;20180710(第07期);全文 * |
隐私计算关键技术与创新;符芳诚 等;信息通信技术与政策;20210615;第47卷(第06期);全文 * |
面向集合计算的隐私保护统计协议;宋祥福;盖敏;赵圣楠;蒋瀚;;计算机研究与发展;20201009(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116842561A (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Boldyreva et al. | Efficient fuzzy search on encrypted data | |
US8515907B2 (en) | Apparatus, and associated method, for synchronizing directory services | |
CN106850187B (zh) | 一种隐私字符信息加密查询方法及系统 | |
EP3342090A1 (en) | Method for providing encrypted data in a database and method for searching on encrypted data | |
CN113836559A (zh) | 一种联邦学习中的样本对齐方法、装置、设备及存储介质 | |
CN113255007A (zh) | 一种安全隐匿三要素查询方法 | |
CN108768639A (zh) | 一种公钥保序加密方案 | |
CN113569280A (zh) | 一种支持动态更新的可验证加密图像检索方法 | |
WO2020209793A1 (en) | Privacy preserving system for mapping common identities | |
CN111859030A (zh) | 一种支持复合数据的公开审计方法 | |
CN115905633A (zh) | 一种隐私保护的图相似性检索方法及系统 | |
CN116842561B (zh) | 一种数据集可动态增删的隐私求交系统和方法 | |
CN113434739B (zh) | 一种云环境下前向安全的多用户动态对称加密检索方法 | |
CN109495446B (zh) | 基于平衡排序树存储结构的保序加密算法 | |
CN108365949B (zh) | 客户实名制信息管理方法、装置及系统 | |
CN114417068B (zh) | 一种具有隐私性保护的大规模图数据匹配方法 | |
US10673624B2 (en) | Communication control device, communication control method, and computer program product | |
CN115934707A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN112836078B (zh) | 一种图上最短路径安全查询方法、装置、系统及存储介质 | |
Bögeholz et al. | In-database connected component analysis | |
Yu et al. | Efficient and scalable privacy-preserving similar document detection | |
Ghai et al. | Lessons Learned: Building a Privacy-Preserving Entity Resolution Adaptation of PPJoin using End-to-End Homomorphic Encryption | |
CN112084533B (zh) | 基于区块链的多级位置信息共享方法 | |
Ahmad et al. | O-bin: Oblivious binning for encrypted data over cloud | |
CN117077156A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |