深度:隐私保护计算技术指南

本文来源:格密链,作者:致远博士

 

近年来,保护隐私的计算技术应运而生。某些类型的隐私保护计算技术允许对数据进行计算,同时使数据保持加密,或对执行计算的人员以及可能试图窃取该信息的对手不透明。

由于数据可以在计算过程中保持加密状态,因此该数据可以在分析环境中“端对端”保持加密状态,因此数据不会被盗用或滥用。

但是,由于接收端会对密文计算后的结果解密,从而获得所需要的数据分析结果。所以必须能够防止从解密结果中获得有用的信息,保护此类数据才有效。

目前出现的一些新型隐私保护计算技术解决了这一问题,从而避免了对计算结果数据中的输入数据进行反向工程的工作。

不幸的是,保护隐私的计算是有代价的:这些技术的当前版本在计算上昂贵,依赖于专门的计算机硬件,难以直接编程和配置或上述某种组合。

本系列文章描述了对敏感数据进行统计分析的隐私保护方法的动机;提出了适用此类方法的用例示例;并介绍了相关技术功能,以确保隐私保护,同时仍允许分析敏感数据。我们的重点是在数据处理过程中(不仅是在系统上静止或在系统之间传输时)保护数据隐私的方法。

机密数据的架构设置

为了说明在统计数据中使用隐私保护计算的方法,我们首先介绍两个使用机密数据的架构设置。这些是受世界各国国家统计局(NSO)使用隐私保护计算技术的启发。对于这两种设置,我们都讨论了涉众,数据流,隐私目标以及带有其隐私目标的示例用例。

示例设置1:允许NSO访问新的大数据源

图1说明了单个NSO希望访问敏感数据的设置。如图中左图所示,组织可以将这些数据作为直接调查的结果或通过从可用资源中收集数据来间接地提供给NSO。

有关个人的数据可以通过电话,信用卡或支付公司等中介收集并提供给NSO。个人数据也可能来自政府来源,例如收入调查或人口普查报告。此外,收集和交易此类信息的数据聚合商也可能向NSO提供数据。我们称此类为数据提供输入方的个人和组织为隐私保护计算。

深度:隐私保护计算技术指南

图1:单个统计局的保护隐私的统计工作流

接收此类数据的NSO和其他组织(如图中中心所示)根据从输入方获得的收集数据进行计算,因此被称为“计算方”。

这种计算将收集到的数据转换为信息,即具有特定上下文和结构的数据组合,这些组合使数据变得有用。例如,这种计算的结果通常是统计报告,政府或非政府组织可以使用这些报告来做出有关稀缺资源分配的决策。

NSO计算产生的信息然后安全地分发给个人或组织,将其与他们现有的知识相结合,以发现可确定优先级和可操作性的模式。我们称这些接收者为“结果当事人”。

在整个简单的数据和信息流模型中,存在大量的隐私风险。

我们首先假设数据在输入方手中时是安全的,也就是说,我们假设这些方拥有自己的网络安全解决方案来保护其域内的数据。

因此,当数据在输入方和计算方之间传输时,会出现这种情况下的第一个隐私风险。TLS等现有技术通常用于减轻途中隐私风险。

当数据在计算方的范围内静止时,会发生第二个隐私风险。使用采用诸如“高级加密标准”(AES)之类的标准的技术进行加密通常可以缓解静态隐私风险。

当使用数据进行计算以产生信息时,会发生这种情况下的第三种隐私风险。在当前的实践中,数据在使用之前被解密。但是,这种解密使数据变得清晰起来,可能会被窃取或滥用。

除了上述风险外,在计算所得的信息与计算方一起驻留时,还有闲置的隐私风险,而在将信息分发给结果方时,还有在途隐私风险。这些风险的缓解方式与上述其他静息和运输途中的风险相同。

当结果方从计算方收到信息时,隐私风险将继续存在,因为此类信息可能仍然很敏感,并且在某些情况下可用于推断输入数据的值。诸如“差分隐私”之类的其他技术可能会减轻部分或全部风险。

用例示例:销售点交易数据。NSO寻求直接从多个站点的多个零售商那里收集产品价格数据,以计算计量经济统计数据。零售商希望防止其定价数据被大量泄露,因为如果竞争者获取这些信息可能会对其造成损害。

用例示例:移动电话数据。NSO从电信运营商那里收集手机位置数据,以用于生成旅游统计数据。除了必须始终保护一个人所在位置的高度敏感的数据外,电信运营商还应对数据的保护负责。

示例设置2:在多个NSO之间启用大数据协作

图2说明了在联合国协调下多个NSO合作的环境。可以说,这种情况是上述情况的延伸。但是,不同之处在于提供原始数据的个人和组织不再是输入方。相反,我们称它们为“数据主题”,因为在此设置中感兴趣的数据描述了它们。

在收集了上述设置中的数据并在本地进行统计分析之后,来自各个国家的NSO在此设置中充当输入方,以在联合国全球平台上彼此共享其结果和方法。因此,在这种情况下,全球平台将承担计算方的角色。

同样,在这种情况下,结果缔约方可能比在上面的第一种情况下更加多样化:全球的人民,组织和政府可能会收到全球平台生成的报告并从中受益。

深度:隐私保护计算技术指南

图2:联合国全球平台的隐私保护统计工作流程

隐私威胁和隐私增强技术的作用

通常在有关隐私的一般性讨论中,信息安全从业人员会使用如下原则:隐私保护是使得信息不会“泄漏”到授权访问者的保护范围之外。

所有隐私增强技术(PET)都部分解决了以下普遍问题:“对于输入数据集敏感部分的数据分析会泄漏多少隐私?”。

泄漏可能是有意的(黑客,好奇的数据分析人员)或无意的(分析期间出乎意料的敏感结果)。无论如何,隐私增强技术都可以减少此类泄漏的风险。

重要的是要指出,我们描述的任何一种隐私增强技术,实际上没有一种已知的技术,可以为隐私问题提供完整的解决方案。

这主要是因为这种模糊定义的目标可能根据上下文具有不同的合适解释。需要了解他们各自的隐私定义之间的相互作用。这种集成始于威胁建模阶段,因为必须最终根据适用于每种技术的隐私定义的具体参数来设置隐私要求。

部署隐私增强技术的关键方面

部署PET的关键方面是必须将它们部署在尽可能靠近数据所有者的位置。最佳的隐私保证要求在将机密数据发布给第三方之前,数据所有者必须在本地使用PET。

这可以用一个简单的类比来解释使用访问控制。

通常,与数据打交道的组织部署基于角色的访问控制(RBAC),该访问控制仅授予授权人员访问数据的权限。

但是,这仍然假定组织本身具有对所有收集的数据的完全访问权限。因此,组织对所有数据负责。但是,有了正确部署的隐私增强技术,组织将能够在没有完全访问权限的情况下执行其职责,从而减少责任。

统计信息的隐私目标

在对以上两个设置进行了一般性描述之后,我们使用下面的抽象说明隐私目标。如图3所示,一个或多个输入方将敏感数据提供给一个或多个进行统计分析的计算方,从而为一个或多个结果方产生结果。

深度:隐私保护计算技术指南

图3:隐私目标的抽象设置

现在,我们介绍三个自然的隐私目标,这些目标自然地与文档中稍后介绍的技术和隐私定义相关。

这些目标应被视为一般指南,具体部署可能具有特定的隐私要求,需要仔细评估。

不过,理想情况下,应该以提供具体隐私保证的方式解决此类要求,我们认为以下分类是很自然的该建模任务的起点。

输入隐私,输出隐私和政策执行的隐私目标是根据对隐私保护统计数据的研究改编而成的。

输入隐私

输入隐私意味着计算方无法访问或获取输入方提供的任何输入值,也不能在数据处理期间访问中间值或统计结果(除非已专门选择该值进行公开)。

请注意,即使计算方无法直接访问这些值,也可以通过使用诸如边信道攻击之类的技术来推导它们。

因此,输入私密性需要防止3种所有此类机制的保护,而这三种机制都将允许计算方推导输入。

输入隐私非常可取,因为它可以显着减少对输入数据库具有完全访问权限的涉众数量。从而减少了责任并简化了对数据保护法规的遵守。

输入隐私的概念在相互不信任的一方参与计算其私有数据的情况下特别相关,但是任何一方学习超过其规定的输出被视为违反隐私的情况。

再次参考上面的扫描仪数据示例,零售商将要求设置在适当位置以收集和计算价格指数的系统将为输入价格提供输入隐私权。

输出隐私

