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

admin 2022年9月19日00:32:31评论18 views字数 3988阅读13分17秒阅读模式
多方安全计算(4)MPC万能积木 秘密共享


一、引言

在之前的文章(多方安全计算(3)MPC万能钥匙:混淆电路)中,我们对MPC中一类通用方案混淆电路(GC)与密文比较策略做了介绍。混淆电路通过将任务抽象为电路以及对基础电路提供加密方案达到了万能钥匙的效果。在姚期智先生提出GC方案不久后,Goldreich等人[1]提出了GMW范式,给通用的密文计算任务指明了一条新的方向。

与GC不同,GMW范式认为既然一个电路可以由与门或者或门组成,那么如果对与门和或门都可以做到输入与输出都为密文形式,且加密形式相同,那么就可以将初始的计算任务拆解为若干子计算步骤,通过逐步的完成密文计算就可以做到在密文下完成整个计算任务。当然,一个真实的计算任务从与门、或门出发是不合适的;一个更自然的出发点是加法计算与乘法计算,而本文将介绍如何通过秘密共享(也常被称为秘密分享)技术在MPC任务中完成加法与乘法计算。读者可以想象,这类似于搭积木,而基础的积木块就是密文加法与密文乘法。

宏观上说,如图一所示,多方安全计算以不经意传输为根基,基于此可以构造出混淆电路与秘密共享两类通用方案。值得注意的是,此三类方案在理论上都可以完成任意的密文计算任务;但在实际的方案中,往往由于效率上的取舍而构造更定制化的协议。

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

图1  多方安全计算概览


二、秘密共享

秘密共享技术事实上早于MPC被提出,其最初是为了解决密钥存储相关的问题,其最初的设计思路可参考文章(秘密共享—隐私计算和区块链共识中的榫卯)。简单起见,本文直接给出秘密共享的通用定义形式。

定义1:(接入结构)。定义  为参与方集合,  为参与方集合的一个集族。如果集合  且  可推出  ,那么集族  就是单调的。接入结构定义为  的非空子集的一个单调集族  。接入结构  内的集合被称为授权集合,接入结构外的集合被称为未授权集合

此处通过定义授权集合来确定秘密应该被哪些参与方知晓。

定义2:(秘密共享)如果以下条件成立,那么分配方案是在秘密的给定概率分布  上实现接入结构  的一个秘密共享方案,此处  表示信息熵。

      正确性:对于每个授权集合  ,有  。

      安全性:对于每个未授权集合  ,有  。

即对授权集合用户来说,更多的其它参与方也不能得到额外的信息;而对未授权集合,他们事实上未得到任何信息。因为上述定义需要绝对的正确性与安全性,以上定义也常被称为完美秘密共享;如将上述公式中的等号换成约等号,则相应方案常被称为统计秘密共享;在MPC计算中通常只关注于完美秘密共享方案。


三、密文加法

完美秘密共享有多种构造方法,通常也对应着不同的密钥管理需求;但在MPC中通常不聚焦于此;与同态类似,我们更关注于其计算的同态性。如本文开头所述,我们需要让单步计算的输入与输出保持同样的密文格式。

在MPC计算中,我们通常使用最简单的秘密共享方案:加法秘密共享。例如,有原始的秘密值4,有两个参与方  与  ,那么在经过加法秘密共享后,参与方  可能得到分享值3,  对应得到分享值1。当然,实践中我们通常选用一个较大的环(比如uint64)来完成秘密共享,需保证原始秘密值在这个环中,而分享值等可能的为环上的任意数;方便起见,后文中所述运算都为环中的运算,不再显式说明。

那么加法秘密共享是如何保证自然的保证加法同态性的呢?有原始两份秘密  与  ;那么由于输入时秘密已被分享,比如  方持有  ,  方持有  ,那么由于有  ;那么每一方无需与另一方通信,即可在不暴露原始明文的情况下完成密文加法,计算完后  方持有  ,  方持有  。特别的,如果是已知的明文与秘密值相乘,也可以视为密文加法运算。


四、密文乘法

上一节中我们描述了加法秘密共享方案如何自然的完成密文加法,然而此类方案在不交互的情况下完成密文乘法是不可能的。早期文献往往通过OT等方案辅助完成密文乘法;幸运的是,Beaver[2]提出一种被称为  的策略来更加优雅与一致的解决了这个问题。

具体来说,Beaver将密文计算过程分为离线阶段与在线阶段;离线阶段即获得实际秘密之前的阶段。  通过在离线阶段生成一个三元组  ,保证  ;然后让参与方  与  分别获得  与  。

然后在某个时间点,参与方分别获得了实际秘密与的分享值  与  。容易注意到,存在如下公式:

此时,两参与方  只需分别计算如下步骤(注:步骤中  为赋值运算符):①  在本地计算   ②  通过一轮交互恢复出  与  ;③  在本地计算  ,然后  进一步计算  。其过程如下图所示。

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

