Categories
程式開發

对话蚂蚁摩斯:多方安全计算与联邦学习的差异性是什么?


人工智能目前存在的难题是鱼与熊掌不可兼得,也就是隐私性跟可用性难以兼顾。如果想要 AI 系统发挥作用,就可能需要牺牲隐私。但是,在大量真实场景中,如果做不到同时兼顾隐私和可用性,会导致很多 AI 落地的困境。

在安全领域, Facebook 剑桥门事件(Facebook被报道不正当分享其用户信息来影响美国总统大选的结果)让很多企业和机构意识到数据隐私安全保护的重要性。过往,多机构数据联合使用更多是依靠法律层面的合同文书来限制使用方的行为,一旦出事,再多赔偿也无法有效弥补用户隐私泄露的损失。因此,技术手段是必要的,从技术角度保证数据的多方使用者无法拿到原始数据,无法超范围使用数据是避免数据泄漏和滥用的有效手段,这也是最近几年相关技术在市面上影响力越来越高的原因,比如联邦学习和多方安全计算。InfoQ采访到了蚂蚁摩斯安全计算‍‍平台研发人员逸昊,了解蚂蚁集团所使用的多方安全计算与联邦学习的差异性和技术难度。

多方安全计算是什么?

随着 2C互联网红利日益遇到瓶颈,越来越多的创业公司走向2B创业。与国外相比, 我国的2B行业尚有很大发展空间。在此背景下,机构之间的互联合作技术也越发重要,这是实现2B 商业模式的桥梁和基础设施。

传统机构之间的合作形态一般是提供方-使用者,即一方是服务提供方,另外一方是服务使用者,他们是上下游形态的商业关系,比如一家在线旅途OTA 公司需要接入酒店预定的服务以优化旅游体验,旅游公司会采购酒店预定服务提供商,技术上一般会使用 Web Service API来连接。

但是,随着2B应用的深入发展,出现了新型分布式商业的业务形态,传统的中心化CS 技术已经不能满足需要。以金融领域的联合风控为例:某银行要做互联网贷款业务,不同于传统的线下贷款,坏账率对于业务成败非常关键,需要对用户进行更精准的风控刻画,但是银行本身关于用户的数据是片面和匮乏的,需要和更多银行、政府等机构进行合作。在此业务中,数据不再由一方提供,整体的风控算法和参数需要多方协同一起完成计算。

在这种情况下,我们需要构建分布式的商业形态来解决机构合作的信任和数据安全两大问题。采访中,逸昊表示多方安全计算是密码学很重要的一个分支,其作用是在不泄露数据情况下实现协同计算,即让多方基于共同的数据进行计算得到最终结果,但数据和中间计算结果在这个过程中不会泄漏给任何一方。这里提到的计算是广义层面的含义,可以指计算任务、机器学习任务、数据检索等。

与联邦学习的差异性

联邦学习是谷歌于2016年提出的,初衷是用联邦学习解决中心方(例如谷歌)使用大量手机终端用户数据建模的问题,其设计目标是保护终端数据和个人数据隐私,终端数据不离开本地的前提下在中心方协调下完成建模。但联邦学习自被提出之后,其场景范围越来越广泛。目前只要是基于多方数据进行联合建模,且各自原始数据不对外输出的建模都可以称为联邦学习。实际上业内2000年提出并一直在进行的多方数据机器学习工作都符合联邦学习定义,谷歌在去年的文章中也承认了这一点。跟之前的这些工作相比,目前的联邦学习也有其显著特点,如C端场景为主、大多依赖中心方、大多采用部分隐私换取高性能的思路。

逸昊认为,联邦学习和多方安全计算既有共同点也有区别。双方场景有共同点,比如涉及多方数据的联合计算,但多方安全计算不限定是机器学习建模,也可以进行机器学习预测,或者统计分析等;‍‍二者之间的联系是很多联邦学习方案其实用到了多方‍‍安全计算来保护数据隐私,但大多方案只保护了部分数据、部分计算过程,泄露了中间计算结果,只有少数‍‍方案是保护所有数据的整个运算过程‍‍。‍‍

另外,联邦学习也可能不使用多方安全计算,而是其他隐私保护技术,甚至类似普通的分布式建模不用隐私保护技术,跟多方安全计算的机器学习相比是牺牲隐私保护的程度换取性能提升、实现简化。

多方安全计算的应用场景

