隐私计算技术中,多方安全计算(MPC)、联邦学习(FL)与可信执行环境(TEE)是三大主流技术派系,此前洞见君为大家介绍过联邦学习的前世今生,解读过可信执行环境,今天为大家带来多方安全计算的相关简介及应用。
作者:深圳市洞见智慧科技有限公司
多方安全计算(Secure Multi-Party Computation)是指在无可信第三方的情况下,多个参与方协同计算一个约定函数,除计算结果以外,各参与方无法通过计算过程中的交互数据推断出其他参与方的原始数据。作为隐私计算的一种常用工具,多方安全计算在安全性和易用性方面有着天然的优势。本文梳理了多方安全计算的发展脉络、多方安全计算的经典应用实例以及多方安全计算的未来发展趋势,供读者学习参考。
一、多方安全计算的发展脉络
多方安全计算起源于1982年姚期智院士提出的姚氏百万富翁问题:两个百万富翁在街头偶遇,双方想要知道谁更有钱,但他们都不想暴露自身的资产金额,如何在不借助第三方的情况下,得出谁更富有的结论。
(一)百万富翁问题经典解决方案
我们假设这两个富翁为张三、李四,拥有资产分别为:张三拥有300万,李四拥有500万。
以上案例中,李四选了财富值对应的盒子并销毁了其他盒子,张三打开“盲盒”看到香蕉就可以明白,李四比自己更富有。双方在没有暴露自身资产金额的情况下,比较出了谁更富有。
对姚氏百万富翁问题不同的解答方式为多方安全计算技术提供了不同的研究思路。近几十年来学术界对多方安全计算的研究蓬勃发展,多种技术路线齐头并进,越来越多的可实用化的理论研究成果相继出现,为多方安全计算在工业场景下的应用带来了可能。
(二)多方安全计算的发展阶段
多方安全计算的发展可以被分为四个代表性阶段:
20世纪80-90年代——理论研究阶段
从百万富翁问题被提出以后,多方安全计算的学术研究开始有少量的论文发表,这些论文主要集中在理论研究层面,验证不同安全模型下多方安全计算的可行性。这些算法通常效率都比较低,离实用化有着较长的距离。
1978 Rivest[1] 首次提出同态加密这一概念
1979 Shamir[2] 提出门限秘密分享协议
1981 Rabin[3] 提出不经意传输协议
1982 Yao[4] 提出多方安全计算协议(解决百万富翁问题)
1986 Yao[5]提出混淆电路
1987 Goldreich[6] 提出基于秘密分享的MPC
1995 Chor[7] 提出PIR协议
1999 Paillier[8] 提出半同态加密协议
2000-2009年——实验室阶段
随着协议的不断改进和计算成本的不断优化,此时开始出现理论研究与实际问题相结合,并有了一定的研究成果,其中比较著名的是Malkhi设计的多方安全计算平台Fairplay。
2004 Freedman[9] 提出PSI