学习:隐私计算基础理论:多方安全计算技术基础
Secure Multi-party Computation, MPC
百万富翁问题:两方资产比较,不泄露数据,只得到比较结果
基因诊断:通过分析基因数据得到更精准诊断结果。example:Critical Analysis of Genome-Wide Association Studies: Triple Negative Breast Cancer Quae Exempli Causa
模型训练问题:多方数据联合模型、高精度机器学习模型
联合风控问题:金融数据的隐私保护联合分析,大幅度降低金融风险。
初始阶段:预想MPC及应用1982-1986:[Yao82]百万富翁问题
第一阶段:可行性结果与基本框架1986-1988:[Yao86,GMW87]混淆电路、加法秘密分享
1988-1990:[BGW88,CCD88,RB89]诚实大多数MPC协议
第二阶段:理论问题研究1990-2003:[BMR90]多方混淆电路
第三阶段:高效MPC协议设计应用2003-2022:[MNPS04](首个MPC实现、1.5s解决百万富翁问题LAN)多种MPC实现和开源库
所有参与方n,敌手t
· 诚实大多数 t < n/2
· 不诚实大多数 t >= n/2 (通常 t = n-1 )
· 半诚实敌手:被动攻击、按照协议规定执行、可根据协议记录攻击隐私性
· 恶意敌手:主动攻击、执行任意攻击、发送任意消息
· 概率多项式时间:计算安全协议(包括 不诚实大多数、诚实大多数)
· 无限计算能力:信息论安全协议(仅诚实大多数)
· t >= n/2 中止安全 (Security with abort):恶意实体获得输出后,可终止协议,使得诚实实体不能获得输出
· t < n/2 公平性 (Fairness) :如果一个实体获得输出,那么所有实体获得输出
保证输出传送 (Guaranteed output delivery) :所有实体一定获得输出
大部分高效的MPC协议考虑中止安全性
大部分MPC协议考虑电路模型:
· 布尔电路:由逻辑门 (XOR、AND) 组成的电路
· 算术电路:域/环上操作 (ADD、MULT) 组成的电路
RAM-MPC研究相对较少,适合数据库输入:
RAM程序:由读、写操作 (Read、Write) 组成的程序
(攻击者确定攻破并控制参与方策略)
· 静态腐化 (Static corruption) :被腐化实体在协议运行前确定
· 自适应腐化 (Adaptive corruption) :敌手在协议运行过程中自适应决定腐化哪些实体
· 同步网络 (Synchronous) :同一个交互轮的消息在固定延时▲内一定到达 实际高效的MPC协议主要考虑静态腐化和同步网络 部分MPC协议融合了两种设计方法 密码学的算法和协议一般都有安全证明,假设有一些困难问题,基于困难问题设计出的协议,证明困难问题是困难的,则协议是安全的。如果协议的安全性被打破,那么底层困难问题的困难性也就被打破。 MPC如何实现安全协议的证明? 进阶研读:UC模型 进阶研读:MPC分类与国内外研究进展参考一下综述论文: 进阶研读: Garbler需要将编码信息“不经意”传送给Evaluator OT变形: PCG类: PCF类: 目前:计算几百/几千个OTs,IKNP类协议效率更高;计算上万OTs,PCG类型协议效率高 · Yao 2PC协议在半诚实敌手模型下安全 当前技术:认证混淆电路方法,效率优于C&C方法 协议三个阶段: · 核心问题:存在多个Garble,如何抵抗合谋攻击? BMR 进阶研读: 线性秘密分享(LSSS)方案 特点:t门限数 x = x 1 + . . . + x n x=x_1+...+x_n x=x1+...+xn f ( X ) = x + c 1 ⋅ X + . . . + c t ⋅ X t f(X)=x+c_1 · X+...+c_t · X^t f(X)=x+c1⋅X+...+ct⋅Xt · Mitsuru Ito, Akira Saito and Takao Nishizeki.Secret sharing scheme realizing general access structure. Electron Communjpn /// 1989 · Matthew Franklin and Moti Yung. Communication complexity of secure computation. STOC 1992 半诚实MPC协议的设计基本思路:所有电路线值均被线性秘密分享,保证隐私性 · 输入处理:对于 P i P_i Pi的每个输出y,所有参与方运行y=Reconstruct([y],i) ✔ ×
· 异步网络 (Asynchronous) :没有要求同步时钟,也没有要求预先固定的网络延时,更加现实的网络假设( 异步要求tMPC的两大类设计方法
通信带宽高
常数轮复杂度
通信带宽低、吞吐率高
轮数与电路深度成线性关系MPC安全模型
引入真实世界和理想世界,真实世界就是我们所设计的MPC协议,各个参与方之间互相通信,最后执行获得协议的输出。理想世界中我们想象有一个可信的第三方,大家把输入发给他,他在把最终输出发送给大家。从理想世界模拟出的view和真实世界是不可区分的,即除了协议输出之外不泄露其他秘密信息。
([Can01] Ran Canetti. Universally composable security: a new paradigm for cryptographic protocols. In FOCS 2001.)
通用可组合模型,用到了模块化的思想来设计更为复杂的安全协议,把协议拆分成若干子部分,如果每个子部分都具有UC安全的性质,那组合起来也是安全的
[Lin21] Yehuda Lindell. Secure multiparty computation. In Communications of the ACM 2021
[Ors20] Emmanuela Orsini. Efficient, actively secure MPC with a dishonest majority: A survey. In WAIFI 2020
[FY21] Dengguo Feng and Kang Yang. Concretely Efficient Secure Multi-Party Computation Protocols: Survey and More. In Security and Safety 2021混肴电路方法
混淆电路基本概念
混淆电路是设计常数轮MPC协议的基础组件。混淆电路的混淆方案可以理解为有四个算法:
Input:计算的函数对应的电路C
Output:被混淆的电路GC,编码信息e,解码信息d
Input:加密x+编码信息e
Output:加密后输入X
Input:混淆电路GC+编码后加密后输入X
Output:加密后结果Y
Input:加密输出Y+解码信息d
Output:最终计算结果明文y=C(x)混淆电路的已知构造
可以理解混淆电路是电路加密的方法,每一个逻辑门的密文的大小对应了协议通信的效率,安全参数k(kappa密钥长度)
· Free-XOR: Vladimir Kolesnikov,Thomas Schneider.Improved garbled circuit: Free XOR gates and applications.In ICALP 2008.
· Half-Gates: Samee ZahurMike RosulekDavid Evans.Two halves make a whole. In EUROCRYPT 2015.
· Three-Halves: Mike Rosulek, Lawrence Roy.Three halves make a whole? beating the half-gates lower bound for garbled circuits. In CRYPTO 2021不经意传输 OT, Oblivious Transfer
发送方两个消息m_0,m_1
接收方输入选择b(0或1),从发送方的两个消息中选一个得到m_b
安全要求:发送方不能知道接收方的选择,接收方只能选择一个
ROT(Random OT):在OT基础上,将OT的消息和选择作随机化(选择不是接收方选择而是随机选择)
COT(Correlated OT):在ROT基础上,r_0和r_1是相关的,接收方最终得到r_b不经意传输扩展OT Extension
IKNP类(最早OT扩展):
优点:计算量小,通过PRG实现OT扩展
缺点:通信量大,与输出长度呈线性关系
优点:通信量小,达到亚线性通信复杂度
缺点:计算量较大,需要一次性计算所有输出
优点:亚线性通信复杂度,可以分批次按需计算输出
缺点:计算量相当大
进阶研读:
[BCG+22] Elette Boyle,Geoffroy Couteau,Niv Gilboa,Yuval IshaiLisa KohlNicolas Resch, Peter Scholl. Correlated Pseudorandomness from Expand-Accumulate Codes. in CRYPTO 2022.
[BCG+19] Elette Boyle,Geoffroy Couteau,Niv Gilboa,Yuval lshai,Lisa Kohl,Peter Scholl. Efficient pseudorandom correlation generators:Silent OT extension and more. In CRYPTO 2019.不经意线性函数计算
Yao两方安全计算协议基本框架
思考题:给定混淆方案的安全性质,如何证明Yao 2PC协议在半诚实敌手模型下的安全性
恶意敌手模型下2PC协议
· 如何检测Garbler的恶意行为
· Cut-and-Choose(C&C)方法
电路级C&C
· 计算n个GCs
· 随机选择一半打开检查正确性(如果GC是错误的,没有正确进行Garble,则执行结束)
· 若打开的都是正确的,则剩下一半用于计算
门级C&C
· 计算n个混淆AND门
· 随机选择一半打开检擦正确性
· 将剩下一半混淆AND门粘合成一个GC
· 通过信息论消息认证码(IT-MAC)实现电路认证,保证计算结果正确性
· 通过混淆电路的分布式生成,抵抗选择失败攻击(敌手猜测部分比特,观察协议是否中止)
进阶研读:
[KRRW18]Jonathan Katz,Samuel Ranellucci,Mike Rosulek,iao Wang. Optimizing authenticated garbling for faster secure two-party computation. In CRYPTO 2018.
[DILO22] Samuel Dittmer,Yuval Ishai, Steve Lu,Rafail Ostrovsky. Authenticated garbling from simple correlations. In CRYPTO 2022.常数轮多方安全计算协议
· 解决思路:所有参与方共同计算混淆电路
· 对称形:所有参与方都能计算GC
· 通信带宽: 4 n 2 ∣ C ∣ k 4n^2|C|k 4n2∣C∣k比特
· 在线轮数:2轮
WRK
· 非对称形:只有1方能计算GC
· 通信带宽: 4 n ( n − 1 ) ∣ C ∣ k 4n(n-1)|C|k 4n(n−1)∣C∣k比特
· 在线轮数:2-4轮
[HSS17] Carmit Hazay, Peter Scholl,Eduardo Soria-Vazquez. Low Cost Constant Round MPC Combining BMR and Oblivious Transfer. In ASIACRYPT 2017.
[WRK17] Xiao Wang,Samuel Ranellucci,Jonathan Katz.Global-scale secure multiparty computation. In ACM CCS 2017.
[YWZ20] Kang Yang,Xiao Wangjiang Zhang. More efficient MPC from improved triple generation and authenticated garbling. In ACM CCS 2020.秘密分享方法
· Share(x)→[x]= ( x 1 , . . . , x n ) (x_1,...,x_n) (x1,...,xn) 通过分享算法把需要分享的秘密x拆分并给到各个参与方
· Reconstruct([x],i)→x 一定数量的参与方可以通过重构算法恢复出秘密
· Open([x])→x
隐私性:任意少于t+1个实体无法获得秘密任何信息
正确性:任意t+1个实体可恢复秘密
加法同态性:[y]= Σ c h ⋅ [ x h ] + c 0 Σc_h · [x_h]+c_0 Σch⋅[xh]+c0
常用秘密分享方案
加法秘密分享
P i P_i Pi获得 x i x_i xi
常用于不诚实大多数MPCShamir秘密分享
P i P_i Pi获得 x i = f ( i ) x_i=f(i) xi=f(i),拉格朗日插值重构
多用于诚实大多数MPC复制秘密分享
· Ronald Cramer,Ivan Damgảrd,Yuval Ishai.Share Conversion,Pseudorandom Secret-Sharing and Applications to Secure Computation. TCC 2005打包秘密分享
· Vipul Goyal,Antigoni Polychroniadou and Yifan Song.Unconditional Communication-Efficient MPC via Hall’s Marriage Theorem. CRYPTO 2021基于秘密分享的MPC协议框架
· 输入处理:对于 P i P_i Pi的每个输入x, P i P_i Pi运行[x]⬅Share(x)
· 电路计算:
电路中可分为线性的加法门和非线性的乘法门,加法同态性各参与方自行对应的share进行加法,乘法需要调用乘法子协议进行通信交互多方计算
基于OT的GMW协议
总结及展望
4. 两方混淆电路通信开销已达到≈1.5k,如何突破该通信下界?
5. 不少恶意敌手模型下安全多方计算协议的性能比半诚实敌手模型下MPC协议慢数倍(尤其是不诚实大多数),如何突破?
6. 不同类型MPC协议具有不同的效率和安全优势,同时MPC协议设计在不断更新中,给标准化带来巨大困扰