图2  两方密文乘法过程

容易注意到,上述步骤实质上构造出了公式中除  外每一项的加法分享;通过离线阶段的乘法替代了在线阶段的乘法。该方案也是两方(也可拓展为任意多方)秘密共享策略密文乘法的通用策略,但如何快速的在离线阶段生成  是一个十分有趣艰深且仍在不断探索的问题。


五、例子

本节中我们描述一个简单的使用场景:安全地提取传感器收集信息的特征。简单来说,系统模型如下:

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

图3  传感器信息密文特征提取

传感器搜集原始图像信息,然后借助两个边缘服务器完成信息的处理,并将结果反馈给用户。此处由于传感器无力完成信息的处理步骤,而不得不借助外部服务器;而传感器直接搜集的信息往往敏感而不能直接公开,因而需要保证边缘服务器们只能得到密文的输入。

针对图像的特征提取往往使用卷积神经网络。卷积神经网络常常由全连接层、卷积层、激活函数层与池化层组成。

卷积层与全连接层仅涉及乘法与加法。例如,某卷积层的神经元共享同样的权重和偏置值;在计算这一层时,第  个输出神经元是通过计算  得到的,其中  与  为权重矩阵  与输入神经元对应位置的值。当使用预训练神经网络时,权重  与  为已知值。全连接层的计算与之类似,不再赘述。

激活函数层为神经网络提供非线性。常见的激活函数,一类如  ,其涉及指数运算与除法运算;另一类如  ,其仅涉及比较运算。诸如前者,通常可使用泰勒展开等方式将其转换为多项式,然后即可使用密文乘法与加法完成。而后者由于涉及比较运算,可借助于混淆电路中的方案完成;在之后的文章中,我们也将进一步介绍如何仅使用秘密共享完成比较计算。

池化层分为最大池化与平均池化。最大池化层首先将输入分为若干个非重叠的小块,然后找出每个小块中最大的值并保留该值,而将其余值都置为0;平均池化计算每个小块中值的平均值,并用该平均值替换原来的值。对于前者同样涉及密文比较计算,而后者只是一个普通的密文加法运算,可在秘密共享中各方独立完成。

就这样,依靠本文所介绍的密文加法与乘法策略,再简单结合之前文章中的GC比较策略,我们就可以做到密文神经网络的计算,从而进一步完成密文传感器信息的特征提取,而只需传感器进行简单的加法秘密共享计算。

熟悉联邦学习的朋友可能注意到,上述策略如果应用于密文神经网络训练则与联邦建模目标一致;但请注意两类方案有着本质的不同,MPC对每一步基础计算都做了密文替换,而联邦学习通常只对梯度等信息做了一定程度的遮掩;MPC类方案输入信息与神经网络参数的安全性由严格的困难性假设保证,但在效率上也仍有较大的改善空间。


六、总结

本文简要的介绍了多方安全计算中另一个重要工具秘密共享,并以加法秘密共享这一最简形式为例,介绍了密文加法与密文乘法的计算方法。值得注意的是,相比于GC类方案,秘密共享更符合直觉,也更多停留在数值计算的层次,因而在实际编码实现与应用中更占优势。虽然通过本文介绍的方案,在理论上已可以计算任意的密文计算,然而更高效的计算方式往往需要更定制化的密文计算协议,在真实的计算机中往往也有着更复杂的取舍。在之后的文章中,我们将介绍诸如比较与除法等基础计算模块的密文协议构造方法,也将介绍更多已有的开源密文计算框架。

参考文献

参考文献

[1] Micali S, Goldreich O, Wigderson A. How to play any mental game[C]//Proceedings of the Nineteenth ACM Symp. on Theory of Computing, STOC. ACM, 1987: 218-229.

[2] Beaver D. Efficient multiparty protocols using circuit randomization[C]//Annual International Cryptology Conference. Springer, Berlin, Heidelberg, 1991: 420-432. 



往期回顾

安全多方计算之前世今生

安全多方计算(1):不经意传输协议

多方安全计算(2):隐私信息检索方案汇总分析

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


内容编辑:创新研究院  顾   奇
 责任编辑:创新研究院  顾   奇

本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。

关于我们


绿盟科技研究通讯由绿盟科技创新研究院负责运营,绿盟科技创新研究院是绿盟科技的前沿技术研究部门,包括星云实验室、天枢实验室和孵化中心。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。

绿盟科技创新研究院作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。

我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。

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

长按上方二维码,即可关注我

原文始发于微信公众号(绿盟科技研究通讯):多方安全计算(4)MPC万能积木 秘密共享

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月19日00:32:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   多方安全计算(4)MPC万能积木 秘密共享http://cn-sec.com/archives/1302911.html

发表评论

匿名网友 填写信息