多方安全计算应用场景很广泛,不限于机器学习。多方安全计算和联邦学习在隐私保护程度上的差别使它们在机器学习上的应用也有所区别。

在实际应用中,大多数联邦学习方案的特点是牺牲部分隐私换取性能‍‍提升。‍‍‍‍这种方式是否合适?逸昊认为需要结合具体的应用场景来判断。比如在实际使用中,应用场景是否能够允许用这种比较弱的隐私保护方案;多方安全计算在应用中的重点是性能是否能够满足业务需求,因为多方安全计算对隐私要求非常严格,弱点在于性能上面有损失‍。 ‍‍‍‍

联邦学习最开始是‍‍谷歌提出来的,起初主要应用在C端,这个场景是非常合适的。‍首先,最终训练出来的模型是给中心方谷歌的,方案中中心方获得模型是合理的‍‍。其次,在谷歌最初定义的场景中,数据来源于每个终端,各终端间的数据是同质关系。在联邦学习里面通常叫做‍‍横向联邦学习,这种情况下的方案一般泄露的中间计算结果是批量样本的汇聚信息(比如批量样本的梯度信息),泄露的敏感信息相对较少。

如果是机构之间的合作,就需要根据不同的应用场景进行选择,比如与上述类似的横向联邦学习问题不大。但如果是纵向联邦,‍‍‍‍不同参与方之间的数据‍‍维度不同,隐私保护上就要特别小心。例如,不少纵向方案沿用了上述横向方案的思路,模型让一个中心方得到或各方都得到部分模型,同时也泄露中间计算结果。在很多2B场景这种模型输出方式是不可接受的,尤其是训练敏感的金融风控模型。

多方安全计算的技术难点

在算法方面,多方安全计算涉及的隐私保护技术和算法非常多,其由四大类截然不同的‍‍基础隐私保护算法组成,还包含一些小类但功能不多的算法。这四大类分别是秘密分享、‍‍混淆电路、不经意传输、‍‍同态加密‍,其中又可细分出很多不同的算法,‍‍功能不一,能做的运算不同,‍‍性能优缺点等都不一样。‍‍通常,对于不同的计算任务,比如不同的统计指标还会有‍‍各种各样的算法。‍‍‍‍在商业应用中,为满足性能和安全性要求,还需要配合使用一些其他技术。‍‍比如为了满足安全性要求,还需要配合使用零知识证明算法。要掌握这些算法、灵活组合运用、实现它们以及设计新的算法去满足业务要求,其实难度很高。‍‍‍‍以蚂蚁摩斯多方安全计算平台为例,它使用了30多种‍‍隐私保护算法,‍‍且这些算法实现难度很大。不像很多AES、RSA大家非常熟知的通用密码算法都有成熟的开源库,蚂蚁摩斯用的很多算法大多数是没有开源库的,或者开源库达不到商用要求。蚂蚁摩斯用了三年多时间来‍开发和优化,‍‍才最终满足各种业务要求。

在当前的多方机构数据合作场景中,多方安全计算节点会部署到各个机构,实现“数据‍‍不出域、数据隐私不泄露”的安全合作。那么,除多方安全计算算法外,异构网络下的分布式计算也是一大难度。

在逸昊看来,多方安全计算平台是一个‍‍分布式大数据系统,‍‍这个大数据系统与很多互联网公司或企业内部的大数据系统差别很大:首先这涉及多管理域,多管理域的大数据分布式拓展是一个难点。‍‍更复杂的是,每个机构的网络架构不同,网络安全策略不一,‍‍计算资源和网络资源都差异很大,‍‍要把整个系统‍‍的性能和可靠性‍‍维持到很好的程度,挑战很大,甚至还要把各机构之间的节点做到网络互联互通。‍‍‍‍

此外,在当前的机构环境下做到远程部署、维护和升级也是一大难题。‍‍综上,多方安全计算的技术难点一是体现在算法层面;二是涉及多机构的分布式系统管理。

人才紧缺

如上文言,多方安全计算的技术难度和落地难度均不容忽视,蚂蚁集团从2017年开始对此进行探索,初涉足时同样面临着上述问题。逸昊坦言,类似当初业界的AI人才短缺,多方安全计算目前也存在类似问题,以前业界需要密码人才少,高校培养的密码学专业的人才就比较少,其中多方安全计算方向的更是少之又少,相信更多人认识这个领域的价值后,这个问题会不断改善。

未来发展

