本次分享的文章发表于密码学顶会crypto 2021。文章介绍了一个流动式安全多方计算方案(Fluid MPC),计算的参与者在整个过程中可以动态的选择参与或者离开。
安全多方计算(Secure multiparty computation,MPC) 允许多个参与方共同计算一个函数,同时保护输入数据机密性。随着MPC在实际应用中的不断增加,设计支持动态参与的MPC协议显得愈发重要,协议允许参与方在长时间计算中加入或离开。此外,将这种MPC协议应用于志愿节点网络,可以创造一个“MPC-as-a-service”的系统,为隐私保护计算提供更广泛的普及和应用。
与其他MPC协议相比,Fluid MPC的特点是支持动态的参与者。该协议的流动性被定义为:中间状态传输所需要的通信回合数。因此,为了获得最大流动性,协议专注于每次中间状态的传输只有一个通信回合。具有最大流动性的协议可以使服务器更加灵活,在计算周期空闲时贡献计算资源,或在需要进行其他任务时快速退出,而不会干扰计算。文章主要有以下贡献:
-
在该论文中,作者提供了一个形式化的模型来描述Fluid MPC,并详细探讨了在动态参与者的情况下需要解决的挑战,包括流动性、状态复杂度和安全状态传输。
-
作者使用改进的半诚实BGW协议来构建Fluid MPC协议,这个协议在动态环境下具有最大流动性,同时具有较小的状态复杂度。协议的安全性和隐私性是基于一些假设条件得到保障的,比如恶意攻击者最多只能破坏每个委员会的少数派服务器等。此外,作者还提供了一个有效的编译器,可以将半诚实的Fluid MPC协议转换成针对恶意攻击者的安全协议。
-
在实验部分,作者使用C++实现了Fluid-BGW协议和恶意编译器,并在多个网络设置下进行了测试。
协议介绍
协议在服务器–客户端这一模型下设计的。整个协议被划分为输入阶段、执行阶段和输出阶段。
输入阶段:每个输入的拥有者将自己的输入发送至第一轮的服务器委员会。执行阶段被划分为若干轮,不同的服务器委员会在对应的轮次中执行计算任务。每一轮又被划分为两个阶段:计算阶段,服务器委员会进行计算;交接阶段,服务器委员会将自己的状态转移到下一个委员会。输出阶段,输出最终的计算结果。文章考虑了敌手可以腐败服务器委员会中的一小部分服务器的安全性问题。
文章将BGM协议的优化版本做出改进,使其具有最大的流动性。在BGM协议中,参与方使用Shamir的秘密共享方案,在算术电路的表示下,共同计算他们希望计算的函数。在输入阶段,每个输入方将其的输入值利用Shamir的秘密共享方案发送给计算方。在计算阶段,对于求和门的求值,由于秘密共享方案的线性性质,各方仅需将其输入线路的秘密份额相加,即可得到输出线路的秘密份额。对于求积门的求值,各方将其输入线路的份额在本地相乘,因此每个参与方获得了一个输出线路的2t-out-of-n的秘密份额。然后,每个参与方对于此秘密份额计算出一个新的t-out-of-n共享,并将其发送给每个计算方。最后,各方对接收到的份额进行计算,结果是各方均持有该乘积的t-out-of-n秘密份额。因此,每个求积门仅需要一轮通信。在此方案中,对于乘法门的计算过程中,度数缩减同时重新随机化了状态。因此按照此方法,只需要进行单轮通信即可同时实现状态转移与最大流动性。
文章所提出的Fluid MPC协议:
在计算阶段:每个委员会中的服务器将从上一轮委员会中收到的秘密份额进行秘密恢复,秘密恢复的结果为每条输入线路所对应的值的秘密份额。然后,每个计算服务器在本地依次计算每个电路门输出线路所对应的值的秘密份额。在这一本地计算过程中,秘密共享的度数可能保持不变也可能会增加。
交接阶段:当前工作的服务器委员会将自己的秘密份额(即当前的状态)以秘密共享的方式发送给下一阶段的服务器委员会。
由于该协议计算阶段是非交互的,并且交接阶段只包括一轮通信,因此上述协议实现了最大的流动性。
如下,左图展示了按层进行划分的电路结构,其中不同层用不同的颜色标识。右图则展示了本文提出的fluid mpc协议中可视化的信息流,该协议采用大小为3的服务器委员会。每个轮次对应的委员会中的活动服务器集合由相同颜色表示。
安全分析
文章考虑的攻击者可以在每个委员会中腐败少数的服务器,这是与传统设定是明显不同的。似乎攻击者可以通过腐败委员会S中的前t个服务器和委员会S+1中的最后t个服务器来获得显著的优势。然而,由于计算共享重加密了状态,所以在移交阶段结束时,攻击者只知道了以下信息:(1)发送给S+1轮委员会最后t个腐败服务器的nt份共享重加密(2)第S轮委员会中t个腐败服务器发送给S+1轮委员会中(n−t)个诚实服务器的(n−t)×t份共享重加密。实际上这些敌手掌握的信息这与常规的BGW没有区别。由于攻击者对于S+1轮委员会中(n−t)个诚实服务器状态信息仅有t个部分,并且只有t+1个部分才能恢复该状态。因此隐私得到保证。
原文始发于微信公众号(COMPASS Lab):[论文分享]Fluid MPC: Secure MPC with Dynamic Participants