隐私保护和数据安全(一):安全多方计算

安全多方计算是什么

为了了解安全多方计算,让我们先看两个场景例子

(1)Alice认为她的了某种遗传疾病,想验证自己的想法。正好她知道Bob有一个关于疾病的DNA模型的数据库。如果她把自己的DNA样品寄给Bob,那么Bob可以给出她的DNA的诊断结果。但是Alice又不想别人知道,这是她的隐私。所以,她请求Bob帮忙诊断自己DNA的方式是不可行的。因为这样Bob就知道了她的DNA及相关私人信息。

(2)两个金融组织计划为了共同的利益决定互相合作一个项目。每个组织都想自己的需求获得满足。然而,他们的需求都是他们自己专有的数据,没人愿意透露给其他方,甚至是“信任”的第三方。那么他们如何在保护数据私密性的前提下合作项目呢?

以上三个例子都有一个共同的特点

两方或者多方参与基于他们各自隐私或秘密数据输入的计算。

参与一方都不愿意让其他任何第三方知道自己的输入信息。

问题变成了在保护输入数据私密性的前提下如何实现这种计算? 我们称之为“安全多方计算(SecureMulti-party Computation)”问题。当前,解决上述问题的策略是假设有可信任的服务提供者或是假设存在可信任的第三方。但是在目前多变和充满恶意的环境中,这是极具风险的。因此,可以支持联合计算并保护参与者私密的协议变的日益重要。

安全多方计算(Secure Multi-Party Computation,SMC)是解决一组互不信任的参与方之间保护隐私的协同计算问题,SMC要确保输入的独立性、计算的正确性、去中心化等特征,同时不泄露各输入值给参与计算的其他成员。主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题,同时要求每个参与主体除了计算结果外不能得到其他实体任何的输入信息。安全多方计算在电子选举、电子投票、电子拍卖、秘密共享、门限签名等场景中有着重要的作用。

安全多方计算最早是由华裔计算机科学家、图灵奖获得者姚启智教授通过百万富翁问题提出的。该问题表述为:两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方知道自己财富的任何信息。在双方都不提供真实财富信息的情况下,如果比较两个人的财富多少,并给出可信证明。

安全多方计算技术框架如下图所示:

图一,来自工信部信通院《数据流通关键技术白皮书》

各个MPC参与节点地位相同,可以发起协同计算任务,也可以选择参与其他方发起的计算任务。路由寻址和计算逻辑传输由枢纽节点控制,寻找相关数据同时传输计算逻辑。各个MPC节点根据计算逻辑,在本地数据库完成数据提取、计算,并将输出计算结果路由到指定节点,从而多方节点完成协同计算任务,输出唯一性结果。整个过程各方数据全部在本地,并不提供给其他节点,在保证数据隐私的情况下,将计算结果反馈到整个计算任务系统,从而各方得到正确的数据反馈。

多方安全计算主流技术

主流两方安全计算框架的核心用了加密电路(Garbled Circuit)和不经意传输(Oblivious Transfer)这两种密码学技术:一方将计算逻辑转化为布尔电路,针对电路中每个门进行加密处理。接下来,该参与方将加密电路(即计算逻辑)和加密后的标签输入给下一个参与方。另一方作为接收方,通过不经意传输按照输入选取标签,对加密电路解密进行解密获取计算结果。通用的多方安全计算框架可以让多方安全地计算任意函数或一类函数的结果,自从姚期智提出第一个通用的安全多方框架(Yao’s CG,姚氏加密电路)以来,30多年已陆续有了BMR、GMW、BGW、SPDZ等,这些多方安全计算框架涉及到加密电路、秘密分享(Secret Sharing)、同态加密、不经意传输等相关技术。

安全多方计算与区块链的结合

原生区块链在这里以比特币区块链和以太坊的底层技术为代表,为了安全和解决信任问题,区块链需要各个节点对交易以及链的状态进行验证重算从而达到共识,所以就要求链上的数据是非加密并且共享的,例如交易金额、交易双方公钥地址等敏感信息,不仅包括个人交易隐私数据,还包括金融和供应链中的各种数据。严格来讲,比特币和以太坊并不是匿名系统,虽然不需要用户现实世界的真实身份,但是公钥代表用户的身份,属于一个代指或者化名,还是可以对交易进行身份的归集和关联。真正的匿名应该是无关联性的化名,指的是其他人无法将用户与系统中的任何行为进行关联。在比特币和以太坊中,用户反复使用一个公钥或者一批公钥进行交易,可以建立关联性分析,而账户。余额、合约的公开,结合会造成用户隐私信息的泄露风险。

区块链和安全多方计算的对比

图二,来自于工信部信通院《数据流通关键技术白皮书》

从对比图可以看出,区块链和安全多方计算在技术特点上具有一定程度的重合,又各有自己独特的一面。在数据时代,数据作为基础生产资料,是AI、自动化、金融活动中不可或缺的一部分,数据的流通和计算产生价值流动。可信的数据、安全的计算,是生产活动的前提。区块链的数字签名、不可篡改、可追溯、去中心化,安全多方计算的输入隐私性、计算正确性、去中心化。区块链技术和安全多方计算的结合,可能多方安全计算作为区块链数据加密和验证机制的组成部分,而区块链技术又作为云计算、AI等基础设施平台的组成部分,结合0知识证明和其他密码学技术,构成了下一代通用计算服务平台,具有去中心化、数据保护、联合计算等特点,对上层业务形成新的支撑。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180809G0TN9I00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券