隐私保护统计分析系统在保证输出结果不包含输入方所允许的可识别输入数据的范围内实施输出隐私。输出隐私解决了测量和控制计算结果中存在的泄漏量的问题,而与计算本身是否提供输入隐私无关。

例如,在分析多方提供的分布式数据库以生成数据的统计模型的情况下,输出隐私与以下问题有关:可以从已发布的数据库中恢复多少有关原始数据的信息。

统计模型在模型的计算过程中各方之间交换的消息不会泄漏多少信息,因为后者与输入隐私有关。

在数据发布中,例如,在NSO希望向公众提供数据库而又不泄露用于导出发布数据的任何相关输入数据的情况下,强烈要求输出隐私。

政治执行

如果隐私保护统计分析系统具有供输入方执行积极控制的机制,则该策略执行策略执行,该控制可以由计算方对敏感输入执行,并且可以将结果发布给结果方。这种积极控制通常以正式语言来表达,这种语言可以识别参与者及其参与规则。策略决策点将这些规则处理成机器可用的形式,而策略执行点则提供了确保遵循规则的技术手段。

因此,策略执行可以在保留隐私的统计分析系统中描述然后自动确保输入和输出的隐私,从而减少了对经典但效果不佳的方法(如数据使用合同中的保密协议和保密条款)的依赖。

结合多个隐私目标

实际的统计系统很可能会结合多种技术来涵盖多个隐私目标。有关如何覆盖图3所示的整个系统的示例,请参见图4。

深度:隐私保护计算技术指南

图4:多个隐私目标如何在系统中共存

输入隐私包括源数据,中间和最终处理结果。输入方负责保护自己的输入数据,但是一旦传输了数据,接收方就必须继续对其进行保护。

输出隐私是统计产品的财产。即使计算方负责确保计算结果具有某种形式的输出隐私,但风险几乎总是与结果方学习过多有关。

策略执行覆盖整个系统-输入方可能会在授予数据之前要求对处理进行控制,结果各方可能希望远程审核处理的正确性。提供此类控制的责任在于计算方,在我们的情况下,计算方是国家统计局。

统计信息的隐私增强技术

我们考虑以下技术:

1)安全多方计算(缩写为MPC)

2)(完全)同态加密(缩写为HE或FHE)

3)受信任的执行环境(缩写为TEE)

4)差分隐私

 

安全多方计算

 

安全多方计算(也称为安全计算,多方计算/ MPC或隐私保护计算)是密码学的一个领域。

MPC处理的问题是在一组可能相互不信任的各方之间共同计算一个函数,同时阻止任何参与者了解有关其他方提供的输入的任何信息;同时(在可能的范围内)确保获得正确的输出。

MPC计算基于计算输入(和中间结果)的秘密共享。

秘密共享最初由Adi Shamir提出,将数据分为几部分,它们本身是一些随机数,但是当组合在一起时(例如,通过加法)恢复原始数据。

MPC依赖于将每个数据输入项划分为两个或更多份额,并将其分配给计算方。加法和乘法的同态特性使那些当事方可以计算份额以达到共享结果,这些结果相结合可得出计算函数的正确输出。

为了执行MPC所需的共享计算,所有参与计算的方都遵循一个“协议”:一组指令和相互通信,当这些方遵循时,它们将实现分布式计算机程序

能够抵抗隐蔽或恶意对手的现代MPC协议还依赖于诚实参与者可使用的零知识证明来检测不良行为(并通常消除不诚实的一方)。

应用实例

MPC已有许多用例。端到端的加密关系数据库原型,使用MPC来对仅以加密形式保存在数据库中的数据计算SQL查询的答案。

统计分析语言(例如R)已经增强了MPC功能,可以在统计和其他计算过程中保护数据。

MPC还可用于保护密钥,同时将这些密钥用于加密,解密和签名。

MPC还用于流数据环境中,例如处理VoIP数据以进行电话会议,而无需VoIP系统中的任何受信服务器。

最近的一篇论文更详细地描述了一些主要的用例。MPC的一项有趣的潜在应用是长期共享数据治理。

由于MPC依赖于秘密共享,并具有对所有相关方共同控制的那些共享的访问控制的权限。因此数据可以以机密共享形式无限期地存储,并且只有在适当比例的各方同意的情况下,才可以恢复数据。此功能与静止数据秘密共享的概念有关,而与阈值加密的概念关系更远。

敌手模型和安全性争论

因为MPC假定了互不信任的各方的可能性,所以它也假定了新的一类对手:控制计算中的一个或多个参与者的对手。

这样的对手可能是内部威胁,也可能是组织外部的特洛伊木马或其他渗透性很长的攻击。

这类新型的攻击者通常用几个特征来描述:诚实度,移动度和受害计算方的比例是文献中描述的典型特征。

在半诚实的对手模型中,这种控制仅限于检查损坏的参与者看到的所有数据以及对他们联合运行的计算程序的无限了解。

在“隐蔽”模型中,对手通常会将控制权扩展到修改或破坏商定的协议,其目的通常是要学习更多的知识,而不仅仅是从观察中学习到的知识。

但是,在这种模型中,攻击者被激励保持其存在不被察觉,从而限制了其可能采取的行动。在恶意模型中,攻击者还可能修改或破坏商定的协议,但无意将其存在隐藏起来。结果,恶意对手可能会采取比秘密对手更大范围的行动。

固定对手模型假设对手选择了参与者会影响的先验条件。例如,这种模型可能表示一个计算参与者受到了损害,而其他人则没有受到损害。此对手移动性特征的增强版本允许对手在计算期间在参与者之间移动。目前,很难想象这样一个对手的真实世界。

MPC对手的假设属于两类之一:诚实多数和不诚实多数

就像有各种各样的MPC参与者对手模型一样,也有各种各样的MPC协议提供安全性参数来防御那些对手。

安全性通常是通过显示MPC协议的实际执行与理想化的仿真器相区分的,在理想化的仿真器中,所有计算方将其私人输入发送给可信任的经纪人,该经纪人计算商定的功能并返回输出。各种MPC协议具有增强安全性的不同属性。通常描述的那些属性是:

●输入隐私权,如上文所述

●输出正确性–接收输出的各方都会收到正确的输出

●公平性–打算接收输出的所有各方都这样做,或者没有接收到

●保证输出–所有诚实的方都得到保证能够正确完成计算,而不受不诚实方的攻击行动。

虽然当大多数计算方不遵循协议时可以保证输入隐私和输出正确性,但是只有当大多数计算方遵循协议时,才能保证所有四个所需属性(输入隐私,输出正确性,公平性和有保证的输出交付)的组合。

历史

MPC最初于1982年作为安全的两方计算(2PC)正式推出(针对所谓的百万富翁问题),1986年由Andrew Yao正式引入。该领域也称为安全函数计算(SFE)。两方计算随后被Goldreich,Micali和Widgerson推广到多方。应当指出,MPC经常需要计算方之间交互。实际上,使用通信成本作为唯一估计因子(即完全忽略计算方的计算延迟估计),对MPC协议的运行时间的估计可能非常准确。

双方之间对可用网络带宽和网络延迟的高度依赖一直使MPC处于理论上的应用。直到2000年代中期,对协议的改进导致人们认识到MPC不仅可能,而且可以在互联网上进行有用的计算。

在一些特定的应用场景下,MPC可以成为有效的解决方案(尤其是那些需要在股票上进行本地操作且各方之间没有太多交互的场景)。

分布式投票,保护隐私的竞价和拍卖,共享签名或解密功能以及密文检索都是具有这些特性的应用场景。

多方计算的第一个大规模实际应用(在一个实际的拍卖问题上展示)于2008年1月在丹麦进行。

使用技术成本

MPC技术的性能在很大程度上取决于安全计算的功能。MPC性能的典型指标是计算速度,MPC中计算延迟与没有MPC安全性时完成相同计算的延迟之比。对于一般计算,例如处理典型的关系数据库查询运算符所需的计算,最新结果显示速度降低了10000倍。

在MPC中,如果计算依赖于加法(例如求和),其通常比常规计算快,而依赖除法或其他更复杂函数的计算通常要慢很多。与依赖浮点计算的计算相比,对整数或定点数据的计算相对较快。对于依赖于生成功能(例如随机数生成)的计算通常也很慢。

下表总结了实际的示例应用程序以及这些计算得出的典型速度下降。

深度:隐私保护计算技术指南

可用性

在大多数情况下,MPC仍然是一个学术研究主题。少数公司使用专门的MPC协议来实现特定功能,而少数公司专门从事此技术的标准或定制产品开发或解决方案咨询。

尽管MPC的操作理论处于相对较高的技术准备状态,但最终用户对计算产品的大多数期望仍处于早期开发阶段。

