CN115525909A - 差分隐私高频命中项的安全多方计算 - Google Patents
差分隐私高频命中项的安全多方计算 Download PDFInfo
- Publication number
- CN115525909A CN115525909A CN202111440015.6A CN202111440015A CN115525909A CN 115525909 A CN115525909 A CN 115525909A CN 202111440015 A CN202111440015 A CN 202111440015A CN 115525909 A CN115525909 A CN 115525909A
- Authority
- CN
- China
- Prior art keywords
- count
- value
- values
- entries
- candidate value
- 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
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
-
- 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
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
- G06F7/08—Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2115—Third party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据一个方面,一种用于差分隐私高频命中项的安全多方计算的方法可以包括:接收候选值;响应于接收到的候选值与表中的条目当中的一个匹配,使对应计数递增;响应于接收到的候选值不与表中的条目当中的一个匹配并且表不超过阈值尺寸,向表添加条目;响应于接收到的候选值不与表中的条目当中的一个匹配并且表超过了阈值尺寸,使表中的计数递减并且删除具有计数零的条目;向表中的条目当中的对应计数添加噪声并且删除任何小于阈值的有噪对应计数;以及输出表的至少部分作为前k个值结果集合。
Description
技术领域
本申请的发明构思提供了用于多方计算的方法、系统和制品,包括计算机程序产品。特别地,本申请的发明构思公开了一种针对前k个(top-k)值的分布式隐私学习问题的解决方案。
背景技术
用于对敏感数据执行分析(例如,统计或聚合查询等)的服务可能涉及与第三方共享数据。在一些情况下,对于共享数据的一方或多方共享明文数据可能是不期望或不可行的。例如,数据可能是不允许共享的敏感数据。在一些情况下,共享数据的各方可能是互不信任的各方。在其他情况下,使用受信任第三方也可能是不可行的,因为该受信任第三方可能变得受到怀疑。
发明内容
提供了用于多方计算的方法、系统和制品,包括计算机程序产品。
根据一个方面,一种系统包括:至少一个数据处理器;以及至少一个存储指令的存储器,指令在被至少一个处理器执行时产生操作,操作包括:针对跨越多个客户端的前k个值的确定生成包括将候选值映射至对应计数的条目的表;从多个客户端中的每一个接收候选值;响应于所接收到的候选值与表中的条目当中的一个匹配,针对匹配的候选值使对应计数递增;响应于所接收到的候选值不与表中的条目当中的一个匹配并且表不超过阈值尺寸,通过添加所接收到的候选值连同计数值1而向表添加条目;响应于所接收到的候选值不与表中的条目当中的一个匹配并且表超过了阈值尺寸,使表中的所有计数减1,并且从表中删除任何具有计数零的条目;向表的条目中的对应计数添加噪声;响应于有噪的对应计数小于阈值,针对的有噪对应计数删除表中的对应条目;以及输出表的至少一部分作为前k个值结果集合。
在一些变型当中,可以任选按照任何可行的组合包含包括下述特征在内的文中公开的特征中的一者或多者。在输出之前可以基于有噪对应计数对表排序。系统可以包括受信任服务器或者包含在受信任服务器中。前k个值结果集合是使用跨越多个客户端的数据域基于多方计算确定的,其中前k个值结果集合是在数据域的范围内确定的。系统可以利用云提供商处的至少一个计算节点或者多个客户端中的一者或多者处的至少一个计算节点来执行多方计算。从多个客户端的每者接收候选值可以包括接收处于安全消息内的候选值,安全消息进一步包括部分噪声值。向表的条目中的对应计数添加噪声可以进一步包括基于来自多个客户端中的每者的部分噪声值添加噪声。输出表的至少一部分作为前k个值结果集合可以进一步包括在安全消息中输出表的至少部分。前k个值结果集合可以是根据差分隐私输出的。
应当理解,上文的一般描述和下文的详细描述均为示例性和说明性的,而非限制性的。可以在文中阐述的那些以外提供额外的特征和/或变型。例如,本文描述的实施方式可以涉及所公开特征的各种组合及子组合以及/或者在下文的详细描述中公开的几个其他特征的组合及子组合。
附图说明
结合到本说明书当中并且构成本说明书的部分的附图示出了本文所公开的主题的某些方面,其连同文字描述一起有助于解释与所公开实施方式相关联的某些原理。在附图中:
图1A概念性地描绘了根据一些示例实施例的用于添加噪声以增强差分隐私的机制;
图1B描绘了根据一些示例实施例的可以实施差分隐私算法的模型的示例;
图2A-F描绘了根据一些示例实施例的确定前k个值或高频命中项值的第一算法HH1的过程的示例;
图3描绘了根据一些示例实施例的确定前k个值或高频命中项值的第二算法HH2的示例过程;并且
图4描绘了说明与当前主题的实施方式一致的计算系统的框图。
在附图中,类似的附图标记用于表示相同或类似的项。
具体实施方式
数据收集是遍布于全球各地的很多实体的主要功能。例如,一些实体提供免费服务(诸如Internet搜索或社交网络),之后使来自这些免费服务的最终用户数据的数据收集货币化。然而,在某些司法管辖区的数据保护法规(例如,欧盟数据保护通用条例(GDPR))下,允许唯一地识别出最终用户的身份的不受限的全面数据收集可能带来道德和/或法律问题。专业的保护隐私的数据收集可以缓和这些与数据收集有关的隐私问题中的一些。出于这一原因,可以使用差分隐私(DP)提供强隐私保证。此外,可以将安全多方计算(MPC)与差分隐私结合使用。安全多方计算的额外使用可以在不侵害隐私的情况下提高准确性。安全多方计算是一种加密工具,其允许多方针对分布于各方当中的数据评估一个函数,但是仅在各方之间披露或共享该函数的结果(换言之,不在各方之间共享输入数据)。然而,一般可能认为差分隐私机制的安全计算效率不高,其具有高通信和计算开销。
本文公开了一种针对前k个(top-k)值的分布式隐私学习问题的解决方案,诸如k个最常见值(其又称为前k个“高频命中项(heavy hitter)”)。词语“k”是指前多少个值(诸如,前1个值(k=1),前2个值(k=2),等等)处于结果集合内。例如,多个分布用户能够以高准确度和强隐私保证,在不求助于受信任第三方保存和共享用于计算的用户私人数据的情况下确定(诸如,计算)前k个值。为此,在一些实施例中,提供了对差分隐私(DP)前k个值的安全多方计算(MPC)。
在一些实施例中,提供了第一协议HH1和第二协议HH2。这些协议按照差分隐私方式安全地计算前k个值,而不在计算期间公开参与方的隐私信息,与此同时为计算输出提供差分隐私保护。此外,即使对于小数据集(例如,几个用户的)而言也可以认为HH1和HH2协议是高度准确的(这对于差分隐私是一种具有挑战性的管理机制(regime))和/或可以认为HH1和HH2协议具有切实可行的运行时间(例如,有效率的优化计算实施方式)。
在下文中,例如,是指由受信任第三方运行的所谓的“理想”功能性,而HH1协议示例则因而可以指FHH1的以密码协议代替了受信任第三方的示例MPC实施方式。HH1可以将高频命中项检测(例如,前k个值)与差分隐私(DP)有界计数释放(例如,释放有噪计数超过了阈值的值)相结合。此外,还以HH1算法(例如,参见下文的表5和7)的形式提供了用于的有效率的安全计算实施方式示例。用于第二协议的函数将分布式高频命中项检测与集中式差分隐私高频命中项检测相结合。此外,还以HH2算法(例如,参见下文的表8和9)的形式提供了用于的有效率的安全计算实施方式。
对差分隐私前k个值发现的使用可以被用到各种各样的环境中。例如可以按照差分隐私方式跨越多方(例如,多个用户)执行用户行为数据挖掘。用户行为挖掘可以包括确定(例如)在客户端设备上频繁键入的词(例如,可以用于改进自动完成建议),检测给定应用的用户选择或设置,等等。为了做进一步例示,可以向客户端设备部署差分隐私遥测数据收集,以允许响应查询,例如,在这些客户端设备处的用户当中前k项是什么。最终用户可以对他们的组合数据执行安全的保护隐私的分析,而不将其自己的任何数据披露给任何其他人(由于所公开的有效率的安全计算的原因)。此外,不必与受信任第三方共享数据就能够获得针对前k个值的查询的结果。为了做进一步例示,可以在不侵害任何个体用户的隐私数据的隐私的情况下使用本文公开的安全MPC DP协议HH1和HH2响应查询,诸如前k个最常访问的应用或者前k个搜索最多的产品(或者浏览、购买、退货的产品)。本文公开的针对前k个值的保护隐私的协议还可以被用到不仅从单个实体处的最终用户(例如,一个公司的最终用户)收集信息,还跨越不同实体(例如,正常情况下不共享隐私数据的不同公司)及其对应最终用户收集信息的计算当中,与此同时提供实体(和/或最终用户)之间的强隐私和安全保证。例如,可以计算来自不同公司的信息(而不共享这些公司中的任何公司的隐私信息),以提供(例如)对行业领域的全面洞察。
在本文公开的示例的一些当中,参与方或用户可以指客户端机器(或设备),诸如计算机、物联网(IoT)设备和/或其他基于处理器的机器。在给定(例如)数量为n的参与方的集合的情况下,可以将其如下表示为:
其中,每一方Pi至少拥有单个数据值di,其中,i从1到n变化,并且D表示各方的组合数据集。该组合数据集被模型化为D={d1,...,dn},其中,d1、d2……dn是数据域U(例如,数据宇宙U表示可能数据值的集合,诸如,全部整数的集合、整数的集合等等)的数据值(或者更简称为“数据”)。
安全多方计算(其又称为多方计算MPC)可以使各方的集合 联合计算一个函数,诸如median、mode、top-k或者其他类型的函数或运算,而无需使每一方与其他各方共享其数据集。例如,在MPC中,每一方都可以通过提供安全输入消息或者与其他各方交换安全输入消息(例如,秘密共享)而参与该MPC,使得各方对这些消息进行运算,以联合计算该函数。最终输出将披露最终的加密输出,其可以由各方中的每者解密(例如,使用秘密共享),以重建或者披露该结果,而无需使各方的每者披露其隐私数据。秘密共享是指将一个秘密分配到一个组的各方当中,各方的每者被分配该秘密的份额,从而仅当足够数量的份额被组合到一起时能够重建该秘密。为了例示秘密共享,可以使用Shamir秘密共享(SSS)来按照分布方式确保秘密的安全(例如,将该秘密分成多个部分或份额,这些部分或份额被用于重构原始秘密)。
就HH1和HH2协议(和对应的和)而言,所计算的函数是各方的数据集当中的前k个值。假定例如每一方Pi保有敏感输入数据di,那么各方集合在保持输入d1……dn的隐私性的同时可以联合计算前k函数y1,..,yk=f(d1,…,dn)。该安全多方计算的输出必须是正确并且秘密的;换言之,必须计算前k输出值y1,..,yk的正确值,并且在各方之间保持输入数据的d1……dn的保密性,从而仅对各方披露该输出。
可以使用不同信任假设模型来实施安全多方计算。在半诚实模型当中(或被动),各方(又称为敌手)不违背该协议,但是收集在该协议的运行期间创建的一切。然而,在恶意模型当中(或主动),各方可能违背该协议(例如,更改消息)。
如所指出的,差分隐私(DP)通过限制能够提供什么作为输出而提供强隐私保证。例如,在输入数据集的单个数据值改变时,对输出的作用可以受到限制或局限,从而保持隐私性。如果一个算法是差分隐私的,那么看到该算法的输出的观察者将无法分辨出用于计算该输出的输入数据值。某种形式的随机化是差分隐私能够隐藏并且保持参与方的输入数据的隐私性的关键方面。从数学或者正式的意义上来讲,差分隐私的定义可以如下文的表1中所示,尽管差分隐私的不那么正式的定义可以满足差分隐私所需的输入数据隐私性。尽管在表1中提供的定义针对无界敌手成立;然而就密码学而言,该定义对于计算能力有界的敌手也可以成立。在表1中(e,0)-DP可以指纯DP,并且近似DP允许额外的加性隐私损失d>0。典型地,在数据的尺寸当中d是可忽略的。尽管介绍了纯DP机制,但是协议将它们与基于d的阈值结合应用,并因而可以满足近似DP。
表1
可以通过添加噪声而提供随机性(这是用于实现差分隐私的一个方面),从而可以隐藏或混淆个人的数据。例如,可以向函数的输出添加噪声,以提供一定程度的差分隐私。一种添加噪声的方式可以具有拉普拉斯机制的形式。就拉普拉斯机制而言,所添加的噪声是从拉普拉斯分布中选取的。从数学或者正式的意义上来讲,拉普拉斯机制的定义可以如下文的表2中所示。
表2
加性噪声的一种替代方案是经由指数机制使用概率输出选择。就指数机制而言,指数机制(EM)根据指数加权效用评分计算选择概率。指数机制将差分隐私的应用扩展至具有非数值输出的函数,或者当输出对于加性噪声不是鲁棒的时,诸如,在median函数的情况中。指数机制按照指数方式更可能选择“良好”结果,其中,“良好”是经由效用函数u(D,r)量化的,该函数以数据库D∈Un作为输入,并且采取来自任意输出的固定集合R的潜在输出r∈R。非正式地,指数机制输出具有与下述项成比例的概率的元素:并且效用越高意味着该输出越是期望的并且其选择概率相应地增大。
图1A示出了根据一些示例实施例的通过指数机制计算的选择概率的示例。从数学或者正式的意义上来讲,指数机制可以如下文的表3中所示,尽管也可以使用指数函数的不太正式的定义。在本文描述的示例中,指数机制(EM)被表示为(尽管在本文描述的示例中的一些当中,在不包括下文的表3中所示的的情况下可以不包含符号u和/或ε)。在表3中,是指潜在输出值的集合。
表3
具有来自耿贝尔分布的加性噪声的效用评分上的argmax可以等价于指数机制。具有与指数机制相同或类似的输出分布的耿贝尔机制向效用评分添加耿贝尔分布噪声,并且选择具有最高有噪评分的输出(有噪效用评分的arg max)。从正式或数学的意义上来讲,耿贝尔机制MG的定义可以如下文的表4中所示。
表4
诸如拉普拉斯噪声、指数噪声和/或耿贝尔噪声的噪声可以用于差分隐私机制。这些类型的噪声可以是由多方生成的。例如,每一方可以提供部分噪声,该部分噪声与来自其他各方的噪声相结合变为用于差分隐私的所需噪声。Laplace(b)可以被如下表达为n个部分噪声值之和:
Gumbel(b)可以被如下表达为:
其中,Yj是从指数分布Expon(1)采样的,并且具有尺度b的指数分布具有如下密度:
其对于x>0而言,别的情况为0。
图1B示出了差分隐私实施模型M的示例,诸如,中心化模型101A、本地化模型101B和混洗模型101C。在中心化模型101A中,各方110A和110N(被示为客户端设备“C1”……“CN”)的每者将其未经保护的数据发送给受信任中央服务器112,中央服务器112对干净的数据运行差分隐私算法中心化模型可以提供最高准确性,因为差分隐私算法所固有的随机化在受信任的中央服务器112处仅应用一次。在图1B的示例中,差分隐私算法将函数(例如,用以计算前k个值的或者将经由MPC计算的其他函数或算子)与随机化过程相结合。在这一示例中,是针对该函数(正在经由MPC计算的)计算效用评分并且基于所计算的效用评分对输出做出概率性地选择(其中,更高的积分能够转化为更高的选择概率)的差分隐私机制。
在本地化模型101B中,各方120A和120N(被示为客户端设备“C1”……“CN”)本地应用差分隐私算法之后将匿名化值121A-121B发送给不受信任服务器122,以供聚合。就本地化模型101B而言,输出125的准确性是有限的,因为随机化被多次应用。因而,本地化模型101B可能需要相对更大的数量的用户来实现与中心化模型相当的准确性。
就介于中间的混洗模型101C而言,混洗程序130,是被添加到各方120A-N与服务器122之间的受信任方。混洗程序不与各方120A-N中的任何一方串通。混洗程序改变随机化客户端值132A-B的顺序并对其转发。该顺序改变打破了客户端与其值之间的映射,这减少了随机化要求。混洗模型101C的准确性可以介于本地化模型101A和中心化模型101B的准确性之间;但是一般而言,混洗模型101C严格地弱于中心化模型101B。中心化MPC模型101A一般可能造成高计算负担和通信开销(其将降低效率以及向更大数量的客户端/参与方的可缩放能力)。中心化MPC模型101A可以提供相对于其他模型的一些优势,诸如更高的准确性和更强的隐私性(例如,不向第三方公开值)。
下文提供了对第一协议FHH1的描述,其包括使用MPC的第一协议的示例MPC实施方式HH1,并且还将提供对第二协议FHH2的描述,其包括针对FHH2的示例实施方式HH2。尽管所述示例中的一些涉及使用受信任第三方服务器,但是本文描述的示例也可以采用安全的MPC实施。
在图2A-2F的示例中,各方的集合202A-E包括参与方P1、P2、P3、P4和P5。各方的集合表示其前k项被确定的各方的集合。在这一示例中,参与方P1保有值4,参与方P2保有值4,参与方P3保有值5,参与方P4保有值3,并且参与方P5保有值5。各方当中的该确定过程可以由来自各方(P1-P5)中的任何一方或者另一方(例如,其他方也可以请求各方当中的前k项)的请求触发。
由计算服务器210表示的受信任服务器创建表266A,该表具有将数据值域内的数据值(被标示为“值”)映射至对应计数的条目。例如,计算服务器210创建表266A,使得每一数据条目包括映射至计数的数据值(例如,参见下文的表5中的1处)。在这一示例中,表266A包括映射至计数1的单个值4,因为在220A中仅从客户端设备202A处的第一方P1接收到了单个值4。换言之,d是表T(d∈T)的元素,因而计数值递增至1(例如,T[d]=1)。
在图2B中,计算服务器210在220B中接收到第二数据,例如,来自客户端设备202B处的第二方P2的数据值4。由于值4是表T 266B的元素(例如,d∈T),因而计数器值递增至2(例如,T[d]=2),如表266B处所示(例如,参考下文的表5的2a处)。
在图2C处,计算服务器210在220C中接收来自客户端设备202C处的第三方P3的第三数据5。由于值5不是表T 266C的元素,并且该表T不满,因而一个条目被添加至表266C,以包含值5,并且对应的计数使零计数递增至计数1(例如,参见下文的表5的2b处:如果│T│<t,那么将d添加至T,并且将T[d]设置为1)。
在图2D中,计算服务器210在220D中接收来自客户端202D处的第四方P4的第四数据3。由于值“3”不是表T 266D的元素,并且该表已满(在这一示例中,表尺寸为2),那么使266D中的所有计数器递减1,之后去掉所有具有计数0的值,因而只有值4以计数1保留在了表266E中(例如,参见:否则,使所有计数器T[i]递减,并且在T[i]=0的情况下将i从T中去除;例如,参见下文的表5中的2c处)。
在图2E中,计算服务器210在220E中接收来自客户端设备202E处的第五方P5的第五数据5。由于值5不是表T 266F的元素,并且该表T不满,因而添加值5并且使计数器递增1(例如,参见:如果d∈T,那么使计数器递增T[d]=1;例如,参见下文的表5中的2b处)。
在图2A-2E中,计算服务器210生成最多具有t个条目(尺寸t)的固定尺寸表T(其在本示例中为尺寸2),从而将来自各方的值映射至计数。由于值中的每者接收自每一方,计算服务器对这些值进行处理,从而如果值与表中的条目匹配则使计数增大。但是如果值与表中的条目不匹配,并且该表不满,那么添加接收到的值作为该表T中的条目,并且使该值的对应计数器递增1。但是,如果该值与表中的条目不匹配,并且该表已满,那么计算服务器从所有计数器减1,之后去除所有具有等于0的计数的值。在来自各方202A-202E的每者的值经过处理之后,计算服务器210可以基于表T(例如,表266F)的内容输出前k个值。在这一示例中,前k个值可以对应于表266F的前两个条目,例如,值4和5。
在一些实施例中,可以向计数添加噪声,并且去除其有噪计数低于阈值的值。例如,计算服务器可以在提供前k个值的输出之前将噪声添加至表(例如,表266F)中的计数。此外,可以去除低于阈值的有噪计数。该阈值设定可以有助于确保值(由多个参与方而非单个参与方提供的)有助于保护隐私,因为我们需要足够多的参与者来允许小的变化(添加/去除单个值)不会改变具有高概率的结果(而多个变化则可能改变结果)。换言之,各个贡献(contribution)受到保护并且未必被释放,但是很多个体的聚合贡献(具有加性噪声)被作为输出释放(具有高概率)。
在根据一些示例实施例的加性噪声和受信任第三方的情况中,FHH1将进一步包括(如图2F中所示)由计算服务器210向计数值添加噪声(诸如,拉普拉斯分布噪声等),如表266G中所示。表266G对应于向计数值添加了噪声之后(其由N(1+噪声)表示,其中,1为计数,噪声表示所添加的噪声,并且N是用于添加噪声的函数)的表266F。如果有噪计数不超过阈值,那么去除表266F中的该值和计数。在270中,受信任服务器进行检查,以查看有噪计数是否超过阈值。例如,如果有噪计数不超过阈值,那么在270中从表去除该有噪计数。在图2F的示例中,两个计数都超过阈值,因而两个有噪计数和值在270中都保留在表内。在270中的有噪阈值操作之后,在本示例中作为计算服务器210的受信任服务器将表272作为输出释放,以提供前k个值,其在本示例中为前2个。
表5提供了根据一些示例实施例的用于使用加性噪声和受信任第三方获得前k个值的FHH1的示例实施方式。在表5的示例中,在行3(a)处,如上文所指出的向计数添加噪声。在行3(b)处,从表T去除值i,除非其超过了阈值τ。而且,在行4处,表中的剩余值被根据其噪声计数排序,之后作为输出释放。参考图2F,前k个值可以被基于噪声计数排序,而后受到释放(例如,最普遍的高频命中项将在排序输出中排在第一位)。
值 | 计数 |
4 | 1+噪声 |
5 | 1+噪声 |
表5
在表5(以及下文的表7)中,符号Δ表示个体参与方能够影响的计数的最大数量,因而(例如)Δ=1(例如,在我们查询原产地时)或者Δ>1(例如,在有对当前和先前雇主的查询时)。
表6
MPC协议 | 输出/功能性 |
EQ(<a>,<b>) | <1>如果a=b,否则<0> |
LE(<a>,<b>>) | <1>i如果a≤b,否则<0> |
ADD(<a>,<b〉) | <a+b〉 |
AND(<a>,<b>) | <a·b> |
NOT(<a>) | <1-a> |
CondSwap(<a>,<b>,<c>) | <a>如果位c=1,否则<b> |
Rec(<a>) | 重建秘密a |
就未使用受信任第三方服务器,但是相反使用了MPC的实施方式而言,可以将上文描述的FHH1算法实施成在下文的表7中描绘的HH1 MPC算法。换言之,该MPC HH1算法与类似,只是HH1使用了MPC而非受信任服务器,并且各方提供包括值和部分噪声值在内的加密输入(例如,使用秘密共享或者其他密码学技术),从而实现对前k个值的联合计算。
例如,各方202A-E可以通过安全地交换消息(例如,秘密共享)而使用MPC(又称为安全MPC)在各方之间执行对前k项的联合计算,其中,安全消息表示向前k项的MPC联合计算的输入。例如,来自参与方202A的安全消息可以包括值(例如,220A的示例中的“4”)和部分噪声值。各方对安全输入消息进行运算,从而得到安全的最终输出,诸如,前k项。该安全的最终输出受到加密(秘密共享),并且能够由各方中的每者解密,从而重建或披露该结果,诸如,前k个值。尽管各方可以联合计算该前k项函数,但是各方可以将这一MPC处理外包给计算节点(例如,多个云服务提供商)。该外包允许信任的分配(其中,没有任何单个完全受信任的参与方,但是存在多个半诚实参与方,仅当它们当中的大多数是将要协作的地方或者受到攻击/黑客袭击的地方时,可以重建秘密)。为此,各方将其输入与计算方进行秘密共享,并且计算方执行HH1的计算。
就用于前k项的MPC而言,各方202A-E可以相互提供包括值和部分噪声的输入消息,其中,输入消息经由秘密共享受到加密。例如,参与方202A可以将包含“4”和部分噪声值的加密消息提供给其他各方202B-E。该部分噪声被添加至计数值,如上文联系图2F所指出的。替代地或额外地,MPC计算可以如所指出的被外包给(多个)计算节点(例如,上文指出的云服务),在这种情况下,各方将向云节点发送输入消息,以供MPC计算。为了提高MPC的计算机效率,所执行的运算可以包括主要为加法的运算,尽管表6列举了所使用的运算中的一些的示例。
在表7中,列举了表6中的MPC运算(或子协议)。这些子协议的输出受到加密(例如,秘密共享),除了Rec(·),其使用秘密共享重建输出(“解密”)。受到保护的值被括在角括号内,诸如,<·>,其可以被视为一种形式的加密(例如,经由秘密共享)。表7中的大写字母表示阵列,其中,例如,A[j]表示阵列A中的第j元素。阵列V保有值,阵列C保有计数,并且阵列N保有添加的噪声。采用bstate指示布尔值(具有一比特的形式)(例如,bmatch=1指明匹配)。
表7
图3示出了根据一些示例实施例的用于第二协议的函数的示例。与第一协议FHH1不同,各方302A-D将正在针对前k项而被评估的数据集中的它们的值进行编码(诸如,二进制编码)。例如,第一方可以将值A编码为01000001,并且每一编码值包括前缀,诸如,本示例中的01。各方可以被划分成g个组,以使得询问第一组他们的值是否是以具有一定长度的前缀开始的,诸如,预定长度(例如,γ+η,其中,并且η是我们每一轮扩展前缀的比特数;还参见下文的表8)。之后,使用在第一组中最频繁出现的前缀来询问下一组,诸如,这一示例中的第二组。对于下一组的询问,还可以使第一组中最频繁地出现的前缀扩展η比特(例如,长度γ+2η),并且可以重复这一过程,直到前缀长度等于该域的比特长度b为止(例如,就ASCII编码而言,针对每符号的长度8,域长度为8)。
在图3的示例中,各方集合包括参与方P1 302A、P2 302B、P3 302C和P4 302D。第一方P1包括二进制编码值001,第二方P2包括二进制编码值100,第三方P3包括二进制编码值001,并且第四方P4保有二进制编码值001。各方P1-P4被划分成组,在这一示例中对应于两个组,因而P1和P2处于组1内,P3和P4处于组2内。
在310中,计算服务器询问第一组,并且请求对具有长度2(例如,γ=1,η=1)的前缀的初始集合的计数。例如,请求对前缀的初始集合(00、01、10和11)的计数。作为响应,第一方302A在312A中响应代表前缀00的计数向量(1,0,0,0),其对应于第一方保有的编码数据值001。而且,第二方302B在312B中响应代表前缀10的计数向量(0,0,1,0),其对应于第二方保有的编码数据值100。
在314中,计算服务器210将所报告的计数逐元素相加。例如,计数向量(1,0,0,0)和(0,0,1,0)被加起来得到(1,0,1,0),其指明最频繁地出现的前缀是“00”和“10”。在一些实施方式中,计算服务器210可以向计数添加噪声,并且执行如下文联系325和330所述的阈值处理。如果在330中有噪计数不超过阈值,那么将值对应计数作为前k结果去除(例如,参见表8中的2D处)。在图3的示例中,针对前缀001的计数不超过阈值,因而在335中将其作为前1个值释放。
接下来,计算服务器使最频繁地出现的前缀中的2比特前缀扩展给定值,诸如,η=1比特。
在316中,计算服务器210询问各方302C-D中的第二组,请求对前缀候选(000、001、100和101)的计数。这些前缀候选对应于00的扩展前缀(其对应于3比特前缀000和001)和10的扩展前缀(其对应于3比特前缀100和101)。作为响应,第三方302C在318A中响应代表前缀001的计数向量(0,1,0,0),其对应于第三方保有的编码数据值001。而且,第四方302D在318B中响应代表前缀001的计数向量(0,1,0,0),其对应于第四方保有的编码数据值001。
在320中,计算服务器210将所报告的计数逐元素相加。例如,计数向量(0,1,0,0)和(0,1,0,0)被加起来得到(0,2,0,0),其指明最频繁地出现的前缀是001。
在325中,计算服务器210向计数添加噪声,诸如,拉普拉斯分布噪声等。例如,计算服务器可以向聚合计数,诸如,向聚合向量(0,2,0,0)中的计数添加噪声。如果在330中有噪计数不超过阈值,那么将值对应计数作为前k结果去除(例如,参见表8中的2D处)。在图3的示例中,针对前缀001的计数不超过阈值,因而在335中将其作为前1个值释放。如上文所指出的,也可以在其他时间上执行噪声的添加和阈值处理,诸如,在上文的314和320期间。此外,尽管300描绘了直至识别出前k项为止有两次迭代,但是可以有询问额外组的额外迭代并因此可以有其他轮的噪声添加、阈值处理等,如上文所指出的。
与图3类似,下文的表8也示出了根据一些示例实施例的的示例实施方式。在表8中,生成包括条目的表T,以将每一前缀映射至一个计数。表8还示出了组的形成,从一个参与方只能是单个组的成员的意义上来讲,这些组是没有交集的。
就未使用受信任第三方服务器,但是相反使用了MPC的实施方式而言,可以将上文联系图3和表8描述的算法实施成在下文的表9中描绘的HH2 MPC算法。换言之,MPCHH2算法与类似,但是HH2使用了MPC而非受信任服务器,并且各方提供包括值和部分噪声值的安全输入(诸如,加密输入)。为了执行使用MPC执行对前k项的联合计算,各方302A-D中的每者可以提供安全的或者加密的消息(例如,使用秘密共享)。例如,消息可以包括(多个)响应值(例如,312A、312B等)和部分噪声值。各方可以通过安全地与其他方交换消息而在各方之间执行MPC。因而各方可以对安全消息进行操作,从而得到最终安全输出(例如,使用秘密共享),该安全最终输出能够由各方中的每者解密,从而重建或披露该结果,诸如,前k个值。然而,如所指出的,各方可以将这一MPC处理外包给所谓的计算方。
就MPC而言,每一方可以响应一个答案加上部分噪声值。例如,就312A处的第一方而言,其响应(1+部分噪声1,0+部分噪声2,0+部分噪声3,0+部分噪声4)。例如,在314中,跨越第一组的第一方和第二方的向量相加产生了(1+完全噪声1,0+完全噪声2,1+完全噪声3,0+完全噪声4)。而且,可以采用对应方的秘密共享对这些响应(以及其他信息交换和335的结果输出)加密。
表8
尽管可以使用各种各样的噪声机制,但是就不受限敏感度Δ而言,可以使用用于噪声的耿贝尔机制,而非表8中的2(d)(i)处的拉普拉斯噪声。
就未使用受信任第三方服务器的实施方式而言,可以按照下文的表9中的图示和描述来实施上文描述的HH2 MPC算法。在表9中,列举了表6中的MPC运算(或子协议),其可以如上文所述来实施。行9中的排序可以被实施为排序网络(基于条件性交换),其中,针对C的排序结果(指明一个值更小或更大的比特)被重新用于按照相同方式对i排序。输入和计算值是缩放整数(又称为固定点表示),其与浮点数相比允许更有效地安全实施。
表9
图4示出了说明与当前主题的实施方式一致的计算系统400的框图。例如,系统400可以用于实施客户端设备和/或服务器等。
如图4所示,计算系统500可以包括处理器510、存储器520、存储设备530和输入/输出设备540。根据当前主题的实施方式,受信任执行环境可以是可以被局限到处理器510内的安全区域,或者其可以是额外的硬件和/或软件部件。受信任执行环境可以运行飞地,以对其内包含的代码和数据落实保密性和完整性保护,甚至是在不受信任的环境下。
处理器510、存储器520、存储设备530和输入/输出设备540可以经由系统总线550互连。处理器510能够处理在计算系统500内执行的指令。这样的所执行指令可以实施(例如)受信任服务器和/或客户端设备(各方)等的一个或多个部件。在当前主题的一些实施方式当中,处理器510可以是单线程处理器。或者,处理器510可以是多线程处理器。处理器可以是具有多个处理器的多核处理器或者可以是单核处理器。处理器510能够处理存储在存储器520内和/或存储设备530上的指令,从而经由输入/输出设备540显示用于用户界面的图形信息。
存储器520是存储计算系统500内的信息的计算机可读介质,例如,其为易失性或者非易失性的。例如,存储器520可以存储表示配置对象数据库的数据结构。存储设备530可以为计算系统500提供持久性存储。存储设备530可以是软盘设备、硬盘设备、光盘设备或磁带设备或者其他适当持久性存储手段。输入/输出设备540提供计算系统500的输入/输出操作。在当前主题的一些实施方式当中,输入/输出设备540包括键盘和/或定点设备。在各种实施方式中,输入/输出设备540包括用于显示图形用户界面的显示器单元。
根据当前主题的一些实施方式,输入/输出设备540能够提供网络设备的输入/输出操作。例如,输入/输出设备540可以包括以太网端口或者其他联网端口,从而与一个或多个有线和/或无线网络(例如,局域网(LAN)、广域网(WAN)、Internet)通信。
在当前主题的一些实施方式当中,计算系统500可以用于执行各种交互式计算机软件应用(例如,Microsoft和/或任何其他类型的软件),软件应用能够用于各种(例如,列表)格式的数据的组织、分析和/或存储。或者,计算系统500可以用于执行任何类型的软件应用。这些应用可以用于执行各种功能,例如,规划功能(例如,电子表文档、文字处理文档和/或任何其他对象等的生成、管理、编辑)、计算功能性、通信功能等。所述应用可以包括各种插件功能(例如,由德国沃尔多夫的SAP SE提供的作为SAP Business Suite的部分的用于Microsoft Excel的SAP Integrated Business Planning插件),或者可以是独立的计算产品和/或功能。在应用激活之时,功能能够用于生成经由输入/输出设备540提供的用户界面。用户界面可以是由计算系统500生成并呈现给用户的(例如,在计算机屏幕监视器等上面)。
文中描述的主题的一个或多个方面或特征可以是通过数字电子电路、集成电路、专门设计的ASIC、现场可编程门阵列(FPGA)、计算机硬件、固件、软件和/或其组合实现的。这些各种各样的方面或特征可以包括一个或多个计算机程序中的实施方式,计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,可编程处理器可以是专用或通用的,其可以被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。可编程系统或者计算系统可以包括客户端和服务器。客户端和服务器一般是相互远离的,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
这些还可以被称为程序、软件、软件应用、应用、部件或代码的计算机程序包括针对可编程处理器的机器指令,并且可以通过高级过程化的和/或面向对象的编程语言以及/或者通过汇编/机器语言实施。如文中使用的,“机器可读介质”是指任何用于向可编程处理器提供机器指令和/或数据的计算机程序产品、装置和/或设备,例如,磁盘、光盘、存储器和可编程逻辑器件(PLD),包括接收作为机器可读信号的机器指令的机器可读介质。“机器可读信号”是指任何用于向可编程处理器提供机器指令和/或数据的信号。机器可读介质可以非暂态地存储机器指令,例如,就像非暂态固态存储器或者磁硬盘驱动器或任何等效存储介质所做的那样。或者或此外,机器可读介质可以按照暂态方式存储这样的机器指令,例如,就像与一个或多个物理处理器核相关联的处理器高速缓存或者其他随机存取存储器所做的那样。
为了提供与用户的交互,文中描述的主题的一个或多个方面或特征可以在计算机上实施,计算机具有用于向用户显示信息的显示设备,例如,阴极射线管(CRT)或液晶显示器(LCD)或发光二极管(LED)监视器,并且计算机还具有键盘以及诸如鼠标和跟踪球的定点设备,用户能够通过其向计算机提供输入。也可以采用其他种类的设备提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感知反馈,诸如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以是以任何形式接收的,包括声学、语音或触觉输入。其他可能的输入设备包括触摸屏或者其他触敏设备,诸如,单点或多点电阻式或电容式触控板、语音识别硬件和软件、光学扫描仪、光学指示器(pointer)、数字图像俘获设备以及相关联的解释软件等。
在上文的描述和权利要求当中,可能出现诸如“……的至少一者”或者“……中的一者或多者”的短语,其后跟随着对元素或特征的连接列表。还可能在两个或更多元素或特征的列表当中出现“和/或”一词。除非否则将与使用语境发生暗示或明示的冲突,否则这样的短语意在各个地表示所列举的元素或特征中的任何元素或特征,或者表示所列举元素或特征中的任何元素或特征与其他所列举元素或特征中的任何元素或特征的组合。例如,短语“A和B的至少一者、“A和B中的一者或多者”以及“A和/或B”每者意在表示“单独A、单独B、或者A和B一起”。还意在对包括三项或更多项的列表采取类似的解释。例如,短语“A、B和C的至少一者”、“A、B和C中的一者或多者”以及“A、B和/或C”每者意在表示“单独A、单独B、单独C、A和B一起、A和C一起、B和C一起或者A、B和C一起”。在上文和权利要求中对“基于”一词的使用意在表示“至少部分地基于”,使得未列举的特征或元素也是可允许的。
文中描述的主题可以体现到系统、装置、方法和/或物件当中,具体取决于预期配置。上文的描述中阐述的实施方式不代表符合文中描述的主题的所有实施方式。相反,这些实施方式只是符合与所描述主题有关的各个方面的一些示例。尽管上文已经详细描述了几种变型,但是其他修改或添加也是可能的。具体而言,可以在文中阐述的那些以外提供额外的特征和/或变型。例如,上文描述的实施方式可以涉及所公开特征的各种组合及子组合以及/或者上文公开的几个其他特征的组合及子组合。此外,附图中描绘的和/或文中描述的逻辑流未必一定需要所示出的具体顺序或者顺次的顺序才能实现预期结果。此外,所述逻辑流可以包括与所示的不同的和/或额外的操作,而不脱离本公开的范围。可以重复和/或省略所述逻辑流的一个或多个操作,而不脱离本公开的范围。其他实施方式也可以处于下面的权利要求的范围内。
Claims (20)
1.一种系统,包括:
至少一个数据处理器;以及
至少一个存储指令的存储器,所述指令在被所述至少一个处理器执行时产生操作,所述操作包括:
针对跨越多个客户端的前k个值的确定生成包括将候选值映射至对应计数的条目的表;
从所述多个客户端的每者接收候选值;
响应于所接收到的候选值与所述表中的条目当中的一个匹配,针对所匹配的候选值使对应计数递增;
响应于所接收到的候选值不与所述表中的条目当中的一个匹配并且所述表不超过阈值尺寸,通过添加所接收到的候选值连同计数值1而向所述表添加条目;
响应于所接收到的候选值不与所述表中的条目当中的一个匹配并且所述表超过了阈值尺寸,使所述表中的所有计数减1,并且从所述表中删除任何具有计数零的条目;
向所述表的条目中的对应计数添加噪声;
响应于有噪对应计数小于阈值,针对所述有噪对应计数删除所述表中的对应条目;以及
输出所述表的至少一部分作为所述前k个值结果集合。
2.根据权利要求1所述的系统,其中,在所述输出之前基于所述有噪对应计数对所述表排序。
3.根据权利要求1所述的系统,其中,所述系统包括受信任服务器或者包含在受信任服务器中。
4.根据权利要求1所述的系统,其中,所述前k个值结果集合是使用跨越所述多个客户端的数据域基于多方计算确定的,其中,所述前k个值结果集合是在所述数据域上确定的。
5.根据权利要求4所述的系统,其中,所述系统利用云提供商处的至少一个计算节点或者所述多个客户端中的一者或多者处的至少一个计算节点来执行所述多方计算。
6.根据权利要求4所述的系统,其中,从所述多个客户端的每者接收所述候选值包括接收处于安全消息内的所述候选值,所述安全消息进一步包括部分噪声值。
7.根据权利要求6所述的系统,其中,向所述表的所述条目中的所述对应计数添加噪声进一步包括基于来自所述多个客户端中的每者的所述部分噪声值添加所述噪声。
8.根据权利要求4所述的系统,其中,输出所述表的至少一部分作为所述前k个值结果集合进一步包括在安全消息中输出所述表的所述至少部分。
9.根据权利要求1所述的系统,其中,所述前k个值结果集合是根据差分隐私输出的。
10.一种方法,包括:
针对跨越多个客户端的前k个值的确定生成包括将候选值映射至对应计数的条目的表;
从所述多个客户端的每者接收候选值;
响应于所接收到的候选值与所述表中的条目当中的一个匹配,针对所匹配的候选值使对应计数递增;
响应于所接收到的候选值不与所述表中的条目当中的一个匹配并且所述表不超过阈值尺寸,通过添加所接收到的候选值连同计数值1而向所述表添加条目;
响应于所接收到的候选值不与所述表中的条目当中的一个匹配并且所述表超过了阈值尺寸,使所述表中的所有计数减1,并且从所述表中删除任何具有计数零的条目;
向所述表的条目中的对应计数添加噪声;
响应于有噪对应计数小于阈值,针对所述有噪对应计数删除所述表中的对应条目;以及
输出所述表的至少一部分作为所述前k个值结果集合。
11.根据权利要求10所述的方法,其中,在所述输出之前基于所述有噪对应计数对所述表排序。
12.根据权利要求10所述的方法,其中,所述系统包括受信任服务器或者包含在受信任服务器中。
13.根据权利要求10所述的方法,其中,所述前k个值结果集合是使用跨越所述多个客户端的数据域基于多方计算确定的,其中,所述前k个值结果集合是在所述数据域上确定的。
14.根据权利要求13所述的方法,其中,所述系统利用云提供商处的至少一个计算节点或者所述多个客户端中的一者或多者处的至少一个计算节点来执行所述多方计算。
15.根据权利要求13所述的方法,其中,从所述多个客户端的每者接收所述候选值包括接收处于安全消息内的所述候选值,所述安全消息进一步包括部分噪声值。
16.根据权利要求15所述的方法,其中,向所述表的所述条目中的所述对应计数添加噪声进一步包括基于来自所述多个客户端中的每者的所述部分噪声值添加所述噪声。
17.根据权利要求13所述的方法,其中,输出所述表的至少一部分作为所述前k个值结果集合进一步包括在安全消息中输出所述表的所述至少部分。
18.根据权利要求13所述的方法,其中,所述前k个值结果集合是根据差分隐私输出的。
19.一种包括指令的非暂态计算机可读存储介质,所述指令在被至少一个处理器执行时产生操作,所述操作包括:
针对跨越多个客户端的前k个值的确定生成包括将候选值映射至对应计数的条目的表;
从所述多个客户端的每者接收候选值;
响应于所接收到的候选值与所述表中的条目当中的一个匹配,针对所匹配的候选值使对应计数递增;
响应于所接收到的候选值不与所述表中的条目当中的一个匹配并且所述表不超过阈值尺寸,通过添加所接收到的候选值连同计数值1而向所述表添加条目;
响应于所接收到的候选值不与所述表中的条目当中的一个匹配并且所述表超过了阈值尺寸,使所述表中的所有计数减1,并且从所述表中删除任何具有计数零的条目;
向所述表的条目中的对应计数添加噪声;
响应于有噪对应计数小于阈值,针对所述有噪对应计数删除所述表中的对应条目;以及
输出所述表的至少一部分作为所述前k个值结果集合。
20.一种方法,包括:
从第一客户端组请求针对第一组前缀的计数,所述第一组前缀表示被分组成第一客户端组和第二客户端组的多个客户端的数据域的编码;
从所述第一客户端组中的第一客户端接收第一计数向量,所述第一计数向量指示在所述第一客户端处的所述第一组前缀中的每者的存在;
从所述第一客户端组中的第二客户端接收第二计数向量,所述第二计数向量指示在所述第二客户端处的所述第一组前缀中的每者的存在;
将所述第一计数向量和第二计数向量相加,以产生第一聚合计数向量;
向所述第一聚合计数向量添加噪声;
响应于所述第一聚合计数向量中的有噪计数小于阈值,从所述第一聚合计数向量中去除所述有噪计数和对应前缀,所述第一聚合计数向量识别出在所述第一客户端组中频繁出现的一个或多个前缀;
从所述第二客户端组请求针对第二组经扩展前缀的计数,所述第二组经扩展前缀对应于经由所述第一聚合计数识别出的所述一个或多个前缀,所述第二组扩展前缀被扩展了预定比特数;
从所述第二客户端组中的第三客户端接收第三计数向量,所述第三计数向量指示在所述第三客户端处的所述第二组经扩展前缀中的每者的存在;
从所述第二客户端组中的第四客户端接收第四计数向量,所述第四计数向量指示在所述第四客户端处的所述第二组经扩展前缀中的每者的存在;
将所述第三计数向量和第四计数向量相加,以产生第二聚合计数向量;
向所述第二聚合计数向量添加噪声;
响应于所述第二聚合计数向量中的有噪计数小于所述阈值,从所述第二聚合计数向量中去除所述有噪计数和对应前缀;以及
基于所述第二聚合计数向量输出前k个值结果集合。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/357,096 US20230017374A1 (en) | 2021-06-24 | 2021-06-24 | Secure multi-party computation of differentially private heavy hitters |
US17/357,096 | 2021-06-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115525909A true CN115525909A (zh) | 2022-12-27 |
Family
ID=78822476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111440015.6A Pending CN115525909A (zh) | 2021-06-24 | 2021-11-30 | 差分隐私高频命中项的安全多方计算 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230017374A1 (zh) |
EP (1) | EP4109314A1 (zh) |
CN (1) | CN115525909A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220247548A1 (en) * | 2021-02-01 | 2022-08-04 | Sap Se | Efficient distributed privacy-preserving computations |
CN116471051B (zh) * | 2023-03-22 | 2024-04-02 | 电子科技大学 | 一种基于不经意传输协议的安全多方数据排序方法 |
US11809588B1 (en) | 2023-04-07 | 2023-11-07 | Lemon Inc. | Protecting membership in multi-identification secure computation and communication |
US11829512B1 (en) | 2023-04-07 | 2023-11-28 | Lemon Inc. | Protecting membership in a secure multi-party computation and/or communication |
US11868497B1 (en) | 2023-04-07 | 2024-01-09 | Lemon Inc. | Fast convolution algorithm for composition determination |
US11836263B1 (en) * | 2023-04-07 | 2023-12-05 | Lemon Inc. | Secure multi-party computation and communication |
US11874950B1 (en) | 2023-04-07 | 2024-01-16 | Lemon Inc. | Protecting membership for secure computation and communication |
US11811920B1 (en) | 2023-04-07 | 2023-11-07 | Lemon Inc. | Secure computation and communication |
US11886617B1 (en) * | 2023-04-07 | 2024-01-30 | Lemon Inc. | Protecting membership and data in a secure multi-party computation and/or communication |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11023594B2 (en) * | 2017-05-22 | 2021-06-01 | Georgetown University | Locally private determination of heavy hitters |
US10726007B2 (en) * | 2017-09-26 | 2020-07-28 | Microsoft Technology Licensing, Llc | Building heavy hitter summary for query optimization |
US11514189B2 (en) * | 2018-03-01 | 2022-11-29 | Etron Technology, Inc. | Data collection and analysis method and related device thereof |
US11170131B1 (en) * | 2019-05-07 | 2021-11-09 | Microsoft Technology Licensing, Llc | Differentially private top-k selection |
-
2021
- 2021-06-24 US US17/357,096 patent/US20230017374A1/en active Pending
- 2021-11-30 EP EP21211207.2A patent/EP4109314A1/en active Pending
- 2021-11-30 CN CN202111440015.6A patent/CN115525909A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4109314A1 (en) | 2022-12-28 |
US20230017374A1 (en) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115525909A (zh) | 差分隐私高频命中项的安全多方计算 | |
Bonchi et al. | Identity obfuscation in graphs through the information theoretic lens | |
Chen et al. | Privacy-preserving data publishing | |
Navarro-Arribas et al. | Information fusion in data privacy: A survey | |
US20220247548A1 (en) | Efficient distributed privacy-preserving computations | |
Böhler et al. | Secure multi-party computation of differentially private heavy hitters | |
Tran et al. | Lightweight privacy-Preserving data classification | |
Christ et al. | Differential privacy and swapping: Examining de-identification’s impact on minority representation and privacy preservation in the US census | |
CN113468382B (zh) | 基于知识联邦的多方环路检测方法、装置及相关设备 | |
Hu et al. | Differentially private locality sensitive hashing based federated recommender system | |
Truex et al. | Privacy-preserving inductive learning with decision trees | |
Ma et al. | Privacy-preserving distributed multi-task learning against inference attack in cloud computing | |
Vaiwsri et al. | Accurate privacy-preserving record linkage for databases with missing values | |
Shelake et al. | A survey of privacy preserving data integration | |
Mohammed et al. | Privacy Preserving Algorithm using Chao-Scattering of Partial Homomorphic Encryption | |
Wang et al. | Topology-theoretic approach to address attribute linkage attacks in differential privacy | |
Muhammad et al. | A secure data outsourcing scheme based on Asmuth–Bloom secret sharing | |
CN111046408A (zh) | 判断结果处理方法、查询方法、装置、电子设备和系统 | |
Jiang et al. | AnonPSI: An Anonymity Assessment Framework for PSI | |
Jia et al. | Flexible privacy‐preserving machine learning: When searchable encryption meets homomorphic encryption | |
Wang et al. | A privacy-friendly approach to data valuation | |
Yuan et al. | Privacy preserving graph publication in a distributed environment | |
Pawar et al. | Privacy preserving framework for brute force attacks in cloud environment | |
Yao et al. | Efficient multi-party privacy-preserving record linkage based on blockchain | |
Almahmoud et al. | Hash-Comb: A Hierarchical Distance-Preserving Multi-Hash Data Representation for Collaborative Analytics |
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 |