一文了解安全多方计算(Secure Muti
如今,互联网已经完成了从IT时代向DT时代转变,数据已经成为DT时代企业的核心竞争力。而数据作为一种新能源,只有流动起来才能产生价值。不过,大多数企业考虑到数据安全和个人隐私等问题,对数据共享都非常谨慎。在现实生活中,我们时常会受到下列问题的困扰:
· 医院需要共享医疗信息,但是又不想泄露单个患者的隐私;
· 政府机构需要统计选举数据,但是又不想公开投票选民的选举记录;
· 一家制造厂商想要以行业标准检验产品水准,但又不想让竞争对手知道他们真实的生产数据。
针对这种“数据孤岛”现象,安全多方计算(Secure Muti-party Computation)提供了一种解决方案,为实现数据的可控共享做出了重大贡献。
安全多方计算理论的提出
安全多方计算(Secure Muti-party Computation,简称MPC,亦可简称SMC或SMPC)问题首先由华裔计算机科学家、图领奖获得者姚期智教授于1982年提出,也就是为人熟知的百万富翁问题:两个争强好胜的富翁Alice和Bob在街头相遇,如何在不暴露各自财富的前提下比较出谁更富有?
【姚期智教授】
姚氏“百万富翁问题”后经O Goldreich、Micali以及Wigderson等人的发展,成为现代密码学中非常活跃的研究领域,即安全多方计算,其数学描述为,“ 有n个参与者P1,P2,…Pn,要以一种安全的方式共同计算一个函数,这里的安全是指输出结果的正确性和输入信息、输出信息的保密性。具体地讲,每个参与者P1,有一个自己的保密输入信息X1,n个参与者要共同计算一个函数f(X1,X2, … ,Xn)=(Y1,Y2, … ,Yn),计算结束时,每个参与者Pi只能了解Yi,不能了解其他方的任何信息。”
简单来说,安全多方计算协议作为密码学的一个子领域,其允许多个数据所有者在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方均无法得到除应得的计算结果之外的其他任何信息。换句话说,MPC技术可以获取数据使用价值,却不泄露原始数据内容。
安全多方计算的技术架构如下图所示:
【MPC技术框架图 | 中国信息通信研究院《数据流通关键技术包皮书》】
当一个MPC计算任务发起时,枢纽节点传输网络及信令控制。每个数据持有方可发起协同计算任务。通过枢纽节点进行路由寻址,选择相似数据类型的其余数据持有方进行安全的协同计算。参与协同计算的多个数据持有方的MPC节点根据计算逻辑,从本地数据库中查询所需数据,共同就MPC计算任务在数据流间进行协同计算。在保证输入隐私性的前提下,各方得到正确的数据反馈,整个过程中本地数据没有泄露给其他任何参与方。
安全多方计算的主要特点
安全多方计算理论主要研究参与者间协同计算及隐私信息保护问题,其特点包括输入隐私性、计算正确性及去中心化等特性。
· 输入隐私性:安全多方计算研究的是各参与方在协作计算时如何对各方隐私数据进行保护,重点关注各参与方之间的隐私安全性问题,即在安全多方计算过程中必须保证各方私密输入独立,计算时不泄露任何本地数据。
· 计算正确性:多方计算参与各方就某一约定计算任务,通过约定MPC协议进行协同计算,计算结束后,各方得到正确的数据反馈。
· 去中心化:传统的分布式计算由中心节点协调各用户的计算进程,收集各用户的输入信息,而安全多方计算中,各参与方地位平等,不存在任何有特权的参与方或第三方,提供一种去中心化的计算模式。
安全多方计算的关键技术
安全多方计算技术可以从参与方个数和计算场景来描述:
1. 参与方个数区分
根据参与方个数不同,可分为两方计算(two party computation,简称2PC)和多方计算(multi-party computation),这两者间存在本质的区别。
主流的两方计算框架的核心是用了混淆电路(Garbled Circuit,简称GC)和不经意传输(Oblivious Transfer)这两种密码学技术:一方将需要计算的逻辑转换为布尔电路,再将布尔电路中的每一个门进行加密的过程。在完成该操作后,该参与方将加密电路以及与其输入相关的标签发送给另一参与方,而另一方无法从标签中反推输入的信息。另一方(作为接收方)通过不经意传输按照其输入选取标签,并在此基础上对加密电路进行解密获取计算结果。
通用的多方安全计算框架可以让多方安全地计算任何函数或某类函数的结果。自1986年姚期智提出第一个通用的多方安全计算框架(常被称为Yao’s GC,即姚氏加密电路)以来,30多年间已经有BMR、GMW、BGW、SPDZ等多个多方安全计算框架陆续提出。至今,每年仍有大量的研究工作在改进和优化这些多方安全计算框架。这些框架涉及混淆电路、秘密共享(Secret Sharing,由Adi Shamir最先提出,秘密分享的原理是将每个参与者的输入分割为若干分片,散布在所有参与者当中,并通过这些分片来进行电路计算)、同态加密、不经意传输等多种密码学技术。
2. 计算场景区分
根据计算场景不同,可分为特定场景和通用场景。特定场景是指针对特定的计算逻辑,例如比较大小,确定双方交集等。具体场景可以采用多种不同的密码学技术设计协议。通用场景是指安全多方协议的设计要具有完备性,可以理论上支持任何计算场景,目前采用的方法主要是混淆电路,不经意传输以及同态加密。
目前,通用的两方计算(2PC)已经具备了商用的条件。多方计算在某些特定场景下也已经没有太多的性能瓶颈;而通用计算协议在可扩展性层面依然不够成熟,这也是学术界一直在探索的方向。
安全多方计算的适用场景
安全多方计算技术在需要秘密共享和隐私保护的场景中具有重要意义,其主要适用的场景包括联合数据分析、数据安全查询、数据可信交换等。
· 数据可信交换
安全多方计算理论为不同机构见提供了一套构建在协同计算网络中的信息索引、查询、交换和数据跟踪的统一标准,可实现机构间数据的可信互联互通,解决数据安全性、隐私性问题,大幅降低数据信息交易抹茶和交易成本,为数据拥有方和需求方提供有效的对接渠道,形成互惠互利的交互服务网络。
· 数据安全查询
数据安全查询问题是安全多方计算的重要应用领域。使用安全多方计算技术,能保证数据查询方仅得到查询结果,但对数据库其他记录信息不可知。同时,拥有数据库的一方,不知道用户具体的查询请求。
· 联合数据分析
随着多数据技术的发展,社会活动中产生和搜集的数据和信息量急剧增加,敏感信息数据的收集、跨机构的合作以及跨国公司的经营运作等给传统数据分析算法提出了新的挑战,已有的数据分析算法可能会导致隐私暴露,数据分析中的隐私和安全性问题得到了极大的关注。将安全多方计算技术引入传统的数据分析领域,能够一定程度上解决该问题,其主要目的是改进已有的数据分析算法,通过多方数据源协同分析计算,使得敏感数据不被泄露。
安全多方计算的应用范围
不论是在全球范围内流动的资源、货物、资本、技术、人、数据或是观念,还是由于各种现实世界摩擦造成的冲突、监管和制约等等,都在影响着各方对于经济、文化、教育、医疗、公共管理等各行各业信息的判断和使用。
数据的流动和协同分析在各行业都有着极其重要的价值,也推生了众多的应用需求:
1. 金融业
金融本身就是一个经营风险的行业,风控与征信是金融业管理风险的重要手段。传统数据分析模式面临的难题是,数据采集范围局限、平台上传数据积极性低、更新不及时、接入门槛高等问题。而MPC征信模式可支持的数据本地采集方式,弥补了传统征信数据老旧、风险评估状况滞后的缺陷,更能支持数据类型多样化的协同计算,将数据分析范围从金融信贷数据,扩展至医疗、保险、交通等行业的征信评价体系中,获得更为广泛的社会信用评价画像。
2. 制造业
制造业的数字化改造已经为各类制造业企业带来了更精准、更先进的工艺,以及更优良的产品。而对行业整体供给数据、生产频度、维修情况等的综合分析,能为行业降本增效提供有力数据支撑,减少产能过剩之痛。制造业全球分布的特性,以及相对金融业较低的信息技术运用程度,使得数据的流通和共享存在一定阻力。MPC技术在制造业的运用,可以使数据互操作脱离国家边境线的限制,为全球制造供应链优化提供保障;通过对行业整体数据或市场需求情况的深度挖掘和多维护剖析,可以准确地配置全球生产体系,更加灵活地安排各地市场产品的投放,随时把握产业动向。
3. 医疗业
医疗数据的敏感性使得医疗机构、保险、药企、医疗设备供应商之间难以实现低成本、高效的医疗信息数据交换和共享,进而导致行业内大量的数据资源没有得到有效使用和深度分析。MPC技术在医疗行业的应用,可以在相对封闭的医疗数据参与方间,建立起安全可信的数据交换网络,实现医疗数据价值的最大效用。
4. 电子政务
以电子选举为例,这是安全多方计算的典型应用,得到了研究者的广泛重视。在电子选举中,通过安全多方计算可以实现:计票的完整性、投票过程的鲁棒性、选票内容的保密性、不可复用性和可证实性。此外,在多方参与需要公正裁判的场景,均可用安全多方计算协议来代替裁判。例如,安全多方计算使网上拍卖成为现实,电子拍卖的大部分方案都采取了可验证秘密共享协议或使用其思想,具备灵活性、保密性、鲁棒性和可验证性。
安全多方计算技术的优势
安全多方计算是密码学研究的核心领域,解决一组互不信任的参与方之间保护隐私的协同计算问题,能为数据需求方提供不泄露原始数据前提下的多方协同计算能力,为需求方提供经各方数据计算后的整体数据画像,因此能够在数据不离开数据持有节点的前提下,完成数据的分析、处理和结果发布,并提供数据访问权限控制和数据交换的一致性保障。
安全多方计算拓展了传统分布式计算以及信息安全范畴,为网络协作计算提供了一种新的计算模式,对解决网络环境下的信息安全具有重要价值。利用安全多方计算协议,一方面可以充分实现数据持有节点间互联合作,另一方面又可以保证秘密的安全性。
安全多方计算与区块链技术的结合
区块链技术发展至今,特别是对于共有链而言,面临着两大困扰:一是公开数据带来的隐私问题;二是链上无法进行高效计算处理的性能问题。
隐私问题不但包括区块链上记录的交易信息的隐私,还包括区块链上记录以及传递的其他数据的隐私,这一点在大数据时代尤为重要。而高性能的计算一直都是区块链发展的一个瓶颈,在公有网络中,大量节点需要全部对计算任务进行处理,以保证计算任务处理结果的准确性和不可修改性。但这样做造成了严重的资源浪费和低效,同时,为了取得去中心化的效果,搭建节点的要求又不能太高,这一点又进一步影响了单个节点处理任务的能力。
这时候,安全多方计算的输入隐私性、计算正确性、去中心化等优点就可以很好地帮助解决这些问题。
安全多方计算技术与区块链技术对比如下所示:
【来源:中国信息通信研究院《数据流通关键技术包皮书1.0版》】
从上图可以看出,区块链和安全多方计算在技术特点上具有一定程度的重合,又各有自己独特的一面。区块链的数字签名、不可篡改、可追溯、去中心化等优点,结合安全多方计算的输入隐私性、计算正确性、去中心化等特征,构成了下一代通用计算服务平台,实现了去中心化、数据保护、联合计算等综合特点,对上层业务形成新的技术支撑。
基于区块链技术的安全多方计算项目示例
1. iCube——全球首个安全多方计算区块链金融项目
iCube团队通过与美国普渡大学区块链人工智能实验室深度合作,实现了区块链的安全多方计算。iCube建立了面向信息的终极抽象基础层和基于个人工智能的算法模型层,内置图灵完备编程语言和自主开发的MPC 算法沙盒,从而实现了区块链的多方安全计算。其整个架构如下:
从以上架构图可以看出,与传统区块链不同,iCube完全自主开发了一套可以支持联合计算并保护参与者私密的协议,并将该协议添加到区块链的最底层,从而实现了各个节点在信息隐私保护的前提下实现数据联合共享计算的功能。
同时,iCube并不试图构建封闭的生态,而是积极拥抱现有区块链生态。iCube本身支持各种跨链协议,未来可快速接入各种数字资产。
依托于MPC,iCube可以构建基于区块链的自金融应用生态,以基于实物和精神价值度量的征信协议体系为核心,依托社区网络和数据网络,通过支持安全多方的分布式计算技术和面向个人的人工智能引擎,形成一种自维护、自发展、自运行的全新数字经济生态。
2. 点融
今年3月,点融区块链云服务平台正式推出商业化的安全多方计算(Secure Multi-party Computation)服务。
据介绍,该服务以SaaS(Software as a Service)服务的形式提供,基于联盟链、智能合约、秘密共享和同态加密算法等技术,帮助多个企业在保障各自数据隐私安全的前提下,利用各方数据进行加密条件下的安全协同计算。
目前,点融已经布局了超过百项区块链专利,包括数据通信、系统安全、节点管理、隐私保护、智能合约、供应链金融等核心技术及应用 。
3. Defi
Defi是一家区块链金融科技服务商,利用区块链以及可信计算技术帮助互联网金融企业实现联合风控。项目主要通过联合东南亚金融机构,提供标准化安全可共享的数据服务,实现多方黑名单数据共享,解决东南亚金融机构间数据计算、流通、隐私、共享问题。
Defi的技术核心是基于区块链的安全多方计算系统,主要分为基础架构层、服务与计算层以及数据集成层。
基础架构层包括区块链和数据传输服务。其中区块链用作分布式账本和智能合约平台,数据传输服务可以保证数据通过加密的、分布式的方式交换完成。
服务与计算层包括核验服务、可信计算环境与目录服务,在保证数据提供方可以方便、安全的接入的同时,实现产品的性能、可扩展性和稳定性。
数据集成层采用差分隐私与数据混淆技术,支持数据不用不可见,保护互联网金融机构客户的原始信息安全。
参考来源:
· 维基百科
· 阿里技术 | 《安全多方计算新突破!阿里首次实现“公开可验证” 的安全方案》
· 中国信息通信研究院《数据流通关键技术白皮书1.0版》