多方安全计算(Multi-Party Computation,简称MPC)是一种隐私保护技术,允许多个参与者在不泄露各自输入数据的情况下进行联合计算。该技术在保密性、数据隐私和安全性方面具有重要意义,广泛应用于金融、医疗、数据市场等领域。本文将详细介绍MPC的起源、发展脉络、实现方式及其现状,以帮助不了解这一技术的人更好地理解其基本原理和未来发展趋势。
一、MPC的发展历程
1982年 - MPC概念的提出
- 安德鲁·雅奥(Andrew Yao) :提出了百万富翁问题,首次描述了MPC的概念,这为MPC的研究奠定了基础。
1986年 - 雅奥的混淆电路
- Andrew Yao:在论文“如何生成加密的电路”中提出了混淆电路(Garbled Circuits),为两方计算提供了实际可行的解决方案【Yao86】。
1987年 - GMW协议
- Goldreich, Micali, Wigderson:提出了GMW协议,这是一种适用于多方参与的MPC协议,并能处理恶意行为的参与者【GMW87】。
1988年 - BGW协议和CCD协议
- Ben-Or, Goldwasser, Wigderson:提出了BGW协议,基于秘密共享的MPC协议,能够在无可信第三方的情况下进行安全计算【BGW88】。
- Chaum, Crépeau, Damgård:提出了CCD协议,进一步拓展了MPC的应用【CCD88】。
1989年 - RB协议
- Rabin, Ben-Or:提出了RB协议,改进了基于秘密共享的MPC协议【RB89】。
1990年 - BMR协议
- Beaver, Micali, Rogaway:提出了BMR协议,通过组合混淆电路和秘密共享,实现了更高效的MPC【BMR90】。
2004年 - SPDZ协议
- Damgård, Pastro, Smart, Zakarias:提出了SPDZ协议,结合了同态加密和秘密共享,实现了高效的MPC【MNPS04】。
2011年 - Fairplay框架
- Fairplay:一个基于雅奥混淆电路的MPC框架,使得研究人员可以更方便地进行MPC实验和应用【Fairplay11】。
2013年 - ABY框架
- Demmler, Schneider, Zohner:推出了ABY框架,结合了混淆电路、秘密共享和同态加密三种技术,实现了高效的混合协议【ABY13】。
2015年 - LAN协议
- Lindell, Nof:提出了适用于实际应用的LAN协议,通过优化计算和通信效率,使MPC更加实用【LAN15】。
2016年 - SecureML框架
- Mohassel, Zhang:提出了SecureML框架,实现了基于MPC的隐私保护机器学习模型,使得数据拥有者可以在不泄露数据的情况下训练机器学习模型【SecureML16】。
2018年 - MPC在医疗数据分析中的应用
- Microsoft和合作机构:使用MPC技术对医疗数据进行联合分析,保护患者隐私的同时提高诊断准确率【MS18】。
2020年 - FHE和MPC结合
- Fully Homomorphic Encryption (FHE) :结合FHE和MPC,实现了更高效的隐私保护计算【FHE20】。
2022年 - 高效的MPC协议优化
- Aly, Nawaz, Salazar, Sucasas:优化了MPC在机器学习中的应用,通过改进协议和算法,实现了更高效的隐私保护计算【ANSS22】。
二、 MPC 目前可以使用的实现方式
多方安全计算(MPC)目前有多种实现方式,每种方式都有其独特的优势和适用场景。并没有一种方式被公认为适用于所有情况的“最好”方式。具体的实现方式包括以下几种主要技术:
1. 秘密共享(Secret Sharing)
秘密共享是MPC的基础技术之一,它通过将数据分割成若干份,每份数据片段独立保存,只在必要时组合起来进行计算。
主要协议
- Shamir's Secret Sharing:将秘密数据分成多个部分,只有在收集到足够多的部分时才能恢复原始数据。广泛用于分布式系统和安全计算中。
- BGW Protocol:Ben-Or、Goldwasser和Wigderson提出的基于秘密共享的协议,能够在无可信第三方的情况下进行计算。
2. 同态加密(Homomorphic Encryption)
同态加密允许在加密数据上直接进行计算,计算结果解密后即为原始数据的计算结果。
主要协议
- Fully Homomorphic Encryption (FHE) :可以在加密数据上进行任意计算,但计算开销较大,主要用于需要强隐私保护的场景。
- Partially Homomorphic Encryption (PHE) :只支持特定类型的计算(如加法或乘法),但效率较高。
3. 混淆电路(Garbled Circuits)
混淆电路通过将计算过程表示为电路,并对电路进行混淆处理,使得参与方只能获得最终计算结果而无法获知中间数据。
主要协议
- Yao's Garbled Circuits:用于安全两方计算,适用于需要高效率且数据隐私要求较高的场景。
4. 混合协议(Hybrid Protocols)
混合协议结合了多种MPC技术,利用各自的优势来提高计算效率和安全性。
主要协议
- ABY Framework:结合了混淆电路、秘密共享和同态加密技术,适用于需要高效计算和强隐私保护的场景。
三、MPC目前存在的问题
性能优化
目前,MPC的计算和通信开销仍较大,限制了其在大规模数据处理中的应用。研究人员通过优化算法和硬件加速,不断提升MPC的性能。例如,通过预处理和并行计算,减少计算时间和通信量 (SpringerLink)。
应用场景拓展
MPC已在金融、医疗、广告投放等领域展开应用。例如,多个银行可以在不泄露客户数据的情况下,联合进行信用风险评估;医疗机构可以在保护患者隐私的前提下,联合分析医疗数据,提高诊断和治疗效果 (SpringerLink) (Multiparty Computation)。
法律和伦理问题
MPC的应用涉及数据隐私和安全的法律和伦理问题。目前,相关法律法规尚未完全明确MPC的法律地位和合规要求,亟需进一步研究和规范 (SpringerLink)。
可用性和可扩展性
尽管MPC在保护数据隐私方面具有巨大潜力,但其实现和使用仍较为复杂,普通用户难以理解和掌握。未来的发展应注重提升MPC的可用性和可扩展性,使其能够在更多场景中得到应用 (SpringerLink)。 Pomelo_刘金。转载请注明原文链接。感谢!
参考文献
- Yao, A.C. (1986). "How to Generate and Exchange Secrets". Proceedings of the 27th Annual Symposium on Foundations of Computer Science (FOCS 1986).
- Goldreich, O., Micali, S., Wigderson, A. (1987). "How to Play any Mental Game". Proceedings of the 19th Annual ACM Symposium on Theory of Computing (STOC 1987).
- Ben-Or, M., Goldwasser, S., Wigderson, A. (1988). "Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation". Proceedings of the 20th Annual ACM Symposium on Theory of Computing (STOC 1988).
- Chaum, D., Crépeau, C., Damgård, I. (1988). "Multiparty Unconditionally Secure Protocols". Proceedings of the 20th Annual ACM Symposium on Theory of Computing (STOC 1988).
- Rabin, M.O., Ben-Or, M. (1989). "Verifiable Secret Sharing and Multiparty Protocols with Honest Majority". Proceedings of the 21st Annual ACM Symposium on Theory of Computing (STOC 1989).
- Beaver, D., Micali, S., Rogaway, P. (1990). "The Round Complexity of Secure Protocols". Proceedings of the 22nd Annual ACM Symposium on Theory of Computing (STOC 1990).
- Damgård, I., Pastro, V., Smart, N.P., Zakarias, S. (2012). "Multiparty Computation from Somewhat Homomorphic Encryption". Proceedings of the 31st Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT 2012).
- Demmler, D., Schneider, T., Zohner, M. (2013). "ABY – A Framework for Efficient Mixed-Protocol Secure Two-Party Computation". Proceedings of the 22nd Annual USENIX Security Symposium (USENIX 2013).
- Lindell, Y., Nof, A. (2015). "A Framework for Constructing Fast MPC Over Arithmetic Circuits with Malicious Adversaries and an Honest-Majority". Proceedings of the 22nd ACM Conference on Computer and Communications Security (CCS 2015).
- Mohassel, P., Zhang, Y. (2016). "SecureML: A System for Scalable Privacy-Preserving Machine Learning". Proceedings of the 37th IEEE Symposium on Security and Privacy (S&P 2016).
- Aly, A., Nawaz, K., Salazar, E., Sucasas, V. (2022). "Through the Looking-Glass: Benchmarking Secure Multi-Party Computation Comparisons for ReLU's". Cryptology ePrint Archive, Report 2022/202.