人工智能目前存在的难题是鱼与熊掌不可兼得,也就是隐私性跟可用性难以兼顾。如果想要 AI 系统发挥作用,就可能需要牺牲隐私。但是,在大量真实场景中,如果做不到同时兼顾隐私和可用性,会导致很多 AI 落地的困境。
如今,越来越多企业和机构意识到数据隐私安全保护的重要性。过往,多机构数据联合使用更多是依靠法律层面的合同文书来限制使用方的行为,一旦出事,再多赔偿也无法有效弥补用户隐私泄露的损失。因此,技术手段是必要的,从技术角度保证数据的多方使用者无法拿到原始数据,无法超范围使用数据是避免数据泄漏和滥用的有效手段,这也是最近几年相关技术在市面上影响力越来越高的原因,比如多方安全计算。InfoQ 采访到了蚂蚁摩斯安全计算平台研发人员逸昊,了解多方安全计算的应用场景和技术难度。
多方安全计算是什么?
随着 2C 互联网红利日益遇到瓶颈,越来越多的创业公司走向 2B 创业。与国外相比, 我国的 2B 行业尚有很大发展空间。在此背景下,机构之间的互联合作技术也越发重要,这是实现 2B 商业模式的桥梁和基础设施。
传统机构之间的合作形态一般是提供方-使用者,即一方是服务提供方,另外一方是服务使用者,他们是上下游形态的商业关系,比如一家在线旅途 OTA 公司需要接入酒店预定的服务以优化旅游体验,旅游公司会采购酒店预定服务提供商,技术上一般会使用 Web Service API 来连接。
但是,随着 2B 应用的深入发展,出现了新型分布式商业的业务形态,传统的中心化 CS 技术已经不能满足需要。以金融领域的联合风控为例:某银行要做互联网贷款业务,不同于传统的线下贷款,坏账率对于业务成败非常关键,需要对用户进行更精准的风控刻画,也需要针对整体的风控算法和参数,与外部多方协同合作。
在这种情况下,我们需要构建分布式的商业形态来解决机构合作的信任和数据安全两大问题。采访中,逸昊表示多方安全计算是密码学很重要的一个分支,其作用是在不泄露数据情况下实现协同计算,即让多方基于共同的数据进行一个 function 的计算得到最终结果,但数据和中间计算结果在这个过程中不会泄漏给任何一方。这里提到的 function 是广义层面的含义,可以指计算任务、机器学习任务、数据检索等。
与联邦学习的差异性
联邦学习是谷歌于 2016 年提出的,初衷是用联邦学习解决中心方使用大量手机终端用户数据建模的问题,其设计目标是保护终端数据和个人数据隐私,终端数据不离开本地的前提下在中心方协调下完成建模。但自联邦学习提出之后,其场景范围越来越广泛,目前业界公认的只要是场景基于多方数据进行联合建模,且各自原始数据不对外输出,由中心方进行协调的建模都可以称为联邦学习。
联邦学习和多方安全计算既有共同点也有区别,如上双方的场景有共同点,比如涉及多方数据的联合计算,但多方安全计算不限定是机器学习建模,也可以进行机器学习预测、统计分析等。联邦学习也可能不使用多方安全计算,而是其他隐私保护技术,甚至类似普通的分布式建模不用隐私保护技术。这些方式跟多方安全计算相比是牺牲隐私保护的程度换取性能提升、实现简化。
从应用场景来看,联邦学习起初主要应用在 C 端,这个场景是非常合适的。随着机构之间的合作越来越多,需要根据不同的应用场景选择不同技术方案,尤其是训练敏感的金融风控场景,多方安全计算被日益重视。
多方安全计算的应用场景
除了多方安全计算,行业还提出了多种方案来保护数据隐私。跟传统的多方安全多方计算的理念不同,一些流行的方案采用隐私换性能的思路,部分应用多方安全计算技术或采用其他隐私计算计算,只保护了部分数据、部分计算过程,泄露了中间计算结果。这些方案主要适用于“横向联合”场景:数据来源于每个终端,各终端间的数据是同质关系。这种情况下其他方案一般泄露的中间计算结果是批量样本的汇聚信息(比如批量样本的梯度信息),泄露的敏感信息相对较少。
但如果是“纵向联合”的场景(例如大多机构间的数据合作),沿用这类方案再隐私保护上就要特别小心。如果还是让一个中心方得到模型或各方都得到部分模型,在很多 2B 场景这种方式是不可接受的,尤其是训练敏感的金融风控模型。同时,这类方案在“纵向联合”泄露的中间计算结果更容易包含敏感信息。在“纵向联合”的场景更适合完全应用多方安全计算技术全方位保护所有敏感数据和整个计算过程。但需要注意的是,这里应用的挑战很大,需要很好掌握多方安全计算技术和细细打磨产品。
多方安全计算的技术难点
在算法方面,多方安全计算涉及的隐私保护技术和算法非常多,其由四大类截然不同的基础隐私保护算法组成:分别是秘密分享、混淆电路、不经意传输、同态加密,其中又可细分出很多不同的算法,功能不一,能做的运算不同,性能优缺点等都不一样。通常,对于不同的计算任务,比如不同的统计指标还会有各种各样的算法。在商业应用中,为满足性能和安全性要求,还需要配合使用一些其他技术。比如为了满足安全性要求,还需要配合使用零知识证明算法。要掌握这些算法、灵活组合运用、实现它们以及设计新的算法去满足业务要求,其实难度很高。以蚂蚁摩斯多方安全计算平台为例,它使用了 30 多种隐私保护算法,且这些算法实现难度很大。
在当前的多方机构数据合作场景中,多方安全计算节点会部署到各个机构,实现“数据不出域、数据隐私不泄露”的安全合作。那么,除多方安全计算算法外,异构网络下的分布式计算也是一大难度。
在逸昊看来,多方安全计算平台是一个分布式大数据系统,这个大数据系统与很多互联网公司或企业内部的大数据系统差别很大:首先这涉及多管理域,多管理域的大数据分布式拓展是一个难点。更复杂的是,每个机构的网络架构不同,网络安全策略不一,计算资源和网络资源都差异很大,要把整个系统的性能和可靠性维持到很好的程度,挑战很大,甚至还要把各机构之间的节点做到网络互联互通。
此外,在当前的机构环境下做到远程部署、维护和升级也是一大难题。综上,多方安全计算的技术难点一是体现在算法层面;二是涉及多机构的分布式系统管理。
未来发展
从安全性来看,为了简化问题,学术界为多方安全计算定义了一个安全模型,叫半诚实用户模型,假设每个参与方都是老老实实的执行所规定的算法。一旦假设被违背,数据存在泄露风险。最近这几年,学术界越来越多考虑更强的安全模型,假设参与方能够随意做恶、去偏离约定协议的,这种安全模型下的算法在最近这几年逐渐成熟。
蚂蚁摩斯也在进行相关探索,目前已经有大部分功能达到这一强安全模型要求。未来是希望可以做到全面支持,这就意味着安全性层面会有较大提升。以去年的国际隐私计算比赛 iDASH 为例。去年有 100 多支参赛队伍,不乏谷歌、IBM、微软、斯坦福、MIT 等名企名校,其中多方安全计算机器学习赛道各家方案性能差距巨大,蚂蚁摩斯设计的方案最终夺得冠军,其性能比其余方案快几倍到几个数量级。今年,蚂蚁摩斯继续迭代,性能又提高了数倍,大大缩小了跟本地明文计算系统的运行效率差距。截至目前蚂蚁摩斯已经拥有相关技术专利超过 70 项,位居第一。
蚂蚁摩斯在多方安全计算及相关技术上的布局
从技术路线上来看,蚂蚁摩斯积极探索布局的安全协同计算技术不限于多方安全计算,有共识计算和安全计算两大方向。前者是区块链技术为代表的分布式共识计算,以密码学技术和共识算法为基础;后者是以 多方安全计算 MPC 和可信执行环境 TEE 为代表的安全计算,分别以密码学技术和可信硬件为基础。参与计算的数据类型也可以分为公域数据和私域数据,共识计算主要是解决公域数据的一致性问题,而安全计算主要是解决私域数据计算的数据隐私和输出可信问题,包含隐私计算和可信计算两个特性。
共识计算 :面向公域数据,解决多家机构对于账本、计算 (合约) 的分布式一致性问 题,最终多个机构对业务过程和结果达成共识,并且单一方不可篡改过程;
安全计算 :面向私域数据,解决机构的数据安全和隐私保护问题,在不泄漏各自数据明细、中间计算结果的情况下仅仅公开最终计算结果。同时更进一步,最终结果也可以是可验证的。
两者解决的问题不同,但两者具备很好的互补性。共识计算不能解决数据的隐私问题,安全计算也不能解决输入数据造假等信任问题,两者结合起来才来兼顾信任和隐私问题。 此外,安全计算技术经常还需结合其他隐私计算技术(例如,差分隐私、零知识证明 ZKP、匿名化和脱敏技术)来使用。
跟 MPC 和 TEE 相比,这些隐私计算技术一般不支持多方数据计算,或者不具备可信计算特性,但各种技术都有其特点如下图,对带宽和计算要求都不尽相同,目前还没有“银弹技术”,需要针对场景选择合适的技术。
除了单独应用上述不同协同计算技术,蚂蚁集团还灵活结合各种协同计算技术,全方位地保护数据隐私、保证数据可信。蚂蚁的产品摩斯就集成上述各种技术,可根据实际场景和客户需求灵活部署和运用各种技术。
目前,蚂蚁摩斯已经服务于各行各业,典型的应用场景比如金融联合风控、联合营销、联合科研、政务数据安全计算等。以金融风控为例,银行通过该项技术与合作方做风控,效果提高了 25%。
嘉宾介绍:
逸昊,来自蚂蚁集团智能科技事业群,负责参与蚂蚁集团摩斯安全计算平台研发,主要是多方安全计算的算法和隐私保护机器学习的算法。于 2017 年加入蚂蚁集团,过往曾在华为新加坡研究所、南洋理工大学从事算法研究工作,从 2012 年开始从事该领域和相关领域的研究。
蚂蚁摩斯是蚂蚁集团旗下的多方安全计算商用平台,基于多方安全计算、隐私计算、区块链等技术,实现数据可用不可见,解决企业数据协同计算过程中平台/产品业务的数安全和隐私保护问题,助力机构安全高效地联合风控、联合营销、联合科研等,驱动业务增长。
评论