对于多方安全计算,你是否也有这样的疑惑?

对于,多方,安全,计算,是否,这样,疑惑 · 浏览次数 : 131

小编点评

对于多方安全计算,我们需要针对问题定义一个对应的ideal functionality「理想函数」,然后设计协议来模拟这个ideal functionality。 **理想函数:** * 两个参与方\\(P_0\\)和\\(P_1\\)在不暴露自己拥有的数据的同时计算一个结果\\(z\\),且\\(z=x+y\\)。 **协议:** 1. 协议首先由\\(P_1\\)给\\(P_2\\),\\(P_2\\)则将结果发送给\\(P_1\\)。 2. 协议保证任何针对协议的攻击都可以转换成针对存在可信第三方方案的攻击,因为存在可信第三方方案非常简单,一眼就知道是安全的。 3. 协议的安全性证明(不正式地描述)是,任何针对协议的攻击都可以转换成针对存在可信第三方方案的攻击,因为存在可信第三方方案非常简单,一眼就知道是安全的,那些攻击都是无力的(??),那么协议就是安全的。 **需要注意的细节:** * 协议中\\(P_1\\)和\\(P_2\\)的输入和输出必须一致。 * 协议是半诚实模型下的场景,即参与两方都会认真遵从协议,这里我们将讨论恶意模型,即参与方可能会偏离协议。 * 协议的安全性需要在恶意模型的情况下进行证明。

正文

学习&转载文章:对于多方安全计算,你是否也有这样的疑惑?

问题

假设多方安全计算中有两个参与方\(P_0\)\(P_1\),其中\(P_0\)拥有\(x\)\(P_1\)拥有\(y\),双方想要在不暴露自己拥有的数据的同时计算一个结果\(z\),且\(z=x+y\)。那么不管用哪种协议进行计算得到最终结果\(z\),并且公布给双方,\(P_0\)\(P_1\)都能通过手里的数据和\(z\)反推出另一方的隐私数据,请问应该如何理解这种情况呢?

image-20230220095158855

回答

对于安全多方计算协议来说,我们需要针对问题定义一个对应的ideal functionality「理想函数」,然后设计协议来模拟这个ideal functionality。

通俗来说,我们首先假设存在一个可信第三方(可能需要经过专门定制)的方案来解决对应的问题,然后我们要设计协议来取代这个可信第三方(或模拟可信第三方的存在),获得一个无可信第三方的协议。协议的安全性证明(不正式地描述)是,任何针对协议的攻击都可以转换成针对存在可信第三方的方案的攻击,因为存在可信第三方的方案非常简单,一眼就知道是安全的,那些攻击都是无力的(??),那么协议就是安全的。

image-20230220095941792

针对题目中的场景, \(P_1\)拥有\(x\), \(P_2\)拥有\(y\),需要计算\(f(x,y)=x+y\)。那么对应的存在可信第三方的方案就是,\(P_1\)\(x\) 发给可信第三方,\(P_2\)\(y\) 发送给可信第三方,然后可信第三方计算得到\(f(x,y)\),并把结果发送给指定的接收方(如 \(P_1\)\(P_2\)的其中一方或者同时两方)。

image-20230220100245607

那么,我们设计的想要移除可信第三方的协议,就没法保证做到比存在可信第三方时还要好。而在这个可信第三方存在的方案中,,则就算可信第三方存在,一方得到结果,肯定可以从另一方的输入中推算到另一方的输入,这不影响协议的安全性,因为协议我们只能要求它能够取代可信第三方的存在。换句话说,收到结果的一方通过协议(或者可信第三方存在的方案),只能得到结果以及自己输入所能推导出的信息。因为这里可以推导出另一方的输入,那这也是允许的。如果参与方是3人,计算\(f(x,y,z)=x+y+z\)\(P_1\)输入为\(x\) 并且得到结果\(f(x,y,z)\) ,那么很自然他能推导出\(y+z\) ,这里得到\(y+z\) 也不能说协议的安全性受损。

  • 可信第三方存在的方案中,也会存在该问题:一方可能根据结果反推出另外一方输入信息

需要注意到,存在可信第三方的方案非常简单,一眼就知道是安全的,同时也需要注意到,这里 \(P_1\)\(P_2\)的输入是他们自己控制的,在有些场景下,我们是阻止不了他们通过刻意的输入,获得对方的输入内容。比如\(f(x,y)=x.y\) , 这里\(x\)\(y\)都是0或1,计算的函数是”与“运算。如果\(P_1\)输入是0,那么得到\(f(x,y)\)也没法帮助他获得\(y\) 。如果输入是1,那么他必然可以反推得到\(y\)的值。这里从存在可信第三方的方案可以知道,我们没法阻止\(P_1\)故意输入1来得到 。

  • 即使存在第三方,也无法阻恶意的输入获取对方输入信息

再稍微补充一下,为什么上面提到说可信第三方是需要经过定制的?