同样,MPC目前很难正确配置,并且当前需要高度定制的客户端软件以及用于部署的服务器软件。虽然概念验证的演示者已经表明可以开发这些重要功能,但从产品意义上来说开发尚处于非常早期的阶段。

MPC可以在关系数据库上执行查询,但只能对关系查询和数据类型的有限子集执行,而MPC无法容纳重要的相关操作,例如数据清理。

MPC系统的性能仍然是一个挑战,与“明文”计算相比,减速系数要达到100倍,最高可达100000倍或更高。

 

全同态加密

概述

同态加密是指具有特殊代数结构的一系列加密方案,该结构允许直接对加密数据执行计算而无需解密密钥。

自1970年代以来,支持单一算术运算(加法或乘法)的加密方案就已广为人知,通常被称为单同态。Rivest,Adleman和Dertouzos意识到同态性质的实用价值,并就此领域进行了探索研究。

2009年,Craig Gentry提出了第一个全同态加密方案。该方案允许对加密数据执行加法和乘法。

这是一项重要的发明,因为原则上,这种加密方案可以允许对加密数据计算任意布尔和算术电路,而无需向执行计算的一方透露输入数据或结果。取而代之的是,结果只能由有权访问密钥的特定方(通常是输入数据的所有者)解密。

该功能使同态加密成为用于云存储和计算安全的强大工具,并且是依赖于此类功能的高级加密和协议的基础。

尽管从理论上讲其功能强大且在学术上很具有吸引力,但第一代全同态加密方案在性能和密钥大小方面的原因,使其无法得以实践应用,只处于理论阶段。

在接下来的几年中,为发明和实现更简单,更快的同态加密方案,学术领域进行了大量工作。这项工作最终由IBM 研究院发布了全同态加密库HElib。

该库将先前的同态加密实现的性能提高了几个数量级。如今,有多个开源的同态加密库可用,它们实现了适用于不同应用程序的各种同态加密方案。

关于术语的注意事项

虽然原则上全同态加密方案允许对加密数据进行任意计算,但实际上几乎所有有效的实现方式都使用所谓的“分层模式”下的全同态加密(Leveled FHE),其中加密方案配置为仅支持特定大小或有界大小的计算,通常会导致性能极大的提升。

为简单起见,在本文中,我们自由地使用术语同态加密(HE)来指全同态加密(FHE)或层次型全同态加密。

应用实例

同态加密提供了强大的后量子安全和独特的非交互式密文计算功能,但是会导致较高计算开销和消息大小的扩展。

因此,理想的应用场景应该是在具有相对较小但关键的加密计算组件,包括持久性存储方面。并且其功能很难或者不可能使用其他方法来实现。

典型的应用实例是在医疗领域。其中法规强制执行严格的患者数据隐私措施,但是医院和诊所可能仍希望使第三方服务提供商能够分析,评估或计算其数据,而无需花费大量金钱以及耗时的法律程序。例如,服务提供商可以提供图像分析服务以在MRI扫描中检测肿瘤。可以直接对同态加密数据进行计算分析,从而避免医疗数据泄漏给服务提供商的问题。

对于数据存储提供商而言,潜在的应用程序是对加密的客户数据执行分析。例如,客户可能想使用云存储服务来存储大型加密数据库,而不必为简单的计算查询而下载整个数据库,因为这会带来不必要的本地计算配置与成本,并可能使整个数据集暴露于潜在的低安全性计算环境中。

相反,所有可能的数据汇总都应由云存储提供商直接以加密形式执行,以避免不必要地将数据暴露给客户端计算机

另一个有希望的应用是在隐私数据交集和隐私信息检索协议中。在隐私数据交集中,客户端和服务器拥有唯一的标识符集(例如,名称,电子邮件地址,电话号码),并希望在它们的集合中找到共同的项目。例如,两家公司可能希望找到他们共同的客户。

当一组中的某一组比另一组小得多时,同态加密可以为该问题提供有效的解决方案

在这种情况下,可以对较小的集合进行同态加密,然后发送给另一方,后者可以将加密后的数据与其集合做匹配计算。在私人信息检索中,当事方之一可以检索与匹配项相关联的数据,而无需数据所有者知道检索了什么数据(如果有的话)。在这种类型的协议中,对数据集合的大小有上限的限制,并且所有通信和计算都必须与这些上限成比例。

敌手模型和安全性争论

如今,所有具有实用性能或接近实用性能的同态加密方案都基于有错误学习(LWE)或环上错误学习(RLWE)的困难问题。换句话说,如果可以有效地破坏这些困难问题,则可以有效地解决LWE或环LWE的特定问题。由于对LWE和环LWE进行了广泛的研究,并认为现代计算机无法解决这些困难问题,因此有充分的理由相信这些同态加密方案是安全的。

由于同态加密是一种特殊的加密算法,而不是指的协议,因此其安全性定义仅规定,当给定密文后没有密钥的敌手将无法获得有关明文的任何信息。即使允许敌手选择任意数量的明文加密,此特性也将保留。此性质也称为    CPA。

但是,当允许敌手获取自己选择的数据解密时,其安全性不成立。确实,对于同态加密的安全使用,至关重要的是,除非有关可信数据的信息不会发生不良行为,否则绝不要将有关解密数据的信息传递回相应的加密数据的信息源。这包括看似无害的信息,例如重复执行协议的请求,拒绝为服务付费或揭示行为的任何变化,这些变化可能取决于加密计算的结果。

这样的反向通信信道的存在可能最坏地导致完整的密钥恢复攻击,并且降低安全级别。因此,应将涉及单用户的数据外包存储和计算视为同态加密的主要用例。在收到计算结果之后,密钥所有者不得基于解密结果执行任何服务提供商可以观察到的操作,以避免上述攻击。

另一个微妙之处是大多数同态加密方案都不提供输入隐私:如果计算依赖于两个或更多方的私有加密输入,则不能保证加密方案可以保护这些输入免受密钥所有者的攻击。同态加密在本质上也很特殊,截获密文的任何人都可以修改底层的明文。除非例如密文是由发送者加密签名的。

目前同态加密的使用门槛较高,没有加密专家的帮助,就不可能从中建立安全协议。多数基于同态加密的协议只能在半诚实的安全模型中被证明是安全的。但是也有例外,其中通过将同态加密与其他原语结合起来可以实现更强大的安全模型。

使用技术的成本

同态加密的使用至少带来三种类型的成本:消息扩展,计算成本和工程成本。

在同态加密系统中,由于编码效率较低(将实际数据转换为可以加密的明文元素)以及密文本身扩展(密文大小与明文大小之比),加密数据通常比未加密数据大得多。

根据使用情况,编码效率低下的范围可能从理想情况(根本没有扩展)到在编码方法选择不当时以数万或数十万规模的扩展率。消息扩展原则上可以任意大,但是实际上,根据使用情况,可以预期扩展因子为1到20倍。因此,在大多数情况下,人们不应该考虑使用同态加密来加密大量数据,而应仔细考虑所需的加密计算确切需要哪些数据,而仅对其进行加密。

同态加密的计算成本与未加密的计算相比显著。准确的成本在很大程度上取决于加密方案的参数以及吞吐量或等待时间。也就是说,大多数同态加密方案都支持对加密数据进行向量化的批处理计算,如果可以充分利用批处理功能,则可以将吞吐量提高1000–100000x。

开发具有同态加密的复杂系统可能是一项挑战,应始终在专家的帮助下完成,这样的解决方案的初始成本可能很高。造成这种情况的原因有两个:如前所述,如果没有特殊的专业知识,则很难理解和评估安全模型;而如果不深入了解其工作原理,则可能难以充分利用可用的同态加密库。

还应注意,同态加密很难或不可能与现有系统集成。相反,此技术的复杂应用程序可能需要对现有数据管道,数据操作过程和算法以及数据访问策略进行实质性更改。

●可用性

最常用的全同态加密方案是Brakerski-Gentry-Vaikuntanathan(BGV)和Brakerski-Fan-Vercauteren(BFV)方案。两者都允许对有限域元素的向量进行加密计算。

最近,CKKS方案计划已获得普及。CKKS方案允许对实数或复数进行近似加密计算,非常适合统计和机器学习应用。

不同方案之间的权衡比较复杂,即使对于本领域的专家而言也可能难以理解。对于非常大和非常小的计算,BGV方案比BFV方案具有性能优势,但是在许多其他情况下,技术的差异可以忽略不计。另一方面,与BFV方案相比,BGV方案更加复杂并且学习曲线更陡峭。CKKS方案的性能与BGV相当,但学习起来可能更具挑战性。但是,它提供了其他方案无法提供的功能。