从安全性来看,为了简化问题,‍‍学术界为多方安全计算定义了一个安全模型,叫半诚实用户模型,假设‍‍每个参与方‍‍都是老老实实的执行所规定的算法。‍‍一旦假设被违背,数据存在泄露风险。‍‍最近这几年,学术界越来越多考虑更强的‍‍安全模型,假设参与方能够随意做恶、去偏离约定协议的,这种安全模型下的算法在最近这几年逐渐成熟。蚂蚁集团也在进行相关探索,目前已经有大部分功能达到这一强‍‍安全模型要求。‍‍未来是希望可以做到全面支持,这就意味着安全性层面会有较大提升。

多方安全计算技术发展了30多年,但由于它的隐私保护目标很高,性能挑战大,性能虽然一直在提升,但可提升空间仍不小。以去年的国际隐私计算比赛iDASH为例。去年有100多支参赛队伍,不乏谷歌、IBM、微软、斯坦福、MIT等名企名校,其中多方安全计算机器学习赛道各家方案性能差距巨大,蚂蚁摩斯设计的方案最终夺得冠军,其性能比其余方案快几倍到几个数量级,‍‍甚至比业内隐私保护较弱的联邦学习都快几倍。今年,蚂蚁摩斯又推出了新版本,性能又提高了数倍,大大缩小了跟本地明文计算系统的运行效率相比,但差距一直在缩小。

蚂蚁集团在多方安全计算上的布局

从技术路线上来看,蚂蚁集团布局的多方协同计算技术不限于多方安全计算,有共识计算和安全计算两大方向。前者是区块链技术为代表的分布式共识计算,以密码学技术和共识算法为基础;后者是以 多方安全计算MPC和可信执行环境TEE为代表的安全计算,分别以密码学技术和可信硬件为基础。参与计算的数据类型也可以分为公域数据和私域数据,共识计算主要是解决公域数据的一致性问题,而安全计算主要是解决私域数据计算的数据隐私和输出可信问题,包含隐私计算和可信计算两个特性。

  • 共识计算 :面向公域数据,解决多家机构对于账本、计算 (合约) 的分布式一致性问 题,最终多个机构对业务过程和结果达成共识,并且单一方不可篡改过程;

  • 安全计算 :面向私域数据,解决机构的数据安全和隐私保护问题,在不泄漏各自数据明细、中间计算结果的情况下仅仅公开最终计算结果。同时更进一步,最终结果也可以是可验证的。

两者解决的问题不同,但两者具备很好的互补性。共识计算不能解决数据的隐私问题,安全计算也不能解决输入数据造假等信任问题,两者结合起来才来兼顾信任和隐私问题。 此外,安全计算技术经常还需结合其他隐私计算技术(例如,差分隐私、零知识证明 ZKP、匿名化和脱敏技术)来使用。

跟MPC和TEE相比,这些隐私计算技术一般不支持多方数据计算,或者不具备可信计算特性,但各种技术都有其特点如下图,对带宽和计算要求都不尽相同,目前还没有“银弹技术”,需要针对场景选择合适的技术。

对话蚂蚁摩斯:多方安全计算与联邦学习的差异性是什么? 1

除了单独应用上述不同协同计算技术,蚂蚁集团还灵活结合各种协同计算技术,全方位地保护数据隐私、保证数据可信。蚂蚁的产品摩斯就集成上述各种技术,可根据实际场景和客户需求灵活部署和运用各种技术。

目前,蚂蚁摩斯已经服务于各行各业,‍‍典型的应用场景比如金融联合风控、联合营销、联合科研、政务数据安全计算等。‍‍以金融风控为例,银行通过该项技术与合作方做风控,效果提高了25%。‍

作者介绍:

逸昊,来自蚂蚁集团‍‍智能科技事业群,负责参与蚂蚁集团摩斯安全计算‍‍平台研发,主要是多方安全计算的算法和隐私保护机器学习的算法。‍‍‍‍于2017年加入蚂蚁集团,过往曾在华为新加坡研究所、南洋理工大学做过‍‍该领域和相关领域的算法研究工作。

蚂蚁摩斯是蚂蚁集团旗下的多方安全计算商用平台,基于多方安全计算、隐私保护、区块链等技术,实现数据可用不可见,解决企业数据协同计算过程中平台/产品业务的数安全和隐私保护问题,助力机构安全高效地联合风控、联合营销、联合科研等,驱动业务增长。