CN111971675A - 数据产品发布方法或系统 - Google Patents
数据产品发布方法或系统 Download PDFInfo
- Publication number
- CN111971675A CN111971675A CN201880087751.8A CN201880087751A CN111971675A CN 111971675 A CN111971675 A CN 111971675A CN 201880087751 A CN201880087751 A CN 201880087751A CN 111971675 A CN111971675 A CN 111971675A
- Authority
- CN
- China
- Prior art keywords
- data
- privacy
- attack
- attacks
- statistics
- 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
- 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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web 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
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
一种计算机实现的数据产品发布方法或系统。数据产品发布是使用诸如差分私有系统的隐私保护系统从敏感数据集导出。诸如噪声添加量值的隐私保护参数可配置作为所述数据产品发布方法或系统的一部分,以改变维持所述敏感数据集的隐私与使所述数据产品发布有用之间的平衡。
Description
发明背景
1.发明领域
本发明的领域涉及计算机实现的数据产品发布方法或系统。更特别地,但是非排他地,本发明涉及用于管理数据产品发布的隐私保护参数的计算机实现的过程。
本专利文件的公开的一部分包括受版权保护的材料。版权所有者不反对由任何人以专利文件或专利公开出现在美国专利与商标局专利文件或记录中的形式传真复制所述专利文件或专利公开,但是另外保留任何所有版权权利。
2.现有技术的描述
在某些情况下,发布有关私有数据集的聚合统计数据(例如,列联表)可能导致有关个人的私有信息的披露。通常,不明显的是关于人群的一组聚合统计数据如何能够泄漏有关个人的信息且手动输出检查无法检测到所有这些意外的披露。研究人员已经发明出用于减轻私人信息泄漏的风险的技术。两种这样的技术是抑制有关小团体的统计数据,和向统计数据添加随机噪声。
很少建立衡量与发布聚合统计数据相关联的风险的技术。一种评估风险的方法是使用理论上的隐私模型,诸如差分隐私。理论模型就统计数据在隐私方面的安全性提供了某种度量,但理论模型存在至少两个问题。首先,理论模型的度量很难映射到对隐私的直观理解:ε(epsilon)(差分隐私的主要参数)为0.5实际上意味着什么?其次,理论模型考虑到最坏情况情景,且因此对数据发布中的风险量会不切实际地感到悲观。
需要其他方法来衡量聚合统计数据的隐私风险。
此外,防止私人信息披露的隐私保护技术在实现的隐私保护与数据效用的损失之间进行了权衡。例如,抑制有关小团体的统计数据防止直接披露私有属性,但同时会导致可发布的信息减少。因此,重要的是评估在隐私保护技术下发布的数据的效用。然而,不总是清楚如何最好地衡量效用损失或数据失真。在事先没有明确定义失真和数据丢失的效用成本的情况下,需要其他方法来衡量私人聚合统计数据的数据效用。
本发明解决了上述漏洞(vulnerability),且还解决了上面未描述的其他问题。
发明内容
本发明的一个方面是一种计算机实现的数据产品发布方法,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中,隐私保护参数可配置作为所述数据产品发布方法或系统的一部分,以改变维持所述敏感数据集的隐私与使所述数据产品发布有用之间的平衡。
附图说明
现在将参考以下附图通过示例的方式来描述本发明的各个方面,每个附图均示出了本发明的特征:
图1示出了具有系统的体系结构的关键要素的图。
图2示出了作为累积失真的函数的统计数据的数量的曲线图。
图3示出了具有所应用噪声分布的可视化的示例的图。
图4示出了失败的攻击对比保留的统计数据%的曲线的示例。
图5示出了竖直条形图,其中示出了作为噪声量的函数的失败的攻击和保留的见解(insight)。
图6示出了具有用户界面的示例的屏幕截图,所述用户界面使数据所有者能够创建隐私保护数据产品。
图7示出了针对未决发布的查询摘要。
图8示出了未决的数据产品发布的详细报告。
图9示出了特定查询的数据产品值。
图10示出了按区域说明零售商店交易细节的地图。
图11示出了按服装细分的交易细节的直方图。
图12示出了按市场划分的客户平均每月支出的直方图。
图13示出了这个系统的三个部件:Abe、Canary和Eagle。
图14示出了统计发布的示例。
图15示出了COUNT列联表的一行的示例。
图16示出了风险度量算法的图。
图17示出了说明测试攻击和确定攻击是否成功的规则的图。
图18示出了具有由Eagle产生的结果的水平条形图。
图19示出了具有由Canary发现的处于危险之中的个人的水平条形图。
图20示出了交易数据模式的示例。
具体实施方式
此具体实施方式部分描述本发明的一种实现方式,被称为Lens或Lens平台。
用于隐私保护数据产品的Lens平台是一个系统,数据持有人(例如医院)可以使用所述系统发布有关其私有数据的统计数据(例如计数、和、平均值、中位数),同时保护构成私有数据集的各个数据主体的私有信息。它确保在统计发布中不会意外披露个人信息。
数据持有者保存敏感数据并且希望一次或定期地发布统计数据,且另外,统计数据可以采用多种形式:数字、诸如直方图或CDF的图表或甚至是反映所需统计数据的合成数据。这些输出统称为‘数据产品’、‘数据产品发布’或‘数据发布’的类型。
数据产品涉及统计数据的有界或固定集合,所述集合由数据持有者预定义并且从敏感数据集导出。数据产品发布可以包括以下一项或多项:聚合统计数据报告、可视化、信息图或仪表板或任何其他形式的聚合统计数据摘要。数据产品也可以是机器学习模型。数据产品还可以用API或合成微数据文件的形式发布。
这些数据产品具有经济价值,例如,健康数据统计数据可以推动更快的医疗保健研究,或者支付数据统计数据可以为更好的业务决策提供依据。Lens可以有效地从如健康数据集或支付数据集之类的私有数据集中发布数据产品,同时确保个人隐私得到保护,从而与众不同。
Lens使用差异化的私人发布机制对个人实施充分保护。差分隐私是数据发布机制的特征,所述机制确保发布有关任何个人的信息泄漏受到限制。界限由称为‘ε’的参数设置。ε越低,信息泄漏就越少,并且差分隐私所保证的隐私就越强。有关差分隐私的更多信息可以参见Nissim等人的2017年论文“差分隐私:非技术受众的入门(DifferentialPrivacy:A Primer for a Non-technical Audience)”。
将在以下各节之一中描述本发明的关键特征:
节A:Lens平台概述
节B:对用于创建隐私保护数据产品的Lens平台的详细描述
节A:lens平台概述
1.构建数据产品的工具包
在发布统计数据时,通常很难知道为了保护安全性而将隐私保护参数设置为多高,同时仍然有用。Lens包括多个特征,用于校准为防止隐私泄漏而需要添加的适量噪声。
参考图1,示出了系统的体系结构的关键要素。Lens提供了查询敏感数据的安全途径,同时保护了个人隐私。Lens处理敏感数据并且将经过批准的安全聚合统计数据放入名为‘安全见解存储区’的关系数据库中。存储在‘安全见解存储区’中的统计见解支持各种应用或API,诸如交互式可视化、仪表板或报告。
交互式‘数据产品’或‘数据发布’或‘数据产品发布’允许最终用户访问来自敏感数据集的见解,而无需提供对敏感数据集中的原始数据的访问。
给定基础敏感数据集,Lens允许描述、计算安全聚合统计数据的‘数据发布’,并且将其提供给Lens外部使用。数据发布是指通过对敏感数据集进行许多预定义的统计过滤器、下钻、查询和聚合的应用而生成的一组统计数据。
在本上下文中,‘安全’是指受到一系列隐私增强技术保护,诸如,如本说明书的其他节中所描述,添加差分私有噪声。
这种保护使得难以逆转聚合并了解关于敏感数据集中的任何单个数据主题的任何信息。
为了产生数据发布,Lens使用对敏感数据的所需处理的描述,称为‘数据产品规格’。这可以由数据持有者通过Lens用户界面生成并且由Lens存储,或它可以使用其他工具在外部生成并且输入到Lens系统中。
Lens使用数据产品规格从任何与模式兼容的敏感数据集导出数据发布。这包括a)对随时间演变的数据集重复地使用单个数据产品规格,或b)对多个不相关的数据集使用数据产品规格。
数据产品规格包括:
·基础敏感数据模式的表示。这可以是单个表,或可以是使用外键关系连接的多个表(如在关系数据库中)。
·对敏感数据模式的实例执行的一组预处理变换,诸如(但不限于):
ο‘矩形化’:将多表模式转换为单个表的操作,如节B的子节3.1中所述
ο将变量分箱(Binning)成更通用的变量(例如将37分箱到35到40)
·基于基础数据模式和已经执行的预处理变换两者,描述数据发布中需要哪些统计数据。包括(但不限于):
ο和、平均值、计数、中位数、最小值/最大值等
ο线性回归模型
·对抑制统计数据的条件的描述,诸如:
ο查询集大小限制(QSSR),其抑制涉及小于可配置阈值(例如5)的群体大小的查询。
·在统计中的‘优先排序’或其他重要度量的指示,以允许表达对预期的数据产品用例而言最重要的统计数据。这样,在确定如何向统计数据添加噪声时,Lens可以考虑‘有用性’。例如,它可以为更重要的统计数据增加较少的噪声。示例如下:
ο对于性别平等研究,基于性别下钻的平均工资统计数据可以标记为‘重要’,且因此与基于位置的下钻相比,接收到更少的噪声添加。
·查询敏感性。请参阅下面的注释。
·自由文字的人工注释、描述或其他要求视情况而用于允许以后理解所述规格。
与将差分隐私构建到交互式查询界面中的其他隐私保护技术相比,Lens直接将差分隐私构建到数据产品发布系统中。
2.敏感性
Lens确定查询敏感性的方法是基于在添加噪声之前检查原始数据,如下所示:
1.查询原始数据以获得所需查询的值分布。
2.识别异常值并根据需要裁剪范围或概括值。
3.使用经过裁剪/经过概括的范围作为敏感性,并向用户显示这个范围以进行确认。
用户确认是必不可少的步骤,因为数据的真实范围可能不存在于数据集中,并且可能需要外部域知识才能正确指定敏感性。
最终用户也可以配置敏感变量的范围,并且可能截断或钳制超出一定范围的异常值,以改善数据产品的PUT。
最终用户也可以配置如何概括敏感变量。例如,可以将年龄(Age)概括为10个箱(bin),或可以通过用户定义的映射来概括分类变量。然后,在生成数据发布时,Lens强制执行这种概括。反过来,这改善了隐私-效用的权衡。
对范围进行概括可以是隐私保护。例如,将范围向外捕捉到最接近的10的倍数可以隐藏有关实际最大值的信息(例如,如果报告了最大值100,则实际最大值可以是11-100之间的任何值)。
还将在节B的子节4中讨论这个特征。
3.产生数据发布
下面详细介绍的工作流程包括以下步骤:收集数据产品规格,对所述数据产品规格进行分析,以及返回一个或多个数据产品规格以及推荐的噪声添加和对隐私和/或效用的其他设置。
数据产品规格包括任何用户可配置的数据产品相关的参数。
所述过程足够灵活,以管理不同的数据集并且引导许多类型的用户进行良好的隐私效用权衡。
给定数据产品规格,有几种方法产生安全的数据发布:
1.可以提供或传输数据产品规格给促进下面描述的过程的人类专家(‘Lens专家’),或者
2.自动化系统可以直接使用数据产品规格来产生安全的数据发布。
在情况(1)中,过程如下:
1.Lens专家接收到数据产品规格,并且将所述规格输入到Lens工具中,以作为了解所需的数据发布的部分。
2.Lens专家对数据产品规格和最终数据发布的可行性和隐私-效用平衡进行调查。Lens专家使用Abe用于进行攻击和进行失真计算。Lens专家可以使用这些工具的最新版本,而无需更新Lens界面本身。
3.Lens专家现在可以任选地决定提出他们认为更好地满足所需用例的一个或多个备选数据产品规格。例如,可以提出不同的矩形化、分箱或QSSR。在某些情况下,Lens专家可以得出结论,认为没有好的安全数据发布足够满足用例,且因此,基于Lens专家的调查,他们可能选择以否定的响应对数据产品规格做出响应,详细说明为什么会如此。
4.Lens专家使用Lens工具生成详细报告并且执行数据产品规格中所述的隐私变换,然后如所述工具关于Abe的测试所告知地,应用噪声添加,以针对每个提出的数据产品规格产生数据发布。
5.Lens专家将详细报告和数据发布放入到Lens软件中。
6.使Lens用户知晓详细报告是可用的。
7.Lens用户可以审查详细报告并且决定他们认为合适的报告,如果有的话。
8.基于所述选择,Lens使所选的数据发布可供以后使用。
上述内容的变化如下:
·在步骤(4)中,Lens专家不生成输入到Lens的数据发布。仅生成和输入详细报告。
·在步骤(7)和(8)之间,基于Lens用户在步骤(7)中做出的选择,Lens直接使用所选的详细报告和敏感数据集来计算数据发布,而无需与Lens专家进行交互。
·由于此处理可能需要一些时间,因此Lens软件向用户指示正在进行处理。同时,如果正在积极使用同一数据产品的先前数据发布(诸如通过API),则这个先前发布将保持可用,直到批准并且激活新的发布为止
在情况(2)中,过程类似,但是用自动化代替了Lens专家:
1.Lens软件分析数据产品规格,并且可以生成一组推荐的替代件。
2.针对这些中的每个,通过直接处理敏感数据集,Lens生成详细报告和数据发布
3.使Lens用户知晓详细报告是可用的。
4.Lens用户可以审查详细报告并且决定他们认为合适的报告,如果有的话。
5.基于所述选择,Lens使所选的数据发布可供以后使用。
4.详细报告
根据(1)和(2),Lens软件基于数据产品规格向用户显示一个或多个详细报告。这是差分私有噪声添加的效果的丰富总结,所述差分私有噪声添加允许用户确定是否可以使用噪声统计数据。
所述报告提供了预期数据发布的隐私-效用特性的详细但可理解的图片。
它分为几个部分:
·隐私推荐
·攻击摘要
·效用推荐
·效应摘要
隐私推荐是呈现给用户的一目了然是/否指示符,显示了Abe推荐的噪声水平是否令人满意地防止攻击。用于‘是’结果的准则取决于执行了哪些攻击,和所添加的噪声是否足以保护数据集。例如,在使用差分攻击的情况下,仅当所有发现的攻击都被所添加的噪声击败时,才会返回‘是’结果。作为求解器攻击示例,仅当对于x的某个适当的预配置值,不能正确地猜测数据集超过x%时,才会返回‘是’结果。
攻击摘要含有从Lens已进行的不同类型的确定性和概率攻击输出的摘要。例如:
·差分攻击。呈现了个体的列表,所述个体的原始数据值如果不通过添加噪声来保护,则会暴露。列表中的条目含有原始数据值和泄露所述值的攻击的摘要。
·求解器攻击。呈现了与已知基线(例如,如果性别是私有变量,则总是猜测性别为‘女性’。在全世界人口的样本中,这应该可以成功完成大约50%的时间,因为众所周知,男女比例约为50-50)相比,噪声对攻击者重建数据集的能力的影响的摘要。例如,有可能显示,噪声的添加已经将攻击者的能力从重建90%的记录降低到52%,而基线是50%。这里的变化是对Lens击败攻击的成功程度的度量。
防御攻击的有效性取决于Lens具有基线风险模型。这意味着,相对于攻击者可能具有的背景知识,应当理解保护措施的任何增强。
效用推荐是呈现给用户的一目了然是/否指示符,显示了噪声水平是否在统计数据中保留了足够的效用。Lens可以支持不同的启发式方法来确定是否示出‘是’:
·一种阈值方法,所述方法基于有噪声统计数据与噪声添加之前的值相比的失真的分布。阈值可以表达为‘不超过x%的统计数据具有大于y%的失真’。
·如上所述的阈值方法,阈值是基于样本误差,而不是简单的百分比失真阈值。这种启发式方法表达为‘不超过x%的统计数据具有大于z*样本误差的失真’
·一种方法,所述方法尊重对用户最有价值的统计数据,并且在计算总体推荐时更加重视这些值。价值较低的统计数据容忍更多噪声。这取决于Lens用户在制定数据产品规格期间指定了哪些统计数据最有价值。Lens可以提供UI特征以允许表达这一点。
·一种基于统计数据中的高级见解的阈值方法,所述阈值方法使用节B的子节1.5中所述的Eagle系统。在计算详细报告之前,Lens在添加噪声之前提取统计数据的特征的列表。这包括总体趋势、最小/最大的值等。在添加噪声之后,也可以提取特征的类似列表,并且效用推荐可以基于对仍然于有噪声统计数据中明显的见解的比例施加阈值。
效用摘要示出了噪声添加的效用的影响,通过计算每个统计数据相对于其原始值的失真并且将失真值的分布可视化来衡量所述影响。
可以使用标准技术将失真可视化,所述标准技术诸如:
1.箱形图。
2.直方图。例如,这可能允许用户看到90%的统计数据在0-5%之间失真,并且10%的统计数据失真超过5%。
3.失真的累积分布。通过累积地绘制失真,用户更容易看到失真超过给定量的统计数据的比例。在图2中显示出示例,在所述示例中,统计数据的数目被绘制为累积失真的函数。所述曲线允许从y轴读取失真超过阈值百分比的统计数据的数目。
这些方法的目的是使用户能够从总体上理解噪声添加如何改变统计数据,且因此使统计数据适合于预期的数据产品。用户必须基于效用摘要和推荐来决定发布最终是否合适。
详细报告含有用户能够用来确定是希望批准还是希望拒绝建议的噪声水平下的统计数据的所有信息。
如果安全统计数据得到批准,则能够在数据产品中继续使用发布。这将通过将安全聚合统计数据放到称作‘安全见解存储区’的关系数据库中来完成。采用标准数据库技术为数据的后续使用提供最大范围。
5.噪声/准确度的可视化
能够直接在表示统计数据本身的图表上将噪声可视化。这能够示出为误差条,通过计算应用的噪声分布的置信区间并将所述置信区间应用于显示原始(无噪声)统计数据的条形图来显示。能够在同一张图表上显示多个统计数据,每个统计数据都带有误差条,从而允许有噪声值之间的比较。
图3示出了具有所应用噪声分布的可视化的示例的图。在此图中,示出了敏感值(平均工资)以及依据年龄范围的分类。原始的统计数据被显示为条形图,覆盖有误差条,以将在对应数据发布中可能添加的噪声量可视化。
对隐私和效用的统一可视化和控制:
Lens能够支持将隐私和效用一起可视化,并且这些可视化能够以交互方式使用,以允许用户超控Lens对噪声量的自动选择并且确定他们自己的隐私-效用平衡。下面描述了两个这样的可视化:
1.%失败的攻击对%保留的统计数据曲线;
2.依据噪声水平的防御的攻击和保留的见解图表。
下面用示例描述这些内容:
%失败的攻击对%保留的统计数据曲线
如图4所示,在此曲线中,Lens显示了各种噪声量(在这种情况下是ε的值)对失败的攻击和保留的统计数据的影响(‘保留’在这里表示失真不超过阈值量)。
通过沿着曲线选择一个节点,用户能够指定噪声量,代价是保留统计数据。这是用户了解选择噪声水平如何明确地影响效用的直观方式。
依据噪声水平的防御的攻击和保留的见解图表:
在此图中,竖直放置的两个条形图指示选择一定量的噪声对要防御的攻击的数量和保留的见解的数量的影响。
所选的噪声量由竖直虚线表示。如果将显示用作交互式控件,则显示沿着x轴滑动以控制噪声水平。随着线向左移动(噪声较小),用户清楚地看到,防御的攻击将较少,因为施加的噪声小于防御每种噪声所需要的量,如上方条形图上的条形所示。
随着线向右移动(噪声较多),添加噪声后保留的见解较少。‘见解’在这里意味着通过Lens自动提取的兴趣特征,所述兴趣特征将在添加噪声之前和之后进行测量以衡量效用的变化。参考图5,示出了竖直条形图,用于将作为噪声量的函数的失败的攻击和保留的见解可视化。随着噪声水平提高,将失去更多的见解,如下方图表中的条形所示。
通过以此方式选择噪声水平,用户可以了解防御隐私攻击与保持数据集中的有用性之间的折衷。用户可以使用此显示来设置自己的折衷方案。
6.数据产品改进推荐
鉴于已产生详细报告的数据产品规格,Lens可以建议对数据产品规格进行改进,从而得到更好的隐私-效用权衡。这些改进可以由Lens专家建议或可以由Lens本身自动建议。
如果用户决定实现部分或全部推荐,则将准备新的数据产品规格和新的详细报告,以分别描述更改并且总结新的隐私-效用权衡。
Lens指导最终用户如何修改数据产品以具有更好的PUT。作为示例,如果数据持有者想要发布无法保护隐私的数据产品,诸如如果某人想要发布每秒的平方英尺乘以平方英尺人口数。在这种情况下,Lens引导数据持有者尝试发布本质上更加隐私友好的聚合统计数据。使用Lens或直接从一些快速启发式方法确定隐私效用权衡。如果权衡不满足用户或数据持有者要求,则建议对数据产品规格进行修改,诸如:减小表的维数、降低发布频率、概括数据、抑制异常值等。
推荐的其他示例如下:
·通过分箱成一定大小的箱来概括数值变量。
·通过将分类变量分组为相似、相关或层次类别来概括分类变量。在层次情况下,可以通过使用外部层次定义将值提升到更广泛类别来执行概括。
·修改数据产品规格,以包括有关数值变量而不是平均值的直方图。
·应用QSSR阈值以抑制基于低计数的统计数据。
·钳制或抑制异常值。
·禁止发布某些不重要的下钻。默认情况下,Lens可以计算下钻的多维‘立方体’(例如,年龄段乘以性别乘以收入段)。推荐可以仅发布2维表,而不是发布n维表。这是限制所发布的统计数据的数目的有效方法,这反过来将需要较小的总体噪声。
最终用户还可以通过图形用户界面来配置数据产品规格的任何参数。然后,系统可以基于数据产品规格的任何更新后参数来自动地显示推荐。例如,最终用户可以输入QSSR值,所述QSSR值导致较少的统计数据受到攻击,并且系统可能会找到可以在较少噪声情况下实现的相同隐私等级。当最终用户更新不同的QSSR时,系统将显示针对每个QSSR的噪声推荐。然后,最终用户可能会自动地发现,发布具有低于某个阈值的查询集大小的统计数据没有任何好处。
随着时间的推移,用于产生推荐的新技术将变得可用。Lens可以提供通用的用户界面,以审查所提出的改进,并且允许用户将所述改进应用于未决的数据产品规格。在每种情况下,都会准备新的详细报告以允许理解应用推荐的效果。
7.Lens API
在数据发布获得批准时,即可在Lens外部使用所述数据发布。有两种方法可以从安全见解存储区获取数据发布中的值:
1.API访问。Lens公开API,所述API可以供外部数据产品使用,以从来自安全见解存储区的特定数据发布检索值。将根据对应的数据产品规格来表达这个API,这意味着在此表达的用于下钻、查询和过滤器的值将在API调用中供应并且在返回的值中反映出来。
2.直接数据库访问。为了支持对数据发布中的值的低级有效访问,还准许直接访问安全见解存储区数据库。这将使用诸如JDBC的标准数据库技术来完成。
8.根据组织的明确数据进行基准测试
Lens支持‘基准测试’用例,在所述用例中,可以将安全见解存储区中的安全聚合统计数据与有助于聚合的某些原始数据进行比较。重要的是,仅在访问许可经过验证的经过认证的模型下才发布原始数据值。
例如,如果已经定义一种数据产品,所述数据产品计算使用从一组零售公司获取的数据计算出的平均交易值,那么这些公司中的任何一个公司会对将自己的原始值与安全聚合体进行比较感兴趣。每个公司都可以‘登录’到数据产品的经过认证的部分,从而授权访问这些公司自己的原始值。然后,Lens API可以返回聚合体和原始值两者,从而允许进行可视化,其中可以将两者进行比较。
相同的过程可以应用于记录的下钻子集,例如将人口统计类别或时间窗口的原始值与聚合体进行比较。
9.重复发布
Lens支持以下场景:数据演变,并且基于新状态的新的经过更新的数据发布是恰当的。这可能是由于定期从‘主’业务系统刷新敏感数据集,或是由于数据集中的范围变化,诸如包括了更多实体。
因此,Lens允许公司管理定期刷新的数据产品,同时确保其受到隐私保护。
在通过上述机制生成新的数据发布期间,可以从安全见解存储区和通过API获得现有的‘当前’数据发布。批准未决的数据发布的动作导致当前发布被‘存档’,并使未决的发布成为新的当前发布。始终可以通过Lens UI来访问任何已存档的数据发布的详细报告,并且确定任何数据发布和详细报告的当前日期和使用日期。
有关重复发布的不相等噪声
如本说明书中所描述,在基于相同实体进行多个数据发布的情况下,可能会攻击这些实体。为了减轻这种情况,对于给定的数据发布,Lens可以针对假定数目个未来发布确定保护实体的噪声水平。
Lens支持两种在当前发布和未来发布之间分布噪声的策略:
1.定量噪声:基于要保护的多个发布,对噪声添加定量,以使添加到当前发布和每个未来发布的噪声预计大致相同,并且预计防御所有攻击。当需要每个新的数据发布时,将使用新数据重新检查计算并且更新所述定量。在节B的子节1.7.3中讨论了这个过程。每个数据发布中的每个统计数据都接收相同量的预算。在这种情况下,如果发布比以前的发布需要多得多的噪声才能实现相同的隐私,则Lens可能会发出警告。这是Lens的重要特征,因为数据的更改可能另外产生意外风险。
2.独立对待发布:以此方式,每个发布受到独立保护。虽然更简单,但是这种方法不解决利用多个发布的攻击。因此,方法1更安全。
这些策略可以与每个发布的预算的均等/加权分布共存,这是为了优先化更重要的统计数据的效用而进行,并且在上文进行了讨论。
10.了解采样误差
某些统计数据可能是本质上不确定的,且通常无需过多关注此类统计数据。然而,噪声常常使这些统计数据严重失真。在那种情况下,将失真与采样误差进行比较,以提供所涉及的失真的有用图片,因为采样误差高亮了本质上不确定的统计数据。
通过Lens处理的原始数据通常代表更广泛群体的样本,且因此,根据此原始数据计算出的任何统计数据会出现采样误差。Lens视需要向此类统计数据添加差分私有噪声,以防止受到攻击。
对于给定的数据产品配置和样本数据集,Lens可以比较噪声和样本误差的量值,并且导出有趣的结论,所述结论可以在效用报告上显示。
如果噪声的量值远小于样本误差(以比率表示),则表明由噪声添加引起的效用下降是可以接受的,因为由于采样误差,统计数据在很大程度上已经不确定。Lens可以在详细报告上显示此结论。
如果噪声的量值与采样误差相似,则这仍然表明良好的效用折衷,因为统计数据的不确定性与由于采样误差的原始基础统计数据相比没有明显变化。Lens可以在详细报告上显示此结论。
如果噪声的量值远大于采样误差,则用户应当使用在效用报告上呈现的其他信息来确定是否可以合理地使用数据发布。
11.具有来自服装零售店的聚合统计数据的用例示例
Lens为数据持有者提供一套直观的工具,以管理原始数据集的隐私保护,同时保持数据的效用,并且确定恰当的隐私参数,诸如差分隐私参数。
以下屏幕截图示出了来自服装零售店的聚合统计数据的数据发布的示例。
图6示出了带有用户界面示例的屏幕截图,所述用户界面使数据所有者能够创建隐私保护数据产品。
图7显示了针对未决发布的查询摘要,包括AVERAGE和SUM查询。系统显示什么时候准备好发布数据产品。
图8显示了未决的数据发布的详细报告。
图9将数据产品规格的示例显示为Json文件。
数据持有者能够例如基于人口统计信息或行为信息在多个维度上下钻以获得更多细节,同时还保护隐私。
图10按区域显示了总交易值。图11是按服装细分的平均交易值的直方图。图12是按市场划分的客户的平均每月支出的直方图。可以诸如按年龄、性别、收入或时间段来进一步下钻信息。
节B:对用于创建隐私保护数据产品的Lens平台的详细描述
Lens含有以下的关键创新特征:
1.为数据产品选择合适的ε强度的过程。通过自动对抗测试和分析来驱动所述过程。
2.支持来自含有每个人的多个私有属性的数据集的数据产品的特征(例如,具有病假工资和纪律记录两者的HR数据集)。
3.支持来自交易或时间序列数据集的数据产品的特征。
4.指导用户设置“敏感性”(这是差分隐私中的重要概念)的过程。
5.发布聚合统计数据或反映这些统计数据的合成数据的选项。
6.为一个或多个实体(例如,人和公司)提供隐私保护的特征。
7.快速地(但没有100%的准确度)判断统计发布是否安全的一组启发式方法。
1.通过自动对抗测试和分析来设置“ε”(添加到统计数据的噪声量)
Lens使用噪声添加来确保统计发布不会导致有关个人的披露。它使用差分私有噪声添加机制,诸如拉普拉斯机制。在使用这些机制时,噪声量由称为ε的参数控制。
Lens含有一个通过对抗测试和效用测试来设置ε的系统。这一节描述此对抗测试和效用测试系统。所述系统是选择ε以平衡隐私风险与分析效用的原则方法。
渗透引擎系统对一组统计表自动地发起一组预定义的隐私攻击,并且确定与所述组统计表的潜在发布相关联的隐私风险。通过自动执行多种攻击,全面渗透测试的进行轻松地执行。与手动测试相比,自动执行对抗测试快得多,而且更可重复。另外,它比以前的隐私渗透系统更可靠且更量化。
渗透引擎还通过估计多个攻击是否可能成功并选择ε以使所有攻击都失败来管理隐私参数ε。
请注意,尽管这一节主要涉及ε、ε差分隐私和拉普拉斯机制,但是这一节类似地适用于差分隐私的其他两个变体:近似差分隐私和集中差分隐私,这两个变体都可以使用高斯机制。这些变体在差分隐私研究领域中是众所周知的。关于交叉适用性的这一相同点同样适用于其他节。
1.1关于发布聚合统计数据的隐私风险的背景
在某些情况下,发布有关私有数据集的聚合统计数据(例如,列联表)可以导致有关个人的隐私信息的披露。通常,不明显的是关于人群的一组聚合统计数据如何能够泄漏有关个人的信息且手动输出检查无法检测到所有这些意外的披露。研究人员已经发明出用于减轻私人信息泄漏的风险的技术。两种这样的技术是抑制有关小团体的统计数据,和向统计数据添加随机噪声。
很少建立衡量与发布聚合统计数据相关联的风险的技术。一种评估风险的方法是使用理论上的隐私模型,诸如差分隐私。理论模型就统计数据在隐私方面的安全性提供了某种度量,但是理论模型存在两个问题。首先,理论模型的度量很难映射到对隐私的直观理解:ε(差分隐私的主要参数)为0.5实际上意味着什么?其次,理论模型考虑到最坏情况情景,且因此对数据发布中的风险量会不切实际地感到悲观。
需要其他方法来衡量聚合统计数据的隐私风险。
此外,防止私人信息披露的隐私保护技术在实现的隐私保护与数据效用的损失之间进行了权衡。例如,抑制有关小团体的统计数据防止直接披露私有属性,但同时会导致可发布的信息减少。因此,重要的是评估在隐私保护技术下发布的数据的效用。然而,不总是清楚如何最好地衡量效用损失或数据失真。在事先没有明确定义失真和数据丢失的效用成本的情况下,需要其他方法来衡量私人聚合统计数据的数据效用。
使用对抗测试来测试防御是一种可能易于理解的方法。然而,测试大量攻击仍然很困难,并且存在使自己的防御与仅在测试过程中尝试的攻击过度拟合的风险。
相比之下,差分隐私不需要知道攻击类型。然而,如上所述,了解如何设置ε是一项困难的任务。
Lens组合了对抗测试方法和隐私保护技术(诸如差分隐私)的优势。
1.2对抗测试和分析系统的总体目的
图13示出了此系统的三个部件:Abe 130、Canary 132和Eagle 134,每个部件都具有不同但相关的目的。
Eagle 134专注于测量统计发布的效用。Eagle从一组聚合统计数据中提取高级结论。这些结论是人类分析师有可能从察看统计数据得出的结论。例如,它们的形式可能是“变量X=x的人最有可能具有变量Y=y”或“变量X与变量Y之间存在相关性”。
Canary 132专注于检测有关个人的私人信息被披露的风险。Canary对不同类型的对手进行建模,并且对给定的统计发布进行一系列隐私攻击。Canary攻击是组合来自一组统计数据的信息以确定一个人的私人属性的方法。例如,对SUM表的一个攻击可能是从另一个单元格的值减去一个单元格的值。如果与两个单元格相关联的组相差一个人,则此攻击将泄露该人的私有值。Canary攻击输出针对一组聚合统计数据的私有属性披露风险的某种度量。例如,SUM攻击输出可以从聚合数据了解个人的私有值的个人列表。
Canary和Eagle各有独立的用途,并且对Abe 130也有用。
Abe评估各种隐私保护技术的隐私-效用权衡136。大多数隐私保护技术被参数化,例如,小计数抑制由阈值参数化,低于所述阈值则抑制计数。对于任何给定的隐私保护技术,诸如差分隐私,Abe都选择一个参数,如果可能的话:
·保留原始表的高级结论。这一步骤使用Eagle的输出。
·防御所有已知的隐私攻击。这一步骤使用Canary的输出。
可能的情况是没有参数同时提供良好的隐私和实用。在这种情况下,Abe检测到这一事实并且能向用户报告这一事实。
Abe、Canary和Eagle具有一些关键特质,使其成为有价值的技术。
·在没有明确成本函数的情况下测量效用损失:隐私机制通常会导致数据失真或抑制数据。衡量这对数据效用的影响始终是一个挑战。可以使用失真度量(如均方根误差),但是这暗示用户知道如何解释失真。除了执行诸如均方根误差的标准失真度量外,Abe使用Eagle还执行一种更高级的测试方法,即保留关键的从数据导出的见解。在某些情况下,如果与原始数据一样,从失真的数据中导出相同的见解,则数据的失真无关紧要。Eagle可以被配置成捕获许多不同类型的见解。
·现实世界风险度量:即使在使用如k-匿名或差分隐私之类的模型时,也很难确定统计数据发布中潜在的隐私风险有多少。Abe与Canary攻击组合使用一种类似于网络安全中的渗透测试的方法。它会尽其所能攻击统计数据,并且记录其运行情况。这是一种衡量隐私风险的可解释且有用的方法。
1.3输入数据
所有部件分析聚合统计数据和/或生成所述聚合统计数据的行等级数据。最好能将聚合统计数据描述为形式如下的类SQL的统计查询的结果
AGGREGATE(私有变量)GROUPBY(属性1&属性2&…)
AGGREGATE可以包括SUM、COUNT、AVERAGE或MEDIAN。例如,这可以是针对数据集中的具有特定属性集合的所有人员在统计数据库上进行的COUNT查询,诸如:
COUNT(*)GROUPBY(性别&工资水平)
或针对私有值的SUM查询,诸如:
SUM(每月收入)GROUPBY(性别&部门)
计算针对数据库的这些查询的结果生成许多聚合统计数据,这些统计数据的结构如图14所示。
这是Lens输出并且应用Eagle和Canary的数据发布类型的示例。
1.4将聚合信息编码为方程
需要一种表达有关每个人的信息的程序化方法。诸如和以及计数的统计数据是各个值的线性函数,且可以通过线性方程组来表达
许多Canary攻击需要将聚合信息概括为一组某种形式的线性方程。接下来的各节描述如何表示不同类型的聚合统计数据。
1.4.1对SUM和AVG表编码
考虑显示各种人群的私有属性的和的和表。例如,一个表可能显示公司的每个部门的总工资。在这种情况下,每个人的私有属性是连续值,并且系统将所述连续值编码为变量。例如,如果样本群体中有10个人,则他们的私人属性由变量v1、……、v10表示。攻击旨在恢复群体中的每个变量的确切值(例如,v1=35000,v2=75000等)。现在,SUM表中的每个单元格对应于一组人并且可以被转换为线性方程。例如,如果单元格对应于人2、5和7,并且说私有属性的和为99,则我们得出以下方程:
v2+v5+v7=99
我们将表中的每个统计数据称为“单元格”、“聚合查询”、“聚合体”或“统计数据”。
对于和表,来自聚合体的所有信息被概括在一个线性方程组中:
A·v-d
例如,如果我们发布有关n个人的m个和,则A是具有0和1的m×n矩阵,其中每一行表示和并且将包含在所述和中的个人标记为1,而将其他个人标记为0。向量v是n维列向量,表示每个个体的私有属性值。向量d的长度为m,并且将和的值作为向量的条目。
AVERAGE表可以重新表达为SUM表。在AVERAGE查询的情况下,有时候,表的所有维是已知的背景变量,而未知的私有属性是要进行AVERAGE运算的变量。有了这一背景知识,就可以知道每个单元格的计数,且因此可以将计数乘以平均值以获得和。以此方式,AVERAGE表可以被精简成SUM表的情况,并且通过SUM表的方法破解。
通过诸如从有关所有人和有关按变量划分的所有组的背景知识知道每个查询集的大小,可以执行AVERAGE和SUM之间的来回计算。
1.4.2对COUNT表编码
对COUNT表(也被称为列联表)编码的工作方式如下。
使用独热编码(One-hot encoding)将类别变量拆分为几个二进制变量,并且使用一组方程来表达每个统计数据。然后使用另一组方程来表达每个人仅与一个类别相关联。
假设COUNT表具有N个维,并且所述维中的N-1个是众所周知的属性。例如,对于N=2,可能存在依据年龄和药物使用的计数的2维列联表,所述列联表可以在一个轴上表示年龄范围{0-10,10-20,...},而在另一轴上表示药物使用{从不,很少,经常}。假设年龄是已知属性,但是假设药物使用是未知且私有的属性。
Canary对私有分类变量进行独热编码,因此对于具有3个类别的私有分类变量,每个人具有3个相关联的变量,这些变量可以采用值0或1-我们将这些变量称为v1:x、v1:y和v1:z-这些变量分别对应于标记为1的人是否属于类别x、y或z,并且使得
vi:x+vi:y+vi:z=1,
从直觉上讲,每个人只能属于一个类别的部分。在药物使用的用例中,这将是:
vi:从不+vi:很少+vi:经常=1。
然后,Canary对来自COUNT列联表的信息进行编码。假设已知一行单元格(例如,年龄范围为20-30的一行单元格)由三个人(人4、9和19)组成,但是不知道这些人所属的私有属性类别。如果所述行看起来如图15中的表所示。
Canary使用与以前相同的变量将此编码为三个方程,每个单元格一个。
v4:从不+v9:从不+v19:从不=1
v4:很少+v9:很少+v19:很少=2
v4:经常+v9:经常+v19:经常=0
对于COUNT表,所有信息被概括在这些方程中,并且附加了所有变量必须为0或1的约束。对这些方程求解以此恢复所有变量v1:x,v1:y,v1:z,v2:x,v2:y,...,vx:z的值,这是被称为零一整数线性编程的著名计算机科学问题(Crowder、Harlan、Ellis L. Johnson和ManfredPadberg的″解决大规模零一线性编程问题(Solving large-scale zero-one linearprogramming problems)″Operations Research31.5(1983):803-834),且可以使用恰当的求解器来基于所述组线性方程找出数据集中的易受攻击变量。
下面还将讨论使用此方程结构的其他COUNT攻击。
1.4.3对其中敏感值是GROUPBY的一部分的表编码
考虑以下情况:分组所依据的变量之一和被计数或被求和的变量都是私有的。例如,在上面的示例中,如果年龄和药物使用都是必须保护的私有值。则年龄将是未知的,且我们也无法写出上述方程。
我们通过将多个私有变量扁平化为单一个私有变量来解决此问题,因此返回到只有一个变量是秘密的更加标准的情况。我们使用的扁平化方法在于对每一有可能的秘密组合进行独热编码:例如,第一秘密采用值a或b,和第二秘密采用值x或y,因而扁平化的私有变量将采用值(a,x)、(a,y)、(b,x)、(b,y);在上面的示例中,如果年龄也是私有的,则私有值将由对(年龄,药物使用)组成,且因此可能为(20-30,从不)。
在将秘密扁平化之后,我们返回到分类变量的标准情况,所述标准情况可以按上面的段落中的方法进行处理。要注意的是,如果秘密之一是连续变量,例如工资,则扁平化必须谨慎地执行。的确,如果直接应用扁平化,则所获得的分类变量可能采用非常多的不同值,以至于仅对一个人观察到每个私有值(数据库中没有两个人的工资完全相同到最后一位数字。)这样的私有列将不受保护。因此,我们提倡降低连续变量的精度,或在将连续变量扁平化之前将它们分箱。
1.5 Eagle
Eagle是一个程序,用于处理一组已发布的统计数据(例如列联表),并且输出一组高级结论或见解。这些见解是人类分析师可能从数据中提取的发现,例如,在上表中,公司在支付男性销售人员方面的投入最大。见解可以编码为句子或结构化数据(例如,{“finding_type”:“max_val”,“值”:{“性别”:“女性”,“眼”:“棕色”}})。
测试是否保留原始敏感数据集的高级结论或关键见解使得能够确定统计数据的失真如何影响其有用性或效用。这将通过评估是否可以从扰动的统计数据得出原始敏感数据集的相同高级结论来完成。从得出的结论来看,措辞效用更加接近数据产品的业务价值的现实。
将所有高级结论编码到一个程序中,以便可以自动地执行效用测试。可以对任何表运行代表性的‘结论’一般集。
Eagle发现的某些类型的高级结论是:
·最大值
·相关变量
·组均值的差异
·时间模式
最大值。Eagle迭代每个列联表并且在列联表中查找最大值。它具有阈值t(在0与1之间),并且仅在第二高的值小于最大值的t倍时才记录最大值。例如,如果具有最高值的单元格是单元格X并且具有值10,且具有第二高的值的单元格具有值8,并且t为0.9,则Eagle将记录以下结论:最大单元格是单元格X。然而,如果t为0.7,则它将不记录此发现。
当变量之一固定时,Eagle也可以计算列联表中的最大值。例如,如果列联表是按性别分的医疗状况的计数,则列联表可能记录最大医疗状况/性别对、每种性别的最频繁的医疗状况和每种医疗状况的最频繁的性别。
相关变量。如果将数据分组的因素之一是数字,例如年龄,则Eagle将测试此属性与私有值之间是否存在强的正相关或负相关。此测试仅对SUM或AVG表执行。Eagle计算衡量两个变量之间的线性相依的皮尔逊相关系数。仅当相关系数高于某个阈值时才记录发现。
组均值的差异。对于含有每个群的平均私有值的表,Eagle评估群均值之间是否存在任何统计上的显著差异。对于给定的表,它执行单向或双向方差分析(ANOVA)假设测试,并且计算p值作为统计显著性的度量并且计算eta平方以作为效应大小的度量。可以记录两种不同的见解以作为此测试的结果:
·如果p小于给定的alpha水平并且效应大小大于给定水平,则群的平均私有值之间存在明显的差异。例如,Cohen的“Statistical Power Analysis”,Jacob Cohen在1992年6月1日在Current Directions in Psychological Science的第1卷第3期第98页到第101页首次发布,https://doi.org/10.1111/1467-8721.ep10768783提议将0.25作为中等或大效应大小的阈值。
·如果没有同时满足这些条件(高统计显著性和大效应大小),则群的平均私有值之间没有明显的差异。
时间模式。当提供有表示跨时间段的相同统计数据的表时,Eagle可以检测数据中的时间模式。对于给定的统计数据,这些包括是否存在特定的上升或下降趋势、跨多个群的分布随时间变化是否恒定和在给定的时间序列中是否存在任何异常值。例如,一个示例发现是总的支出统计数据连续8年每年增加。另一发现是男女之间的支出比率连续10年保持大约相同。
Eagle可以提取任何类型的见解,这些见解可以用与上面给出的示例相同的结构来公式化。可以从其他统计测试的结果导出附加见解,诸如独立性的卡方测试,或有关排名列表的陈述。
不同的用户可能会关注不同的结论。因此允许最终用户指定自己的与其用例有关的定制结论。
最后,用户可以提交自己的结论以进行测试。例如,可以用提交一段代码(例如Python代码)的形式输入这些结论。系统处理如其内置结论之类的用户提交的结论。
1.6 Canary
Canary是一个系统,所述系统自动地评估数据发布中触犯隐私的风险。Canary处理一组已发布的统计数据(例如列联表)并且输出有关个人私有值通过一组隐私攻击被披露的风险的信息。隐私攻击是一函数,它将一组聚合统计数据作为输入并且输出数据集中的一个、某些或全部个体的私有值的猜测。
Canary含有一套攻击算法。一些隐私攻击算法返回有关攻击的附加信息。示例攻击和输出可能是:
·直接单元格查找:最微不足道的攻击。如果有一个SUM表并且有一个单元格反映一个单例(大小为一的群),则直接返回所述单元格的值是对该人的私有值的准确猜测。除此之外,攻击者可以100%充满信心地学习此值,并且可以将个人标记为‘易受攻击’。术语‘易受攻击’是指能够由攻击完全确定(请注意,在统计数据原始的情况下,这意味着不受噪声添加保护)。
·差分攻击:如果有一些SUM表并且有两个单元格(在不同的表中)分别反映群X和Y,并且群X和Y仅相差一个人,则返回Y中的值减去X中的值是对该人的私有值的准确猜测。具有两个以上单元格的差分攻击的形式更加复杂。
大量的攻击函数被一起保持在套件中并且存储在攻击库中。攻击也已标准化,以便容易在任何点将一个或多个攻击添加到套件。
运行攻击函数以根据聚合统计数据自动地猜测敏感数据。通过将统计数据表达为对要聚合的变量的一组线性方程,求解器可以找到有效的解决方案(即与统计数据一致的敏感变量的值)。然后,将攻击函数的输出用于设置ε。
当存在敏感变量被完全确定的统计数据组合时,求解器能够找到敏感变量的确切值。将猜测与实际值进行比较,据说一个人在有匹配时很容易受到攻击。也可以将对敏感变量范围的约束直接添加到求解器中。
以下各节描述许多不同的攻击。
1.6.1用于和、平均值、计数和中位数的差分攻击扫描程序
差分攻击是针对聚合统计数据的一种常见的隐私攻击类型。差分攻击将通过按查询集大小对统计数据进行排序并且只检查用于在查询集大小相差一的统计数据中的差分攻击建立。对于差分攻击这比天真地检查每对统计数据更有效。在我们找到差分攻击之后,我们可以更新查询集以移除易受攻击的个人。此移除可能泄露对其他人的进一步差分攻击。
如下所述,找到差分攻击的过程已实现自动化。
差分攻击扫描程序搜索给定的统计发布,以查找相差单个个体的群。这允许形成“差一(difference of one)”攻击,从而可以披露个人的私有值。
通过SUM表示例很好地说明差一攻击。如果与两个单独的单元格相关联的线性方程(如节1.3中所描述)是
v1+v2+v3+v4=x
v1+v2+v3=y
则我们可以清楚地推断出
v4=x-y
对于不应用任何差分隐私机制(诸如添加拉普拉斯噪声)的原始统计发布,此方法是递归的,因为现在已经发现v4,所以现在可以通过减去v4来解出另外两个方程。考虑来自同一统计发布的多于两个的线性方程
v4+v5+v6+v7+v8+v9=a
v5+v6+v7+v8=b
知道v4允许使我们更改第一方程
v5+v6+v7+v8+v9=a-v4
这反过来允许我们构建另一个差一攻击
v9=a-b-v4
差分攻击扫描程序针对相差单个个体的线性方程搜索与给定统计发布相关联的方程组。当对原始统计数据进行操作时,它然后将从方程组移除个体及其值,然后针对差一攻击重新扫描。这种方法也适用于从AVERAGE列联表导出的方程,因为这些方程可以重新表达为和(如节1.4.1中所概述)。
差一扫描程序也可以对COUNT表有作用,这是因为COUNT统计数据也表示为线性方程,其中方程的右手侧表示给定类别中的个体的数目。将在节1.4.2中更详细地概述将COUNT表表达为方程组。
MEDIAN统计数据也容易受到差一攻击的影响,尽管这种攻击所产生的信息是对私有变量值的限制,而不是确切值本身的限制。代替线性方程,给定的中位数方程可以简单地视为一组变量。考虑中位数:
MEDIAN{v1,v2,v3,v4}=x
MEDIAN{v1,v2,v3}=y
在这种情况下,如果x>y,则我们可以声明设置的差v4>y。类似地,如果x<y,则我们可以声明v4<y。
至关重要的是,应注意的是,就上述意义而言,即使利用原始的统计发布,对MEDIAN统计数据的差一攻击也不是递归的。这是因为,继续上面的示例,现在无法从存在v4的其他集合(即中位数统计数据)中移除v4,并且找不到另一组新的差一。
在Canary内,通过按查询集大小(即,有助于给定统计数据的变量数)(也称为QSS)对所有的给定统计数据进行排序来有效率地实现差一扫描程序。对于给定的参考统计数据,在所有其他相对于此参考的QSS差为1的统计数据下采用集合差。如果此集合差包含单个变量,则发现差一。视所发布的统计数据的类型而定,应用差一的上述规则。
对于对原始统计发布操作的AVERAGE、SUM和COUNT统计数据,扫描程序从方程组移除所有找到的变量并且重新扫描。一旦未找到新的差一,则此递归过程终止。对于原始MEDIAN统计数据,或任何有噪声统计数据,扫描程序在第一扫描所有统计数据之后终止。然后,扫描程序返回所有导出的变量(针对AVERAGE、SUM和COUNT统计数据),或找到的变量限制(针对MEDIAN统计数据)。扫描程序还可以将导出每个变量的攻击作为集合差或集合差链返回。
这种差一扫描程序可以以多种方式使用,既可以作为一种说明对统计发布的易于解释的攻击的快速方法,或可以作为迭代攻击方法的初始化阶段。
由差一扫描程序算法输出的风险度量。
所述算法是:
1.将和表转换成方程组
2.针对差一扫描。
3.如果适用,则移除差一,然后重新扫描。
此算法返回易于遭受差一攻击或一系列差一(如果适用)的变量的集合。对于每个发现易受攻击的变量,所述算法还返回所得估计值vi或估计值的范围。
1.6.2对和表的基于最小二乘的迭代攻击
为了通过给定的一组和表进行更复杂的差分攻击来找到有风险的个人,Canary需要对一个线性方程组求解。
找到通过公布的摘要统计数据披露的秘密有风险的个人,就等于找到值完全由一组方程确定的所有变量vi(称为‘异受攻击变量’)。完全确定的变量等效于可以通过单独查看SUM表来攻击的私有属性;聚合统计数据中的信息足以完全确定由这些变量表达的私有属性。
Canary最小二乘SUM攻击算法搜索线性方程组的最小二乘解
使用迭代线性求解器,并且针对数据集中的所有变量返回此最佳猜测解。
迭代求解器不会直接对方程组求解,而是从解的第一近似值开始并且以迭代方式计算近似值的序列(希望越来越好)。几个参数定义了迭代终止的条件和所获得的解与真实解的接近程度。通常,从所有和表收集的方程组是不确定的,因为统计数据的量很可能小于数据集中的变量的量。如果这种线性求解器被提供了一个不确定系统方程组,则它将输出方程的一个解,这是将距离A·v-d的L2范数最小化的解。
使用这种类型的求解器,有可能通过以下方式在数据集中找到值完全受约束的变量:
1.使用求解器生成方程组的解。
2.遍历变量迭代,并且将解的值与实际值(从原始数据查找)进行比较。
3.如果解的值与实际值相同,则我们说这个值完全由方程组确定。请注意,我们可能不希望使用严格的相等性–因为求解器并不总是精确的,所以如果值的差小于一个阈值(例如0.000001),则我们可能希望将值视为相同的。
值得注意的是,此方法可以返回误报。如果方程组未完全确定变量,则求解器可能会任意地选择一个恰好与变量的实际值一致的值。因此,Canary提供了处理误报的方法,下面所讨论的。
或者,Canary可以进行此攻击,同时跳过识别哪些变量完全受约束的步骤。相反,它可以简单地为每个变量提供一个猜测。如果以此方式使用,则Lens可以将范围约束添加到求解器。例如,如果敏感变量的范围是0到10,则Lens将针对所有v_i的0<=v_i<=10放入求解器中。
使用正交性方程的替代方法。如果发布了许多有关同一数据集的统计数据(m>n),则Canary需要对一个用于攻击统计数据的超定方程组求解。在这些情况下,可以通过求解正交性方程来计算最小二乘解
(AT·A)·v=AT·d。
通过迭代最小二乘攻击算法输出的风险度量。
所述攻击算法是:
1.将和表转换成方程组
2.通过运行迭代求解器或对正交性方程求解来对方程组求解,从而获得每个私有属性的潜在解。
对于所有发现的易受到攻击的变量,此算法都会返回猜测vi。
1.6.3对和表的基于伪逆的攻击
另一种Canary攻击算法还找到所观察方程组的最小二乘解,但是攻击的工作方式不同。它使用方程组矩阵A的伪逆。
伪逆攻击使用线性代数来计算统计数据的组合(即公式),从而最准确地猜测一个人的敏感值(即使在统计数据中添加了噪声时)。这不仅允许找到所有容易受到差分攻击的个人,而且还允许确定特定的差分攻击,可以将特定的差分攻击显示为隐私攻击的示例。
A+可以通过矩阵A=USVT的奇异值分解(SVD)近似为A+=VS-1UT。在计算出A+之后,可以将易受攻击的变量识别为矩阵B=A+·A的对角线条目,所述对角线条目为1或在某个数值误差容限内接近1。
矩阵A+提供对统计数据集合d的隐私攻击的描述。A+中的每行描述A中各行的线性组合(即,所发布的和),其恢复一个变量的私有值。
使用这种类型的求解器,有可能通过以下方式在数据集中找到值完全受约束的变量:
1.计算矩阵A的伪逆的近似值。
2.计算矩阵乘积B=A+·A,并且在B中找到为1的对角线条目。这些是由方程组唯一确定的变量的索引。
对易受攻击变量的具体隐私攻击以伪逆进行编码,且因此,此方法提供一种方法,所述方法不仅检测有风险的个人,而且自己恢复攻击-根据已发布的统计数据来计算敏感值的公式。此外,攻击函数可以直接应用于基于同一查询的任何新统计发布,即任何m维结果向量d,而无需任何进一步的计算工作。
因为伪逆是通过其SVD近似的,所以即使对应的变量未完全由方程组确定,数值不准确性也会导致V的一些对角线条目接近1。因此,可以任选地对结果进行双重检查,以确保没有误报。
通过伪逆攻击算法输出的风险度量。
所述攻击算法是:
1.将和表转换成方程组。
2.将攻击矩阵A+乘以通过列联表的集合来描述的统计数据向量d,以获得所有变量的潜在解。
此算法返回对于所有发现的易受到攻击的变量的猜测vi,和易受攻击变量的清单。
1.6.3.1使用SVD降低伪逆攻击的计算复杂性
如果所考虑的矩阵A非常大,则可能无法在合理的时间量内计算出所述矩阵的伪逆A+。因此,重要的是尝试并且减少操作的计算负担。我们通过计算A的SVD来实现。具体来说,我们首先计算A的SVD(这是计算伪逆的一种更简单且更快速的操作),和其次,我们使用SVD仅计算能够执行攻击的A+的行。现在,我们依次描述每个步骤:
1.我们计算A的SVD;即U,S和V,使得A=USVT。
2.我们注意到rowssum(V*V)(其中*表示逐矩阵条目的乘积)恢复B的对角线,并且允许我们立即定位易受攻击变量。令Z为易受攻击变量的索引的向量。
3.回想一下,攻击是A+的行,所述行的索引在Z中。因此,我们只需要计算这些行。利用V[Z],在Z中标记V的行,我们得到A+[Z]=V[Z]S-1UT。这大大减少了所需的计算的数量。
4.然后,所述方法的输出对于先前介绍的伪逆攻击来说是相同的,且因此可以用相同的方式使用。
1.6.3.2使用GROUPBY结构进行有效的SVD计算
所研究的线性方程组的独特结构可以用于实现对极大型数据库进行并行计算。也可以从使用基础查询结构改进攻击的计算。使用查询的基础结构将大型方程组分解成多个子方程组,子方程组可以分别求解然后合并。
在海量数据集和发布的情况下,没有标准库可以执行SVD。在这种情况下,我们使用A的GROUPBY结构。具体来说,与给定的GROUPBY对应的A的所有行都是正交的(内积为零),因此A的此块的SVD非常简单执行。
因此,我们首先为每个GROUPBY执行SVD,然后顺序地合并SVD。要合并SVD,我们分两步进行。首先,我们对堆叠的右奇异向量进行QR分解。由于QR不需要任何优化,因此,我们只需很少的计算成本就可以得到正交矩阵Q、直角三角形矩阵R和方程组的秩r。然后,通过保持R的前r个奇异值和向量,我们可以重建堆叠奇异向量的SVD,并且最后重建A的SVD。
堆叠可以并行地进行(通过将GROUPBY进行2乘2合并,然后再次合并,直到完成),递归地(通过将GROUPBY逐个添加到不断增大的堆栈)进行,或整体地进行(一次性合并所有)。最有效的策略取决于系统的容量:整体方法是最优的,但是需要大量存储器,并行方法需要并行会话才是最有用的,但是具有很高的通信开销。递归方法是次优的,但是仅需要一个会话,这限制了存储器消耗。
1.6.3.3使用QR分解降低伪逆攻击的计算复杂性
所有先前提供的方案都扮演了攻击者并且仅使用攻击者可用的知识。然而,为了使攻击系统更有效,我们可以使用我们对秘密v的了解来降低计算成本。
为此,将如下所述地进行:
1.获取方程矩阵的QR分解。
2.通过QR分解的三角分量,使用后向代入来获取v′,方程Av=d的最小二乘解。
3.将v′与秘密值的真实向量匹配。匹配的条目被认为是易受攻击的。这是真正的攻击者无法执行的步骤。
4.对于每个易受攻击的行i,使用如步骤2中的后向代入来对方程aA=ei求解,其中ei是除了在索引i处等于1之外全部等于0的向量。将ai称为所获得的解。然后,ai是攻击向量,A+的第i行。
注意,所述方法也可以像节1.6.3.2中那样并行化。
1.6.3.4使用求解器生成最优的伪逆攻击
给定一个数据产品,并且存在差分攻击,则可以生成对秘密的猜测。由于使用了噪声添加,因此这种猜测也是随机的。在本节中,描述一种寻找差分攻击的方法,所述方法能够以尽可能小的可变性生成猜测。
下文所描述的方法找到最准确的最小方差差分攻击,并且寻找对数据产品的最优攻击,而不仅仅是攻击数据产品。所述方法以最优方式利用每个已发布的有噪声统计数据中存在的不同水平的可变性。
通过攻击向量ai,我们得出一个猜测ai·d。由于d是随机的,因此ai·d也是随机的。攻击的准确性可以通过ai·d的方差var(ai·d)来衡量。现在,对于任何z,使得z·A=0,我们得到(ai+z)·A=ei,使得ai+z是另一种攻击向量。为了使攻击尽可能地准确,我们正在寻找z,以使z·A=0和var((ai+z)·d)尽可能小。依靠线性求解器,所述方法然后如下所示地展开(我们使用与上一节中相同的表示法):
1.使用1.6.3中的任何方法来找出易受攻击的行i。
2.使用线性问题求解器在a·A=si的约束下最小化var(a·d)。
3.返回最优攻击ai。
1.6.3.5使用秩揭示QR分解来生成最优伪逆攻击
找到最小方差攻击是一项计算量很大的任务,不可能扩展到大型数据产品,并且在构建数据产品时过于费时而无法轻松地达到隐私风险评估的目的。为了获得合理的可用性,需要一种更快的可扩展解决方案。
本节中描述的方法通过一种揭示的QR因式分解技术设法克服了技术上的障碍,所述技术使对任何方程组求解都快得多且更可扩展。
有动机去使找到最优攻击尽可能地有效,尤其是因为我们将需要重复这个过程多次:对于每个易受攻击的行i,但是对于每个推定的找出应如何向d添加噪声的噪声添加机制,使得产生的最小方差攻击不太准确。
有可能依靠方程矩阵的秩揭示QR分解来提高效率。秩揭示QR分解(或因式分解)是大多数可用的线性代数软件中可用的标准过程。这种分解将重组QR的R分量的列,使得所有z,使得zR=0使第一条目为0(当方程矩阵的秩为r时,z的前r个条目必须是0)。这通过使得容易满足约束z·A=0来大大减少计算量。然后,过程如下:
4.生成方程矩阵A的秩揭示QR。
5.使用如上文在1.6.3.3中描述的QR找到易受攻击的行i。
6.使用如上文在1.6.3.3中描述的QR生成基本攻击a。
7.调用V,d的方差-协方差矩阵。然后,我们的问题可能被重述为找到使f(z)=(a+z)V(a+z)T变得最小的z。这将通过求解f(z)的一阶导数为0来实现,这在于求解线性方程组,且因此可以使用如上文在1.6.3.3中描述的QR分解来实现。
1.6.4对SUM表的符号求解器攻击
Canary的隐私攻击者之一使用一种符号方程组求解器方法。符号求解器采用线性方程组并且为每个变量生成表达式。因此,符号服务器能够判断何时完全确定变量和变量的值。例如,可以说v2等于:“99–v5–v7”。Canary处理这些表达式以识别线性相关的变量组(表达式取决于组中的其他变量的值的变量)和完全确定的变量(通过差分攻击标记为易受攻击的变量)。符号求解器还提供多组相互关联的变量,和与所述变量相关的方程(例如v1=100-v2)。
这种求解方程组的方法在科学文献中被称为高斯-乔丹消除法(Gauss-Jordanelimination),无法良好地扩展到大型方程组。
Canary的符号求解器攻击可以采取附加步骤来定位未准确确定的但被确定为处于足够小的间隔内从而仍然构成隐私风险的变量。例如,如果某人可以根据已发布的统计数据确定您的工资在62,000到62,500之间,这就像他们准确地了解您的工资一样,可能会感觉到像是在侵犯隐私。为了检测这些变量,Canary使用蒙特卡洛方法来探索每个变量可以采取的可能性。作为蒙特卡洛过程的阶跃函数,修改一个变量,并且使用方程来计算所述变量如何影响其他变量。在蒙特卡洛过程的末尾,可获得有关每个单独变量分布的信息。仅落在非常窄范围内的变量可能构成隐私风险。
在每个相关的变量组(已在上文讨论)中,Canary执行以下蒙特卡洛过程:
1.初始化步骤:将变量分配给它们的实际值
2.选择一个变量并使其增大或减小(可以定制此过程的规则;例如,所述规则可以是添加随机选择{+5,-5},或从间隔[-10,10]或从间隔[-x,x]的随机选择,其中x是值或可变范围的固定百分比)
3.使用符号方程在相反方向上调整相关组中的另一个变量(从而保持线性关系)
4.测试是否违反了任何约束。约束可能是私有变量必须大于0且小于1,000,000。如果违反了约束,则请返回步骤2,然后重试。如果没有违反任何约束,则请执行更改并从步骤2开始重复。
可以继续此过程(步骤2-步骤4),从而创建一系列状态。可以对这些状态采样,以近似所有变量的分布。然后将分布限定在小间隔内的变量视为易受攻击的。
通过符号求解器攻击算法输出的风险度量。
所述攻击算法是:
1.将和表转换成符号方程组。
2.通过高斯-乔丹消除法对方程组求解。
3.对确定在小间隔内的变量进行(任选)检查。
对于每个所发现的易受攻击的变量,所述算法将返回估计值(或如果从步骤3,则返回值间隔)和确定所述估计值的统计数据的组合。所述算法还可以任选地返回确定在小间隔内的变量和所述间隔是多少。
1.6.5对COUNT表的攻击作为受约束的优化问题
由于计数表也可以表达为线性方程,因此求解器可以用于攻击计数表。
在COUNT的情况下,私有变量的值是可能的几个类别之一。例如,敏感属性可以是个人是否服用某种药物,私有值是{从不,很少,经常}中的一个,并且攻击者正试图了解变量是这些类别中的哪个。
Canary的COUNT攻击如其SUM攻击算法,将来自COUNT表的所有信息汇总到线性方程组中(请参阅节1.4.2),但是,与SUM攻击不同的是,COUNT攻击将他们在其中寻找变量的值的解空间约束到{0,1}。为了看到这一点,让我们用v来表示私有值的矩阵。在我们的示例中,我们有:对于所有i,作为v的第i行vi采用[vi:从不,vi:很少,vi:经常]的形式。然后,使用v的列v从不,v很少,v经常,查询:
COUNT(*)GROUPBY(v从不&年龄),
和
SUM(v从不)GROUPBY(年龄),
是相同的。因此,对于与后一个查询相关联的方程矩阵A和待发布的计数列联表d,我们得到:
Av=d.
因此,攻击计数可以被视为对以下受约束方程组求解:
其中c是可能类别的数目(例如,在我们的药物使用示例中,c=3。)
Canary COUNT攻击者使用一系列技术,所述技术在合理的时间内获得此问题的多种变体的解决方法。一些攻击仅恢复完全确定的变量的私有值,其他攻击则尝试尽可能正确地猜测许多值。
1.6.5.1有关所使用的范数的注释
请注意,我们没有指定上述方程中所使用的范数,而是使用了一系列的可能范数;即,||·||代表任何范数或伪范数,但是特别地,代表Lp范数,其中p=0,1和2.。在噪声添加的设置中,要重点说明的是,如果添加的噪声是拉普拉斯或高斯,则使用L1和L2范数分别对应于使用正确指定的最大似然,从而使所提出的优化方案低于Cramer-Rao效率的近似值下限(没有无偏估计器会更准确。)
1.6.6对COUNT表的基于离散求解器的攻击
攻击COUNT表的第一且最简单的方法是使用恰当的整数线性编程求解器来直接解决问题。几个算法库提供了这种可能性。
通过离散求解器攻击方法返回的风险度量。
所述攻击算法是:
1.将COUNT表的集合编码为方程组。
2.通过离散求解器运行。
攻击算法为每个变量返回如下的猜测:
1.具有恰当的格式;即,一个向量,使得每个条目都在{0,1}中,并且所述向量的条目的和等于1。
2.使得||A·v-d||很小。
尽管对于小型方程组通用的并且非常有用,但是这种攻击的缺点是它无法扩展到大的问题,并且我们不知道这些猜测中哪些是准确的。备用的Canary COUNT攻击者解决了这两个问题。
1.6.7对COUNT表的基于伪逆的攻击
对COUNT表的另一种Canary攻击与基于伪逆的Canary SUM攻击的进行方式相同。这种攻击算法忽略变量的私有值只能位于{0,1}中的约束。
通过此COUNT伪逆攻击算法返回的风险度量。
所述攻击算法是:
1.将COUNT表的集合编码为方程组。
2.将攻击矩阵A+乘以通过列联表的集合描述的统计数据向量d,以获得所有变量的潜在解。
3.这些潜在解中的大多数都不会处于{0,1}中,或甚至不会很接近,然而,通过构建A+,易受攻击的变量将是(或非常接近于,直到达到矩阵求逆精度)。
4.对于所有的被发现易受攻击的变量(由与上文针对SUM表伪逆攻击所提供的方法相同的方法确定),将猜测近似为{0,1}中的最接近值。
此算法返回所有的被发现易受攻击的变量的列表,和对这些易受攻击的变量中的每一个的私有值的猜测。
1.6.8对计数表的饱和行攻击
进行以下两种观察。首先,攻击者要知道为了计算统计数据需要累加多少秘密值。其次,攻击者要知道秘密可能采用的最大值和最小值。有了这两个信息,攻击者就能够推断出统计数据可能采用的最大值和最小值。如果已发布的统计数据接近最大值,则用于计算所述统计数据的每个秘密值可能也接近最大值,或者针对最小值则相反。
离散求解器攻击输出有关大部分数据集的正确猜测。这在很大程度上取决于以下事实:私有值只能为0或1才能做出很好的猜测。所述攻击的主要缺点是它不能处理大型方程组,或无法给出对其返回的变量的值的猜测的置信度的衡量。相反,基于伪逆的方法仅输出对已知易受攻击的完全确定的变量的猜测。基于伪逆的方法忽略对变量可以采用的可能私有值的约束,且因此存在错过漏洞的风险。这些约束使可能的解的数目减少,且因此允许攻击者做出准确得多的猜测。
因此,另一种Canary COUNT攻击算法,即饱和行攻击算法,旨在将离散攻击者的能力(利用解空间约束)与基于伪逆的攻击的能力组合,以处理较大方程组。饱和行攻击算法按以下方式进行:首先,它找到饱和单元格:
-如果一个单元格所含的计数等于查询集大小,即,如果方程矩阵的条目的和等于已发布的计数,则我们称所述单元格是正饱和的。然后,所述查询中的所有私有值等于1是必须的。
-如果一个单元格所含的计数等于0并且查询集大小不等于0,则我们称所述单元格是负饱和的。然后,所述查询中所考虑的所有变量必须具有私有值0。
然后,所述算法从观察到的方程组移除用饱和方法可以确定私有值的所有变量,并且将伪逆攻击应用于剩余的方程组以恢复未知变量。
通过饱和行COUNT攻击算法返回的风险度量。
所述攻击算法是:
1.将COUNT表的集合编码为方程组。
2.分析单元格并且检测正饱和以及负饱和的单元格。
3.如果找到饱和条目,则可以如下所述地应用伪逆攻击:
a.从d减去通过饱和单元格推断出的私有值的贡献。
b.从A移除与已发现饱和的单元格和私有值对应的行和列,产生A′。
c.使用A′的伪逆来查找易受攻击的变量。
d.如果发现新的易受攻击者,则返回步骤1,否则终止。
所述算法返回所有通过饱和单元格发现的易受攻击的变量的列表,以及对这些变量的私有值的猜测。所述算法还返回易受攻击的变量的列表和由攻击的伪逆部分生成的对应私有值猜测。
1.6.9针对COUNT表的基于一致性检查的攻击
另一种COUNT攻击算法通过确定不可能的解来进一步改善对变量的私有值的猜测的质量。为此,所述算法固定私有值之一,这等效于向方程组添加额外的约束。不是对原始方程组求解,对于给定的变量i和变量i的推定私有值s,所述算法然后测试是否存在v,使得:A·v=d,v∈{0,1}n×0,v·1=1和vi=s。即,求解器在将给定私有值固定到特定解时必须测试方程组是否仍然一致。
检查是否存在这样的解是大多数凸优化软件提供的功能,并且比实际上解出方程组要快得多,因此可以迭代方式实现所述功能,以覆盖大小合理的方程组的可能解的整个集合。
这种攻击方法的主要优点是,在d真实的情况下(即发布了准确的统计数据,并且未添加噪声),则所述方法仅产生准确的猜测。另外,请注意,为了使此测试更快,可以(如我们在以下段落中描述的)将条件从v∈{0,1}n×0放宽到v∈[0,1]n×0。即,不是将方程组约束为值等于0或1的解,我们改为利用大于0且小于1的任何实际值来约束方程组。
通过一致性检查攻击算法返回的风险度量。
所述攻击算法是:
1.执行“对计数表的饱和行攻击。”
2.对于每个变量i和推定的解s,测试这样的解是否有可能。如果对于任何变量i只有一个解s是可能的,则我们推断变量i的私有值必须是s,且因此我们必须相应地更新方程组:
a.从d减去推断出的私有值的贡献。
b.从A移除与饱和的单元格和私有值分别对应的行和列,产生A′。
c.返回步骤1。用A′替换A。
3.如果无法确定任何变量的解,则终止。
所述算法返回可以准确地猜到的所有易受攻击变量的列表和所述变量的对应私有值。
1.6.10对COUNT表的基于线性约束求解器的攻击
另一种可能性是将强加于问题的约束v∈{0,1}n×0缓和到v∈[0,1]n×0;即,不是将方程组约束至值等于0或1的解,我们改为利用大于0且小于1的任何实际值来约束方程组。然后将所产生的每个猜测四舍五入到最接近的整数。
这样做的关键计算优势在于,然后方程组属于凸优化的类别。大多数的科学计算软件为此类问题提供了非常有效的求解器。然而,为了处理非常大的方程组,我们以两种形式呈现分别同时或按顺序对v的所有列求解的约束松弛。
通过线性约束求解器攻击算法返回的风险度量。所述攻击算法是:
1.将COUNT表的集合编码为方程组。
2.如果所述方程组较小,则解出整个方程组;在v∈[0,1]n×0,v·1=1的约束下使||A·v-d||最小。
3.如果所述方程组太大而无法按照第一种情况来处理,则分开地对每个列求解;即,对于每个j=1,2,...,c用下标独立地表示列,在约束vj∈[0,1]n下使||A·vj-dj||最小。
所述算法返回对每个变量的私有值的猜测。
1.6.11衡量COUNT攻击者的猜测的准确性
方程组测量或估计COUNT攻击在猜测单个记录的正确值时的准确性。
启发式方法是与发布一致的稳定猜测比其他情况更可能是正确的。我们首先考虑添加或移除可访问信息的稳定性。因为信息是通过已发布的统计数据来传递,所以如果仅使用已发布的统计数据的子集来实施攻击,则应考虑猜测变化的可能性和程度。通过多次执行此操作,在每次重复时使用不同但随机的子集,我们可以看到猜测的稳定性。因此考虑了攻击者的不确定性。
尽管非常强大,但是在添加噪声之后,上面列出的所有基于求解器的攻击都无法轻易得出有关所提出的猜测的准确性或有可能正确的度量。请注意,基于求解器的攻击不包括使用伪逆的方法,相反,伪逆方法提供了猜测质量的直接度量。我们提供三种解决方案:
1.如上所述,通过使用伪逆来找出哪些猜测是准确的。这种方法找出可以从统计发布d中准确地推断出哪些变量。这是一个保守的观点,因为计数是离散的事实使计数容易得多地猜测,因此比从伪逆完全确定列出的猜测要准确得多。
2.测量猜测对于改变可用信息的稳定性。这就是说,如果仅观察到发布d的一小部分,则测量猜测将不同的概率。
3.衡量稳定性的另一种方法是量化猜测的变化将如何影响拟合度。考虑目标函数的梯度;即,目标函数相对于未知变量v的一阶导数(此梯度视用于优化的范数而不同。)如果所提出的解为1并且梯度为负,则将此解视为稳定的,因为只有增加猜测,我们才可能减少误差。相反,如果猜测为0并且梯度为正,则认为所述解是稳定的。梯度用于确定猜测复制观察到的发布的整体能力在扰乱所述猜测的给定条目的情况下改变多少。另外,梯度通过估计改变猜测值对整体拟合的最差程度来告知猜测稳定性。
1.6.12误报检查
检测到误报允许避免高估隐私风险的等级,并且标记一些实际上可能导致错误猜测的潜在攻击。
诸如SUM迭代最小二乘攻击的某些攻击冒着误报的风险,即,可以在变量并不易受攻击时声称变量易受攻击。响应于这种风险,在方程组中包含了双重检查过程。
为了检查提出的隐私攻击是否能够准确地恢复秘密,模拟一个附加方程并且执行不一致检查。也可以对大的方程组执行不一致检查。
为了验证攻击存在,可以使用以下方法之一:
1.向方程组中添加一个新方程,所述新方程将一个假设易受攻击的变量约束为与第二步中针对该行返回的解不同的值。例如,如果解说v17=88,则向方程组添加新方程“v17=89”。相应地增强统计数据的向量d。
2.执行以下任一操作:
a.使用迭代求解器对增强的方程组求解。求解器返回方程组是否被认为不一致。如果方程组仍然一致,则我们知道值实际上不是易受攻击的;这是一个误报。
b.计算方程组左手侧(矩阵A)的秩和增广矩阵(A|d)的秩,增广矩阵是大小为m×(n+1)的矩阵,通过在A的右手侧添加统计数据的向量d来建立。如果A的秩小于(A|d)的秩,则根据Rouche-Capelli定理,最后一个方程中的变量不能由A完全确定。
如果这个行的值之前完全受其余方程约束,则添加这种新的线性约束会使方程组变得不一致,这是因为新的约束与其余约束矛盾。因此,不存在对此新方程组的解。如果添加这样的约束不会使方程组不一致,则意味着行的值并不完全受其余方程约束,且因此对它的攻击是一个误报。如果需要,Canary对在第二步中被视为易受攻击的每个行执行这种一致性检查,并且可以以此方式验证哪一个行真正有风险。
1.6.13多目标优化(MOO)攻击
另一种在Canary系统内进行对抗测试的方法是基于多目标优化(MOO)梯度下降方法,且被称为Canary-MOO。如下所述,Canary-MOO构造一组估计变量,并且基于发布的统计数据与根据这些估计值计算出的相同统计数据之间的误差以迭代方式更新这些估计值。每个发布的统计数据/估计的统计数据对的误差被视为要最小化的目标(即目标是在每个对中减小误差)。
所述算法是基于以使发布的聚合查询与对估计的私有值执行的相同查询之间的误差减到最小的方式来迭代地更新估计的私有值集合。与例如Canary-PINV不同,Canary-MOO对方程组无法完全确定的私有变量的值进行“最佳猜测”,并且能够处理更广范围的聚合类型;单独地和组合地使用两者。
Canary-MOO将估计的私有值的向量初始化为关于真实私有值的平均值的均匀分布。假定此平均值是对手已知的,或者她可以对此进行有根据的猜测。在此阶段,可以任选地通过调整均匀初始化以考虑与准标识符有关的私有值的已知分布而将一般背景知识合并。例如,如果是工资的向量,并且已知经理的收入高于平均水平,而门卫的收入低于平均水平,则属于经理的个人的所有都将少量增加,而属于门卫的个人的所有工资都将少量减少。通过将特定设置为已知值,还可以在初始化阶段合并特定背景知识。关于特定变量值的限制的一般背景知识可以合并到梯度下降过程本身中。
初始化之后,MOO算法以迭代方式执行以下过程:
通过Canary-MOO返回的风险度量:
图16示出了风险度量算法的图。所述算法(包括以下描述的所有变体)返回对应于每个变量的私有值的猜测。
多目标优化的具体实现方式是高度可定制的和灵活的,有可能分别基于不同类型的统计数据、更启发式的更新规则和初始化策略(例如,将某些值初始化为其他攻击的输出,如在1.6.13.7中)来合并梯度下降。
1.6.13.1 SUM统计数据下进行批量更新
对多目标优化进行批量更新被用于从一组发布的统计数据猜测敏感变量。
通过同时使用多个误差项来更新变量的估计值,提高处理SUM聚合统计数据时的多目标优化效率。代替仅基于单个目标(即基于一个发布和估计的统计数据对的一个错误)进行更新,立即考虑任意数目个对的误差。将误差相对于其目标比例缩放,以避免大的值的一个误差支配批量更新。对于每个变量,缩放后的误差被求平均值且用于一次更新每个变量。
通过批量更新来实现基于误差对进行更新,其中批量大小B可以是从1到m的任何值(其中m是所发布的聚合统计数据的数目)。在B=1的情况下,算法选择最大的误差统计数据并且在此基础上进行更新。通过批量更新来实现基于误差的更新,其中批量大小B可以是从1到m的任何值(其中m是所发布的聚合统计数据的数目)。在B=1的情况下,算法选择最大的误差统计数据并且在此基础上进行更新。
在B<m的情况下,算法选择前面的B个最大误差统计数据并且基于B个误差进行更新。由于在批量大小B<m情况下的计算效率的原因,算法只考虑中的参与存在于所述批次的聚合统计数据的那些元素。在B=m的情况下,并不基于误差来选择统计数据,且更新改为一次考虑所有统计数据。
对于SUM统计数据,将使用B=m的批量更新规则实现为B=m实现为
其中j索引m个聚合统计数据,i索引n个私有变量,而Ai指示私有变量i的方程矩阵的向量切片。此更新规则可以直观地被认为是通过所有统计数据的平均缩放误差对进行更新。这将通过以下操作来进行:首先将误差按其目标统计数据缩放,然后将这些缩放后的误差中的每一个乘以1或0,具体取决于是否存在于如Ai所指示的该统计数据中。将相加后的缩放误差除以参与的统计数据的总数∑fAi,从而对更新求平均。对于较小的批次,可以针对缩放误差不是量值最大的前面B个之一的所有统计数据来临时修改统计隶属关系的向量Aj,从而将其条目设置为0。
1.6.13.2针对AVG统计数据进行批量更新
Canary-MOO能够将AVG统计数据重铸为SUM统计数据,并且将它们包括在SUM统计数据批量更新中。只需通过将AVG统计数据乘以其查询集大小而将AVG转换为SUM,即可完成此操作:
其中AAVG是具有1和0的n维向量,指示哪些元素有助于AVG统计数据。这个向量可以附加到A,而新的SUM统计数据可以附加到d。以此方式,认为AVG等同于SUM。AAVG是具有1和0的n维向量,指示哪些元素有助于AVG统计数据。
1.6.13.3针对MEDIAN统计数据进行批量更新
通过同时使用多个误差项来更新变量的估计值,提高处理MEDIAN聚合统计数据时的多目标优化效率。通过将来自非线性中位数统计数据的更新线性化来完成此操作,所述线性化将通过只考虑那些直接影响中位数的变量来实现。MEDIAN统计数据仅携带有关一组变量中的中心值的信息。因此,采用与SUM和AVG统计数据相同的批量更新规则,但是仅更新中心值(变量的奇数集的中位数,偶数集的两个中心值)。
已经针对中位数统计数据开发出许多特定的更新规则,这些规则代表特定类别的非线性统计数据。MEDIAN统计数据比AVG和SUM统计数据造成更复杂的问题,因为中位数值的误差并不提供同一类的特定信息:MEDIAN误差不是传达有关查询集的所有成员的信息,而是只传达分区应位于的位置以将查询集一分为二。因此,MEDIAN统计数据的默认选项与用于SUM统计数据的批量更新规则相同,但有少量修改:仅更新中位数值(对于奇数QSS查询集)或在中位数任一侧的值(对于偶数QSS查询集)。这可以通过对于给定Aj,将所有非中位数条目临时设置为0来实现为对查询矩阵A的操作,其中Aj表示当前中位数查询。以此方式,仅中位数条目被更新,因为它暂时是唯一有助于统计数据的变量。这符合这样的直觉,即知道中位数不正确传达有关查询集中的那些与确定中位数本身的数值不直接相关的成员的有限信息。
1.6.13.4有噪声梯度下降
通过在梯度下降过程中基于噪声分布添加冷却因子,在处理有噪声统计数据时改善多目标优化的收敛性。将与添加到所发布的统计数据的噪声成比例的冷却因子合并到梯度下降中,以帮助防止噪声主导梯度下降过程。
假定经常使用Canary-MOO来估计带有噪声数据的隐私风险,算法可以修改迭代更新以将其缩放倍,其中λ被定义为其中GS是统计数据的全局敏感性(此项来自差分隐私文献)。这个‘冷却因子’允许梯度下降考虑有噪声统计数据,从而收敛于不受噪声支配的稳定解。
1.6.13.5中位数的特定用途:中位数快照程序
中位数统计数据是优化策略难以使用的统计数据,因为它们是变量的非线性函数。然而,中位数统计数据传达大量有关变量的信息,这些信息可以用其他方式使用。奇数个变量的中位数对应于变量本身之一的值。因此,在给出奇数组中的每个变量的值的估计值的情况下,最接近已知中位数的变量被“捕捉”到这个中位数的值。这种技术可以在梯度下降过程中使用以帮助优化,或用作为后处理步骤。此快照程序可以例如与1.6.13.1、1.6.13.2、1.6.13.3或1.6.13.6中的任何一个组合使用。
在向Canary-MOO馈送了中位数统计数据的情况下,可以将特定的方法用于统计数据,其中对每个统计数据有贡献的变量的数目(被称为查询集大小(QSS))是奇数。对于这些统计数据,发布的真实中位数直接对应于查询集中的值之一。Canary-MOO通过遍历每个奇数QSS中位数统计数据迭代来使用此,从而发现对应于中位数的值,并且将这个值“捕捉”到发布的中位数。这个过程可以在迭代终止之后执行,或可以作为迭代过程的一部分以规则的间隔反复地执行。
1.6.13.6具有多种查询类型的Canary-MOO-“抓袋”方法
可以有效地攻击关于相同敏感值的多种聚合类型的统计数据。
Canary-MOO的灵活性允许从各种查询类型有效地进行更新,条件是提供恰当的更新规则。如果有必要,除了已经为SUM、AVG和MEDIAN提供的更新规则外,所述算法还可以提供输入定制更新规则的选项。使用上述方法(针对平均统计数据进行批量更新),可以用统计数据dj和n维向量Aj来表示非SUM查询,所述向量可以分别附加到统计数据d的现有m维向量和方程矩阵A。假设A的m个列中的每一列都与查询类型和对应的更新规则(用户指定的或硬编码的)相关联,则Canary-MOO可以被提供一组聚合统计数据,并且可以生成其通过单独地或作为批量更新的一部分来考虑最错误的统计数据并且使用所提供的与统计数据类型对应的更新规则而迭代地接近真实的私有价值。
这样允许同时使用来自多种类型的聚合统计数据的信息,从而共同地改善对敏感变量的估计值。只要为每个统计数据提供更新规则,就可以考虑任何类型的统计数据的任何组合。
1.6.13.7使用Canary-MOO的攻击的组合
组合不同的攻击者可以提高集体攻击强度。
某些攻击仅猜测可以高确定性导出的变量的子集的值。使用此类攻击的结果(诸如来自1.6.1的已发现变量或来自1.6.3的完全确定的变量),可以改进对仍然未知的变量的攻击猜测的优化。通过初始化优化器的启动状态以包括来自其他攻击的已知变量来完成此操作。
Canary-MOO可以与Canary的其他部分集成。特别地,由于的灵活初始化,Canary-MOO可以用来自任何其他攻击(诸如Canary-PINV(第1.5.2节)或简单的差一扫描程序(快速启发式法))的输出估计的私有变量来初始化。已知变量可以从它们所贡献的SUM和AVG方程移除,如果这还没有通过差一扫描程序实现。如果变量仅在某些限制内(例如使用中位数统计数据从差一攻击)得知,则可以将这些限制合并到梯度下降过程中。
1.6.14将背景信息建模
Canary还可将对手的背景知识直接编码到所述组线性方程中。
对手可能拥有不同类型的辅助信息,Canary可以对其进行编码:
·已知的私有属性的百分比:对手可能会访问所有个体的子集的私有值。例如,如果跨部门收集数据,并且攻击者可以访问自己公寓的数据,但又想了解其他部门的所有人的私有属性,则可能是这种情况。对于SUM表,将这种类型的背景知识编码为方程组中的附加线性方程。附加的方程将变量的值固定为其实际值,例如v1=18200。
·关于一群人的常识:对手可能具有关于人群的特定知识,这是因为她是群体的一部分,或者是因为“常见事实”。例如,她可能知道经理的月薪将始终在5k-10k范围中。对于和表,将此类背景知识编码为不等式约束,例如5000<v2<10000。
·最低和最高排名:对手可能知道私有值的排名,诸如哪些人的收入要比其他人多,或者她可能知道目标的私有值是所有值中的最大值或最小值。这种附加信息使提取个体的值变得更容易。将这种类型的背景知识编码为附加的线性或不等式约束,例如v10<v1<v7,或对于数据集中的所有X,v1>vX
1.7 Abe
Abe是一个系统,可以用于探索用于聚合统计数据的隐私保护技术(诸如噪声添加)的隐私-效用权衡。它可以用于比较针对给定数据隐私机制的不同技术或不同隐私参数集。
Abe与Eagle和Canary集成。对于特定的隐私技术和所述技术的参数化,Abe测试Eagle可以从一组统计数据提取的全部有趣见解是否仍然成立。同时,Abe测试在原始发布中有风险的所有个体是否都受到保护。因此,Abe同时评估隐私和效用。
Abe将以下各项作为输入:一组聚合统计数据或统计查询;一种隐私保护技术(例如,噪声添加函数)和此隐私函数的不同组隐私参数的列表(例如,噪声标度值的列表)。
对于每个隐私函数和隐私参数集,Abe评估利用给定参数设置保留数据见解通过数据隐私机制生成的聚合统计数据如何(效用测试)和聚合体仍暴露个体的私有数据的可能性(攻击测试)。
替代地,Abe可以输出满足某一准则(例如,最高ε)而使得防御所有攻击的隐私参数(例如,在差分私有机制情况下为ε)。
Abe中的发现测试仪模块测试是否在私有统计数据中也找到了所有见解,诸如“群X中的最多数人具有属性Y”。作为示例,如果所测试的隐私保护函数是添加噪声,并且在原始统计数据中,销售部门中的所有雇员的SUM(工资)最高,则Abe的发现测试仪模块测试在添加了一定量噪声的情况下,此在查看有噪声SUM时是否仍然成立。
Abe还可以采用一种更简单的方法来衡量效用,和针对隐私参数的各种设置来简单地计算失真统计数据(例如,均方根误差、平均绝对误差)。
还向最终用户显示有关噪声的失真度量。使用诸如均方根误差和平均绝对误差的度量来捕获数据已被扰动的量。
Abe中的攻击系统模块测试是否已防御了所有隐私攻击。此步骤使用Canary的隐私攻击。Abe测试与原始统计数据相比,这组隐私攻击可以如何准确地从私有统计数据恢复个体的私有数据。例如,如果Canary的SUM攻击者之一可以从一组原始SUM表100%准确并且可信地了解某个人的工资,则使用Canary,Abe从有噪声SUM表测试攻击者对这个人的秘密的猜测有多准确。
Lens测量各种ε设置的隐私影响和效用影响两者,并且可以用于呈现有关各种ε设置对隐私和效用两者的影响的各种详细的、真实的、可理解的信息。系统自动地捕获并显示所有这些信息。
可以使用许多用户可配置的规则来设置ε。
作为示例,系统可以被配置成确定与击败所有攻击一致的最高ε。因此,如果应用于数据产品发布的多种不同攻击的集合构成代表性集合,则可以在使数据产品发布的效用最大化的同时,为敏感数据集提供足够的安全保护。
作为另一个示例,系统还可以被配置成确定基本上最低的ε,从而保留数据产品发布的效用。因此,将保留数据产品发布中的所有发现,同时将敏感的隐私最大化。
1.7.1确定攻击是否已成功
Abe如何决定隐私保护函数是否成功地防御攻击取决于隐私攻击的类型。Abe依靠攻击成功的某些定义和什么构成数据泄露。例如,对于连续的私有变量,诸如工资,定义“正确猜测”的规则可以是猜测值是否在实际值的可配置范围内(诸如在10%内)。所述规则也可以是实际值与猜测值之间的差是否小于某个量,或实际值和猜测值在累积分布函数中(对数据集取得)彼此是否在某个接近度内。对于类别变量,所述规则测试是否猜到正确的类别。
以下各节更详细地描述用于对不同聚合体的不同类型的隐私攻击的Abe攻击测试过程。
1.7.1.1何时阻止攻击
图17示出了说明测试攻击和确定攻击是否成功的规则的图。Abe含有关于何时(例如噪声水平如何)阻止攻击和何时不阻止攻击的规则。
有两种方法用于找到阻止攻击的隐私参数阈值,但是两种方法都依赖于攻击成功的相同定义。
如果攻击从有噪声统计数据正确地猜测私有值的概率大于绝对阈值T信心,因此如果攻击者很可能做出很好的猜测,并且如果攻击者做出很好的猜测的机会与在观察统计数据之前的基线相比明显较高,则可以认为攻击是成功的
成功=真<=>P成功>T信心&P成功-P先验>T增益
攻击成功的另一种定义用P成功/P先验>T增益比替换P成功-P先验>T增益条件。
变量聚焦方法。在此方法中,有作为目标的变量的列表。这个列表可以由攻击本身输出(见例如1.6.3),或它可以只是所有变量的列表。
在变量聚焦方法中,我们针对每个变量独立地测试攻击是否可能导致隐私泄露。所述方法考虑绝对信心和信心变化两者。对每个单独的实体(即每个敏感变量)进行检查,并且如果相对和绝对条件得到满足,则认为对所述个体的攻击成功。
为了测试攻击是否成功,Abe的攻击模块按以下方式进行:
1.我们对私有变量进行基线攻击。这是用于猜测私有变量的可配置的简单方法(参见第1.7.1.2节)。基线攻击会在没有发布统计数据的情况下给出攻击成功的概率且称为P先验。
2.我们测量对私有统计数据的实际攻击输出接近实际值的猜测的概率。我们称这个概率P成功°
3.我们将这些度量与我们的阈值进行比较
a.P成功-P先验>T增益?
b.P成功>T信心?
并且如果同时满足这两个条件,则在此参数设置下,我们将此变量标记为仍然易受攻击。
作为示例,假设我们从数据集中的私有变量的分布采样,并且此基线攻击P先验=20%的时间正确地猜到了一个人的私有值。然后,我们发现,对某些SUM表的有噪声版本进行Canary SUM-PINV攻击P成功=85%的时间正确地猜测。我们说,如果在我们发布统计数据之后,攻击者在猜测私有值方面更好地获得至少T增益=20%,则攻击构成侵犯隐私,并且如果这导致T信心=80%的时间正确猜测,才有风险。因此,在这种情况下,我们会发现,对关于私有值的有噪声统计数据的攻击是一种风险,并且噪声不足以阻止这种攻击。
整体方法。在这种方法中,我们不会单独地考虑每一行。我们改为考虑攻击总体上得到了多少个正确变量。因此将所有易受攻击的变量一起考虑,并且所述方法确定将正确地猜测的变量组的比例。
同样,我们可以使用如上的基线方法,并且查看被所述方法得到正确的变量的百分比P先验。
然后,我们可以查看被实际攻击得到正确的变量的百分比(作为隐私参数的函数),将此称为P成功°
现在,我们再次将基线百分比和攻击百分比与相对阈值和绝对阈值进行比较,以决定攻击是否成功。这些阈值可以被设置为与变量聚焦方法中的阈值相同或不同的值。
以如下情况为例:我们想要测试来自DP机制的噪声是否足够高以保护COUNT表的发布。COUNT表是按其他公开已知的人口统计属性对患者的药物使用的细分,而私有类别(个人的药物使用)具有三种不同类别{从不,很少,经常}。我们可能首先将基线设置为P先验=33%,这是因为,如果攻击者需要在除了存在这三种类别之外没有任何其他信息的情况下猜测某人的类别,则攻击者有三分之一的机会可以猜测正确。然后,我们对要想要发布的COUNT表的有噪声版本进行Canary的离散求解器COUNT攻击。COUNT攻击导致变量被正确猜测P成功=60%。对于基于行的方法,我们接着将这些百分比与相对阈值和绝对阈值进行比较,并且决定整体攻击是否成功。
关于相对阈值和绝对阈值的注释。相对阈值T增益和绝对阈值T信心是用户可配置的系统参数。对于这两种方法,请注意,有时将绝对阈值T信心设置为0可能是适当的。例如,考虑如下情况:发布将落入可能恶意的保险公司的手中,所述公司想要了解人们的秘密以便调整他们的保费。在这种情况下,与基线方法相比,猜测方面的任何有意义改进似乎都成为问题。因此,在这种情况下,可以建议将绝对阈值设置为0并且仅使用相对阈值。
1.7.1.2用于猜测私有值的基线方法
对于相对阈值,需要供比较的基线。此基线表示如果个人的数据未包括在数据集中,则攻击者对猜测该人的值有多大信心。
构建基线猜测部件,并且可以实现几种基线猜测策略,诸如从分布随机采样,或每次仅猜测最可能的值。
基线P先验衡量攻击者在没有发布的统计数据的情况下确定个体私有值的信心如何。有不同的方法可以定义此先验猜测。
一种方法是从原始数据集均匀地采样个体的私有值i次,并且测量在所述i次采样中猜测正确的频率。
或者,人们可以基于一般背景知识将对私有属性的贝叶斯先验形式化。例如,可以从官方统计数据推断出不同欧洲国家的工资分布(欧盟统计局的收入分布统计数据:http://ec.europa.eu/eurostat/web/income-and-living-conditions/data/database),并且在没有任何有关人员的特定信息的情况下试图猜测此人的工资的攻击者很可能使用此外部信息做出合理的猜测。
人们还可以为Abe提供数据集中的每个实体的先验信心值的硬编码列表,或先验猜测的列表。此列表可以基于攻击者的个人资料。例如,在一家公司的人力资源部门工作的员工试图从聚合统计数据了解其他人的工资,员工可能对自己直接同事的收入有很高的信心,但对公司其他成员的情况不太有信心。在人们想防范非常特定的风险或仅发布受限用户群的统计数据的情况下,此功能可能有用。
1.7.1.3用于确定攻击成功概率的基于采样的方法
Abe使用Canary的一组攻击来测试数据隐私机制的参数设置是否充分降低了遭受破坏的风险。不同的攻击使用不同的方法来测试攻击是否成功。对于所有隐私攻击,都有一种通用的机制用来测试攻击是否成功。所述方法独立地对统计数据进行几次采样,并且评估在所有试验中攻击成功的频率。攻击正确猜出的时间百分比确定了攻击的信心。
例如,为了测试以特定ε通过差分私有发布机制添加的噪声是否足以抵御对SUM表的符号求解器攻击,Abe对具有此ε的i个不同的有噪声发布采样,攻击有噪声表的这些i个不同版本,并且针对它们中的每个,测试对行的猜测是否正确(如上文在1.7.1中所定义)。然后,针对所测试的ε值,将正确猜测除以总猜测即可得到每个易受攻击行的攻击的估计成功率P成功。
1.7.1.4计算噪声与攻击成功之间的关系
通过将攻击建模为随机变量的线性组合,可以计算攻击成功的概率(其中对于连续变量,将成功定义为处在实际值附近的某个范围内)。相比之下,通过重新生成噪声并反复攻击来确定攻击成功的速度或准确性并不高。
Abe的攻击测试模块可以用于测试噪声添加对阻止攻击的有效性。然而,对于某些Canary攻击,还有替代的方法用于评估攻击成功。这些将在以下各节中予以解释。
为了识别SUM或AVG表中的隐私风险,Canary将所有可供攻击者使用的信息概括在线性方程组中
Canary的PINV版本计算查询矩阵A的伪逆A+并且返回矩阵A+的行索引i,其中
Lens生成差分私有有噪声统计数据,以保护这些易受攻击的变量。如果使用拉普拉斯机制来生成差分私有发布,则有噪声统计数据的向量可以描述为
通过拉普拉斯机制添加到每个统计数据的噪声将根据查询GSk的整体敏感性和隐私参数εk进行缩放。在最常见的情况下,中的所有统计数据来自同一聚合,并且具有恒定敏感性,而在最简单的情况下,由εk衡量的隐私预算将平均地分散在查询中,使得ε和GS是常数。为了简化表示法,人们可以省略查询索引k并且使用j为中的统计数据建立索引和有噪声值ηj~LaPlace(λi)。
Abe的目标是找到为统计数据添加足够的噪声以抵御通过Canary识别出的所有攻击的ε。通过上述对SUM表和AVG表的攻击的分析,有以下方法可以找到合适的ε。
攻击可能性的高斯近似
因此,对有噪声统计数据的攻击产生如下有噪声猜测:实际值vi加上RVη。η是j个独立拉普拉斯变量ηj的加权和,其中
E[ηj]=0
η的分布对于分析计算并非无关紧要的。然而,η的矩生成函数是已知的,且因此可以计算η的一阶和二阶矩
以及
在这种特殊情况下,一种衡量攻击成功的方法是计算攻击者对值vi做出准确猜测的累积概率,即,噪声η小于某个误差容限的可能性。在这种情况下,Abe计算实际攻击成功的百分比为:
P成功=P[-α·vi≤η≤α·vi]
=P[|η|≤|α·vi|]
尽管很难分析导出概率密度,并且因此也很难导出累积分布,η的函数,但是仍存在很好地近似得出多个拉普拉斯RV的和的分布。
对于相加的大量拉普拉斯RV,这些的和近似遵循高斯分布
η~N(μ,σ2)
μ=E[η]=0
正态分布的近似值越好,统计数据m并且因此相加的拉普拉斯RV的数目越大。
在这种高斯分布近似下,攻击成功的概率,即攻击者的噪声猜测在实际值vi周围的某个α准确度内,可以分析计算如下:
其中erf是误差函数,并且|η|遵循半正态分布,并且对于发现的攻击中的每种,Abe使用其累积分布函数Φ|η|来近似P成功。Abe使用与上述相同的基线比较和绝对信心阈值来决定对于ε的给定值,攻击是否可能成功。
攻击者的有噪声猜测的均值绝对误差
Abe现在可以计算最大ε,在此最大值下,预计攻击者猜测的平均误差将偏离实际值超过α%
此ε充当在攻击可能成功之前ε可以设置为多高的上限。
攻击者的有噪声猜测的均方根误差
如果不希望依赖高斯假设,则Abe仍可以分析导出预期防御给定攻击|at|的ε。此解是基于计算攻击者的有噪声猜测的相对均方根误差(rRMSE)
和相对均值绝对误差一样,Abe将使用给定ε下的攻击者猜测的预期误差的这一度量来导出ε的仍保留隐私的上限
将一种类型的风险度量转换为另一种类型
在攻击猜测为正态分布(即高斯)的假设下,这三个度量可以相互转换。之所以如此,是因为所有存在的参数仅取决于攻击向量的范数、秘密值和敏感性。因此,代数运算允许将一个表达为另一个的函数。
从用户的角度看,这意味着,如果用户宁愿通过均方根误差阈值来了解自己的风险,则我们就可以计算与所提供的成功攻击概率相对应的阈值。相反,给定均方根误差,我们可以建议会产生所述阈值的成功攻击概率。
在度量之间移动的这种能力是为更广泛范围的用户正确把握风险的关键。取决于用户背景的技术性或私有值的性质,不同的度量将变得更加相关。
COUNT查询的情况
在攻击COUNT查询时,我们有两种主要的攻击者类型。一种使用伪逆作为对SUM查询的攻击。在这种情况下,可以使用与上述相同的方法来生成∈的上限;即,如果值∈超过所述上限,则攻击会成功生成对实体的私有值的良好猜测。针对COUNTS的第二类型的攻击使用高级约束求解器。在此后一种情况下,上述的分析方法无法生成∈的上限。然而,迭代方法仍很好地执行,并且在这种情况下是一种有效的选项。在下面的内容中,我们提供一个分析版本,它不需要像迭代方法那样多次地执行攻击,使得生成用于确定∈的恰当值的可扩展方法。
为了在攻击者使用求解器的情况下生成∈的上限,我们分两步进行。首先,我们将攻击者的成功定义为准确猜测的分数。将这个量称为p,因为它可以解释为猜测正确的边际概率。在这里请注意,p并不是攻击者观察到的,而是此类攻击者可能造成的损害的度量。不幸的是,通常没有允许计算p的封闭形式的公式。因此,作为第二步,我们生成p的近似值,我们称之为p′。为了生成这种近似值,我们使用攻击者隐式地执行对私有值的最大似然估计。然后,在阈值化之前,私有值的每个估计值都接近于具有已知均值和方差的正态分布。这使得我们能够使用平均猜测和方差生成p的均值场近似值,从而得出:
其中p′(0)=1/d,如果一个类别处于主导地位,则可以进行调整,α是使得在很大的∈极限内,我们恢复的猜测分数与在不添加噪声的情况下攻击统计发布时获得的猜测分数相同,而β是方差并且等于
所有不同的攻击测试机制都可以衡量在给定ε下攻击是可能成功还是可以防御。哪种方法合适取决于特定的隐私攻击和用户担心的风险情况。
1.7.1.5一种基于区分最小值与最大值来定义攻击成功的方法
差分隐私依赖于使某人是否在数据集中变得难以区分的基本思想,这也等同于使最小值和最大值难以区分。然而,尚未实现使用此概念来衡量特定攻击者的成功。
对于连续的敏感值,定义攻击成功的另一种方法是确定某人的值是否处于允许范围的最小值或最大值的能力。攻击成功的此定义也不依赖于任何特定个人的敏感值(与上述的攻击成功的其他定义诸如“在实际值的10%内”相反)。
系统假设,要确定这一点,攻击者将采用变量的范围,并且如果某人的值的估计值据报告处在所述范围的上半部,则攻击者将猜测该值是最大的,并且如果所述估计值据报告处在所述范围的下半部,则攻击者将猜测该值是最小的。然后,系统可以针对实际上最小的值来测量此攻击正确地猜测该值是最小值的可能性(或,类似地,对于实际上最大的值,正确地猜测该值是最大值的可能性)。系统可以通过分析猜测的概率分布(由所使用的噪声添加水平决定)并且查看猜测会落在所述范围的任一半上的概率来计算这种可能性。隐私的最佳情况是攻击将在50%的时间内成功(相当于随机猜测)。隐私的最坏情况是攻击将在100%的时间内成功。
用户可以配置允许这种攻击成功的时间百分比。然后,Abe可以使用这个百分比来确定必须添加多少噪声。
1.7.2 Abe产生的报告
Abe生成不同的汇总报告,这些报告帮助用户了解诸如差分隐私的隐私保护机制的隐私-效用权衡。
变量聚焦攻击测试的结果
一些隐私攻击生成对数据集中的每一行的猜测,而Abe分别测试这些攻击中的每一个。Abe针对这些攻击生成以下报告
图18示出了关于由Eagle产生的发现的水平条形图,图示出保留信息的情况,所述发现是ε的值的函数。图19示出了关于由Canary发现的针对不同攻击的有风险的个人的水平条形图,所述有风险的个人是ε值的函数。在图表上滑动竖直线有助于立即了解哪些攻击将被停止和哪些发现将不再保留。
差分私有噪声添加已被用作隐私机制并且ε(DP噪声添加的参数)已改变。对于每个ε,已经测试了哪些发现被保留和哪些人受到保护。条形图分别表示允许保留发现的ε范围的最佳拟合阈值,或要保护的个体。较大的ε(更靠右)意味着噪声较小和隐私较少。
此图像说明可以如何使用ABE来协助选择隐私机制的参数的决定。良好的参数选择是没有攻击成功,但是大多数发现被保留。
1.7.3 Abe关于不断变化的数据集的定期统计发布
当随着时间推移计划许多数据发布时,隐私保护参数不仅需要考虑当前发布的参数,而且需要考虑所有后续发布,和有关敏感数据集或数据产品规格的任何更新。
提出了几种技术,这些技术首先随着发布数目的增加来推断攻击的强度,然后相应地调整所需的隐私增强噪声添加。
到目前为止所述,Canary和Abe对给定数据集和统计查询列表运行。然而,在许多情况下,用于生成聚合体的数据随时间变化,并且将定期公布有关相同个体的新统计数据。发布的统计数据越多,私人信息泄露的风险越高。当使用来自Abe的输出来选择隐私保护的适当等级(诸如例如,针对用于第一私有数据发布的添加噪声的ε值)时,必须考虑到这一点。
为了理解为什么更改数据很重要,请考虑以下示例情形:公司决定每个季度公布平均工资。在Q1中,平均工资是$56k。在Q2中,只有一个新人加入公司:一个新的销售员。Q2平均工资是$58.27k。知道了公司中的人数,就可以计算出这名新销售员的确切工资,这是一次隐私侵害。
Abe可以用于推断未来数据发布的风险。用户需要告诉Abe:
1.哪些查询将反复地对数据运行,
2.结果将以什么频率公布。将此频率称为F。
3.任何给定用户将在分析的数据集中停留多长时间(例如,如果是学校入学数据集,则此时间大约为12年)。将此持续时间称为D。
在D年的历史数据可用的情况下,Abe利用以下过程来推断风险:
1.在持续时间D中按频率F将历史数据拆分为快照。
2.生成本该在那些快照中的每个上公布的所有统计数据,
3.对统计数据集合运行Canary和Eagle以提取漏洞和见解,
4.并且生成针对历史数据的全面风险分析。
如果假设历史数据的变化大致代表未来数据,则在过去D年中有效的隐私参数将对未来D年有效。作为示例,考虑学生表现的数据库,其中学生将连续12年处于数据集中,并且每年将公布四个不同的报告,所述报告具有一组有关学生表现的摘要统计数据。来自已经离开学校的学生的历史数据可以用于为当前学生设置隐私参数的适当等级。
在没有历史数据或没有足够历史数据可用的情况下,Abe模拟D年内的数据库变化,变化频率为F。需要一些关键的数据集特性(诸如例如,用户进入和离开数据库的平均速率、个人的私有属性的典型变化或用户在分段组之间的变化模式)来模拟数据库变化。
不依赖于真实或模拟历史数据的另一种方法是使用有关数据隐私技术的定理(诸如差分隐私定理)来推断未来风险。例如,对于连续数据发布,人们可以预测一个人的数据中的现有线性相关性将如何通过添加噪声来降低隐私保护。组合定理允许人们计算在每次以隐私等级∈′作出p次发布之后的总隐私等级(∈)。这些定理接着可以用于根据未来的统计数据推断个人的风险。
此外,遵循1.7.1.4节,我们可以通过了解攻击向量a来评估所需的隐私等级∈。我们在那里观察到,如果数据产品查询和GROUPBY变量保持不变,则对数据产品的第一发布的攻击也将是对数据产品的第二发布的有效攻击。此外,仅通过取两次攻击结果的平均值,可以将两次攻击合并为一个更强大的攻击。使用相同的理论,可能发现,在p个发布之后,人们可以使用原始攻击向量a来攻击每个发布,然后将攻击集中在一起以获得更强大的攻击。在那里,我们看到:由合并p次攻击得到的攻击向量具有L2范数,所述L2范数等于原始向量α除以得到的,因此,如果∈′足以保护第一发布免受攻击向量a,则需要来一起保护p个发布。
在某些情况下,除了定理之外,根据经验观察到的数据隐私机制的特性也可以用于推断未来的风险。
在某些情况下,这可能帮助隐私-效用权衡降低D。这可以通过以下方式完成:
·在用户存在D年后将所述用户从分析数据库移除。
·针对每个发布对用户进行二次采样,以使每个用户并不总是包括在发布中,因此用户最终将包括在(不连续的)D年的有价值发布中。
1.7.4基于Canary和Eagle来设置ε
Canary可以包括多次攻击。它对统计数据的预期发布运行所有攻击并且推荐将ε设置得足够低(即噪声足够高),以便阻止所有攻击。对于变量聚焦攻击,它建议捍卫每个变量所需的ε的最小ε。整体攻击的行为有所不同,对于不同变量不存在不同的ε。随着总体ε降低(即随着噪声升高),整体攻击的效果会更差(即做出不太准确的猜测)。请注意,这个数字可能取决于所添加的特定噪声,因此我们可能想要在许多噪声吸引中的实际攻击得到正确的变量的平均百分比。
Abe使用此功能推荐在Lens中使用的ε。它将基于行和整体方法攻击测试的输出结合在一起。Abe可能推荐将最高ε设置得足够低以阻止所有攻击,或者可能留下额外的安全缓冲(例如,将ε进一步降低20%)以获得更保守的配置。
为了找到足够低以阻止所有攻击的最高ε,Abe可以遍历候选ε列表(例如“[1,5,10,20,50,100]”)迭代,根据所述ε将噪声添加到统计数据,然后利用Canary攻击来攻击有噪声统计数据并且查看攻击是否成功。可能需要对许多噪声试验求平均值。然后,Abe将选取最高ε,以使攻击不会成功。或者,Abe可以使用来自以上1.7.1.4节的公式以直接计算所需的ε。然而,通过测试一系列不同的ε、根据每个ε模拟添加噪声和尝试攻击与每个ε相关联的有噪声统计数据,可以选择最高ε(即最低噪声水平),以使所有攻击失败。
Abe还可以将效用包括在设置ε的决定中。例如,它可以在保留所有重要发现(由Eagle确定)的约束或某些失真度量(例如均方根误差)足够低的约束下将ε设置得尽可能低。
1.7.4.1在单个发布中不存在差分攻击时设置ε
如1.7.3节中所述,Abe可以用于定期发布有关随时间变化的数据集的一组统计数据。Abe的目标是分割抵御对跨发布均匀地发布的所有统计数据的攻击所需的噪声总量。为此,在没有历史数据可用的情况下,对第一定期发布的攻击必须很好地表示未来的风险。
作为示例,想象用户希望每年发布有关学生特性的统计数据,诸如按地方当局和学校类型细分的特殊教育需求,并且一名学生将在数据库中保留12年。对于第一发布,Abe采用Canary所建议的ε,并且假设随着时间的推移,随着有关同一学生的越来越多的信息被发布,这种攻击将变得更加强大。Abe建议采用经过时间调整的ε,而不是仅仅增加防御当前攻击所需的最小量的噪声,这样帮助避免以后需要再添加更大的不相等量的噪声来补偿以下事实:攻击已变得更准确。
这意味着,在第一发布中未发现基于行的攻击,而整体攻击被所测试的最高ε阻止的情况下,存在Abe低估未来风险的风险。很可能的是,随着时间的推移,新的攻击出现,这是因为人们更改了他们的准标识符或退出了数据集,这使他们容易受到差分攻击。
为避免一开始就发布有关人的高度准确信息而稍后又要添加很多噪声的情况,Canary可以产生对第一发布的合成攻击。Abe采用得到的ε并且应用其预算分割规则以获取第一发布的ε,从而避免稍后需要进行重大调整。
在Canary系统中,可以通过与现有行相差一个条目地向查询矩阵添加行来进行添加差二(diff-of-two)合成攻击。这样做的一种有效方法是向查询矩阵添加一个或多个列,除了添加的查询行中为1之外,全部为0,所述有效方法也确保添加的信息不会导致查询矩阵的任何不一致。添加的查询行将是查询矩阵中的最后一行的副本,唯一的修改是将人工列中的条目设置为1。这对应于数据集中的额外记录,所述额外记录仅具有一个准属性和一个秘密。
有不同策略用于制定对校准风险有用的合成差分攻击:
·具有最小可能L2范数的攻击
·对来自敏感范围的最末端的敏感值的攻击
·具有最低基线猜测率的对敏感值的攻击
Canary使用这些策略中的一种对一系列发布中的第一发布进行合成攻击,而Abe认为攻击是真实的,因而找到要添加到发布的适当量的噪声。
在第一发布中没有易受攻击者时进行合成差分攻击有助于避免需要向以后的发布添加更大的不相等量的噪声,这是因为ABE需要补偿以下事实:最初发布的信息已经非常准确,但是现在攻击已出现。
1.7.5攻击者可用的计算能力的因子分解
Canary节中所描述的某些攻击需要相当大的计算能力才能在可行量的时间内运行。由于计算能力是有代价的,因此某些攻击对于某些攻击者而言可能过于昂贵而无法运行。
Abe可以考虑这一限制。用户提供有关攻击者有多少计算能力可用的信息。然后,Abe仅运行可以利用所述计算能力实行的Canary攻击。
用户可以通过几种方式提供有关攻击者的可用计算能力的信息:
·Lens可能已预先加载了各种类型的攻击者(爱管闲事的邻居、心怀不满的数据科学家、恶意的保险公司、民族国家)的配置文件,并且对这些攻击者中的每一个可用的计算能力的估计值进行编码。例如,Lens可能假设爱管闲事的邻居可以在个人计算机上进行3天的攻击,而民族国家可以利用超级计算机和庞大的群集持续数周。
·Lens可能直接询问攻击者可用的计算能力(例如,以核心小时数为单位)。
·Lens可能询问攻击者愿意花费的金额,然后将其转换为以市场价格在云服务提供商上的计算能力(例如,通过查询Amazon Web Services的价格)。
在获得了计算能力的限制之后,Abe接着仅进行可以用等于或小于所述限制的计算能力执行的攻击。例如通过尝试运行每一个攻击并且在攻击超出计算能力限制时将攻击切断,它可以做到这一点。它还可以包括预先配置模型,其基于诸如数据大小和数据形状的因素运行每种攻击任务需要多少计算能力,并且使用这些模型,仅运行模型表明攻击将以允许的计算能力完成的攻击。
模型还可以包括例如将预期运行时间表达为计算核心、数据集大小和数据发布大小的函数。计算机能力可以表达为预加载的配置文件或表达为用户输入(表达为时间或金钱)。超出计算能力约束的攻击不会运行。另外,如果ABE在具有计算资源约束的环境中运行,则可能无法进行全部攻击。进一步的改进是,Abe可以按从最快到最慢的顺序运行攻击。以此方式,如果它发现较早攻击者之一成功攻击具有特定量的噪声的某个发布,则它可以停止攻击并且不运行稍后的较慢攻击者,从而总体上节省了计算时间。
1.7.6攻击数据集的子集
在进行攻击的计算太昂贵的情况下(请参阅上一节),Abe可以改为对数据集的子集进行攻击。对子集而不是对整个数据集进行攻击减少处理时间。选择子集,以使攻击将产生如同对整个产品进行时的相似结果。
如果Abe发现攻击对数据集的子集成功,则可以推断,攻击将对整个数据集成功。(相反的推理是不正确的。)
选择子集的方法包括但不限于:
·选取人员的随机子样本,重新生成所述子样本的统计数据,然后攻击那些统计数据。
·选取具有特定属性的人员(例如已婚者),然后仅攻击适用于所述子群的统计数据。
·假设已经知道人员的随机子样本的敏感属性,并且使用此信息以仅计算未知人员的统计数据(例如,如果人员A、B和C的值的和为37,而您知道C的值为6,则A和B的值的和为31),然后攻击那些统计数据。
·使用方程矩阵的奇异值分解以确定哪些查询在攻击中最有用(即,将权重大的查询保留在量值最小的奇异值的奇异向量中)。
1.8 Abe和Canary的独立用例
具备Canary攻击功能的Abe也用作独立系统。以下用例是它可以如何使用的示例。
1.8.1生成数据集的“风险函数”
在数据集变得易于重建之前,用户可以使用Abe来了解她可以公布的有关数据集的聚合统计数据的量。重建是一种严重的风险:当已发布了太多的聚合统计数据时,就有可能准确地确定所有或大部分的各个私有变量。
Abe允许人们模拟不同数目个统计数据表的风险并且衡量容易受到攻击的变量的数目。这些实验可以对讨论的特定私有数据集进行以获取数据集特定的结果,从而得出一个近似函数,所述函数输出在给定已发布的表数目的情况下的风险量。
1.8.2用自动风险检测(风险监控)代替手动输出检查
用户可能正在考虑以列联表的形式发布有关用户的私有数据的一组摘要统计数据。Abe可以确定统计数据是否会使任何个人容易受到隐私攻击。如果Canary攻击中的任一个找到易受攻击的变量,则用户知道不发布这些统计数据。
2.处理具有多个私有属性的数据集
Lens的目标通常是保护个人的隐私,但是也可以是保护任何另外定义的私有数据实体(例如家庭、公司等)的隐私。在许多情况下,数据库含有关于一个实体的几条记录,并且在整个数据集中,通常有不止一列被视为私有信息。当使用Lens发布有关此数据的差分私有统计数据时,这构成一个挑战:为一个秘密和一个实体提供的差分隐私保护可能由于所发布的有关属于同一实体的其他相关私有属性的统计数据而受到损害。保护具有相关敏感变量的数据集可能很棘手,这是因为需要考虑到了解多少有关一个秘密的知识可能泄漏所有的相关敏感变量。
需要考虑三种不同情形:
1.发布有关不相关或在私有值之间的关系未知的情况下的两个(或多个)不同私有属性的统计数据
2.发布有关高度相关并且知道一个就足以推断所有相关秘密的信息的两个(或多个)不同私有属性的统计数据。
3.发布有关部分相关的两个(或多个)不同私有属性的统计数据。
第一种情形的示例是数据库,所述数据库含有各种不同的人口统计数据,包括私有属性,诸如某人的血型加上此人的工资。由于这些秘密是不相关的,因此Lens可以对这些属性中的每个属性分别运行Abe,以确定需要添加多少噪声(并且,在针对同一张表中建议的噪声与每个单独的运行冲突的情况中,则采用最大噪声)。当确定用于私有属性之一的ε时,Lens可以假设其他私有属性可以作为背景知识而供攻击者可用,这是保守的假设。
第二种情况的示例是医疗保健数据库,所述数据库含有医疗数据,诸如对某个癌症类型的诊断,还含有关于用于癌症治疗的药物使用情况的数据。计算发布有关癌症诊断和药物使用情况两者的统计数据的联合隐私风险非常棘手,这是因为所发布的有关一个的信息需要被认为对推断另一个有用。如果忽略这两个秘密之间的关系,则人们可能低估发布这些统计数据的隐私风险。
想象关于此数据集发布了两个不同的表:一个表具有患有特定种类癌症的患者的计数,而另一个表含有服用某种抗癌药物以治疗其病情的患者的计数。这两个表中的统计数据高度相关,并且从所述表中的一个表学习到的有关个人的信息可以帮助导出第二私有值。说对手已经从第一张表中找出人员X患有A型癌症,当尝试在第二张表中了解哪些患者服用了哪种抗癌药物时,她已经可以用高概率猜测到人员X服用所述药物来治疗A型癌症。这不仅使人员X有两个秘密被披露的风险,而且还可能对第二张表中的其他患者容易受到影响产生雪球效应。
为了对上述所有情形中的风险正确地建模,Lens基于用户输入和自动处理两者导出并且检测私有属性组之间的关系。推断出的关系可以是不同类型的:
·亲子关系:一个私有列含有另一个私有列的子类别。示例:具有类别{“急性淋巴细胞白血病”,“急性髓性白血病”,“胃肠道类癌”,“胃肠道间质瘤”}的“癌症类型”列是具有类别{“白血病”,“胃肠道肿瘤”}的“癌症类别”的子列。通过扫描多对分类列以发现单词的同时出现将自动地检测到这些关系,并且使用匹配分数高的列的基数来建议层次排序。
·线性关系:存在简单的线性模型,所述模型根据第二私有列或一组相关私有列的值来预测一个私有列的值。示例:可以根据个人的“负债”x1和“资产”x2将个人的“净值”y预测为y=x2-x1。这些关系将通过针对线性相关性的统计测试(诸如卡方测试)自动检测到。
·非线性关系:存在非线性模型,所述模型根据第二私有列或一组相关私有列的值来预测一个私有列的值。示例:个人的“CD4+细胞数”可以用已知的非线性方程根据不同HIV基因的基因表达水平(诸如“gag表达水平”、“pol表达水平”或“env表达水平”)来预测。所有这些属性本身都被视为私有。
·语义关系:可以知道两个私有列在语义上相关,而不必知道它们之间的显式关系。示例:医学诊断可能已知与诸如偏头痛发作或高血压的症状相关,但是尚不清楚如何从一个症状预测另一个症状。
在Lens中,用户可以定义私有列之间的关系并且提供各种类型关系的解释,并且Lens还可以自动检测某些关系。
Lens基于攻击的评估系统使用此过程的输出来告知其风险估计过程。首先,形成“秘密组”。然后,这取决于“秘密组”中的私有列之间的关系类型,所述私有列如何适合Abe的攻击建模部分。例如:
·亲子关系:如果一组秘密中的列之间存在亲子关系,则Abe中针对父类的Canary方程可以包括表达此关系的附加方程或不等式。例如,考虑秘密“有人使用止痛药”,然后考虑“他们使用鸦片止痛药”。这两个属性之间存在亲子关系,因为鸦片止痛药是止痛药的子类别。让表达第一属性的变量对于个体i为P_i,第二属性对于个体i为O_i。可以为每个i添加约束:O_i<=P_i。
·线性关系:变量之间的线性关系可以作为附加方程直接合并到线性Canary方程中。
因此,通过将关于敏感变量之间的关系的信息编码到所述组线性方程中,ABE能够将多个敏感变量一起建模。当敏感变量之间没有关系时,ABE分开地运行独立敏感变量,并且将推荐的最大噪声应用于每个统计数据。
3.处理时间序列或纵向数据集
数据库通常具有多于一个的表。例如,一种表示有关支付的数据的常用方法是具有针对人员的一个表和针对支付的另一个表。在第一个表中,每一行代表一个人。在第二个表中,每一行代表一次支付(它可能包含付款人和收款人的标识符,然后可以在人员表中查找付款人和收款人)。与一个人相关联的支付可以很多。
我们称这类数据为交易数据。交易数据与矩形数据形成对比,矩形数据由一个表组成,其中一行代表一个人。图20示出了交易数据模式的示例。
Lens公布差分私有聚合查询。为了使用例如拉普拉斯机制来计算有多少噪声要添加到每个聚合查询结果,Lens必须知道:a)查询的敏感性(在差分隐私文献中找到的“敏感性”)和b)什么是适当的ε。对于交易数据,实现这两个变得更加困难。
通过为每个查询应用“重新矩形化”过程,可以使两者都变得更容易。
3.1将交易数据查询矩形化
将交易数据查询矩形化意味着将有关交易数据集的查询变换为有关矩形数据集的查询。我们关心的矩形数据集每人只有一行,而我们的目标是保护每个人的隐私。
系统使用矩形化过程以用于将对交易数据的查询(每个事件一行,每个人可能多行)表达为对中间矩形表的查询。已经开发出SQL规则,所述SQL规则将对交易数据的类SQL查询变换为对矩形数据的类SQL查询。
矩形数据集的起点是数据集中的表,该表每人有一行。假设我们要保护上文的示例交易数据库中的客户,“CUSTOMER”表是矩形数据集的起点。
现在,假设用户想要公布查询“SUM(TOTALPRICE)FROM ORDERS”的结果。这涉及到ORDERS表。然而,我们可以在CUSTOMER表中创建一个新列,以允许回答此查询:每位客户的合计总价。
我们将此过程称为GROUP BY规则,这是因为这个过程是通过按人对查询进行分组来完成。下面是在有关查询“SUM(TOTALPRICE)FROM ORDERS”的动作中的GROUP BY规则的完整示例:
1.执行SUM(TOTALPRICE)FROM ORDERS GROUP BY CUSTKEY。
2.使此查询的结果成为矩形数据集(即CUSTOMER)中的新列。将所述新列称为INTERMEDIATE_SUM。
3.执行SUM(INTERMEDIATE_SUM)FROM CUSTOMER。
我们在第2步中创建的数据集是矩形数据集,而我们在第3步中已经询问的查询会产生与原始查询完全相同的答案。我们创建了一个中间的矩形表来回答有关交易数据集的查询。
求和可以计算为中间和的和,换句话说,我们按人求和以获得中间特征,然后对那个特征求和。关于计数,我们按人进行计数,然后对特征求和。
请注意,在第1步中,我们按CUSTKEY分组,这是因为它恰好代表单个人并且包括在ORDERS表中。然而,如果我们要查询LINEITEM,例如“SUM(QUANTITY)FROM LINEITEM”?在此表中找不到对客户的引用。
在这种情况下,我们必须与另一个表联接以获得对客户的引用。这个过程是JOIN规则。例如,我们可以关于ORDERKEY将LINEITEM与ORDERS联接,以便能够引用CUSTKEY。下面是用于查询“SUM(QUANTITY)FROM LINEITEM”的JOIN规则和GROUP BY规则的完整示例:
1.创建一个新表:LINEITEM JOIN ORDERS ON(L_ORDERKEY=O_ORDERKEY)
2.执行SUM(QUANTITY)FROM LINEITEM JOIN ORDERS ON(L_ORDERKEY=O_ORDERKEY)GROUP BY CUSTKEY。
3.使此查询的结果成为矩形数据集(即CUSTOMER)中的新列。将所述新列称为INTERMEDIATE_SUM。
4.执行SUM(INTERMEDIATE_SUM)FROM CUSTOMER。
步骤1启用对CUSTKEY的引用。然后,GROUP BY规则可以像以前一样在步骤2-4中工作。
利用这两个规则,Lens可以将对交易数据的许多查询变换为有关中间矩形数据集的查询。可以评估查询的变换版本的敏感性,并且ε可以被设置用于作为矩形查询的它们。以此方式,Lens可以支持发布有关交易数据集的统计数据。
为了执行这种矩形化,Lens需要知道数据库模式和模式中的矩形(即含有每人一行)的表。它还需要知道此矩形表中的哪一列是标识符。
4.确定“敏感性”,差分隐私中的重要概念
知道数据中的敏感变量的范围对于保证差分隐私是必要的。
Lens使用拉普拉斯机制公布聚合统计数据的差分私有版本(它也可以类似地使用高斯机制,但是在这里讨论拉普拉斯机制)。拉普拉斯机制将拉普拉斯噪声添加到查询结果。它计算要添加多少噪声作为敏感性/ε,因此了解查询的敏感性很重要。
直接从原始数据集中提取范围是潜在的隐私风险,这是因为这样会泄露数据中的最小值或最大值。因此,取而代之的是将范围拉出并且向数据持有者显示。系统询问数据的理论上最大可能范围可能是什么,并且警告数据持有者其键入的内容将被公开。因此阻止了数据持有者仅报告原始数据集中的当前数据的实际范围的可能性。
COUNT查询的敏感性为1。SUM查询的敏感性等于变量范围的大小。重要的是,这并不意味着变量在任何时间点的范围,而是变量可以想到的最大范围。例如,代表人类年龄的变量可能具有约0-135的范围。
Lens要求用户输入要进行求和的任何列的范围。留给用户自己的设备,用户可能被引诱只是查找他们可用的数据中的变量的范围并且使用所述变量范围。这样做存在隐私风险,并且变量可能超出未来发布中的界限。因此,为了阻止用户这样做,Lens为用户计算数据的当前范围并且利用对话框显示此范围,所述对话框要求用户将数字更改为最大可能范围。所述对话框还通知用户,无论输入什么作为变量范围都应将其视为公开的。
作为示例,比如说用户具有员工上班和下班时间的数据库,并且他们想要公布有关这个数据库的统计数据。他们感兴趣的一个特征是平均工作日。他们将此计算为每个员工的平均工作日(“每员工的平均工作日”)的平均值(“最终平均工作日”)。Lens需要知道此特征的敏感性:每员工的平均工作日。因此,用户必须输入范围。Lens查询数据,发现当前最小值为3.5小时,而最大值为11.5小时。Lens向用户提供此信息,并带有上述有关输入是公开性的警告。考虑到将来可能发生的实际情况,用户决定输入2和12作为范围的界限。然后,Lens可以计算出10(12减2)的敏感性,并且使用所述敏感性来校准它添加到平均统计数据的噪声。
然后,Lens也可以钳制或抑制超出此配置范围的将来数据点。例如,如果收集到意外的敏感值13,而范围是2-12,则可以丢弃所述数据点或将其转换为12。
5.输出合成微数据而不是聚合统计数据
在某些情形中,输出聚合统计数据可能不合适。例如,如果存在现有的数据挖掘管道,则输出实际数据的合成微数据副本将使得能够使用所述管道,同时以最小的管道改变来保护隐私。
通过将合成微数据视为传达聚合统计数据的另一种方法,Lens可以轻松地以相同设置输出合成微数据或聚合统计数据。这是通过将聚合统计数据的模式嵌入到合成微数据中来完成。
出于这个原因,Lens包括一个选项,用于响应用户定义的查询而输出隐私受保护的合成微数据的数据集,而不是输出一组扰乱的聚合统计数据。Lens允许数据持有者发布DP聚合体和/或DP合成数据,在任一种情况下,ε均通过由相同的自动化分析来集中管理和设置。
合成微数据的构建方式允许对原始数据集的用户定义查询和对合成数据集的相同查询的答案之间的接近但不精确的匹配。将此匹配的紧密度参数化。这允许从受保护的数据集同时捕获感兴趣的相关见解,而这些答案的紧密度提供对从原始数据披露个人信息的量的形式限制。
Lens提供输出合成微数据的几个选项。Lens内的一个选项是采用基于乘性加权指数(MWEM)算法的方法(Hardt、Ligett和McSherry(2012),一种用于差分私有数据发布的简单实用算法(A Simple and Practical Algorithm for Differentially Private DataRelease),NIPS会议录)。此方法使用差分隐私发布合成微数据。
所述算法由几个步骤组成:
构建在原始数据集的域中统一绘制的初始合成数据集。
用户定义的查询是使用拉普拉斯机制以差分私有方式对原始数据集计算(Dwork(2006)差分隐私。在自动机、语言和编程的国际学术研究会(International Colloquiumon Automata,Languages and Programming)(ICALP)(2)的会议录第1-12页中)。使原始统计数据及其差分私有对应体保持秘密。
用户定义的查询是对初始合成数据计算的。
然后,通过最小化对原始数据集产生的扰乱统计数据与对合成数据集产生的扰乱统计数据之间的误差,以迭代方式优化此初始合成数据集。具体来说,所述算法使用另一种差分私有机制:指数机制(Exponential Mechanism)(McSherry和Talwar.(2007)通过差分隐私的机制设计(Mechanism Design via Differential Privacy)第48届计算机科学基础年度IEEE研讨会的会议录,第94-103页)来选择最大误差统计数据,然后修改合成数据以减小此误差。
这两种差分私有机制的组合使用允许构建合成数据集,所述合成数据集具有关于原始数据集内的给定单个变量的数学上可量化的披露量。
6.针对多个实体的隐私保护
通常,数据隐私机制经过设计以保护数据集中的人的隐私,换句话说,就是确保没有披露有关个人的秘密。然而,这没有解决现实世界中存在某个其他实体的隐私需要受保护的可能性。例如,考虑商店的购买数据集。当然,希望保护每个人的购买历史。但是,可能还需要保护每个商店的销售历史。
这被称为“针对多个实体的保护”,这是因为有多于一个的实体需要隐私保护(在这种情况下,人是一个实体,而商店是另一个实体)。
这两个实体可能彼此相关或不相关。我们考虑两种情况:一个实体‘嵌套’在另一个实体内的情况,和无嵌套时的情况。例如,在人口普查中,人和家庭是嵌套的实体,每个人恰好在一个家庭中,而每个家庭有至少一个人。上面的购买数据集示例中的人和商店不是嵌套实体,每个人可以在多于一个的商店购物,并且每个商店有多于一个的客户。
6.1针对两个(或多个)嵌套实体的差分隐私保护
如果实体A嵌套在实体B内,则以特定的差分隐私等级保护A需要的噪声比保护B需要的噪声小。例如,由于人嵌套在家庭内,因此保护人需要的噪声比保护家庭需要的噪声少。因此,如果我们为B提供ε差分隐私,则我们为A提供了ε差分隐私。
为了保护嵌套实体,系统需要通过检查列之间的多对一关系来了解哪些实体是嵌套的。这一信息可以由用户提供或自动学习。为了自动学习所述信息,系统可以使用描述数据的元数据,且也可以分析数据本身。假设数据集中有一列代表A的标识符和另一列代表B的标识符,则系统检查从A到B是否存在一对多关系(如果是,则B嵌套在A内)。
为了设置ε,ABE基于难以保护的实体(外部实体)来设置ε。外部实体更难保护,这是因为它在统计数据中具有更大的烙印,例如,一个六口之家的影响比单个人更多。然后,Lens可以报告提供给每个实体的ε差分隐私的等级。
在设置ε后,还可以对内部实体运行Canary,以双重检查此ε足以保护此实体。
请注意,只要每对实体之间存在嵌套关系,此方法就扩展到多于两个的实体。
6.2针对两个非嵌套实体的差分隐私保护-最大噪声方法
如果实体不是嵌套的,则ABE可以通过计算每个实体独立需要多少噪声、然后选择所得噪声水平的最大值来设置ε。然后,Lens可以报告提供给每个实体的ε差分隐私的等级。
在设置ε后,可以对其他实体运行Canary,以双重检查它足以保护那些实体。
请注意,此方法扩展到多于两个的实体。
7.快速评估数据产品的安全性的启发式方法
Lens含有许多帮助确定与统计发布相关联的隐私风险的启发式方法。这些全部可以在进行任何对抗测试自身之前在Lens内进行评估,并且提供一种估算发布聚合统计数据的隐私风险的快速方法。
数据集和一组用户定义查询的组合很明显存在隐私风险,且可以通过这些启发式方法来检测此隐私风险,而无需进行全面的对抗测试。在查询设置之后和在对抗测试之前,Lens可以利用这些快速的启发式方法提供反馈,告诉用户这些方法中的任何一种是否指示构成明显隐私风险的数据产品配置。以此方式,用户可以选择在对抗测试表明很可能导致效用较差的等级之前重新配置用户的数据产品。
已发布的聚合统计数据的数目与数据集内的变量的数目
与现有的隐私研究一致,相对于数据集中的人(或其他实体)的数目而言,已发布的聚合统计数据的数目很好地指示了风险。已发布的统计数据的数目与数据集中的人的数目之间的比与重建攻击会发生的可能性有关(例如,如果所述比过高,例如大于1.5,则有风险)。因此,所述比可以用作发布聚合统计数据的隐私风险的快速指示。
例如,Lens可以计算统计数据的数目与人数的比,并且在所述比过高时向用户发出警告。
可以通过以下操作来进一步优化此启发式方法:在每个变量等级上考虑给定个人参与的统计数据的数目,并且在太多统计数据中出现任何一个变量时发出警告。
统计发布内的唯一识别的个人的数目
隐私风险的另一种启发式方法是具有唯一已知属性(仅考虑在统计数据中相关的属性)的个人的数目。
例如,当多于一个人共享相同的准标识符(在数据发布中所使用的属性内)时,这些人在聚合统计数据中不会受到差分攻击。这些人具有抵御攻击的内在保护。因此,被唯一识别(即不与任何人共享准标识符)的人的数目很好地表示了可能受到攻击的人数。例如,如果没有人可攻击,则我们知道没有风险。
例如,如果生成一张表(按性别和年龄划分的平均收入),则启发式方法将计算数据集中有多少个人具有唯一的性别-年龄组合。
差一攻击的存在
如前所述(节1.5.2),由差一攻击扫描程序返回的差一攻击可以作为特定的统计发布是否泄露个人私有值的快速启发式指示符。
小查询集大小
有助于每次统计数据的变量的数目(被称为查询集大小(QSS))的分布是风险的另一种启发式指示符。如果有几个统计数据具有低查询集大小,则是攻击的可能性较小
发布QSS=1的聚合统计数据的风险来自不言而喻的事实,即这个统计数据不是聚合体,而是披露了单个变量。然而,QSS=2的聚合统计数据也构成了重大的披露风险,因为直觉上,对于每个QSS=2的聚合统计数据,只需发现一个变量即可泄露两个变量的值。出于此原因,较小QSS统计数据的数目可以作为一组聚合统计数据中固有的披露风险的有价值度量。
COUNT查询饱和
对于考虑到某个私有类别变量的COUNT的一组聚合统计数据(例如,HIV状况为阳性的个体的COUNT),饱和查询充当对风险的快速启发式评估。
饱和查询是指那些有助于给定COUNT统计数据的变量的数目与计数本身匹配的查询。例如,如果数据的特定子集的HIV阳性个体的COUNT等于所述子集的大小,则很明显,所述子集的所有成员均为HIV阳性。同样,如果此子集的COUNT为0,则我们知道所述子集的所有成员均为HIV阴性。此方法扩展到非二进制类别变量。
8.Lens用例
本节描述使用Lens系统的方法。
8.1在没有数据隐私专业知识的情况下设置差分私有数据产品
8.1.1支付数据产品
Lens系统的一个用例是创建有关支付的数据产品。支付处理器公司或信用卡公司拥有数百万个交易和客户的数据集。此数据含有丰富的模式,这些模式可能对公司、消费者和第三方有用。然而,数据是敏感的,这是因为数据由人们的购买历史组成,而这些历史是私有的。
信用卡公司可以使用Lens创建由有用的付款明细组成的数据产品,例如,人们在杂货店、饭店和订购送货上的平均支出是多少。它可以每个季度捕获这些统计数据,并且向客户提供这些统计数据,例如,以使客户可以了解他们相对于平均水平的高低。
Lens将确保所述公司发布具有适当校准的差分隐私保证的所有统计数据。因此,工作流程将继续:
1.所述公司在Lens中配置他们有兴趣公布的统计数据
2.Abe在这些统计数据上运行来确定阻止Canary攻击需要多少噪声。
3.Lens询问用户他们是否要将此噪声应用到其发布,用户批准此噪声或调整此噪声。
4.产生有噪声发布。
此用例依赖于上面讨论的一些创新元素。例如:
·随着时间推移进行定期发布;
·数据是纵向的(每笔交易一行,尽管我们要保护的是人)。
8.1.2政府统计数据产品
Lens的另一个用例是在人口普查等机构中公布社会经济和人口统计数据。负责进行人口普查的政府希望出于公共利益而公布这些统计数据,但是政府不想泄露有关任何个人或家庭的敏感信息。
人口普查局使用Lens来配置他们想要发布的数据。Lens使用先前用例中所描述的相同过程将噪声添加机制参数化,以使发布收到很好地差分隐私保护。然后,人口普查公布由Lens产生的有噪声发布。
此用例依赖于保护多个实体(人和家庭)的隐私。
现在,假设人口普查具有旧的聚合软件(根据原始数据计算聚合统计数据的软件),所述软件将原始数据文件(即尚未聚合)作为输入。他们不想更改旧版软件。但是他们希望在将数据馈送到此旧版软件之前先对数据进行匿名处理。在这种情况下,Lens可以输出合成数据而不是有噪声统计数据,并且可以将此合成数据馈送到旧版软件中。由于合成数据含有与有噪声统计数据大致相同的模式,因此旧版软件将计算近似准确的聚合统计数据。
8.2快速估计数据发布是否有可能具有良好的隐私和效用
Lens可以使用户快速了解他们想要发布的统计数据是否能够在良好的隐私-效用权衡下进行发布。例如,每天发布500份关于相同10个人的收入的统计数据不太可能在任何有意义的隐私和效用下实现。如果用户在Lens中测试此发布,则Lens的快速启发式方法可以快速地向用户发出信号,表明此尝试的人均统计数据过多并且不会成功。然后,用户可以相应地减少统计数据的数量,并且再试。
如果启发式方法表明发布可能成功,则用户可以继续发布数据产品,如先前用例中所讨论的。
附录1:
关键概念和特征的摘要
本附录是在Lens平台中实现的关键概念或特征(C1到C82)的摘要。请注意,每个特征可以与任何其他特征组合;任何描述为‘任选’的子特征可以与任何其他特征或子特征组合。
C1.数据产品平台,具有多个特征用于校准防止隐私泄漏所需要的噪声添加的适当量
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中隐私保护参数是可配置的作为所述数据产品发布方法或系统的一部分,以改变维持所述敏感数据集的隐私与使所述数据产品发布有用之间的平衡。
任选特征:
·隐私参数包括以下一项或多项:噪声值分布、噪声添加量值、ε、增量或所述敏感数据集的被二次采样的行的分数。
·通过以下方式来评估所述数据产品的有用性:确定能够从所述敏感数据集或从不受隐私保护的数据产品发布得出的结论是否仍能够从所述数据产品发布得出。
·结论包括能够从所述敏感数据集或从不受隐私保护的数据产品发布提取的任何信息或见解,诸如:最大值、相关变量、组均值差和时间模式。
·通过将多种不同的攻击应用于所述数据产品发布来评估所述敏感数据集的隐私。
·将噪声值分布添加到所述数据产品发布中的所述统计数据。
·所述噪声分布是高斯噪声分布或拉普拉斯噪声分布。
C2.收集数据产品规格的工作流程
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中自动地选择、生成、确定或设置一个或多个隐私保护参数,并且其中所述隐私保护参数定义维持所述敏感数据集的隐私与使所述数据产品发布有用之间的平衡。
任选特征:
·数据产品发布由所述数据持有者配置。
·用户可配置的数据产品相关参数由所述数据持有者输入。
·敏感数据集由所述数据持有者输入。
·所述数据持有者的图形用户界面被实现为软件应用。
·数据产品相关参数包括:
ο敏感数据属性的范围;
ο查询参数,诸如:查询、查询敏感性、查询类型、查询集大小限制;
ο异常值范围,在所述异常值范围外的值被抑制或截断;
ο要执行的预处理变换,诸如矩形化或泛化参数;
ο敏感数据集模式;
ο对所述数据产品发布中所需的聚合统计数据的描述;
ο所述数据产品发布中的统计数据的优先化;
ο数据产品描述。
·数据产品发布呈API或合成微数据文件的形式。
·数据产品发布包括以下一项或多项:聚合统计数据报告、信息图或仪表板、机器学习模型。
C3.自动PUT评估
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中将自动评估隐私-效用权衡(PUT)。
C4.详细报告
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;其中将自动评估隐私-效用权衡(PUT),并且其中所述数据产品发布方法和系统生成描述所述预期数据产品发布的特性的报告或其他信息,所述特性与以下两项之间的平衡或权衡有关:(i)维持所述敏感数据集的隐私,包括攻击是否成功和/或失败;和(ii)使所述数据产品发布有用。
C5.针对如何修改数据产品以具有更好的PUT的指导
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中将自动评估隐私-效用权衡(PUT),并且随后自动生成用于提高所述PUT的推荐。
任选特征:
·推荐包括修改以下一项或多项:所述数据产品中的表中的一个或多个的维数;所述数据产品的发布频率;要执行的统计泛化;抑制异常值;噪声分布值;或任何数据产品相关参数。
C6.重复发布
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述方法或系统被配置成生成所述数据产品发布的多个刷新或更新版本,并且被配置成显示所述数据产品发布的每个刷新或更新版本的所述隐私-效用权衡如何改变。
C7.重复发布考虑了敏感数据集的任何更新版本
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述方法或系统被配置成生成所述数据产品发布的多个刷新或更新版本,并且被配置成显示所述数据产品发布的每个刷新或更新版本的所述隐私-效用权衡如何改变;
并且其中每个生成的数据产品发布考虑所述敏感数据集的任何更新版本。
C8.在隐私参数的重新评估下的重复发布
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述方法或系统被配置成生成所述数据产品发布的多个刷新或更新版本,并且被配置成显示所述数据产品发布的每个刷新或更新版本的所述隐私-效用权衡如何改变;
并且其中对于每个生成的数据产品发布,通过考虑所述敏感数据集的任何更新版本、所述数据产品发布的任何更新版本或任何用户可配置参数来自动更新保护参数。
C9.将失真与采样误差进行比较
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中自动生成一个或多个隐私保护参数,并且所述方法或系统被配置成自动生成(i)所述隐私保护参数与(ii)采样误差两者的效用之间的比较。
C10.自动对数据发布执行对抗测试的系统
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中应用一个或多个隐私保护参数,并且所述方法或系统被配置成将多种不同的攻击自动应用于所述数据产品发布并且自动确定所述敏感数据集的所述隐私是否被任何攻击损害。
任选特征:
·攻击被存储在攻击库中。
·所述隐私保护系统评估所述多种不同的攻击是否可能成功。
·每次攻击估计来自所述敏感数据集的任何敏感变量是否有从所述数据产品发布确定的风险。
·每次攻击输出被确定为就所述攻击来说易受攻击的敏感变量。
·每次攻击输出被确定为易受攻击的每个敏感变量的猜测值。
C11.自动对一组聚合统计数据执行对抗测试的系统
管理从敏感数据集导出的一组聚合统计数据的隐私的计算机实现的方法,其中所述方法使用渗透测试系统,所述渗透测试系统被配置成将多种不同的攻击自动应用于所述组聚合统计数据,以自动确定所述敏感数据集的所述隐私是否被任何攻击损害。
任选特征:
·聚合统计数据包括机器学习模型。
·渗透测试系统实现了由所述隐私保护系统实现的方法中的任何一个。
C12.使用对抗测试直接计算ε
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用差分私有系统从敏感数据集导出;并且所述方法或系统被配置成将多种不同的攻击应用于所述数据产品发布并且确定与击败所有攻击一致的基本上最高的ε。
C13.直接根据攻击来计算ε
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中ε将根据攻击特性直接计算以获得所需的攻击成功。
任选特征:
·攻击特性包括概率密度函数。
C14.使用对抗测试来衡量某个ε是否会击败隐私攻击;然后,使用该对抗测试将ε设置得足够低,以使得攻击不会成功
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用差分私有系统从敏感数据集导出;并且其中应用隐私保护参数ε的值,并且所述方法或系统被配置成针对所述ε值将多种不同的攻击应用于所述数据产品发布并且确定所述敏感数据集的所述隐私是否被任何攻击损害;然后确定与维持所述敏感数据集的所述隐私一致的所述基本上最高ε。
任选特征:
·当应用于所述数据产品发布的所有所述多种不同的攻击有可能失败时,维护所述敏感数据集的所述隐私。
C15.ε扫描
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用差分私有系统从敏感数据集导出;并且其中迭代地应用隐私保护参数ε的值,并且所述方法或系统被配置成针对每个ε值将多种不同的攻击自动应用于所述数据产品发布并且自动确定所述敏感数据集的所述隐私是否被任何攻击损害以及确定与维持所述敏感数据集的所述隐私一致的所述基本上最高ε。
C16.使用自动对抗测试来设置ε
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用差分私有系统从敏感数据集导出;并且其中应用隐私保护参数ε的值,并且所述方法或系统被配置成针对所述ε值将多种不同的攻击自动应用于所述数据产品发布并且自动确定所述敏感数据集的所述隐私是否被任何攻击损害,然后自动确定与维持所述敏感数据集的所述隐私一致的所述基本上最高ε。
任选特征:
·从所述确定的最高ε减去用户可配置的安全缓冲值以增强所述敏感数据集的隐私。
·将用户可配置的安全缓冲值添加到所述确定的最高ε以提高所述数据产品发布的所述效用。
C17.将统计数据编码为线性方程
用于查询含有敏感数据的数据集的计算机实现的方法,其中所述方法包括以下步骤:使用线性方程组对诸如和以及计数的统计数据进行编码,所述统计数据是数据集中的值的线性函数。
任选特征:
·所述方法包括以下步骤:(i)接收线性查询规格;(ii)基于所述查询规格将所述敏感数据集中的数据聚合;以及(iii)用一组线性方程对所述聚合的数据进行编码。
·当接收到的查询是SUM,与有关数据集中所含的n个变量的m个和有关时,所述组线性方程由以下各项定义:
A·v=d
其中
A是具有0和1的m×n矩阵,其中每一行代表一个和并且将所述和中所包括的变量标记为1,且将其他变量标记为0;
v是n维列向量,表示敏感数据集中的每个变量的敏感值;
以及d是长度为m的向量,具有和统计数据的值作为向量的条目。
C18.将AVERAGE表编码为SUM表
用于查询含有敏感数据的数据集的计算机实现的方法,其中所述方法包括以下步骤:使用查询集的大小以将AVERAGE表编码为所述查询集的SUM表。
C19.对COUNT表进行编码
用于查询含有敏感数据的数据集的计算机实现的方法,其中所述方法包括以下步骤:将COUNT表编码成线性方程组。
任选特征:
·使用独热编码将敏感变量拆分为几个二进制变量。
C20.处理敏感分组和公开分组的混合体
用于查询含有多个敏感数据列的数据集的计算机实现的方法,其中所述方法包括以下步骤:将多个敏感数据属性编码为单个敏感数据属性。
任选特征:
·使用独热编码对敏感数据列中的变量的每种可能组合进行编码。
·在执行所述独热编码步骤之前,将连续变量泛化。
C21.显示有关噪声的失真度量
用于查询含有敏感数据的数据集的计算机实现的方法,其中所述方法包括以下步骤:使用诸如差分私有系统的隐私保护系统;并且其中一个或多个隐私保护参数将与失真度量一起自动生成,所述失真度量描述与所述隐私保护参数相关联的噪声添加。
任选特征:
·失真度量包括噪声值分布的均方根误差、平均绝对误差或百分位数
C22.通过评估是否会从扰乱统计数据得出相同的高级结论来确定是否在扰乱统计数据中保留了效用
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中应用一个或多个隐私保护参数,并且所述方法或系统被配置成自动确定能够不受隐私保护的数据产品发布得出的结论是否仍能够从受隐私保护的数据产品发布得出。
任选特征:
·所述方法包括将结论编码为程序的步骤。
·所述方法包括对最大值结论进行编码的步骤。
·所述方法包括对相关变量结论进行编码的步骤。
·所述方法包括对组均值差结论进行编码的步骤。
·所述方法包括对时间模式结论进行编码的步骤。
C23.允许用户指定自己的定制结论
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中用户定义的结论被输入,并且所述方法和系统自动确定所述数据产品发布是否保留所述用户定义的结论。
C24.一套攻击,用于处理聚合统计数据并且输出有关各个值的猜测
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中自动访问并且部署设法从所述数据产品发布恢复有关个人的信息的不同攻击的套件或集合。
C25.差分攻击扫描程序
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中自动对差分攻击进行搜索。
任选特征:
·将差分攻击自动应用于数据产品发布;
·搜索方法包括以下步骤:
(a)按查询集大小对数据产品发布中的统计数据进行排序;
(b)针对差一攻击检查查询集大小相差一的每一对统计数据;
(c)对于发现的每个差一攻击:
通过移除对应于差一的易受攻击变量来更新查询集,
重复步骤(a)到(c);以及
(d)输出相对于差分攻击发布数据产品的隐私风险。
·当发现查询集大小相差一的包括除一外的相同变量的一对查询集时,发现差一攻击。
C26.对SUM表的基于迭代最小二乘的攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中执行对聚合统计数据的迭代最小二乘攻击。
任选特征:
·基于最小二乘的攻击包括以下步骤:
b)将计算的变量值与每个计算的变量的原始变量值进行比较;
c)输出相对于基于最小二乘的攻击来发布数据产品的隐私风险。
·如果步骤(b)的比较小于预定义阈值,则认为数据集中的原始变量易受攻击。
C27.使用正交性方程的替代方法。
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用正交性方程来执行对聚合统计数据的攻击。
任选特征:
·基于最小二乘的攻击包括对以下方程求解的步骤:
(AT·A)·v=AT·d;其中AT是A的转置。
·所述数据产品发布包括有关n个单独变量的m个统计数据,并且m>n。
C28.对SUM表的基于伪逆的攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用基于伪逆的方法来执行对聚合统计数据的攻击。
任选特征:
·基于伪逆的攻击包括以下步骤:
a)计算矩阵A的Moore-Penrose伪逆,表示为A+;
b)计算矩阵乘积B=A+·A并且在B中找到为1的对角线条目,所述对角线条目对应于可以通过所述组线性方程确定的变量的索引。
c)输出相对于基于伪逆的攻击来发布数据产品的隐私风险。
·将攻击矩阵A+乘以统计数据向量d,以获得所有变量的潜在解。
C29.使用SVD的基于伪逆的攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中利用使用奇异值分解的基于伪逆的方法来执行对聚合统计数据的攻击。
任选特征:
·其中执行基于伪逆的攻击包括以下步骤:计算A的奇异值分解(SVD)并获得矩阵U,S和V,使得A=USVT,从而仅计算A+的行,这些行唯一地确定v中的变量;
·使用SVD的基于伪逆的攻击包括以下其他步骤:
a)观察row sum(V*V)恢复B的定位易受攻击变量的对角线,并且生成Z,易受攻击变量的索引的向量;
b)回忆A+的唯一确定v中的变量的行在Z中被索引,并且计算A+[Z[=V[Z]S-1UT以输出易受攻击变量;
c)输出相对于使用SVD的基于伪逆的攻击来发布数据产品的隐私风险。
C30.使用分组结构和SVD的基于伪逆的攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中通过以下操作来执行对聚合统计数据的攻击:使用查询的基础结构将大的统计数据方程组分解成能够单独地进行求解的子方程组,然后将解合并。
任选特征:
·使用SVD的基于伪逆的攻击算法利用A的GROUPBY结构并且包括以下步骤:
a)对每个GROUPBY查询结果执行SVD,以及
b)顺序地合并SVD。
·合并SVD包括:对堆叠的右奇异向量进行QR分解,以生成正交矩阵Q、直角三角形矩阵R和方程组的秩r。
·其中通过保持R的前r个奇异值和向量,将重建堆叠奇异向量的SVD以及A的SVD。
·堆叠将并行地、递归地或批量地执行。
·输出相对于使用SVD的基于伪逆的攻击方法来发布数据产品的隐私风险。
C31.使用QR分解的基于伪逆的攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中利用使用QR分解的基于伪逆的攻击来执行对聚合统计数据的攻击。
任选特征:
·使用QR分解的基于伪逆的攻击使用关于秘密v的知识,其中v是n维列向量,表示敏感数据集中的每个变量的值。
·所述算法包括以下步骤:
(a)执行方程矩阵A的QR分解;
(b)通过QR分解的三角分量,使用后向代入来获取v′,,方程Av=d的最小二乘解;
(c)将v′与秘密v进行比较,其中任何匹配变量被确定为易受攻击的;
(d)对于与行i对应的每个易受攻击变量,使用后向代入来对方程aA=ei求解,其中ei是除了在索引i处等于1之外全部等于0的向量,其中αi是攻击向量。
(e)输出相对于使用QR的基于伪逆的攻击方法来发布数据产品的隐私风险。
C32.找到最准确的最小方差差分攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中自动识别方差最小的差分攻击。
任选特征:
·通过以下操作来识别方差最小的攻击:
a)使用基于伪逆的方法来找到易受攻击的行i。调用ei,关联的独热向量(其中除了在索引i处具有值为一的条目之外每个位置处的条目都等于零。)
b)在ai·A=ei的约束下将ai var(ai·d)最小化,并且其中d是统计数据的有噪声向量。
c)返回最优攻击ai。
C33.使用秩揭示QR因式分解有效地找到最小方差攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用秩揭示QR因式分解来自动识别方差最小的差分攻击。
任选特征:
·通过以下操作来识别方差最小的攻击:
a)生成方程矩阵A的秩揭示QR分解。
b)使用基于伪逆的方法来找到易受攻击的行i
c)使用基于伪逆的方法来生成基本攻击a。
d)使用秩揭示QR分解,生成到A的核心上的投影算子。将其称为P。
e)调用V,d的方差-协方差矩阵。然后,我们的问题可能被重述为找到使f(z)=(a+Pz)V(a+Pz)T变得最小的z。这将通过求解f(z)的一阶导数为0来实现,这在于对线性方程组求解,且可以使用PVP的QR分解来实现。
C34.对SUM表的符号求解器攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用符号求解器来自动执行对聚合统计数据的攻击。
任选特征:
·符号求解器攻击算法包括以下步骤:
a)将求和表转换成符号方程组;
b)通过高斯-乔丹消除法对所述符号方程组求解;
c)检查是否确定变量在小的预定义间隔内。
·如果在预定义的间隔内正确猜测出确定为易受攻击的变量,则算法返回。
C35.对COUNT表的攻击作为受约束的优化问题
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中计数表被表达为线性方程,并且通过自动解决受约束优化问题来实现对所述计数表的攻击。
任选特征:
·对COUNT表的攻击算法包括对以下组方程求解的步骤:
其中c是分类变量的可能类别的数目。
C36.对COUNT表的基于伪逆的攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中计数表被表达为线性方程,并且通过使用基于伪逆的攻击来实现对所述计数表的攻击。
任选特征:
·基于伪逆的攻击是上文所定义的任何基于伪逆的攻击。
·对COUNT表的基于伪逆的攻击包括以下步骤:
(a)将攻击矩阵A+乘以通过列联表的集合描述的统计数据向量d,以获得所有变量的潜在解;
(b)对于所有发现的易受攻击的变量,将猜测值四舍五入为{0,1}中的最接近值。
C37.对COUNT表的饱和行攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中计数表被表达为线性方程,并且通过使用饱和行方法来实现对所述计数表的攻击。
任选特征:
·饱和行攻击算法包括以下步骤:
(a)分析A并且检测正饱和以及负饱和的单元格;
(b)如果找到饱和条目,则:
a.从d减去通过饱和单元格推断出的私有值的贡献;
b.从A移除与已发现饱和的单元格和私有值对应的行和列,产生A′。
c.使用A′的伪逆来查找易受攻击的变量。
d.如果发现新的易受攻击者,则返回步骤(a),否则终止。
·单元格在其所含的计数等于查询集大小时为正饱和的,而单元格在其所含的计数等于0时为负饱和的。
C38.对COUNT表的基于一致性检查的攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中通过基于一致性检查的攻击来实现对所述计数表的攻击。
任选特征:
·基于一致性检查的攻击算法包括以下步骤:
对于每个变量i和推定的解s,测试是否可能存在其他解;且如果对于任何变量i只可能有一个解s,则推断变量i的私有值必须是s,并且相应地对方程组进行更新:
ο从d减去推断出的私有值的贡献。
ο从A移除与饱和的单元格和私有值分别对应的行和列,产生A′。
·如下所述地组合基于饱和行的攻击和一致性检查攻击:
(a)对A执行对计数表的饱和行攻击的算法;
(b)执行基于一致性检查的算法,生成A’
(c)返回步骤(a),用A’替换A。
(d)如果无法确定任何变量的解,则终止。
·基于一致性检查的攻击算法返回可以准确地猜到的所有易受攻击变量的列表和所述变量的对应私有值。
C39.对COUNT表的基于线性约束求解器的攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中计数表被表达为线性方程,并且使用线性约束求解器来实现对所述计数表的攻击。
任选特征:
对COUNT表的基于线性约束求解器的攻击包括以下步骤:
a)将COUNT表的集合编码为一个方程组。
b)如果所述方程组小,则解出整个方程组;在v∈[0,1]n×0,v·1=1的约束下使||A·v-d||最小。
c)如果所述方程组太大而无法按照第一种情况来处理,则分开地对每个列求解;即,对于每个j=1,2,...,c用下标独立地表示列,在约束vf∈[0,1]n下使||A·vf-df||最小。
C40.通过更改可用信息来衡量COUNT攻击者的猜测的准确性
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中通过对所述数据产品发布的不同子集重复攻击来实现关于对计数表的攻击的准确性的衡量。
任选特征:
·所述方法还估计COUNT攻击的稳定性。
·所述方法考虑攻击者的不确定性。
C41.用梯度来衡量COUNT攻击者的猜测的准确性
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中通过分析梯度来实现对计数表的攻击的准确性的衡量,所述梯度定义猜测复制所述观察到的发布的整体能力在扰乱所述猜测的给定条目的情况下改变多少。
任选特征:
·如果猜测值为1且梯度为负,则认为猜测是稳定的;且如果猜测值为0且梯度为正,则认为猜测是稳定的。
C42.误报检查
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中对误报攻击进行自动检查。
任选特征:
·检测误报的方法包括以下第一步骤:向所述线性方程组添加将变量设置为不正确值的方程并且确定所述方程组是否一致。
·有两种不同的方法用于确定在添加变量值不正确的附加方程后,方程组是否一致
a)重新计算包括不正确方程的线性方程组的解并且检查解是否存在。
b)计算包括和排除不正确方程的方程组的秩并且将两个矩阵的秩进行比较。
C43.多目标优化攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用了优化攻击。
任选特征:
·优化攻击包括以下步骤:
其中将统计发布-合成统计发布对的每个统计误差视为要最小化的一组目标。
·初始估计向量考虑攻击者可能知道的知识或背景信息;
·初始估计向量具有关于真实私有值的平均值的均匀分布;
·将随机高斯噪声添加到初始估计向量。
·优化攻击输出每个单独变量的估计猜测值。
·经过优化的攻击是灵活的并且包括合并以下各项的可能性:分别基于不同类型的统计数据的梯度下降;更启发式的更新规则;和初始化策略;
C44.SUM统计数据下进行批量更新
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用了优化攻击,在所述优化攻击中,使用了SUM统计数据下的批量更新。
任选特征:
·对于SUM统计数据,将使用批量大小B=m的批量更新规则实现为
其中j索引m个聚合统计数据,i索引n个私有变量,而Ai指示私有变量i的方程矩阵的向量切片。
C45.对AVG统计数据进行批量更新
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用了优化攻击,在所述优化攻击中,使用了SUM统计数据下的批量更新,并且,大小已知的变量集的AVG通过将AVG乘以集大小重铸为SUM。
C46.对中位数统计数据进行批量更新
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义、使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用了优化攻击,在所述优化攻击中,使用了MEDIAN统计数据下的批量更新。
任选特征:
·对于敏感数据列中的奇数变量集,仅更新中心值,或对于敏感数据列中的偶数变量集,更新两个中心值。
C47.有噪声梯度下降
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使用了优化攻击,在所述优化攻击中,将与添加到已发布统计数据的噪声成比例的冷却因子合并到梯度下降中,以帮助防止噪声主导梯度下降过程。
C48.中位数快照程序
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;其中使用了优化攻击,并且其中,在给定奇数查询集中的每个变量的值的估计值的情况下,将是所述估计值的中位数的变量改变为在所述数据产品发布中已公布的中位数的值。
C49.多种查询类型-‘抓袋’方法
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;其中使用了优化攻击,并且其中针对所述发布中的每个统计类型给出更新规则,并且基于所述统计发布与用估计值的向量计算出的所述合成统计发布之间的误差以迭代方式来更新。
C50.使用Canary-MOO将攻击组合
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;其中使用了优化攻击,并且其中使用了攻击的组合,并且将优化器的启动状态初始化以包括来自其他攻击的已知变量。
C51.将背景信息建模
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;其中将攻击者的假定知识的示例直接编码在所述方程组中,所述数据产品发布的所述统计数据被编码到所述方程组中。
任选特征:
·所述攻击者的假定知识是所述敏感数据集中的已知敏感变量值的百分比。
·所述攻击者的假定知识是所述敏感数据集中已知敏感变量值的百分比的随机选择。
·所述攻击者的假定知识是以下一个或多个:
ο所述敏感数据集中的变量值;
ο所述敏感数据集中的变量值的范围;
ο所述敏感数据集中的变量值是否小于或大于预定义值。
ο所述敏感数据集中的变量值是否小于或大于另一个变量值。
·所述攻击者的假定知识是用户可配置的。
·所述攻击者的假定知识被编码为附加一组线性方程。
·所述攻击者的假定知识被编码为一组线性和非线性的约束。
C52.呈现隐私-效用权衡信息以通知ε的设置
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中自动评估隐私-效用权衡(PUT)并向最终用户显示所述PUT以使所述最终用户能够控制其隐私和效用的水平。
任选特征:
·方法包括以下步骤:向数据持有者显示阻止所有攻击的最高ε。
·方法包括以下步骤:向数据控制器显示最低ε,所述最低ε保留一组用户配置的结论或在用户配置的阈值内的统计数据的用户配置的百分比。
·显示作为ε的函数的隐私影响。
·显示作为ε的函数的效用影响。
·将存在重建风险的敏感变量显示为ε的函数。
·将有可能成功的一种或多种攻击显示为ε的函数。
C53.根据隐私/效用信息的某个规则来设置ε,例如,最高ε阻止所有攻击,最低ε保留效用
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中自动评估隐私-效用权衡(PUT),并且使用规则来基于所述PUT自动推荐隐私保护系统参数,诸如ε。
C54.确定攻击在变量聚焦方法中是否已成功
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中通过分析对特定个人的攻击成功的绝对信心以及攻击者的信心的相对性或变化来确定所述攻击成功的可能性。
C55.确定攻击在整体方法中是否已成功
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中通过分析对一群个人的攻击成功的绝对信心以及攻击者的信心的相对性或变化来确定所述攻击成功的可能性。
C56.用于猜测私有值的基线方法
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中通过对比基线来分析信心的相对性或变化来确定攻击成功的可能性。
任选特征:
·一种建立基线的方法是从原始数据集中的敏感列均匀地采样i次并且测量在所述i次采样中猜测正确的频率。
C57.用于确定攻击成功概率的基于采样的方法
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中使随机噪声再生多次并且然后每次都对有噪声统计数据发起攻击,其中正确猜测的攻击的百分比表示所述攻击的信心。
C58.计算噪声与攻击成功之间的关系
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中将攻击建模为随机变量的线性组合,然后计算所述攻击会成功的概率。
C59.计数查询的情况
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;其中将攻击求解器应用于所述数据产品发布;并且计算所述攻击求解器会成功的边际概率的近似值。
任选特征:
·近似值考虑正确猜测的平均值和由攻击求解器生成的正确猜测的分数的方差。
C60.将攻击成功定义为区别最小值与最大值
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中如果攻击能够区分给定个体是否具有在所述敏感数据集中所保持的敏感属性的范围内的最低或最高值,则认为攻击成功。
C61.基于攻击的评估的结果的侧向条形图表示
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述数据持有者可以在GUI上移动指示符,所述指示符示出了作为改变的ε的函数的隐私和效用水平。
任选特征:
·侧向条形图表示用于显示结果。
C62.Abe进行更改数据
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中存在多个计划发布,并且所述隐私保护系统被配置成确保隐私在所有计划发布中被保留到足够水平。
C63.计算当随着时间推移会有多个发布时如何考虑额外风险
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中存在多个计划发布,并且考虑到未来发布中的增大的攻击强度,所述隐私保护系统被配置成确保隐私在所有计划发布中被保留到足够水平。
任选特征:
·所述方法考虑以下一项或多项:(a)有可能反复地接收的查询;(b)计划的发布的频率F;(c)敏感数据集中的每个个人的可能持续时间D
·为各自处于隐私水平∈′的p个计划的发布计算总隐私水平(∈)。
·从原始数据集移除在敏感数据集中已经存在了至少预定义的持续时间或至少预定义数目个发布的个体。
·针对每个发布对个体进行子采样,使得每个个体不会总是包括在发布中。
C64.在第一发布中没有易受攻击者时进行合成差分攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中有多个计划发布且所述隐私保护系统被配置成即使在第一数据产品发布中没有数据隐私漏洞时,也将诸如噪声的隐私参数应用于所述第一数据产品发布。
任选特征:
·应用于所述第一数据产品发布的隐私参数考虑多个所计划的发布。
·生成合成差分攻击,并且将所述合成差分攻击插入到所述第一数据产品发布中用于推荐ε。
·合成差分攻击是以下一项或多项:
·具有最小可能L2范数的攻击;
·对来自敏感范围的最末端的敏感值的攻击;
·具有最低基线猜测率的对敏感值的攻击。
C65.最便宜的攻击优先
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成应用多个攻击,其中首先使用最快或最低计算开销的攻击。
C66.计算能力的因子分解
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成将对所述隐私保护系统被编程以运行的攻击所需要的计算资源建模。
任选特征:
·如果隐私保护系统确定攻击不会在指定时间内完成,则自动不尝试攻击
C67.对数据集的子集进行攻击
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成对所述数据产品发布中的数据集的子集发起攻击。
任选特征:
·以减少计算开销而不会显著低估隐私风险的方式对数据集的子集发起攻击。
C68.具有多个敏感属性的数据集
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成搜索敏感变量之间的关系。
任选特征:
·如果找到线性关系,则将表达这些关系的新方程添加到方程组
C69.将纵向或时间序列数据集矩形化
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成将纵向或时间序列数据集矩形化。
任选特征:
·根据纵向或时间序列数据集生成矩形数据集。
·使用SQL规则以将对交易数据的类SQL查询自动变换成对矩形数据的类SQL查询,使得查询结果相同。
C70.确定敏感性
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成询问用户敏感变量的值的理论最大可能范围可能是什么。
C71.输出合成微数据/行级别
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成输出合成数据作为聚合统计数据的替代,或除了聚合统计数据外,还输出合成数据。
C72.多个实体
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成自动地检测嵌套实体并且保护最外层的隐私。
任选特征:
·保护最外层的隐私也保护最内层的隐私。
C73.保护多个实体(非嵌套实体)的隐私
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成保护多个非嵌套实体的隐私。
任选特征:
·所述隐私保护系统确定独立保护每个实体所需的噪声水平,然后获取这些噪声水平的最大值。
C74.用于快速评估数据产品的安全性的启发式方法
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成使用启发式计算以快速近似所述数据产品发布的风险或安全性。
C75.通过所发布的统计数据的数目对比数据集内的变量的数目
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成确定所发布的统计数据的数目与数据集中的单独变量或人的数目之间的比。
C76.通过唯一识别出的个体的数目
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成将被唯一识别(即不与任何人共享准标识符)的单独变量或人的数目用作为可能可受到攻击的人数的表示。
C77.通过差一攻击的存在
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成使用差分攻击扫描程序以揭示所述敏感数据集中的有可能易受差分攻击的攻击的变量。
C78.通过查询集大小
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成将所述查询集大小的分布用作为攻击会发生的可能性的度量。
C79.通过计数查询饱和
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成计算计数查询饱和攻击的数目。
C80.提高截断或钳制异常值变量的效用
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成通过截断或钳制异常值变量来提高效用。
C81.通过将变量泛化来提高效用
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成将变量泛化。
C82.设置查询集大小限制(QSSR)阈值
计算机实现的数据产品发布方法和系统,其中数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中所述隐私保护系统被配置成设置查询集大小限制阈值。
注释
应当理解,上述布置仅说明本发明原理的应用。在不偏离本发明的精神和范围的情况下,可以设计出许多修改和替代的布置。尽管本发明已经在图式中示出并且在上文结合当前被认为是本发明的最实用和优选示例的方面进行了特别且详细的全面描述,但是本领域的普通技术人员将了解,在不偏离本文中所阐述的本发明的原理和概念的情况下,可以进行许多修改。
Claims (150)
1.一种计算机实现的数据产品发布方法,其中所述数据产品发布是统计数据的有界或固定集合,所述集合由数据持有者预定义并且使用诸如差分私有系统的隐私保护系统从敏感数据集导出;并且其中隐私保护参数可配置为所述数据产品发布方法的一部分,以改变维持所述敏感数据集的隐私与使所述数据产品发布有用之间的平衡。
2.如权利要求1所述的方法,其中隐私保护参数包括以下一项或多项:噪声值分布、噪声添加量值、ε、增量或所述敏感数据集的被二次采样的行的分数。
3.如权利要求1或2所述的方法,其中通过以下方式来评估所述数据产品的有用性:确定能够从所述敏感数据集或从不受隐私保护的数据产品发布得出的结论是否仍能够从所述数据产品发布得出。
4.如权利要求3所述的方法,其中结论包括能够从所述敏感数据集或从不受隐私保护的数据产品发布提取的任何信息或见解,诸如:最大值、相关变量、组均值差和时间模式。
5.如任一前述权利要求所述的方法,其中通过将多种不同的攻击应用于所述数据产品发布来评估所述敏感数据集的隐私。
6.如任一前述权利要求所述的方法,其中将噪声值分布添加到所述数据产品发布中的所述统计数据。
7.如权利要求6所述的方法,其中所述噪声分布是高斯噪声分布或拉普拉斯噪声分布。
8.如任一前述权利要求所述的方法,并且其中自动地选择、生成、确定或设置一个或多个隐私保护参数,并且其中所述隐私保护参数定义维持所述敏感数据集的隐私与使所述数据产品发布有用之间的平衡。
9.如任一前述权利要求所述的方法,其中所述数据产品发布由所述数据持有者配置。
10.如任一前述权利要求所述的方法,其中用户可配置的数据产品相关参数由所述数据持有者输入。
11.如任一前述权利要求所述的方法,其中所述敏感数据集由所述数据持有者输入。
12.如任一前述权利要求所述的方法,其中所述数据持有者的图形用户界面被实现为软件应用。
13.如任一前述权利要求所述的方法,其中数据产品相关参数包括:敏感数据属性的范围;查询参数,诸如:查询、查询敏感性、查询类型、查询集大小限制;异常值范围,在所述异常值范围外的值被抑制或截断;要执行的预处理变换,诸如矩形化或泛化参数;敏感数据集模式;对所述数据产品发布中所需的聚合统计数据的描述;所述数据产品发布中的统计数据的优先化;数据产品描述。
14.如任一前述权利要求所述的方法,其中所述数据产品发布呈API的形式。
15.如任一前述权利要求所述的方法,其中所述数据产品发布呈合成微数据文件的形式。
16.如任一前述权利要求所述的方法,其中所述数据产品发布包括以下一项或多项:聚合统计数据报告、信息图或仪表板或机器学习模型。
17.如任一前述权利要求所述的方法,其中自动评估隐私-效用权衡(PUT)。
18.如任一前述权利要求所述的方法,其中自动评估隐私-效用权衡(PUT),并且其中所述数据产品发布方法和系统生成描述预期数据产品发布的特性的报告或其他信息,所述特性与以下两项之间的平衡或权衡有关:(i)维持所述敏感数据集的隐私,包括攻击是否成功和/或失败;和(ii)使所述数据产品发布有用。
19.如任一前述权利要求所述的方法,其中自动评估隐私-效用权衡(PUT),并且随后自动生成用于提高所述PUT的推荐。
20.如权利要求19所述的方法,其中推荐包括修改以下一项或多项:所述数据产品中的表中的一个或多个的维数;所述数据产品的发布频率;要执行的统计泛化;抑制异常值;噪声分布值;或任何数据产品相关参数。
21.如任一前述权利要求所述的方法,其中所述方法被配置成生成所述数据产品发布的多个刷新或更新版本,并且被配置成显示所述数据产品发布的每个刷新或更新版本的所述隐私-效用权衡如何改变。
22.如任一前述权利要求所述的方法,其中所述方法被配置成生成所述数据产品发布的多个刷新或更新版本,并且被配置成显示所述数据产品发布的每个刷新或更新版本的所述隐私-效用权衡如何改变;
并且其中每个生成的数据产品发布考虑所述敏感数据集的任何更新版本。
23.如任一前述权利要求所述的方法,其中所述方法被配置成生成所述数据产品发布的多个刷新或更新版本,并且被配置成显示所述数据产品发布的每个刷新或更新版本的所述隐私-效用权衡如何改变;
并且其中对于每个生成的数据产品发布,通过考虑所述敏感数据集的任何更新版本、所述数据产品发布的任何更新版本或任何更新的用户可配置参数来自动更新保护参数。
24.如任一前述权利要求所述的方法,其中所述方法被配置成自动生成(i)所述隐私保护参数与(ii)采样误差两者的效应之间的比较。
25.如任一前述权利要求所述的方法,其中应用一个或多个隐私保护参数,并且所述方法被配置成将多种不同的攻击自动地应用于所述数据产品发布并且自动地确定所述敏感数据集的所述隐私是否被任何攻击损害。
26.如权利要求25所述的方法,其中攻击被存储在攻击库中。
27.如权利要求25-26所述的方法,其中所述隐私保护系统评估所述多种不同的攻击是否有可能成功。
28.如权利要求25-27所述的方法,其中每次攻击估计来自所述敏感数据集的任何敏感变量是否有被从所述数据产品发布确定的风险。
29.如权利要求25-28所述的方法,其中每次攻击输出被确定为就所述攻击来说易受攻击的所述敏感变量。
30.如权利要求25-29所述的方法,其中每次攻击输出被确定为易受攻击的每个敏感变量的猜测值。
31.如任一前述权利要求所述的方法,其中所述方法被配置成将多种不同的攻击应用于所述数据产品发布并且确定与击败所有攻击一致的基本上最高的ε。
32.如任一前述权利要求所述的方法,其中所述方法被配置成将多种不同的攻击自动应用于所述数据产品发布,并且其中所述隐私保护参数ε将根据攻击特性直接计算以获得所需的攻击成功。
33.如权利要求32所述的方法,其中攻击特性包括概率密度函数。
34.如任一前述权利要求所述的方法,其中应用隐私保护参数ε的值,并且所述方法被配置成针对所述ε值将多种不同的攻击应用于所述数据产品发布并且确定所述敏感数据集的所述隐私是否被任何攻击损害;然后确定与维持所述敏感数据集的所述隐私一致的所述基本上最高ε。
35.如权利要求34所述的方法,其中当应用于所述数据产品发布的所有所述多种不同的攻击有可能失败时,维持所述敏感数据集的所述隐私。
36.如任一前述权利要求所述的方法,其中迭代地应用隐私保护参数ε的值,并且所述方法被配置成对于每个ε值将多种不同的攻击自动应用于所述数据产品发布并且自动确定所述敏感数据集的所述隐私是否被任何攻击损害以及确定与维持所述敏感数据集的所述隐私一致的所述基本上最高ε。
37.如任一前述权利要求所述的方法,其中应用隐私保护参数ε的值,并且所述方法被配置成针对所述ε值将多种不同的攻击自动应用于所述数据产品发布并且自动确定所述敏感数据集的所述隐私是否被任何攻击损害,然后自动确定与维持所述敏感数据集的所述隐私一致的所述基本上最高ε。
38.如任一前述权利要求所述的方法,其中从所述确定的最高ε减去用户可配置的安全缓冲值,以增强所述敏感数据集的所述隐私。
39.如任一前述权利要求所述的方法,其中将用户可配置的安全缓冲值添加到所述确定的最高ε,以提高所述数据产品发布的所述效用。
40.如任一前述权利要求所述的方法,其中所述方法包括以下步骤:使用线性方程组对诸如和以及计数的统计数据进行编码,所述统计数据是所述数据集中的值的线性函数。
41.如权利要求40所述的方法,其中所述方法包括以下步骤:(i)接收线性查询规格;(ii)基于所述查询规格将所述敏感数据集中的数据聚合;以及(iii)用一组线性方程对所述聚合的数据进行编码。
42.如权利要求40-41所述的方法,其中所述方法包括以下步骤:使用查询集的大小将AVERAGE表编码为所述查询集的SUM表。
43.如权利要求40-42所述的方法,其中所述方法包括以下步骤:将COUNT表编码成线性方程组。
44.如权利要求43所述的方法,其中使用独热编码将敏感变量拆分为几个二进制变量。
45.如权利要求40-44所述的方法,其中所述敏感数据集含有多个敏感数据列,并且所述方法包括以下步骤:将所述多个敏感数据属性编码为单个敏感数据属性。
46.如权利要求45所述的方法,其中使用独热编码对敏感数据列中的所述变量的每种可能组合进行编码。
47.如权利要求45-46所述的方法,其中在执行所述独热编码步骤之前,将连续变量泛化。
48.如任一前述权利要求所述的方法,其中一个或多个隐私保护参数与失真度量一起自动生成,所述失真度量描述与所述隐私保护参数相关联的噪声添加。
49.如权利要求48所述的方法,其中失真度量包括所述噪声值分布的均方根误差、平均绝对误差或百分位数。
50.如任一前述权利要求所述的方法,其中应用一个或多个隐私保护参数,并且所述方法被配置成自动确定能够不受隐私保护的数据产品发布得出的结论是否仍能够从受隐私保护的数据产品发布得出。
51.如权利要求50所述的方法,其中所述方法包括将所述结论编码为程序的步骤。
52.如权利要求50-51所述的方法,其中所述方法包括对最大值结论进行编码的步骤。
53.如权利要求50-52所述的方法,其中所述方法包括对相关变量结论进行编码的步骤。
54.如权利要求50-53所述的方法,其中所述方法包括对组均值差结论进行编码的步骤。
55.如权利要求50-54所述的方法,其中所述方法包括对时间模式结论进行编码的步骤。
56.如任一前述权利要求所述的方法,其中用户定义的结论被输入,并且所述方法和系统自动确定所述数据产品发布是否保留所述用户定义的结论。
57.如任一前述权利要求所述的方法,其中自动访问和部署设法从所述数据产品发布恢复有关个人的信息的不同攻击的套件或集合。
58.如任一前述权利要求所述的方法,其中自动对差分攻击进行搜索。
59.如任一前述权利要求所述的方法,其中将差分攻击自动应用于所述数据产品发布;
60.如任一前述权利要求所述的方法,其中执行对聚合统计数据的迭代最小二乘攻击。
61.如任一前述权利要求所述的方法,其中使用正交性方程来执行对聚合统计数据的攻击。
62.如任一前述权利要求所述的方法,其中使用基于伪逆的方法来执行对聚合统计数据的攻击。
63.如任一前述权利要求所述的方法,其中其中利用使用奇异值分解的基于伪逆的方法来执行对聚合统计数据的攻击。
64.如任一前述权利要求所述的方法,其中通过以下操作来执行对聚合统计数据的攻击:使用查询的基础结构将大的统计数据方程组分解成能够单独地进行求解的子方程组,然后将解合并。
65.如任一前述权利要求所述的方法,其中利用使用QR分解的基于伪逆的攻击来执行对聚合统计数据的攻击。
66.如任一前述权利要求所述的方法,其中自动识别方差最小的差分攻击。
67.如任一前述权利要求所述的方法,其中使用秩揭示QR因式分解来自动识别方差最小的差分攻击。
68.如任一前述权利要求所述的方法,其中使用符号求解器来自动执行对聚合统计数据的攻击。
69.如任一前述权利要求所述的方法,其中计数表被表达为线性方程,并且通过自动解决受约束优化问题来实现对所述计数表的攻击。
70.如任一前述权利要求所述的方法,其中计数表被表达为线性方程,并且通过使用基于伪逆的攻击来实现对所述计数表的攻击。
71.如任一前述权利要求所述的方法,其中计数表被表达为线性方程,并且通过使用饱和行方法来实现对所述计数表的攻击。
72.如任一前述权利要求所述的方法,其中通过基于一致性检查的攻击来实现对所述计数表的攻击。
73.如任一前述权利要求所述的方法,其中计数表被表达为线性方程,并且使用线性约束求解器来实现对所述计数表的攻击。
74.如任一前述权利要求所述的方法,其中对计数表的攻击的准确性的衡量通过对所述数据产品发布的不同子集重复所述攻击来实现。
75.如权利要求74所述的方法,其中所述方法还估计COUNT攻击的稳定性。
76.如权利要求74-75所述的方法,其中所述方法考虑攻击者的不确定性。
77.如任一前述权利要求所述的方法,其中通过分析梯度来实现对计数表的攻击的所述准确性的衡量,所述梯度定义猜测复制观察到的发布的整体能力在扰乱所述猜测的给定条目的情况下改变多少。
78.如任一前述权利要求所述的方法,其中对误报攻击进行自动检查。
79.如权利要求78所述的方法,其中误报检查方法包括以下第一步骤:向线性方程组添加将变量设置为不正确值的方程并且确定所述方程组是否一致。
80.如任一前述权利要求所述的方法,其中使用了优化攻击。
81.如权利要求80所述的方法,其中所述优化攻击是基于创建从估计向量导出的合成统计发布,其中所述估计向量含有来自原始数据集的每个单独变量值的估计值。
82.如权利要求80-81所述的方法,其中所述优化攻击包括以下步骤:(i)用估计的单独变量值进行初始化;
以及(ii)基于所述统计发布与用估计值向量计算出的所述合成统计发布之间的误差,以迭代方式对所述估计值向量进行更新;
其中将统计发布-合成统计发布对的每统计误差视为要最小化的一组目标。
83.如任一前述权利要求所述的方法,其中计算机实现的数据产品发布方法和系统,其中使用了优化攻击,在所述优化攻击中,使用SUM统计数据下的批量更新。
84.如任一前述权利要求所述的方法,其中使用了优化攻击,在所述优化攻击中,使用了SUM统计数据下的批量更新,并且将大小已知的变量集的AVG通过将所述AVG乘以集大小重铸为SUM。
85.如任一前述权利要求所述的方法,其中使用了优化攻击,在所述优化攻击中,使用了MEDIAN统计数据下的批量更新。
86.如权利要求85所述的方法,其中对于敏感数据列中的奇数变量集,仅更新中心值,或对于敏感数据列中的偶数变量集,更新两个中心值。
87.如任一前述权利要求所述的方法,其中使用了优化攻击,在所述优化攻击中,将与添加到已发布统计数据的所述噪声成比例的冷却因子合并到梯度下降中,以帮助防止噪声主导梯度下降过程。
88.如任一前述权利要求所述的方法,其中使用了优化攻击,并且其中,在给定奇数查询集中的每个变量的值的估计值的情况下,将是所述估计值的中位数的所述变量改变为在所述数据产品发布中已公布的中位数的值。
90.如任一前述权利要求所述的方法,其中使用了优化攻击,并且其中使用了攻击的组合,并且将优化器的启动状态初始化以包括来自其他攻击的已知变量。
91.如任一前述权利要求所述的方法,其中将攻击者的假定知识的示例直接编码在所述方程组中,所述数据产品发布的所述统计数据被编码到所述方程组中。
92.如权利要求91所述的方法,其中所述攻击者的假定知识是所述敏感数据集中的已知敏感变量值的百分比。
93.如权利要求92所述的方法,其中所述攻击者的假定知识是所述敏感数据集中的已知敏感变量值的百分比的随机选择。
94.如权利要求92-93所述的方法,其中所述攻击者的假定知识是以下一项或多项:所述敏感数据集中的变量值;所述敏感数据集中的变量值的范围;所述敏感数据集中的变量值是否小于或大于预定义值;所述敏感数据集中的变量值是否小于或大于另一个变量值。
95.如权利要求92-94所述的方法,其中所述攻击者的假定知识是用户可配置的。
96.如权利要求92-95所述的方法,其中所述攻击者的假定知识被编码为附加一组线性方程。
97.如权利要求92-96所述的方法,其中所述攻击者的假定知识被编码为一组线性和非线性的约束。
98.如任一前述权利要求所述的方法,其中自动评估隐私-效用权衡(PUT)并向最终用户显示所述PUT以使所述最终用户能够控制其隐私和效用的水平。
99.如权利要求98所述的方法,其中所述方法包括以下步骤:向所述数据持有者显示阻止所有攻击的最高ε。
100.如权利要求98-99所述的方法,其中所述方法包括以下步骤:向数据控制器显示最低ε,所述最低ε保留一组用户配置的结论或在用户配置的阈值内的统计数据的用户配置的百分比。
101.如权利要求98-100所述的方法,其中显示作为ε的函数的隐私影响。
102.如权利要求98-101所述的方法,其中显示作为ε的函数的效用影响。
103.如权利要求98-102所述的方法,其中将存在重建风险的所述敏感变量显示为ε的函数。
104.如权利要求98-103所述的方法,其中将有可能成功的一种或多种攻击显示为ε的函数。
105.如任一前述权利要求所述的方法,其中自动评估隐私-效用权衡(PUT)并且使用规则来基于所述PUT自动推荐隐私保护系统参数,诸如ε。
106.如任一前述权利要求所述的方法,其中通过分析对特定个人的攻击成功的绝对信心以及攻击者的信心的相对性或变化来确定所述攻击成功的可能性。
107.如任一前述权利要求所述的方法,其中通过分析对一群个人的攻击成功的绝对信心以及攻击者的信心的相对性或变化来确定所述攻击成功的可能性。
108.如任一前述权利要求所述的方法,其中通过对比基线来分析信心的相对性或变化来确定攻击成功的可能性。
109.如权利要求108所述的方法,其中一种建立基线的方法是从所述原始数据集中的所述敏感列均匀地采样i次并且测量在所述i次采样中猜测正确的频率。
110.如任一前述权利要求所述的方法,其中使随机噪声再生多次并且然后每次都对有噪声统计数据发起攻击,其中正确猜测的攻击的百分比表示所述攻击的信心。
111.如任一前述权利要求所述的方法,其中将攻击建模为随机变量的线性组合,然后计算所述攻击会成功的概率。
112.如任一前述权利要求所述的方法,其中将攻击求解器应用于所述数据产品发布;并且计算所述攻击求解器会成功的边际概率的近似值。
113.如权利要求112所述的方法,其中所述近似值考虑正确猜测的平均值和由所述攻击求解器生成的正确猜测的分数的方差。
114.如任一前述权利要求所述的方法,其中如果攻击能够区分给定个体是否具有在所述敏感数据集中所保持的敏感属性的范围内的最低或最高值,则认为攻击成功。
115.如任一前述权利要求所述的方法,其中所述数据持有者能够在GUI上移动指示符,所述指示符示出了作为改变的ε的函数的隐私和效用水平。
116.如任一前述权利要求所述的方法,其中使用侧向条形图表示来显示结果。
117.如任一前述权利要求所述的方法,其中存在多个计划发布,并且所述隐私保护系统被配置成确保隐私在所有所述计划发布中被保留到足够水平。
118.如任一前述权利要求所述的方法,其中存在多个计划发布,并且考虑到未来发布中的增大的攻击强度,所述隐私保护系统被配置成确保隐私在所有所述计划发布中被保留到足够水平。
119.如权利要求118所述的方法,其中所述方法考虑以下一项或多项:(a)有可能反复地接收的查询;(b)所述计划发布的频率F;(c)所述敏感数据集内的每个个人的可能持续时间D
120.如任一前述权利要求所述的方法,其中存在多个计划发布,并且所述隐私保护系统被配置成即使在第一数据产品发布中不存在数据隐私漏洞时也将诸如噪声的隐私参数应用于所述第一数据产品发布。
121.如权利要求120所述的方法,其中应用于所述第一数据产品发布的所述隐私参数考虑所述多个计划发布。
122.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成应用多种攻击,其中首先使用最快或最低计算开销的攻击。
123.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成对所述隐私保护系统被编程以运行的所述攻击所需要的计算资源建模。
124.如权利要求123所述的方法,其中如果所述隐私保护系统确定攻击不会在指定时间内完成,则自动不尝试所述攻击。
125.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成对所述数据产品发布中的所述数据集的子集发起攻击。
126.如权利要求125所述的方法,其中以减少计算开销而不显著低估隐私风险的方式发起对所述数据集的子集的攻击。
127.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成搜索敏感变量之间的关系。
128.如权利要求127所述的方法,其中如果找到线性关系,则将表达这些关系的新方程添加到所述方程组
129.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成将纵向或时间序列数据集矩形化。
130.如权利要求129所述的方法,其中根据所述纵向或时间序列数据集来生成矩形数据集。
131.如权利要求129-130所述的方法,其中使用SQL规则以将对交易数据的类SQL查询自动变换成对所述矩形数据的类SQL查询,使得查询结果相同。
132.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成询问用户敏感变量的值的理论最大可能范围可能是什么。
133.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成输出合成数据作为聚合统计数据的替代,或除了聚合统计数据外,还输出合成所述数据。
134.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成自动检测嵌套实体并且保护最外层的隐私。
135.如权利要求134所述的方法,其中保护所述最外层的所述隐私也保护最内层的隐私。
136.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成保护多个非嵌套实体的隐私。
137.如任一前述权利要求所述的方法,其中所述隐私保护系统确定独立保护每个实体所需的噪声水平,然后获取这些噪声水平的最大值。
138.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成使用启发式计算以快速地近似所述数据产品发布的风险或安全性。
139.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成确定所发布的统计数据的数目与所述数据集中的单独变量或人的数目之间的比。
140.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成将被唯一识别的单独变量或人的数目用作为有多少人可能是可攻击的表示。
141.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成使用差分攻击扫描程序以从所述敏感数据集揭示有可能易受差分攻击的攻击的变量。
142.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成将所述查询集大小的分布用作为攻击会发生的可能性的度量。
143.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成计算计数查询饱和攻击的数目。
144.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成通过截断或钳制异常值变量来提高效用。
145.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成将变量泛化。
146.如任一前述权利要求所述的方法,其中所述隐私保护系统被配置成设置查询集大小限制阈值。
147.一种访问云托管资源的方法,所述方法包括实现以上定义的所述计算机实现的方法的步骤。
148.一种计算机实现的系统,所述系统实现以上在权利要求1-146中定义的所述计算机实现的方法。
149.一种数据产品,所述数据产品已使用以上在权利要求1-146中定义的所述计算机实现的方法生成。
150.一种云计算基础设施,所述云计算基础设施实现以上在权利要求1-146中定义的所述计算机实现的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1721189.7A GB201721189D0 (en) | 2017-12-18 | 2017-12-18 | AbeCanaryEagle |
GB1721189.7 | 2017-12-18 | ||
GBGB1814105.1A GB201814105D0 (en) | 2018-08-30 | 2018-08-30 | Lens Platform |
GB1814105.1 | 2018-08-30 | ||
PCT/GB2018/053666 WO2019122854A1 (en) | 2017-12-18 | 2018-12-18 | Data product release method or system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111971675A true CN111971675A (zh) | 2020-11-20 |
Family
ID=65237064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880087751.8A Pending CN111971675A (zh) | 2017-12-18 | 2018-12-18 | 数据产品发布方法或系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12130938B2 (zh) |
EP (1) | EP3729319A1 (zh) |
CN (1) | CN111971675A (zh) |
WO (1) | WO2019122854A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242196A (zh) * | 2020-01-06 | 2020-06-05 | 广西师范大学 | 可解释性深度学习的差分隐私保护方法 |
CN112580106A (zh) * | 2021-01-26 | 2021-03-30 | 证通股份有限公司 | 多源数据处理系统以及多源数据处理方法 |
CN112988732A (zh) * | 2021-04-14 | 2021-06-18 | 湖南工程学院 | 一种观测数据中异常值的处理方法 |
CN114118407A (zh) * | 2021-10-29 | 2022-03-01 | 华北电力大学 | 一种面向深度学习的差分隐私可用性度量方法 |
CN114866352A (zh) * | 2022-07-06 | 2022-08-05 | 山东省计算中心(国家超级计算济南中心) | 一种保护工业互联网数据隐私和完整性的方法及程序产品 |
US12032721B2 (en) | 2021-10-20 | 2024-07-09 | Yodlee, Inc. | Synthesizing user transactional data for de-identifying sensitive information |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017187207A1 (en) * | 2016-04-29 | 2017-11-02 | Privitar Limited | Computer-implemented privacy engineering system and method |
CN110472437B (zh) * | 2019-07-29 | 2023-07-04 | 上海电力大学 | 一种面向用户用电数据的周期敏感度差分隐私保护方法 |
US11755743B2 (en) * | 2019-09-03 | 2023-09-12 | Microsoft Technology Licensing, Llc | Protecting machine learning models from privacy attacks |
CN111144888B (zh) * | 2019-12-24 | 2022-08-02 | 安徽大学 | 一种差分隐私保护的移动群智感知任务分配方法 |
US11343012B2 (en) * | 2020-03-05 | 2022-05-24 | Microsoft Technology Licensing, Llc | Noise generation for differential privacy |
US10860466B1 (en) | 2020-03-18 | 2020-12-08 | Capital One Services, Llc | Systems, methods and media for testing computer-executable code involving sensitive-information domains |
US20210360017A1 (en) * | 2020-05-14 | 2021-11-18 | Cynomi Ltd | System and method of dynamic cyber risk assessment |
US12014293B2 (en) | 2020-07-29 | 2024-06-18 | International Business Machines Corporation | Electronic health record data synthesization |
US11245766B1 (en) | 2020-09-01 | 2022-02-08 | Paypal, Inc. | Determining processing weights of rule variables for rule processing optimization |
WO2022061162A1 (en) * | 2020-09-18 | 2022-03-24 | Liveramp, Inc. | Data analytics privacy platform with quantified re-identification risk |
US20220114525A1 (en) * | 2020-10-12 | 2022-04-14 | Microsoft Technology Licensing, Llc | Peer group benchmark generation and presentation |
US11645730B2 (en) * | 2020-11-16 | 2023-05-09 | Here Global B.V. | Method, apparatus, and computer program product for identifying privacy risks in datasets |
CN113568609B (zh) * | 2021-09-24 | 2021-12-10 | 成都中科合迅科技有限公司 | 基于Qss样式表的UI样式编辑方法 |
EP4170534A1 (en) * | 2021-10-21 | 2023-04-26 | Tata Consultancy Services Limited | System and method for enabling differential privacy techniques |
US20230161899A1 (en) * | 2021-11-24 | 2023-05-25 | Lemon Inc. | Data processing for release while protecting individual privacy |
CN114462032B (zh) * | 2022-04-13 | 2022-06-21 | 北京理工大学 | 一种本地化差分隐私下键值对数据收集受投毒攻击的检测方法 |
CN115017440B (zh) * | 2022-05-31 | 2024-05-07 | 湖南大学 | 一种基于差分隐私保护的聚合位置数据发布方法 |
CN115442160B (zh) * | 2022-11-08 | 2023-02-21 | 山东省计算中心(国家超级计算济南中心) | 差分隐私保护下的网络化系统数据隐蔽攻击检测方法 |
CN117216796B (zh) * | 2023-09-22 | 2024-05-28 | 国网江苏省电力有限公司扬州供电分公司 | 一种基于隐私等级的能源大数据隐私保护方法 |
CN118053596B (zh) * | 2024-03-04 | 2024-08-06 | 飞图云科技(山东)有限公司 | 一种智能化医疗平台数据管理方法和系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124268A1 (en) * | 2005-11-30 | 2007-05-31 | Microsoft Corporation | Data diameter privacy policies |
EP2738973A1 (en) * | 2012-11-30 | 2014-06-04 | Gemalto SA | System and method for cryptography using multiplicative masking using simultaneous exponentiation techniques |
US20140304825A1 (en) * | 2011-07-22 | 2014-10-09 | Vodafone Ip Licensing Limited | Anonymization and filtering data |
CN104216994A (zh) * | 2014-09-10 | 2014-12-17 | 华中科技大学 | 一种列联表数据发布的隐私保护方法 |
WO2015026385A1 (en) * | 2013-08-19 | 2015-02-26 | Thomson Licensing | Method and apparatus for utility-aware privacy preserving mapping in view of collusion and composition |
CN104580061A (zh) * | 2015-01-12 | 2015-04-29 | 浙江工商大学 | 一种智能电网中支持容错及抗差分攻击的聚合方法及系统 |
CN106599726A (zh) * | 2017-01-16 | 2017-04-26 | 江苏徐工信息技术股份有限公司 | 一种基于MapReduce的分布式数据匿名处理方法 |
US20170124152A1 (en) * | 2015-11-02 | 2017-05-04 | LeapYear Technologies, Inc. | Differentially private processing and database storage |
CN106940777A (zh) * | 2017-02-16 | 2017-07-11 | 湖南宸瀚信息科技有限责任公司 | 一种基于敏感信息度量的身份信息隐私保护方法 |
CN107111710A (zh) * | 2014-09-13 | 2017-08-29 | 先进元素科技公司 | 用于基于安全和可靠标识的计算的方法和系统 |
WO2017187207A1 (en) * | 2016-04-29 | 2017-11-02 | Privitar Limited | Computer-implemented privacy engineering system and method |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8160977B2 (en) * | 2006-12-11 | 2012-04-17 | Poulin Christian D | Collaborative predictive model building |
US8566350B2 (en) * | 2009-11-02 | 2013-10-22 | Palo Alto Research Center Incorporated | Method and apparatus for facilitating document sanitization |
US20150235051A1 (en) * | 2012-08-20 | 2015-08-20 | Thomson Licensing | Method And Apparatus For Privacy-Preserving Data Mapping Under A Privacy-Accuracy Trade-Off |
US10325114B2 (en) * | 2014-10-23 | 2019-06-18 | Samsung Electronics Co., Ltd. | Computing system with information privacy mechanism and method of operation thereof |
US20160140190A1 (en) * | 2014-11-04 | 2016-05-19 | Spatial Information Systems Research Limited | Data representation |
US10108818B2 (en) * | 2015-12-10 | 2018-10-23 | Neustar, Inc. | Privacy-aware query management system |
US10726354B2 (en) * | 2016-01-29 | 2020-07-28 | Splunk Inc. | Concurrently forecasting multiple time series |
US11157520B2 (en) * | 2016-03-28 | 2021-10-26 | DataSpark, Pte Ltd. | Uniqueness level for anonymized datasets |
US11194864B2 (en) * | 2016-05-10 | 2021-12-07 | Aircloak Gmbh | Systems and methods for anonymized statistical database queries |
US10628608B2 (en) * | 2016-06-29 | 2020-04-21 | Sap Se | Anonymization techniques to protect data |
JP6484657B2 (ja) * | 2017-03-17 | 2019-03-13 | 新日鉄住金ソリューションズ株式会社 | 情報処理装置、情報処理方法及びプログラム |
EP4220464A1 (en) * | 2017-03-22 | 2023-08-02 | Visa International Service Association | Privacy-preserving machine learning |
US10776511B2 (en) * | 2017-06-04 | 2020-09-15 | Apple Inc. | User experience using privatized crowdsourced data |
US10977384B2 (en) * | 2017-11-16 | 2021-04-13 | Microsoft Technoogy Licensing, LLC | Hardware protection for differential privacy |
-
2018
- 2018-12-18 EP EP18840033.7A patent/EP3729319A1/en active Pending
- 2018-12-18 US US16/955,542 patent/US12130938B2/en active Active
- 2018-12-18 CN CN201880087751.8A patent/CN111971675A/zh active Pending
- 2018-12-18 WO PCT/GB2018/053666 patent/WO2019122854A1/en unknown
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124268A1 (en) * | 2005-11-30 | 2007-05-31 | Microsoft Corporation | Data diameter privacy policies |
US20140304825A1 (en) * | 2011-07-22 | 2014-10-09 | Vodafone Ip Licensing Limited | Anonymization and filtering data |
EP2738973A1 (en) * | 2012-11-30 | 2014-06-04 | Gemalto SA | System and method for cryptography using multiplicative masking using simultaneous exponentiation techniques |
WO2015026385A1 (en) * | 2013-08-19 | 2015-02-26 | Thomson Licensing | Method and apparatus for utility-aware privacy preserving mapping in view of collusion and composition |
CN104216994A (zh) * | 2014-09-10 | 2014-12-17 | 华中科技大学 | 一种列联表数据发布的隐私保护方法 |
CN107111710A (zh) * | 2014-09-13 | 2017-08-29 | 先进元素科技公司 | 用于基于安全和可靠标识的计算的方法和系统 |
CN104580061A (zh) * | 2015-01-12 | 2015-04-29 | 浙江工商大学 | 一种智能电网中支持容错及抗差分攻击的聚合方法及系统 |
US20170124152A1 (en) * | 2015-11-02 | 2017-05-04 | LeapYear Technologies, Inc. | Differentially private processing and database storage |
WO2017187207A1 (en) * | 2016-04-29 | 2017-11-02 | Privitar Limited | Computer-implemented privacy engineering system and method |
CN106599726A (zh) * | 2017-01-16 | 2017-04-26 | 江苏徐工信息技术股份有限公司 | 一种基于MapReduce的分布式数据匿名处理方法 |
CN106940777A (zh) * | 2017-02-16 | 2017-07-11 | 湖南宸瀚信息科技有限责任公司 | 一种基于敏感信息度量的身份信息隐私保护方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242196A (zh) * | 2020-01-06 | 2020-06-05 | 广西师范大学 | 可解释性深度学习的差分隐私保护方法 |
CN111242196B (zh) * | 2020-01-06 | 2022-06-21 | 广西师范大学 | 可解释性深度学习的差分隐私保护方法 |
CN112580106A (zh) * | 2021-01-26 | 2021-03-30 | 证通股份有限公司 | 多源数据处理系统以及多源数据处理方法 |
CN112988732A (zh) * | 2021-04-14 | 2021-06-18 | 湖南工程学院 | 一种观测数据中异常值的处理方法 |
CN112988732B (zh) * | 2021-04-14 | 2023-10-20 | 湖南工程学院 | 一种观测数据中异常值的处理方法 |
US12032721B2 (en) | 2021-10-20 | 2024-07-09 | Yodlee, Inc. | Synthesizing user transactional data for de-identifying sensitive information |
CN114118407A (zh) * | 2021-10-29 | 2022-03-01 | 华北电力大学 | 一种面向深度学习的差分隐私可用性度量方法 |
CN114118407B (zh) * | 2021-10-29 | 2023-10-24 | 华北电力大学 | 一种面向深度学习的差分隐私可用性度量方法 |
CN114866352A (zh) * | 2022-07-06 | 2022-08-05 | 山东省计算中心(国家超级计算济南中心) | 一种保护工业互联网数据隐私和完整性的方法及程序产品 |
CN114866352B (zh) * | 2022-07-06 | 2022-10-04 | 山东省计算中心(国家超级计算济南中心) | 一种保护工业互联网数据隐私和完整性的方法及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2019122854A1 (en) | 2019-06-27 |
US20210012028A1 (en) | 2021-01-14 |
US12130938B2 (en) | 2024-10-29 |
EP3729319A1 (en) | 2020-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111971675A (zh) | 数据产品发布方法或系统 | |
CN114303147A (zh) | 用于查询敏感数据集的方法或系统 | |
CA3096427C (en) | Budget tracking in a differentially private database system | |
Lenca et al. | On selecting interestingness measures for association rules: User oriented description and multiple criteria decision aid | |
US20180004978A1 (en) | Anonymization techniques to protect data | |
WO2017187207A1 (en) | Computer-implemented privacy engineering system and method | |
CN103620581A (zh) | 用于执行机器学习的用户界面和工作流 | |
EP3779757B1 (en) | Simulated risk contributions | |
US20190042791A1 (en) | Electronic Medical Record Datasifter | |
Elliot et al. | The future of statistical disclosure control | |
US20140372483A1 (en) | System and method for text mining | |
Martins et al. | Explainable artificial intelligence (XAI): A systematic literature review on taxonomies and applications in finance | |
Mohammed et al. | Clinical data warehouse issues and challenges | |
Trabelsi et al. | Data disclosure risk evaluation | |
Ordonez et al. | Evaluating statistical tests on OLAP cubes to compare degree of disease | |
Huang et al. | Ontology-based graph visualization for summarized view | |
Thurow et al. | Assessing the multivariate distributional accuracy of common imputation methods | |
Asenjo | Data masking, encryption, and their effect on classification performance: trade-offs between data security and utility | |
Farkas et al. | Cyber claim analysis through generalized Pareto regression trees with applications to insurance | |
Cutbill et al. | Mining constraint relationships and redundancies with association analysis for optimization problem formulation | |
Orooji | A Novel Privacy Disclosure Risk Measure and Optimizing Privacy Preserving Data Publishing Techniques | |
Agarwal et al. | Data mining and data warehousing | |
Ordonez et al. | Exploration and visualization of olap cubes with statistical tests | |
US20230195921A1 (en) | Systems and methods for dynamic k-anonymization | |
Majumdar et al. | Pairs trading with topological data analysis |
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 |