BGV方案在IBMResearch的HElib库和新泽西理工学院的PALISADE库/框架中实现。BFV在MicrosoftSEAL,PALISADE和FV-NFLlib库中实现。CKKS在Microsoft SEAL,HEAAN和HElib中实现。

虽然BGV,BFV和CKKS在理论上都允许对加密数据进行任意计算,但是在预先确定电路深度并选择加密方案参数以实现计算的分层模式下,它们通常效率更高。

相反,TorusFHE(TFHE)方案对按位加密的输入进行操作,并尝试进行优化以实现任意计算。在需要按位加密输入的情况下,例如在涉及加密数字比较,排序或类似非多项式运算的计算中,诸如TFHE之类的方案可能是最有效的解决方案。TFHE方案具有相同名称的库。

 

差分隐私  

差分隐私提供了输出隐私的信息论概念。它的目标是通过发布数据库上聚合计算的结果来量化和限制数据库中各个记录的信息量。

总览

差分隐私由Dwork等人于2006年首次引入。从历史上看,差分隐私与统计信息披露控制和统计数据库的文献中研究的经典隐私模型有关。与其他专门的定义(例如,k-匿名性)相比,差分隐私提供了更笼统的隐私概念,k-匿名性主要关注数据匿名化的上下文。

此外,差分隐私旨在避免先前定义隐私的尝试所遭受的陷阱,尤其是在多次发布的情况下,以及当对手可以获取辅助知识时。我们注意到,这样的陷阱也影响了不太复杂的隐私保护尝试,例如单独汇总和添加临时噪声以汇总结果。

差异隐私指定了数据分析算法必须满足的属性,以便保护其输入的隐私。从这个意义上讲,差分隐私是一种隐私标准,而不是单个工具或算法。

差分隐私的属性是用与现实世界不同的另外一套方法来表达,其中特定个人的输入已从数据库中删除。差分隐私要求原算法和替代算法产生的输出在统计上是无法区分的。作为算法的一个属性,意味着无论数据库是什么以及我们选择删除哪一条记录,这种不可区分性都必须成立。

因此,差分隐私不是输出的属性,并且不能通过查看给定输入数据库上算法的输出来直接测量。关于差分隐私定义的另一个关键说明是,不可区分性要求太强,无法由任何确定性算法来满足。因此,随机性是任何差分隐私算法设计中必不可少的组成部分。

除了一些不同的威胁模型之外,差分隐私背后的原理的多功能性和强壮性导致了其基本定义的多样化。两种最重要的威胁模型导致通常称为本地差分隐私和curator差分隐私。

在本地模型中,在收集和汇总数据之前,每个人都将差分隐私直接应用于数据。在curator模型中,受信方从许多个人那里收集数据,然后运行差分隐私数据分析算法,并发布其输出。我们注意到,curator模型可以与输入隐私保护技术(例如多方计算)结合使用,其中MPC技术可以保护输入数据。

有兴趣的读者应查阅Nissim等人的最新论文。有关差分隐私的更广泛的非技术性介绍。此外,Dwork,Roth和Vadhan撰写的专着从技术角度全面介绍了差异性隐私的基础。

应用实例

差分隐私目前才有12年多的历史,这使其成为隐私增强技术领域中的一个相对较新的技术。在过去的十年中,差分隐私的理论和算法方面的研究迅速增长。

在文献中已经提出了一些在数据库接口和合成数据发布方法方面的通用差分隐私系统,但是这些系统中几乎没有一个达到产品级实现。但是,由于差分隐私背后的原理引起的兴趣以及对在线隐私的日益关注,导致了少量实际部署,通常针对特定应用使用ad-hoc算法。

差分隐私的两个著名应用是它在Google Chrome和Apple的iOS / OSX中的使用,以保护隐私的方式收集使用情况统计信息。这些应用程序遵循差分隐私的本地模型,在该模型中,每个用户都将自己的数据私有化,然后再将其发送到集中式服务器进行分析。

例如,Chrome使用这种方法来发现经常访问的页面,以改善其缓存和预取功能,而iOS使用它来发现文本应用程序中经常使用的单词和表情符号,以改善键入帮助中使用的语言模型。此外,微软还宣布,他们在本地模型中采用差分隐私来从运行其操作系统的设备中收集遥测数据。

在差分隐私的curator模型中,最著名的用法是美国人口普查局(U.S. Census Bureau),他们计划在发布即将到来的2020年人口普查结果时使用它。这是由于研究表明,没有差分隐私提供的那种保护,有时即使从不同粒度级别的聚合中释放出来,有时也有可能从人口普查数据中恢复有关个人的准确信息。

对手模型和安全性争论

差分隐私为个人向数据库提供敏感数据并且能够执行查询,提供了数学上的保证。保证的形式是对个人数据的风险进行控制,即对于删除数据库的任何单个记录而言的查询,不受成员资格和重建攻击的影响。

换句话说,差分隐私为用户向数据库提供数据提供了令人信服的论据,因为它保证了查询结果将非常相似,而不管用户是否加入数据库。这种质量可以防止攻击者允许对手查询数据库并获得无限制的附加知识。

差分隐私能够抵抗如此强大的攻击者的事实可能是违反直觉的,但实际上遵守了以下事实:差分隐私量化了算法的泄漏,而不是数据的属性。

从技术上讲,差分隐私的形式化是说,如果观察此发布的对手将无法确定数据库中是否存在任何特定记录,则用于发布数据库查询结果的机制将具有不同的隐私性。

这种保证具有统计上的意义:由于差分隐私要求必须对数据分析算法进行随机化,因此,当记录为以下任意一种时,将根据输出的概率分布之间的相似性来衡量对手是否能够确定数据库中是否存在记录。

数据库中存在或缺少对该相似性度量进行数字化参数化(通常用希腊字母epsilon和delta表示),参数值较小,表示更强的隐私保护。尽管这些值具有非常精确的统计解释,但是并没有通用的应用不可知配方来选择这些参数的适当值-差分隐私可用性的当前限制之一。

如上所述,即使在对手可以访问任意侧边知识的情况下,差分隐私仍可提供隐私。另外,不需要对对手的计算能力进行任何假设。使用差分隐私的确切威胁模型取决于强加于系统的信任假设。这导致了上述的本地模型和curator模型,不同之处在于后者假定受信方将收集要分析的数据并使用差异性隐私发布此类分析的结果,而前者对实体收集不做任何信任假设数据。

使用技术的成本

对于不提供输出隐私的相同问题的解决方案,使用差分隐私的主要成本是准确性方面的损失。通常,此成本取决于所需的隐私级别(更多的隐私会导致准确性损失更多),可用数据量(增加可用数据量会减少准确性损失)以及威胁模型(对于同一问题,本地差分隐私通常会比curator差分隐私失去更多的准确性)。

此外,差分隐私的成本还受到发布信息量的影响。例如,发布很少的关于数据集的统计信息通常比发布更复杂的对象(例如机器学习模型或合成数据集)更准确。

此外,激励差分隐私定义的一个重要发现是,人们不能希望无限期地查询数据库而不会最终揭示数据库的大部分内容。这使得查询不固定的部署对于差分隐私应用程序而言尤其具有挑战性。

在计算方面,与非隐私替代方案相比,差分隐私通常只会导致复杂度的适度增加。但是,还有一些重要的问题,导致最著名精度的差分隐私算法会遇到扩展性问题难以解决。

可用性

目前还没有免费的或可商购的通用且可立即投入生产的产品。

由哈佛大学领导的隐私工具项目开发的私有数据共享接口(PSI)实现了一种通用方法,可提供对敏感数据集的差异私有访问。PSI专注于社会科学中的典型用例,允许研究人员上传敏感数据集,发布具有差分隐私的一组选定统计信息,并允许其他研究人员针对数据集创建自己的差分隐私查询。该工具带有图形用户界面,该界面可指导数据所有者进行发布过程,帮助他们创建适当的隐私预算,并从大量随时可用的统计信息中进行选择。

差分隐私专注于输出隐私:一种防止对输出数据观察而泄露输入数据的方法。因此,传统的密码安全性论点不适用于差分隐私,因为信息泄漏取决于对数据提出哪些问题以及询问它们的频率。

因此,在数据所有者是唯一查询者并且仅发布受差分隐私保护的聚合结果的环境中,差分隐私可能是相当安全且易于理解的。但是,在其他用户可以进行查询的环境中,数据所有者必须建立隐私预算-这是差分隐私研究生态系统的一部分,目前人们对此知之甚少。

本文链接:https://www.8btc.com/media/597336
转载请注明文章出处

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2020年5月18日 上午8:44
下一篇 2020年5月18日 上午11:07

