【隐私计算】多方安全计算技术基础 | MPC

本文详细介绍了多方安全计算(MPC)的基础理论,包括其背景、应用案例、发展进程、分类(如参与方诚实性、敌手行为等)、设计方法(混淆电路和秘密分享)、安全模型以及通信效率的挑战。文章还探讨了如何通过混淆电路实现OT和高效协议设计,以及未来可能的发展方向。
摘要由CSDN通过智能技术生成

学习:隐私计算基础理论:多方安全计算技术基础

多方安全计算(MPC)背景

Secure Multi-party Computation, MPC

MPC应用举例

百万富翁问题:两方资产比较,不泄露数据,只得到比较结果
基因诊断:通过分析基因数据得到更精准诊断结果。example:Critical Analysis of Genome-Wide Association Studies: Triple Negative Breast Cancer Quae Exempli Causa
模型训练问题:多方数据联合模型、高精度机器学习模型
联合风控问题:金融数据的隐私保护联合分析,大幅度降低金融风险。

MPC发展进程

初始阶段:预想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实现和开源库

多方安全计算分类

  1. 不诚实参与方数量
  2. 敌手(即攻击者)行为
  3. 敌手计算能力
  4. 输出可达性
  5. 计算模型
  6. 通信模型
  7. 腐化策略

1. 不诚实参与方数量占比

所有参与方n,敌手t
· 诚实大多数 t < n/2
· 不诚实大多数 t >= n/2 (通常 t = n-1 )

2. 敌手行为

· 半诚实敌手:被动攻击、按照协议规定执行、可根据协议记录攻击隐私性
· 恶意敌手:主动攻击、执行任意攻击、发送任意消息

3. 敌手计算能力

· 概率多项式时间:计算安全协议(包括 不诚实大多数、诚实大多数)
· 无限计算能力:信息论安全协议(仅诚实大多数)

4. 输出可达性

· t >= n/2 中止安全 (Security with abort):恶意实体获得输出后,可终止协议,使得诚实实体不能获得输出
· t < n/2 公平性 (Fairness) :如果一个实体获得输出,那么所有实体获得输出
  保证输出传送 (Guaranteed output delivery) :所有实体一定获得输出

大部分高效的MPC协议考虑中止安全性

5. 计算模型

大部分MPC协议考虑电路模型:
    · 布尔电路:由逻辑门 (XOR、AND) 组成的电路
    · 算术电路:域/环上操作 (ADD、MULT) 组成的电路
RAM-MPC研究相对较少,适合数据库输入:
    RAM程序:由读、写操作 (Read、Write) 组成的程序
计算模型

6. 腐化策略

(攻击者确定攻破并控制参与方策略)
· 静态腐化 (Static corruption) :被腐化实体在协议运行前确定
· 自适应腐化 (Adaptive corruption) :敌手在协议运行过程中自适应决定腐化哪些实体

7.通信网络

· 同步网络 (Synchronous) :同一个交互轮的消息在固定延时▲内一定到达
· 异步网络 (Asynchronous) :没有要求同步时钟,也没有要求预先固定的网络延时,更加现实的网络假设( 异步要求t<n/3 )

实际高效的MPC协议主要考虑静态腐化和同步网络

MPC的两大类设计方法

  1. 混淆电路方法
      通信带宽高
      常数轮复杂度
  2. 秘密分享方法
      通信带宽低、吞吐率高
      轮数与电路深度成线性关系

部分MPC协议融合了两种设计方法

MPC安全模型

密码学的算法和协议一般都有安全证明,假设有一些困难问题,基于困难问题设计出的协议,证明困难问题是困难的,则协议是安全的。如果协议的安全性被打破,那么底层困难问题的困难性也就被打破。

MPC如何实现安全协议的证明?
引入真实世界和理想世界,真实世界就是我们所设计的MPC协议,各个参与方之间互相通信,最后执行获得协议的输出。理想世界中我们想象有一个可信的第三方,大家把输入发给他,他在把最终输出发送给大家。从理想世界模拟出的view和真实世界是不可区分的,即除了协议输出之外不泄露其他秘密信息。
在这里插入图片描述

进阶研读:UC模型
([Can01] Ran Canetti. Universally composable security: a new paradigm for cryptographic protocols. In FOCS 2001.)
通用可组合模型,用到了模块化的思想来设计更为复杂的安全协议,把协议拆分成若干子部分,如果每个子部分都具有UC安全的性质,那组合起来也是安全的

