多方安全计算 部署架构 多方安全计算 开源_差分

多方安全计算(Secure Multi-Party Computation, MPC)是密码学的一个分支,在无可信第三方的情况下,仍可安全地按照公开的计算逻辑,进行数据协同计算,并输出结果。

即使参与各方输入的数据只有自己知道,仍可以通过加密算法,各自得到自己想要的计算结果,但无法推断出原始加密数据,从而保障了隐私安全。

MPC起源于姚期智院士在1982年提出的百万富翁问题。自MPC理论创立以来,已经衍生出多个技术分支,包括混淆电路、秘密分享、同态加密,不经意传输,隐私集合交集和差分隐私等。

混淆电路

混淆电路(secret sharing,SS)又称姚氏加密电路。它在1986年由姚期智教授提出,所以又称姚氏电路。

其核心是将安全计算函数编译成布尔电路的形式,对电路本身进行加密。对于混淆电路存在两种操作:

一种是生成混淆电路,先生成一个特定功能的布尔电路,再以此为基础,将其中的逻辑门(真值)转换为混淆门(假值),即可生成一个混淆电路;

另一种操作称为求值操作,先生成混淆电路,再使用混淆电路计算得到输出。

混淆电路也可以理解为一种密码学协议,它基于混淆电路形成安全计算协议,由最初的两方安全协议,推演出多方安全协议。

秘密分享

秘密分享(secret sharing,SS)由Shamir和Blakley于1979年提出,秘密分享算法是将极为复杂的电路设计,简化为简约高效的数学思路。

其基本形式是将每个数字拆散成多个数,并将这些数分发到多个参与方,而每个参与方只能拿到原始数据的一部分。

结果是,要想还原真实数据,只有大家把各自所分得的数据放在一起才能实现,缺一不可。

由于秘密拆分方式不同,秘密分享分为基于多项式插值的秘密分享和加性秘密分享。

加性算术秘密分享能够计算线性运算、加性布尔秘密分享能够计算比较大小等非线性运算。

加性秘密分享只需要进行简单的运算,计算开销小,在MPC中得到了广泛的应用。秘密分享的缺点是交互轮数和电路深度有关。

不经意传输

不经意传输(oblivious transfer,0T)由Rabin于1981年提出,消息发送方拥有多个消息,接收方只能获得其中某个值,而发送方也不知道接收方的选择信息。

其衍生技术相关不经意传输(correlated oblivioustransfer,COT)可以生成具有关系的随机数。

OT,COT是重要的密码学组件,能够为GC传输导线标签、为SS生成相关随机数,只使用OT技术也能实现MPC协议。

在OT的性能优化历程中,OT扩展(OT Extension)技术引入对称加密来降低计算开销,静默OT扩展(silent OT Extension)技术在本地扩展随机数种子来降低通信开销。

同态加密

同态加密(homomorphic encryption,HE)的概念由Rivest等人于1978年提出,可以在无需解密的情况下直接对加密数据执行计算。

在发展过程中先后有部分同态加密方案与浅同态加密方案提出,直到2009年Gentry构造出首个全同态加密方案。

同态加密的优点是能以最小的通信成本设计轮数较优的MPC协议,缺点是乘法同态运算会带来较大的计算和存储开销,目前加法同态在实际中应用较多。

差分隐私

差分隐私(Differential Privacy,DP)技术是Dwork在2006年针对数据库的隐私泄露问题提出的一种新型密码学手段。

该机制是在源数据或计算结果上添加特定分布的噪音,确保各参与方无法通过得到的数据分析出数据集中是否包含某一特定实体。

差分隐私包括本地差分隐私和计算结果差分隐私。

本地差分隐私指在汇聚和计算前对数据加入噪声,用于数据收集方不可信的场景;

计算结果差分隐私是指最终计算结果发布前对其加噪声。

隐私集合交集

隐私集合求交(Private Set Intersection,PSI)是多方安全计算领域中的经典问题,它要求参与方在互相不公开本地集合的前提下,共同计算得出多个参与方的集合的交集,且不能向任何参与方泄露交集以外的信息。

PSI 是隐私计算关键技术之一,也是纵向联邦学习的关键支撑技术。

在纵向联邦学习场景中,PSI 也被称为样本对齐(Sample Alignment)或者数据库撞库,即各参与方需要首先求出各自的训练样本ID集合之间的交集。

基于计算得到的训练样本ID 交集进行后续的纵向联邦模型训练。

零知识证明

零知识证明(zero-knowledge proof)是指证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的计算技术。

零知识证明的原理在于构建一个多方协议,即参与的多方需要完成一项任务所需采取的一系列步骤,通过完成这些步骤。

证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。

小结

目前MPC技术最典型的应用场景是隐私保护机器学习(privacy-preserving machine learning,PPML)。

从算法应用来说,多方安全计算根据其可在各方不泄露输入数据的前提下完成多方协同分析、处理和发布结果这一技术特点,广泛应 用于联合统计、联合查询、联合建模、联合预测等场景,也可以支持用户自定义计算逻辑的通用计算需求。

本文是对多方安全计算的概述,后续会分别介绍各个技术特点,以及如何利用MPC技术来实现PPML方案。

参考文献

  1. 郭娟娟,王琼霄等. 安全多方计算机器在机器学习中的应用. 计算机研究与发展. 2021.06 隐私计算联盟.
  2. 隐私计算白皮书(2021). 2021.07


多方安全计算 部署架构 多方安全计算 开源_多方安全计算_02