我们还是考虑上面的两方场景(上面讨论的是半诚实模型下的场景,即参与两方都会认真遵从协议,这里我们将讨论恶意模型,即参与方可能会偏离协议),并且我们的场景希望最后两方都得到结果 。理论上已经证明,对于两方协议,如果一方作恶偏离协议,那么协议没法达到这个完全公平的目标。从直觉上我们也可以知道,如果一方在拿到结果后直接跑路,另一方就没法得到结果。那么这里如果我们就要假设存在一个可信第三方的理想方案,我们不让可信第三方直接把结果发给二人(因为这样没有协议能做到模拟这种场景)。我们这里就需要定制这个可信第三方,让可信第三方把结果发给恶意的参与者,然后询问恶意参与者,是否要把结果发给另一个诚实参与者,如果恶意参与者同意则发,不同意则不发。基于这个定制,我们才能够设计的协议来模拟这个存在可信第三方的方案。

与对于多方安全计算,你是否也有这样的疑惑?相似的内容:

对于多方安全计算,你是否也有这样的疑惑?

学习&转载文章:对于多方安全计算,你是否也有这样的疑惑? 问题 假设多方安全计算中有两个参与方$P_0$和$P_1$,其中$P_0$拥有$x$,$P_1$拥有$y$,双方想要在不暴露自己拥有的数据的同时计算一个结果$z$,且$z=x+y$。那么不管用哪种协议进行计算得到最终结果$z$,并且公布给双方

京东云开发者|经典同态加密算法Paillier解读 - 原理、实现和应用

随着云计算和人工智能的兴起,如何安全有效地利用数据,对持有大量数字资产的企业来说至关重要。同态加密,是解决云计算和分布式机器学习中数据安全问题的关键技术,也是隐私计算中,横跨多方安全计算,联邦学习和可信执行环境多个技术分支的热门研究方向。 本文对经典同态加密算法Pailier算法及其相关技术进行介绍,重点分析了Paillier的实现原理和性能优化方案,同时对基于公钥的加密算法中的热门算法进行了横向

安全多方计算(5):隐私集合求交方案汇总分析

学习&转载文章:安全多方计算(5):隐私集合求交方案汇总分析 前言 随着数字经济时代的到来,数据已成为一种基础性资源。然而,数据的泄漏、滥用或非法传播均会导致严重的安全问题。因此,对数据进行隐私保护是现实需要,也是法律要求。隐私集合求交(Private Set Intersection, PSI)作

隐私计算之多方安全计算(MPC,Secure Multi-Party Computation)

如今,组织在收集、存储敏感的个人信息以及在外部环境(例如云​​)中处理、共享个人信息时, 越来越关注数据安全。这是遵守隐私法规的强需求:例如美国加利福尼亚州消费者隐私法 (CCPA)、欧盟通用数据保护条例 (GDPR) 和世界各地的其他新兴法规,以及中国的《数安法》《个保法》等,都对安全处理敏感数据提出了要求。

隐私集合求交(PSI)协议研究综述

摘要 隐私集合求交(PSI)是安全多方计算(MPC)中的一种密码学技术,它允许参与计算的双方,在不获取对方额外信息(除交集外的其它信息)的基础上,计算出双方数据的交集。隐私集合求交在数据共享,广告转化率,联系人发现等领域有着广泛的应用空间。本文对隐私集合求交的各项实现技术做了介绍和对比,对隐私集合求

多方安全计算(3):MPC万能钥匙-混淆电路

学习&转载文章:多方安全计算(3):MPC万能钥匙-混淆电路 前言 我们在讲解不经意传输(Oblivious Transfer,OT)的文章(安全多方计算(1):不经意传输协议)中提到,利用n选1的不经意传输可以解决百万富翁问题(两位富翁Alice和Bob在不泄露自己真实财富的情况下比对出谁更有钱)

多方安全计算(4):MPC万能积木-秘密共享

学习&转载文章:多方安全计算(4):MPC万能积木-秘密共享 前言 在之前的文章(多方安全计算(3)MPC万能钥匙:混淆电路中,我们对MPC中一类通用方案混淆电路(GC)与密文比较策略做了介绍。混淆电路通过将任务抽象为电路以及对基础电路提供加密方案达到了万能钥匙的效果。在姚期智先生提出GC方案不久后

关于软件物料清单(SBOM),你所需要了解的一切

在此前的多篇文章中,我们已经详细地介绍了软件物料清单(SBOM)对于保障软件供应链安全的重要性以及一些注意事项。在本文中,我们将会更深入地介绍SBOM,包括最低要求元素、格式、使用场景以及如何对其进行管理等。 SBOM所包含的元素 2021年年中,NTIA发布了软件物料清单(SBOM)的最少必需元素

机器学习服务活体检测算法荣获CFCA权威安全认证

随着人脸识别技术在金融、医疗等多个领域的加速落地,网络安全、信息泄露等问题愈为突出,用户对应用稳定性和安全性的要求也更为严格。为保障各行业高效稳定的开展业务,提前发现和应对潜在安全风险,HMS Core 机器学习服务(ML Kit)持续演进人脸检测能力,通过海量样本集训练,不断增强对于非活体攻击的防

从工具到实践:如何在GitHub上保障开源项目安全?

1998年,Christine Peterson创造了 “开源软件”这个词。她解释道:“这是刻意为之,为了让其他人更容易理解这个领域”。同年,O’Reilly组织了首届“开源峰会”。 开源软件受到更多人青睐原因在于,用户对软件拥有更多的控制权因为他们可以检查代码。对于长期项目来说,开源软件被认为是稳