相关推荐

深度:隐私保护计算技术指南

星期一 2020-05-18 11:06:16

本文来源:格密链,作者:致远博士

 

近年来,保护隐私的计算技术应运而生。某些类型的隐私保护计算技术允许对数据进行计算,同时使数据保持加密,或对执行计算的人员以及可能试图窃取该信息的对手不透明。

由于数据可以在计算过程中保持加密状态,因此该数据可以在分析环境中“端对端”保持加密状态,因此数据不会被盗用或滥用。

但是,由于接收端会对密文计算后的结果解密,从而获得所需要的数据分析结果。所以必须能够防止从解密结果中获得有用的信息,保护此类数据才有效。

目前出现的一些新型隐私保护计算技术解决了这一问题,从而避免了对计算结果数据中的输入数据进行反向工程的工作。

不幸的是,保护隐私的计算是有代价的:这些技术的当前版本在计算上昂贵,依赖于专门的计算机硬件,难以直接编程和配置或上述某种组合。

本系列文章描述了对敏感数据进行统计分析的隐私保护方法的动机;提出了适用此类方法的用例示例;并介绍了相关技术功能,以确保隐私保护,同时仍允许分析敏感数据。我们的重点是在数据处理过程中(不仅是在系统上静止或在系统之间传输时)保护数据隐私的方法。

机密数据的架构设置

为了说明在统计数据中使用隐私保护计算的方法,我们首先介绍两个使用机密数据的架构设置。这些是受世界各国国家统计局(NSO)使用隐私保护计算技术的启发。对于这两种设置,我们都讨论了涉众,数据流,隐私目标以及带有其隐私目标的示例用例。

示例设置1:允许NSO访问新的大数据源

图1说明了单个NSO希望访问敏感数据的设置。如图中左图所示,组织可以将这些数据作为直接调查的结果或通过从可用资源中收集数据来间接地提供给NSO。

有关个人的数据可以通过电话,信用卡或支付公司等中介收集并提供给NSO。个人数据也可能来自政府来源,例如收入调查或人口普查报告。此外,收集和交易此类信息的数据聚合商也可能向NSO提供数据。我们称此类为数据提供输入方的个人和组织为隐私保护计算。

深度:隐私保护计算技术指南

图1:单个统计局的保护隐私的统计工作流

接收此类数据的NSO和其他组织(如图中中心所示)根据从输入方获得的收集数据进行计算,因此被称为“计算方”。

这种计算将收集到的数据转换为信息,即具有特定上下文和结构的数据组合,这些组合使数据变得有用。例如,这种计算的结果通常是统计报告,政府或非政府组织可以使用这些报告来做出有关稀缺资源分配的决策。

NSO计算产生的信息然后安全地分发给个人或组织,将其与他们现有的知识相结合,以发现可确定优先级和可操作性的模式。我们称这些接收者为“结果当事人”。

在整个简单的数据和信息流模型中,存在大量的隐私风险。

我们首先假设数据在输入方手中时是安全的,也就是说,我们假设这些方拥有自己的网络安全解决方案来保护其域内的数据。

因此,当数据在输入方和计算方之间传输时,会出现这种情况下的第一个隐私风险。TLS等现有技术通常用于减轻途中隐私风险。

当数据在计算方的范围内静止时,会发生第二个隐私风险。使用采用诸如“高级加密标准”(AES)之类的标准的技术进行加密通常可以缓解静态隐私风险。

当使用数据进行计算以产生信息时,会发生这种情况下的第三种隐私风险。在当前的实践中,数据在使用之前被解密。但是,这种解密使数据变得清晰起来,可能会被窃取或滥用。

除了上述风险外,在计算所得的信息与计算方一起驻留时,还有闲置的隐私风险,而在将信息分发给结果方时,还有在途隐私风险。这些风险的缓解方式与上述其他静息和运输途中的风险相同。

当结果方从计算方收到信息时,隐私风险将继续存在,因为此类信息可能仍然很敏感,并且在某些情况下可用于推断输入数据的值。诸如“差分隐私”之类的其他技术可能会减轻部分或全部风险。

用例示例:销售点交易数据。NSO寻求直接从多个站点的多个零售商那里收集产品价格数据,以计算计量经济统计数据。零售商希望防止其定价数据被大量泄露,因为如果竞争者获取这些信息可能会对其造成损害。

用例示例:移动电话数据。NSO从电信运营商那里收集手机位置数据,以用于生成旅游统计数据。除了必须始终保护一个人所在位置的高度敏感的数据外,电信运营商还应对数据的保护负责。

示例设置2:在多个NSO之间启用大数据协作

图2说明了在联合国协调下多个NSO合作的环境。可以说,这种情况是上述情况的延伸。但是,不同之处在于提供原始数据的个人和组织不再是输入方。相反,我们称它们为“数据主题”,因为在此设置中感兴趣的数据描述了它们。

在收集了上述设置中的数据并在本地进行统计分析之后,来自各个国家的NSO在此设置中充当输入方,以在联合国全球平台上彼此共享其结果和方法。因此,在这种情况下,全球平台将承担计算方的角色。

同样,在这种情况下,结果缔约方可能比在上面的第一种情况下更加多样化:全球的人民,组织和政府可能会收到全球平台生成的报告并从中受益。

深度:隐私保护计算技术指南

图2:联合国全球平台的隐私保护统计工作流程

隐私威胁和隐私增强技术的作用

通常在有关隐私的一般性讨论中,信息安全从业人员会使用如下原则:隐私保护是使得信息不会“泄漏”到授权访问者的保护范围之外。

所有隐私增强技术(PET)都部分解决了以下普遍问题:“对于输入数据集敏感部分的数据分析会泄漏多少隐私?”。

泄漏可能是有意的(黑客,好奇的数据分析人员)或无意的(分析期间出乎意料的敏感结果)。无论如何,隐私增强技术都可以减少此类泄漏的风险。

重要的是要指出,我们描述的任何一种隐私增强技术,实际上没有一种已知的技术,可以为隐私问题提供完整的解决方案。

这主要是因为这种模糊定义的目标可能根据上下文具有不同的合适解释。需要了解他们各自的隐私定义之间的相互作用。这种集成始于威胁建模阶段,因为必须最终根据适用于每种技术的隐私定义的具体参数来设置隐私要求。

部署隐私增强技术的关键方面

部署PET的关键方面是必须将它们部署在尽可能靠近数据所有者的位置。最佳的隐私保证要求在将机密数据发布给第三方之前,数据所有者必须在本地使用PET。

这可以用一个简单的类比来解释使用访问控制。

通常,与数据打交道的组织部署基于角色的访问控制(RBAC),该访问控制仅授予授权人员访问数据的权限。

但是,这仍然假定组织本身具有对所有收集的数据的完全访问权限。因此,组织对所有数据负责。但是,有了正确部署的隐私增强技术,组织将能够在没有完全访问权限的情况下执行其职责,从而减少责任。

统计信息的隐私目标

在对以上两个设置进行了一般性描述之后,我们使用下面的抽象说明隐私目标。如图3所示,一个或多个输入方将敏感数据提供给一个或多个进行统计分析的计算方,从而为一个或多个结果方产生结果。

深度:隐私保护计算技术指南

图3:隐私目标的抽象设置

现在,我们介绍三个自然的隐私目标,这些目标自然地与文档中稍后介绍的技术和隐私定义相关。

这些目标应被视为一般指南,具体部署可能具有特定的隐私要求,需要仔细评估。

不过,理想情况下,应该以提供具体隐私保证的方式解决此类要求,我们认为以下分类是很自然的该建模任务的起点。

输入隐私,输出隐私和政策执行的隐私目标是根据对隐私保护统计数据的研究改编而成的。

输入隐私

输入隐私意味着计算方无法访问或获取输入方提供的任何输入值,也不能在数据处理期间访问中间值或统计结果(除非已专门选择该值进行公开)。

请注意,即使计算方无法直接访问这些值,也可以通过使用诸如边信道攻击之类的技术来推导它们。

因此,输入私密性需要防止3种所有此类机制的保护,而这三种机制都将允许计算方推导输入。

输入隐私非常可取,因为它可以显着减少对输入数据库具有完全访问权限的涉众数量。从而减少了责任并简化了对数据保护法规的遵守。

输入隐私的概念在相互不信任的一方参与计算其私有数据的情况下特别相关,但是任何一方学习超过其规定的输出被视为违反隐私的情况。

再次参考上面的扫描仪数据示例,零售商将要求设置在适当位置以收集和计算价格指数的系统将为输入价格提供输入隐私权。

输出隐私

