随着互联网的发展,数据共享也越来越频繁,而其中有些敏感数据,比如电子选举、电子投票等信息,这些信息需要被共享但又不能泄露数据具体内容。于是,安全多方计算就应运而生。

安全多方计算简介

安全多方计算(Secure Multi-Party Computation)简称SMC,首先由华裔计算机科学家、图灵奖获得者姚期智教授于1982年提出,可解决一组互不信任的参与方之间保护隐私的协同计算问题。

安全多方计算指参与者在不泄露各自隐私数据情况下,利用隐私数据参与保密计算,共同完成某项计算任务。该技术能够满足人们利用隐私数据进行保密计算的需求,有效解决数据的“保密性”和“共享性”之间的矛盾。

安全多方计算

安全多方计算举例

假设小白、小黑和小红一起聚餐吃饭,他们决定由工资最高者买单,但他们不希望让其他人知道自己的具体工资。于是他们便采用安全多方计算来解决问题。

  1. 小白将自己的真实工资加上一个随机的巨大值(完全偏离正常工资的数值),得出数值A并只告诉小黑;
  2. 小黑将自己的真实工资加上数据值A得出数值B并只告诉小红;
  3. 小红将自己的真实工资加上数值B得出数值C并只告诉小白;
  4. 小白再最后将数值C减去原来自己设置的随机巨大值,得出的最后数值即为三人的工资总和,并依此得出三个人的平均工资,并输出公布给小黑和小红。

安全多方计算

最后各方通过将自己的工资和平均工资相比,得出小红的工资最高,因此小红买单。

这样,任何人都不可能知道其它参加方的具体工资金额,每人均完全掌握自己数值“保险箱”的公私钥,确保数据不出库不泄露。因此,安全多方计算确能够在不接触第三方真实数据的情况下,有效利用多方数据。

安全多方计算的特点

  • 输入隐私性:安全多方计算研究的是各参与方在协作计算时如何对各方隐私数据进行保护,重点关注各参与方之间的隐私安全性问题,即在安全多方计算过程中必须保证各方私密输入独立,计算时不泄露任何本地数据。
  • 计算正确性:多方计算参与各方就某一约定计算任务,通过约定安全多方计算协议进行协同计算,计算结束后,各方得到正确的数据反馈。
  • 去中心化:传统的分布式计算由中心节点协调各用户的计算进程,收集各用户的输入信息,而安全多方计算中,各参与方地位平等,不存在任何有特权的参与方或第三方,提供一种去中心化的计算模式。

安全多方计算的适用场景

从全球范围来看,安全多方计算已在多种场景中得到有效应用,特别是金融欺诈风控、联合建模、医疗数据应用等。并且,安全多方计算是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础。

安全多方计算

安全多方计算的优缺点

优点:

安全多方计算基于密码学安全,其安全性有严格密码理论证明,不以信任任何参与方、操作人员、系统、硬件或软件为基础,各个参与方对其拥有的数据拥有绝对的控制权,保障基本数据和信息不会泄露,同时计算准确度高,并支持可编程通用计算。

缺点:

安全多方计算包含复杂的密码学操作,计算性能问题是应用的一大障碍。随着应用规模扩大,采用合适的计算方案保证运算时延与参与方数量呈现线性变化是目前各技术厂商面临的一大挑战。

从安全性上看,安全多方计算的目标是保证多方数据融合计算时的隐私安全,一些传统安全问题,如访问控制、传输安全等,仍然需要其他相应的技术手段。

免责声明:素材源于网络,如有侵权,请联系删稿。