进阶研读:MPC分类与国内外研究进展参考一下综述论文:
[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协议的基础组件。混淆电路的混淆方案可以理解为有四个算法:

  1. Garble算法
      Input:计算的函数对应的电路C
      Output:被混淆的电路GC,编码信息e,解码信息d
  2. Garble算法
      Input:加密x+编码信息e
      Output:加密后输入X
  3. Eval算法
      Input:混淆电路GC+编码后加密后输入X
      Output:加密后结果Y
  4. Decode算法
      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

Garbler需要将编码信息“不经意”传送给Evaluator
在这里插入图片描述发送方两个消息m_0,m_1
接收方输入选择b(0或1),从发送方的两个消息中选一个得到m_b
安全要求:发送方不能知道接收方的选择,接收方只能选择一个

OT变形:
ROT(Random OT):在OT基础上,将OT的消息和选择作随机化(选择不是接收方选择而是随机选择)
COT(Correlated OT):在ROT基础上,r_0和r_1是相关的,接收方最终得到r_b

不经意传输扩展OT Extension

在这里插入图片描述IKNP类(最早OT扩展):
 优点:计算量小,通过PRG实现OT扩展
 缺点:通信量大,与输出长度呈线性关系

PCG类
 优点:通信量小,达到亚线性通信复杂度
 缺点:计算量较大,需要一次性计算所有输出

PCF类
 优点:亚线性通信复杂度,可以分批次按需计算输出
  缺点:计算量相当大

目前:计算几百/几千个OTs,IKNP类协议效率更高;计算上万OTs,PCG类型协议效率高
进阶研读:
[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协议

· Yao 2PC协议在半诚实敌手模型下安全
· 如何检测Garbler的恶意行为
· Cut-and-Choose(C&C)方法
在这里插入图片描述
电路级C&C
· 计算n个GCs
· 随机选择一半打开检查正确性(如果GC是错误的,没有正确进行Garble,则执行结束)
· 若打开的都是正确的,则剩下一半用于计算
在这里插入图片描述
门级C&C
· 计算n个混淆AND门
· 随机选择一半打开检擦正确性
· 将剩下一半混淆AND门粘合成一个GC
在这里插入图片描述

当前技术:认证混淆电路方法,效率优于C&C方法
· 通过信息论消息认证码(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.

常数轮多方安全计算协议

· 核心问题:存在多个Garble,如何抵抗合谋攻击?
· 解决思路:所有参与方共同计算混淆电路

BMR
· 对称形:所有参与方都能计算GC
· 通信带宽: 4 n 2 ∣ C ∣ k 4n^2|C|k 4n2Ck比特
· 在线轮数:2轮
WRK
· 非对称形:只有1方能计算GC
· 通信带宽: 4 n ( n − 1 ) ∣ C ∣ k 4n(n-1)|C|k 4n(n1)Ck比特
· 在线轮数: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.

秘密分享方法

线性秘密分享(LSSS)方案
· Share(x)→[x]= ( x 1 , . . . , x n ) (x_1,...,x_n) (x1,...,xn) 通过分享算法把需要分享的秘密x拆分并给到各个参与方
· Reconstruct([x],i)→x 一定数量的参与方可以通过重构算法恢复出秘密
· Open([x])→x

特点:t门限数
隐私性:任意少于t+1个实体无法获得秘密任何信息
正确性:任意t+1个实体可恢复秘密
加法同态性:[y]= Σ c h ⋅ [ x h ] + c 0 Σc_h · [x_h]+c_0 Σch[xh]+c0
在这里插入图片描述

常用秘密分享方案

加法秘密分享

x = x 1 + . . . + x n x=x_1+...+x_n x=x1+...+xn
P i P_i Pi获得 x i x_i xi
常用于不诚实大多数MPC

Shamir秘密分享

f ( X ) = x + c 1 ⋅ X + . . . + c t ⋅ X t f(X)=x+c_1 · X+...+c_t · X^t f(X)=x+c1X+...+ctXt
P i P_i Pi获得 x i = f ( i ) x_i=f(i) xi=f(i),拉格朗日插值重构
多用于诚实大多数MPC

复制秘密分享

· Mitsuru Ito, Akira Saito and Takao Nishizeki.Secret sharing scheme realizing general access structure. Electron Communjpn /// 1989
· Ronald Cramer,Ivan Damgảrd,Yuval Ishai.Share Conversion,Pseudorandom Secret-Sharing and Applications to Secure Computation. TCC 2005

打包秘密分享

· Matthew Franklin and Moti Yung. Communication complexity of secure computation. STOC 1992
· Vipul Goyal,Antigoni Polychroniadou and Yifan Song.Unconditional Communication-Efficient MPC via Hall’s Marriage Theorem. CRYPTO 2021

基于秘密分享的MPC协议框架

半诚实MPC协议的设计基本思路:所有电路线值均被线性秘密分享,保证隐私性
· 输入处理:对于 P i P_i Pi的每个输入x, P i P_i Pi运行[x]⬅Share(x)
· 电路计算:
在这里插入图片描述电路中可分为线性的加法门和非线性的乘法门,加法同态性各参与方自行对应的share进行加法,乘法需要调用乘法子协议进行通信交互多方计算

· 输入处理:对于 P i P_i Pi的每个输出y,所有参与方运行y=Reconstruct([y],i)

基于OT的GMW协议

在这里插入图片描述

总结及展望

在这里插入图片描述

  1. 通信是安全多方计算的主要效率瓶颈
  2. 安全多方计算协议的实际性能将被不断提高(与明文计算的性能差距不断缩小)
  3. 部分MPC协议在恶意敌手模型下的通信效率已经达到或接近半诚实敌手模型下协议的效率

×
4. 两方混淆电路通信开销已达到≈1.5k,如何突破该通信下界?
5. 不少恶意敌手模型下安全多方计算协议的性能比半诚实敌手模型下MPC协议慢数倍(尤其是不诚实大多数),如何突破?
6. 不同类型MPC协议具有不同的效率和安全优势,同时MPC协议设计在不断更新中,给标准化带来巨大困扰

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 隐私计算平台的搭建可以分为以下几步: 1. 选择适当的隐私计算技术,例如密码学技术、私密性处理技术等。 2. 选择合适的平台构建工具,如Apache Hadoop、Apache Spark等。 3. 构建并配置隐私计算平台所需的基础设施,包括网络、存储、计算资源等。 4. 部署隐私计算应用程序,并进行相关的数据处理和分析。 5. 对平台进行监控和维护,确保隐私计算平台的安全性和可靠性。 注意事项:隐私计算平台的搭建需要专业技术和经验,可能需要寻求专业机构的帮助。 ### 回答2: 搭建隐私计算平台需要以下步骤: 1. 需求分析:确定平台的具体需求和目标,例如数据隐私保护、数据共享等。 2. 架构设计:制定平台的整体架构,包括数据处理流程、数据传输方式、数据存储方式等。 3. 硬件环境准备:选择适当的服务器和计算设备,具备保护硬件安全的能力。 4. 软件环境准备:选择合适的隐私计算软件框架,如MPC、FHE等,并进行必要的配置和安装。 5. 数据预处理:对所需的数据进行预处理,去除冗余和敏感信息,确保数据的隐私性。 6. 数据保护:采用加密算法、安全协议等技术手段,保护数据在传输和存储过程中的安全。 7. 隐私计算:使用合适的隐私计算算法,对数据进行计算和分析,确保原始数据的隐私性仍然得到保护。 8. 访问控制:建立合理的权限管理机制,限制用户对数据和计算结果的访问权限,防止信息泄露。 9. 安全监控:建立实时的安全监控系统,对平台进行安全审计、漏洞扫描和安全隐患排查,及时发现和处理风险。 10. 维护与更新:定期对硬件和软件进行维护和更新,保持隐私计算平台的稳定性和安全性。 总之,搭建隐私计算平台涉及需求分析、架构设计、硬件环境准备、软件环境准备、数据预处理、数据保护、隐私计算、访问控制、安全监控、维护与更新等步骤,需综合考虑数据隐私、系统性能和安全性等因素,确保平台能够有效保护数据隐私并满足用户需求。 ### 回答3: 要搭建一个隐私计算平台,需要以下几个步骤: 1. 确定需求和目标:首先需要明确对隐私计算平台的需求和目标。例如,确定需要什么样的隐私保护技术和功能,以及平台的规模和扩展性等。 2. 选择合适的技术和框架:根据需求和目标,选择适合的隐私计算技术和框架。例如,可以使用安全多方计算(Secure Multi-Party Computation,简称SMPC)、同态加密(Homomorphic Encryption)以及差分隐私(Differential Privacy)等技术。 3. 设计系统架构:根据选定的技术和框架,设计系统架构。这包括确定平台的各个组件和模块,如数据上传、隐私保护处理、数据查询等模块,并确定它们之间的通信和交互方式。 4. 实现核心功能:根据系统架构,实现平台的核心功能。这包括开发数据加密、安全计算、身份认证等功能模块,并保证它们的安全性和可靠性。 5. 引入数据安全保护机制:在搭建隐私计算平台时,必须注意数据安全保护。例如,加密数据在传输和存储过程中采取安全的协议和算法,严格控制数据的访问权限,以及使用追溯性技术保护数据的来源和治理过程。 6. 进行测试和优化:在平台搭建完成后,进行全面的测试以验证系统的可靠性和性能。根据测试结果,进行必要的优化和调整。 7. 部署和运维:平台完成测试后,进行部署并进行常规的运维工作。这包括监控系统运行情况、及时处理问题和漏洞、保证数据的安全性和隐私性等。 总之,搭建隐私计算平台需要明确需求和目标,选择合适的技术和框架,设计系统架构,实现核心功能,引入数据安全保护机制,进行测试和优化,并进行部署和运维。这样才能确保平台的安全性、隐私性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值