隐私保护统计分析系统在保证输出结果不包含输入方所允许的可识别输入数据的范围内实施输出隐私。输出隐私解决了测量和控制计算结果中存在的泄漏量的问题,而与计算本身是否提供输入隐私无关。

例如,在分析多方提供的分布式数据库以生成数据的统计模型的情况下,输出隐私与以下问题有关:可以从已发布的数据库中恢复多少有关原始数据的信息。

统计模型在模型的计算过程中各方之间交换的消息不会泄漏多少信息,因为后者与输入隐私有关。

在数据发布中,例如,在NSO希望向公众提供数据库而又不泄露用于导出发布数据的任何相关输入数据的情况下,强烈要求输出隐私。

政治执行

如果隐私保护统计分析系统具有供输入方执行积极控制的机制,则该策略执行策略执行,该控制可以由计算方对敏感输入执行,并且可以将结果发布给结果方。这种积极控制通常以正式语言来表达,这种语言可以识别参与者及其参与规则。策略决策点将这些规则处理成机器可用的形式,而策略执行点则提供了确保遵循规则的技术手段。

因此,策略执行可以在保留隐私的统计分析系统中描述然后自动确保输入和输出的隐私,从而减少了对经典但效果不佳的方法(如数据使用合同中的保密协议和保密条款)的依赖。

结合多个隐私目标

实际的统计系统很可能会结合多种技术来涵盖多个隐私目标。有关如何覆盖图3所示的整个系统的示例,请参见图4。

深度:隐私保护计算技术指南

图4:多个隐私目标如何在系统中共存

输入隐私包括源数据,中间和最终处理结果。输入方负责保护自己的输入数据,但是一旦传输了数据,接收方就必须继续对其进行保护。

输出隐私是统计产品的财产。即使计算方负责确保计算结果具有某种形式的输出隐私,但风险几乎总是与结果方学习过多有关。

策略执行覆盖整个系统-输入方可能会在授予数据之前要求对处理进行控制,结果各方可能希望远程审核处理的正确性。提供此类控制的责任在于计算方,在我们的情况下,计算方是国家统计局。

统计信息的隐私增强技术

我们考虑以下技术:

1)安全多方计算(缩写为MPC)

2)(完全)同态加密(缩写为HE或FHE)

3)受信任的执行环境(缩写为TEE)

4)差分隐私

 

安全多方计算

 

安全多方计算(也称为安全计算,多方计算/ MPC或隐私保护计算)是密码学的一个领域。

MPC处理的问题是在一组可能相互不信任的各方之间共同计算一个函数,同时阻止任何参与者了解有关其他方提供的输入的任何信息;同时(在可能的范围内)确保获得正确的输出。

MPC计算基于计算输入(和中间结果)的秘密共享。

秘密共享最初由Adi Shamir提出,将数据分为几部分,它们本身是一些随机数,但是当组合在一起时(例如,通过加法)恢复原始数据。

MPC依赖于将每个数据输入项划分为两个或更多份额,并将其分配给计算方。加法和乘法的同态特性使那些当事方可以计算份额以达到共享结果,这些结果相结合可得出计算函数的正确输出。

为了执行MPC所需的共享计算,所有参与计算的方都遵循一个“协议”:一组指令和相互通信,当这些方遵循时,它们将实现分布式计算机程序

能够抵抗隐蔽或恶意对手的现代MPC协议还依赖于诚实参与者可使用的零知识证明来检测不良行为(并通常消除不诚实的一方)。

应用实例

MPC已有许多用例。端到端的加密关系数据库原型,使用MPC来对仅以加密形式保存在数据库中的数据计算SQL查询的答案。

统计分析语言(例如R)已经增强了MPC功能,可以在统计和其他计算过程中保护数据。

MPC还可用于保护密钥,同时将这些密钥用于加密,解密和签名。

MPC还用于流数据环境中,例如处理VoIP数据以进行电话会议,而无需VoIP系统中的任何受信服务器。

最近的一篇论文更详细地描述了一些主要的用例。MPC的一项有趣的潜在应用是长期共享数据治理。

由于MPC依赖于秘密共享,并具有对所有相关方共同控制的那些共享的访问控制的权限。因此数据可以以机密共享形式无限期地存储,并且只有在适当比例的各方同意的情况下,才可以恢复数据。此功能与静止数据秘密共享的概念有关,而与阈值加密的概念关系更远。

敌手模型和安全性争论

因为MPC假定了互不信任的各方的可能性,所以它也假定了新的一类对手:控制计算中的一个或多个参与者的对手。

这样的对手可能是内部威胁,也可能是组织外部的特洛伊木马或其他渗透性很长的攻击。

这类新型的攻击者通常用几个特征来描述:诚实度,移动度和受害计算方的比例是文献中描述的典型特征。

在半诚实的对手模型中,这种控制仅限于检查损坏的参与者看到的所有数据以及对他们联合运行的计算程序的无限了解。

在“隐蔽”模型中,对手通常会将控制权扩展到修改或破坏商定的协议,其目的通常是要学习更多的知识,而不仅仅是从观察中学习到的知识。

但是,在这种模型中,攻击者被激励保持其存在不被察觉,从而限制了其可能采取的行动。在恶意模型中,攻击者还可能修改或破坏商定的协议,但无意将其存在隐藏起来。结果,恶意对手可能会采取比秘密对手更大范围的行动。

固定对手模型假设对手选择了参与者会影响的先验条件。例如,这种模型可能表示一个计算参与者受到了损害,而其他人则没有受到损害。此对手移动性特征的增强版本允许对手在计算期间在参与者之间移动。目前,很难想象这样一个对手的真实世界。

MPC对手的假设属于两类之一:诚实多数和不诚实多数

就像有各种各样的MPC参与者对手模型一样,也有各种各样的MPC协议提供安全性参数来防御那些对手。

安全性通常是通过显示MPC协议的实际执行与理想化的仿真器相区分的,在理想化的仿真器中,所有计算方将其私人输入发送给可信任的经纪人,该经纪人计算商定的功能并返回输出。各种MPC协议具有增强安全性的不同属性。通常描述的那些属性是:

●输入隐私权,如上文所述

●输出正确性–接收输出的各方都会收到正确的输出

●公平性–打算接收输出的所有各方都这样做,或者没有接收到

●保证输出–所有诚实的方都得到保证能够正确完成计算,而不受不诚实方的攻击行动。

虽然当大多数计算方不遵循协议时可以保证输入隐私和输出正确性,但是只有当大多数计算方遵循协议时,才能保证所有四个所需属性(输入隐私,输出正确性,公平性和有保证的输出交付)的组合。

历史

MPC最初于1982年作为安全的两方计算(2PC)正式推出(针对所谓的百万富翁问题),1986年由Andrew Yao正式引入。该领域也称为安全函数计算(SFE)。两方计算随后被Goldreich,Micali和Widgerson推广到多方。应当指出,MPC经常需要计算方之间交互。实际上,使用通信成本作为唯一估计因子(即完全忽略计算方的计算延迟估计),对MPC协议的运行时间的估计可能非常准确。

双方之间对可用网络带宽和网络延迟的高度依赖一直使MPC处于理论上的应用。直到2000年代中期,对协议的改进导致人们认识到MPC不仅可能,而且可以在互联网上进行有用的计算。

在一些特定的应用场景下,MPC可以成为有效的解决方案(尤其是那些需要在股票上进行本地操作且各方之间没有太多交互的场景)。

分布式投票,保护隐私的竞价和拍卖,共享签名或解密功能以及密文检索都是具有这些特性的应用场景。

多方计算的第一个大规模实际应用(在一个实际的拍卖问题上展示)于2008年1月在丹麦进行。

使用技术成本

MPC技术的性能在很大程度上取决于安全计算的功能。MPC性能的典型指标是计算速度,MPC中计算延迟与没有MPC安全性时完成相同计算的延迟之比。对于一般计算,例如处理典型的关系数据库查询运算符所需的计算,最新结果显示速度降低了10000倍。

在MPC中,如果计算依赖于加法(例如求和),其通常比常规计算快,而依赖除法或其他更复杂函数的计算通常要慢很多。与依赖浮点计算的计算相比,对整数或定点数据的计算相对较快。对于依赖于生成功能(例如随机数生成)的计算通常也很慢。

下表总结了实际的示例应用程序以及这些计算得出的典型速度下降。

深度:隐私保护计算技术指南

可用性

在大多数情况下,MPC仍然是一个学术研究主题。少数公司使用专门的MPC协议来实现特定功能,而少数公司专门从事此技术的标准或定制产品开发或解决方案咨询。

尽管MPC的操作理论处于相对较高的技术准备状态,但最终用户对计算产品的大多数期望仍处于早期开发阶段。

同样,MPC目前很难正确配置,并且当前需要高度定制的客户端软件以及用于部署的服务器软件。虽然概念验证的演示者已经表明可以开发这些重要功能,但从产品意义上来说开发尚处于非常早期的阶段。

MPC可以在关系数据库上执行查询,但只能对关系查询和数据类型的有限子集执行,而MPC无法容纳重要的相关操作,例如数据清理。

MPC系统的性能仍然是一个挑战,与“明文”计算相比,减速系数要达到100倍,最高可达100000倍或更高。

 

全同态加密

概述

同态加密是指具有特殊代数结构的一系列加密方案,该结构允许直接对加密数据执行计算而无需解密密钥。

自1970年代以来,支持单一算术运算(加法或乘法)的加密方案就已广为人知,通常被称为单同态。Rivest,Adleman和Dertouzos意识到同态性质的实用价值,并就此领域进行了探索研究。

2009年,Craig Gentry提出了第一个全同态加密方案。该方案允许对加密数据执行加法和乘法。

这是一项重要的发明,因为原则上,这种加密方案可以允许对加密数据计算任意布尔和算术电路,而无需向执行计算的一方透露输入数据或结果。取而代之的是,结果只能由有权访问密钥的特定方(通常是输入数据的所有者)解密。

该功能使同态加密成为用于云存储和计算安全的强大工具,并且是依赖于此类功能的高级加密和协议的基础。

尽管从理论上讲其功能强大且在学术上很具有吸引力,但第一代全同态加密方案在性能和密钥大小方面的原因,使其无法得以实践应用,只处于理论阶段。

在接下来的几年中,为发明和实现更简单,更快的同态加密方案,学术领域进行了大量工作。这项工作最终由IBM 研究院发布了全同态加密库HElib。

该库将先前的同态加密实现的性能提高了几个数量级。如今,有多个开源的同态加密库可用,它们实现了适用于不同应用程序的各种同态加密方案。

关于术语的注意事项

虽然原则上全同态加密方案允许对加密数据进行任意计算,但实际上几乎所有有效的实现方式都使用所谓的“分层模式”下的全同态加密(Leveled FHE),其中加密方案配置为仅支持特定大小或有界大小的计算,通常会导致性能极大的提升。

为简单起见,在本文中,我们自由地使用术语同态加密(HE)来指全同态加密(FHE)或层次型全同态加密。

应用实例

同态加密提供了强大的后量子安全和独特的非交互式密文计算功能,但是会导致较高计算开销和消息大小的扩展。

因此,理想的应用场景应该是在具有相对较小但关键的加密计算组件,包括持久性存储方面。并且其功能很难或者不可能使用其他方法来实现。

典型的应用实例是在医疗领域。其中法规强制执行严格的患者数据隐私措施,但是医院和诊所可能仍希望使第三方服务提供商能够分析,评估或计算其数据,而无需花费大量金钱以及耗时的法律程序。例如,服务提供商可以提供图像分析服务以在MRI扫描中检测肿瘤。可以直接对同态加密数据进行计算分析,从而避免医疗数据泄漏给服务提供商的问题。

对于数据存储提供商而言,潜在的应用程序是对加密的客户数据执行分析。例如,客户可能想使用云存储服务来存储大型加密数据库,而不必为简单的计算查询而下载整个数据库,因为这会带来不必要的本地计算配置与成本,并可能使整个数据集暴露于潜在的低安全性计算环境中。

相反,所有可能的数据汇总都应由云存储提供商直接以加密形式执行,以避免不必要地将数据暴露给客户端计算机

另一个有希望的应用是在隐私数据交集和隐私信息检索协议中。在隐私数据交集中,客户端和服务器拥有唯一的标识符集(例如,名称,电子邮件地址,电话号码),并希望在它们的集合中找到共同的项目。例如,两家公司可能希望找到他们共同的客户。

当一组中的某一组比另一组小得多时,同态加密可以为该问题提供有效的解决方案

在这种情况下,可以对较小的集合进行同态加密,然后发送给另一方,后者可以将加密后的数据与其集合做匹配计算。在私人信息检索中,当事方之一可以检索与匹配项相关联的数据,而无需数据所有者知道检索了什么数据(如果有的话)。在这种类型的协议中,对数据集合的大小有上限的限制,并且所有通信和计算都必须与这些上限成比例。

敌手模型和安全性争论

如今,所有具有实用性能或接近实用性能的同态加密方案都基于有错误学习(LWE)或环上错误学习(RLWE)的困难问题。换句话说,如果可以有效地破坏这些困难问题,则可以有效地解决LWE或环LWE的特定问题。由于对LWE和环LWE进行了广泛的研究,并认为现代计算机无法解决这些困难问题,因此有充分的理由相信这些同态加密方案是安全的。

由于同态加密是一种特殊的加密算法,而不是指的协议,因此其安全性定义仅规定,当给定密文后没有密钥的敌手将无法获得有关明文的任何信息。即使允许敌手选择任意数量的明文加密,此特性也将保留。此性质也称为    CPA。

但是,当允许敌手获取自己选择的数据解密时,其安全性不成立。确实,对于同态加密的安全使用,至关重要的是,除非有关可信数据的信息不会发生不良行为,否则绝不要将有关解密数据的信息传递回相应的加密数据的信息源。这包括看似无害的信息,例如重复执行协议的请求,拒绝为服务付费或揭示行为的任何变化,这些变化可能取决于加密计算的结果。

这样的反向通信信道的存在可能最坏地导致完整的密钥恢复攻击,并且降低安全级别。因此,应将涉及单用户的数据外包存储和计算视为同态加密的主要用例。在收到计算结果之后,密钥所有者不得基于解密结果执行任何服务提供商可以观察到的操作,以避免上述攻击。

另一个微妙之处是大多数同态加密方案都不提供输入隐私:如果计算依赖于两个或更多方的私有加密输入,则不能保证加密方案可以保护这些输入免受密钥所有者的攻击。同态加密在本质上也很特殊,截获密文的任何人都可以修改底层的明文。除非例如密文是由发送者加密签名的。

目前同态加密的使用门槛较高,没有加密专家的帮助,就不可能从中建立安全协议。多数基于同态加密的协议只能在半诚实的安全模型中被证明是安全的。但是也有例外,其中通过将同态加密与其他原语结合起来可以实现更强大的安全模型。

使用技术的成本

同态加密的使用至少带来三种类型的成本:消息扩展,计算成本和工程成本。

在同态加密系统中,由于编码效率较低(将实际数据转换为可以加密的明文元素)以及密文本身扩展(密文大小与明文大小之比),加密数据通常比未加密数据大得多。

根据使用情况,编码效率低下的范围可能从理想情况(根本没有扩展)到在编码方法选择不当时以数万或数十万规模的扩展率。消息扩展原则上可以任意大,但是实际上,根据使用情况,可以预期扩展因子为1到20倍。因此,在大多数情况下,人们不应该考虑使用同态加密来加密大量数据,而应仔细考虑所需的加密计算确切需要哪些数据,而仅对其进行加密。

同态加密的计算成本与未加密的计算相比显著。准确的成本在很大程度上取决于加密方案的参数以及吞吐量或等待时间。也就是说,大多数同态加密方案都支持对加密数据进行向量化的批处理计算,如果可以充分利用批处理功能,则可以将吞吐量提高1000–100000x。

开发具有同态加密的复杂系统可能是一项挑战,应始终在专家的帮助下完成,这样的解决方案的初始成本可能很高。造成这种情况的原因有两个:如前所述,如果没有特殊的专业知识,则很难理解和评估安全模型;而如果不深入了解其工作原理,则可能难以充分利用可用的同态加密库。

还应注意,同态加密很难或不可能与现有系统集成。相反,此技术的复杂应用程序可能需要对现有数据管道,数据操作过程和算法以及数据访问策略进行实质性更改。

●可用性

最常用的全同态加密方案是Brakerski-Gentry-Vaikuntanathan(BGV)和Brakerski-Fan-Vercauteren(BFV)方案。两者都允许对有限域元素的向量进行加密计算。

最近,CKKS方案计划已获得普及。CKKS方案允许对实数或复数进行近似加密计算,非常适合统计和机器学习应用。

不同方案之间的权衡比较复杂,即使对于本领域的专家而言也可能难以理解。对于非常大和非常小的计算,BGV方案比BFV方案具有性能优势,但是在许多其他情况下,技术的差异可以忽略不计。另一方面,与BFV方案相比,BGV方案更加复杂并且学习曲线更陡峭。CKKS方案的性能与BGV相当,但学习起来可能更具挑战性。但是,它提供了其他方案无法提供的功能。

BGV方案在IBMResearch的HElib库和新泽西理工学院的PALISADE库/框架中实现。BFV在MicrosoftSEAL,PALISADE和FV-NFLlib库中实现。CKKS在Microsoft SEAL,HEAAN和HElib中实现。

虽然BGV,BFV和CKKS在理论上都允许对加密数据进行任意计算,但是在预先确定电路深度并选择加密方案参数以实现计算的分层模式下,它们通常效率更高。

相反,TorusFHE(TFHE)方案对按位加密的输入进行操作,并尝试进行优化以实现任意计算。在需要按位加密输入的情况下,例如在涉及加密数字比较,排序或类似非多项式运算的计算中,诸如TFHE之类的方案可能是最有效的解决方案。TFHE方案具有相同名称的库。

 

差分隐私  

差分隐私提供了输出隐私的信息论概念。它的目标是通过发布数据库上聚合计算的结果来量化和限制数据库中各个记录的信息量。

总览

差分隐私由Dwork等人于2006年首次引入。从历史上看,差分隐私与统计信息披露控制和统计数据库的文献中研究的经典隐私模型有关。与其他专门的定义(例如,k-匿名性)相比,差分隐私提供了更笼统的隐私概念,k-匿名性主要关注数据匿名化的上下文。

此外,差分隐私旨在避免先前定义隐私的尝试所遭受的陷阱,尤其是在多次发布的情况下,以及当对手可以获取辅助知识时。我们注意到,这样的陷阱也影响了不太复杂的隐私保护尝试,例如单独汇总和添加临时噪声以汇总结果。

差异隐私指定了数据分析算法必须满足的属性,以便保护其输入的隐私。从这个意义上讲,差分隐私是一种隐私标准,而不是单个工具或算法。

差分隐私的属性是用与现实世界不同的另外一套方法来表达,其中特定个人的输入已从数据库中删除。差分隐私要求原算法和替代算法产生的输出在统计上是无法区分的。作为算法的一个属性,意味着无论数据库是什么以及我们选择删除哪一条记录,这种不可区分性都必须成立。

因此,差分隐私不是输出的属性,并且不能通过查看给定输入数据库上算法的输出来直接测量。关于差分隐私定义的另一个关键说明是,不可区分性要求太强,无法由任何确定性算法来满足。因此,随机性是任何差分隐私算法设计中必不可少的组成部分。

除了一些不同的威胁模型之外,差分隐私背后的原理的多功能性和强壮性导致了其基本定义的多样化。两种最重要的威胁模型导致通常称为本地差分隐私和curator差分隐私。

在本地模型中,在收集和汇总数据之前,每个人都将差分隐私直接应用于数据。在curator模型中,受信方从许多个人那里收集数据,然后运行差分隐私数据分析算法,并发布其输出。我们注意到,curator模型可以与输入隐私保护技术(例如多方计算)结合使用,其中MPC技术可以保护输入数据。

有兴趣的读者应查阅Nissim等人的最新论文。有关差分隐私的更广泛的非技术性介绍。此外,Dwork,Roth和Vadhan撰写的专着从技术角度全面介绍了差异性隐私的基础。

应用实例

差分隐私目前才有12年多的历史,这使其成为隐私增强技术领域中的一个相对较新的技术。在过去的十年中,差分隐私的理论和算法方面的研究迅速增长。

在文献中已经提出了一些在数据库接口和合成数据发布方法方面的通用差分隐私系统,但是这些系统中几乎没有一个达到产品级实现。但是,由于差分隐私背后的原理引起的兴趣以及对在线隐私的日益关注,导致了少量实际部署,通常针对特定应用使用ad-hoc算法。

差分隐私的两个著名应用是它在Google Chrome和Apple的iOS / OSX中的使用,以保护隐私的方式收集使用情况统计信息。这些应用程序遵循差分隐私的本地模型,在该模型中,每个用户都将自己的数据私有化,然后再将其发送到集中式服务器进行分析。

例如,Chrome使用这种方法来发现经常访问的页面,以改善其缓存和预取功能,而iOS使用它来发现文本应用程序中经常使用的单词和表情符号,以改善键入帮助中使用的语言模型。此外,微软还宣布,他们在本地模型中采用差分隐私来从运行其操作系统的设备中收集遥测数据。

在差分隐私的curator模型中,最著名的用法是美国人口普查局(U.S. Census Bureau),他们计划在发布即将到来的2020年人口普查结果时使用它。这是由于研究表明,没有差分隐私提供的那种保护,有时即使从不同粒度级别的聚合中释放出来,有时也有可能从人口普查数据中恢复有关个人的准确信息。

对手模型和安全性争论

差分隐私为个人向数据库提供敏感数据并且能够执行查询,提供了数学上的保证。保证的形式是对个人数据的风险进行控制,即对于删除数据库的任何单个记录而言的查询,不受成员资格和重建攻击的影响。

换句话说,差分隐私为用户向数据库提供数据提供了令人信服的论据,因为它保证了查询结果将非常相似,而不管用户是否加入数据库。这种质量可以防止攻击者允许对手查询数据库并获得无限制的附加知识。

差分隐私能够抵抗如此强大的攻击者的事实可能是违反直觉的,但实际上遵守了以下事实:差分隐私量化了算法的泄漏,而不是数据的属性。

从技术上讲,差分隐私的形式化是说,如果观察此发布的对手将无法确定数据库中是否存在任何特定记录,则用于发布数据库查询结果的机制将具有不同的隐私性。

这种保证具有统计上的意义:由于差分隐私要求必须对数据分析算法进行随机化,因此,当记录为以下任意一种时,将根据输出的概率分布之间的相似性来衡量对手是否能够确定数据库中是否存在记录。

数据库中存在或缺少对该相似性度量进行数字化参数化(通常用希腊字母epsilon和delta表示),参数值较小,表示更强的隐私保护。尽管这些值具有非常精确的统计解释,但是并没有通用的应用不可知配方来选择这些参数的适当值-差分隐私可用性的当前限制之一。

如上所述,即使在对手可以访问任意侧边知识的情况下,差分隐私仍可提供隐私。另外,不需要对对手的计算能力进行任何假设。使用差分隐私的确切威胁模型取决于强加于系统的信任假设。这导致了上述的本地模型和curator模型,不同之处在于后者假定受信方将收集要分析的数据并使用差异性隐私发布此类分析的结果,而前者对实体收集不做任何信任假设数据。

使用技术的成本

对于不提供输出隐私的相同问题的解决方案,使用差分隐私的主要成本是准确性方面的损失。通常,此成本取决于所需的隐私级别(更多的隐私会导致准确性损失更多),可用数据量(增加可用数据量会减少准确性损失)以及威胁模型(对于同一问题,本地差分隐私通常会比curator差分隐私失去更多的准确性)。

此外,差分隐私的成本还受到发布信息量的影响。例如,发布很少的关于数据集的统计信息通常比发布更复杂的对象(例如机器学习模型或合成数据集)更准确。

此外,激励差分隐私定义的一个重要发现是,人们不能希望无限期地查询数据库而不会最终揭示数据库的大部分内容。这使得查询不固定的部署对于差分隐私应用程序而言尤其具有挑战性。

在计算方面,与非隐私替代方案相比,差分隐私通常只会导致复杂度的适度增加。但是,还有一些重要的问题,导致最著名精度的差分隐私算法会遇到扩展性问题难以解决。

可用性

目前还没有免费的或可商购的通用且可立即投入生产的产品。

由哈佛大学领导的隐私工具项目开发的私有数据共享接口(PSI)实现了一种通用方法,可提供对敏感数据集的差异私有访问。PSI专注于社会科学中的典型用例,允许研究人员上传敏感数据集,发布具有差分隐私的一组选定统计信息,并允许其他研究人员针对数据集创建自己的差分隐私查询。该工具带有图形用户界面,该界面可指导数据所有者进行发布过程,帮助他们创建适当的隐私预算,并从大量随时可用的统计信息中进行选择。

差分隐私专注于输出隐私:一种防止对输出数据观察而泄露输入数据的方法。因此,传统的密码安全性论点不适用于差分隐私,因为信息泄漏取决于对数据提出哪些问题以及询问它们的频率。

因此,在数据所有者是唯一查询者并且仅发布受差分隐私保护的聚合结果的环境中,差分隐私可能是相当安全且易于理解的。但是,在其他用户可以进行查询的环境中,数据所有者必须建立隐私预算-这是差分隐私研究生态系统的一部分,目前人们对此知之甚少。

本文链接:https://www.8btc.com/media/597336
转载请注明文章出处