返回首页
您的位置:首页 > 新闻 > CCF新闻 > CCCF

CCCF专栏丨 蚂蚁金服共享智能实践

阅读量:1139 2020-06-10 收藏本文

关键词:共享智能  多方安全计算  可信执行环境


概述



在互联网时代,一切都离不开数据。无论是信贷过程中的授信、风控,还是在线的推荐、营销,都离不开数据,数据已经逐渐成为各个公司的核心资产。而数据的质量和数量是影响机器学习模型效果最重要的两个因素,因此在不同数据孤岛之间进行数据共享,通过扩充数据量来提升模型效果的需求变得越来越强烈。但是在数据共享的过程中,不可避免地涉及两个问题:隐私泄露和数据滥用。


2018年5月,欧盟通过了《欧盟数据保护通用条例》(General Data Protection Regulation, GDPR)法案。法案指出:“所有与个人相关的信息都是个人数据,对数据的使用行为必须要有用户的明确授权。”该法案把对隐私保护的要求提到了一个新的高度。蚂蚁金服作为一家有金融属性的公司,对数据的监管更加严格,如何解决数据使用过程中的隐私泄露和数据滥用的问题,成为了公司的当务之急。


为了更好地应对形势的变化,解决数据共享需求与隐私泄露和数据滥用之间的矛盾,蚂蚁金服在2016年提出了“共享智能”的概念,希望通过技术手段,在多方参与且各数据提供方与平台方互不信任的场景下,能够聚合多方信息进行数据分析和机器学习,并确保各参与方的隐私不被泄露,数据不被滥用(如图1所示)。



业界进展



时至今日,国内外关于数据保护的相关研究层出不穷,目前较为主流的方法包括隐私保护机器学习[1]、联邦学习[2]、拆分学习[3]、安全计算[4]等。各类方法之间的主要区别在于所用的技术方案不同。在隐私保护机器学习中,多个数据方使用密码学相关技术(如秘密分享、同态加密、混淆电路、不经意传统等)来构建机器学习模型。


谷歌(Google)公司提出了联邦学习方法,通过引入一个中心服务器与多个数据方协同训练机器学习模型,而其中的一个核心技术点是多方梯度的安全加和[2]


拆分学习的主要思想是将模型的执行图按层切分为两部分,一部分放在数据拥有方(client),另一部分放在服务器端[3]。数据拥有方与服务器通过交互完成机器学习模型的训练和预测。基于可信计算的方法依赖于硬件加密技术[4],它一方面需要信任硬件厂商,另一方面由于当前技术存在一些问题,加密内存有限,因此应用也有一定的限制。


总体来说,每种方法在安全性、通信、计算、模型精度等方面各有优缺点。以隐私保护的机器学习为例,虽然它拥有很高的数据安全等级(可证安全),但由于涉及到太多的密码学技术,因此往往需要很大的通信/计算量。截至目前,常见的数据分析及机器学习方法都已经被覆盖,包括安全求交、安全共线性检验、线性回归、逻辑回归和神经网络等,但大部分还停留在学术研究阶段。


共享智能的必要性



尽管业界已经有多种相关技术,但单一的技术已无法满足蚂蚁金服及行业内的业务需求。作为一家互联网金融科技公司,蚂蚁金服的相关业务具有以下两方面特点。


数据隐私及安全性要求高 在金融的相关业务如信贷中,国家监管部门和用户对数据隐私安全的要求都非常高。因此,保护数据的安全是联合建模的一个基本条件。在这种场景下,现有的一些方法,如联邦学习[2]和拆分学习[3],都不属于可证安全的方案。目前已有研究表明,在联邦学习方法中,梯度信息的泄露已经可以反推出部分数据[5],而特征垂直切分下的拆分学习需要将标签信息传给第三方服务器,也会带来数据泄露或滥用的风险。


数据量大 大规模的特征及样本成为构建优异机器学习模型的必要条件。已有可证安全的技术方案如隐私保护机器学习[1],由于涉及太多密码学技术,无法适用于大规模的数据场景中。而可信计算技术[4]由于目前的内存限制,也很难直接适用于大规模数据场景中,需要对方案进行改进。


为此,蚂蚁金服提出了共享智能,用于解决业务场景中所面临的高数据安全及大数据量带来的问题。共享智能融合了现有的隐私保护机器学习、拆分学习和安全计算等技术,用于解决不同业务场景中所面临的隐私保护问题。CCF名企面对面将在6月19日,邀请蚂蚁金服的技术大咖畅聊AI实践之旅,将会有蚂蚁金服技术人员来现场直播并答疑。


共享智能技术演进



第一步探索——隐私保护的数据变换


蚂蚁金服对于共享智能的探索,是从一个比较朴素的模式开始的:数据提供方在各自域内对数据做隐私保护的处理,经过处理后的数据无法反推出其原始值,并且保留了可以用于建模的有用信息;然后把处理后的数据放到一个集中的环境下,进行联合建模。我们称这种变换为隐私保护的数据变换(Privacy Preserving Data Transform, PPDT),如图2所示。



PPDT的主要思路是把原始数据从高维空间映射到低维空间,做降维的操作;这一过程本身是一个有损的不可逆过程,所以可以保护原始数据的隐私;同时考虑到部分攻击者可能已经获取了部分原始数据,为了防止这类攻击,数据变换过程中加入了差分隐私(噪音扰动)。


这个方法的优势是变换不可逆、操作简单并支持大数据。但是在实际落地时也遇到了一些问题,例如:变换本身是一个有损的操作,所以对模型效果有影响;经过变换之后的数据失去了可解释性,导致基于这个数据训练出来的模型不具可解释性,从而限制了其在金融领域的落地。


两个重点方向上的突破


可信执行环境(Trust Execution Environment, TEE)和安全多方计算(secure Muti-Party Computation, MPC)是当前数据安全领域两个重要的方向。这两个方向目前都处于发展期,在技术上各有优缺点。蚂蚁金服面向不同行业的合作伙伴,拥有丰富的业务场景,不同的业务对于数据合作模式、计算效率、安全性等的需求都是不一样的。我们判断得出,在当前技术还处于发展阶段的时候,不可能有一种技术可以同时解决用户的所有问题,所以我们决定同时在TEE和MPC两个方向上进行探索。


基于TEE的共享智能


基于TEE的共享智能的思路其实很简单。按照传统思路,当有多个数据提供方想进行数据共享时,为了解决彼此不信任的问题,大家会找一个共同信任的第三方平台,把所有数据汇总到这个可信第三方平台上进行融合和计算。但是在传统技术下,由于第三方平台上的管理员拥有超级权限,这使得数据提供方心存疑虑,担心第三方平台自身或者其员工利用超级权限拿走数据。于是,利用一个可信硬件来充当可信的第三方就成了一种可能的选择。


目前比较成熟的TEE技术是英特尔(Intel)的软件保护扩展(Software Guard Extensions, SGX)技术,SGX技术涉及两个核心概念:“飞地”(enclave)和“远程认证”(remote attestation)。“飞地”可以被认为是英特尔提供了一个保险箱,包括OS、VMM、BIOS、SMM均无法私自访问这里面的数据,只有CPU在计算时才能通过CPU上的硬件进行解密。保险箱解决了SGX内部的数据和代码遭受外部攻击的问题。保证保险箱内的代码是安全可信的,这涉及“远程认证”技术。远程认证有一个前提假设,就是保险箱内的代码对用户是开源的,用户可以通过检查代码来确认代码的行为,而远程认证只是为了确认当前保险箱中运行的确实是之前用户检查过的代码。通过飞地和远程认证两个技术的合作,就可以确保通过加密通道传入SGX中的数据一定会按照用户预期的行为被处理,确保信息不被泄露。


单台SGX机器的处理能力有限,为了应对蚂蚁金服超大规模体量的数据,首先需要扩展SGX机器的计算能力。由于SGX的特殊性,传统的集群化技术无法在SGX上工作,为此我们设计并实现了一套大规模分布式的SGX集群方案(如图3所示),通过集群化扩展了SGX的算力。在此之上,便可以开发多种多样的共享智能机器学习算法。



基于MPC的共享智能


基于TEE的共享智能方案,由于是集中式训练,与数据的分布形式无关;基于MPC的共享智能方案,根据数据在多方的不同分布形态,可以分为数据垂直切分的MPC方案与数据水平切分的MPC方案。此类分法早在本世纪初就已经出现[6],其中数据垂直切分在多方联合建模的场景下尤为常见。我们提出了基于MPC的共享智能解决方案,如图4所示。



基于MPC的共享智能解决方案由下到上可以分为四层。


1. 最下层为密码学原语。在此层,我们实现了常见的秘密学协议,包括秘密分享(secret sharing)、混淆电路(garbled circuit)、不经意传输(oblivious transfer)、同态加密(homomorphic encryption)等。之所以实现多种秘密学协议,是因为每种协议各有优缺点,比如秘密分享虽然计算速度快,但其通信复杂度高;而同态加密方案正好相反,它需要的通信次数虽然少,却需要承担加解密所带来的额外的计算开销。


2. 第二层为安全算子。本层实现了机器学习方法所需要的通用安全算子,比如安全的矩阵乘法和安全的比较。每种安全算子可以由多种秘密学协议实现,比如安全的矩阵加法,我们有基于秘密分享的实现和基于同态加密的实现;再比如超大规模(千万级别)稀疏矩阵乘法,我们提出了创新性的秘密分享与同态加密混合的实现方法。高效的安全算子为构建高效的机器学习算法奠定了基础。


3. 第三层为语言适配层。在本层中,一方面,我们参考现有流行的机器学习框架的领域特定语言(Domain Specific Language, DSL),通过对数据增加安全定义,设计并实现了共享智能领域的DSL,使得现有机器学习从业者可以低成本地切换到共享智能DSL上进行算法开发,降低安全机器学习算法的开发门槛。另一方面,我们有编译器,它能够自动选择最优的安全算子,将用户编写的机器学习算法编译为能够执行的安全程序。


4. 最上层为安全的数据分析及机器学习算法。我们实现了多种安全的数据分析工具,如隐私求交、共线性检验和证据权重计算等,以及机器学习领域的多种算法,包括线性回归、逻辑回归、各类树模型、神经网络及图神经网络等。这些丰富的数据分析工具及机器学习算法能够涵盖大多数业务场景。


基于MPC的共享智能方案已被应用于蚂蚁金服多个联合建模业务的全链路中。多方联合建模的全链路通常包括了数据对齐(即隐私求交)、特征分析(如共线性检验)、特征处理(如缺失值填充)、模型训练及预测。在整个链路中,参与方的隐私数据始终由各自保留,我们在每方部署一个计算模块。同时,多方通过计算模块交互密态的数据来完成数据分析及模型的训练/预测。


共享智能技术发展趋势


在不断的实践中,我们发现不同技术都有各自的优势,比如基于TEE的方案可以做中心化部署,用户的接入成本比较低;而基于MPC的方案,相关的安全技术对用户来说是透明的,给用户的安全体感强。同时,我们发现多种技术并不是隔离的,在面对一个复杂问题的时候,对技术的选择不是非此即彼的关系,把不同的技术融合到一起,发挥各自的优势,往往会达到更为理想的效果。


例如,目前的MPC方案多数都是基于半诚实的攻击模型来设计的,因为基于恶意攻击模型的MPC算法存在难以克服的性能问题。蚂蚁金服把半诚实协议的MPC算法放在TEE的环境下执行,通过TEE的远程认证技术确保MPC协议在执行过程中不会被篡改,从而在性能损失不大的情况下,使得MPC协议的安全性得到了进一步的提升。


在实际应用中,我们还发现用户在联合建模的不同阶段,对隐私保护的需求是不一样的。比如在建模阶段,机构希望能快速、低成本地验证效果,这时他们更关注建模方案的易用性和建模效率,而由于建模的样本是经过采样和匿名化处理的历史数据,因此机构对隐私保护的需求相对弱一点。这时共享智能的TEE方案就可以很好地满足用户的需求。而在模型服务(预测)阶段,机构对实时数据的隐私安全需求比较高,采用共享智能的MPC方案就成了自然而然的选择。因此,集中式TEE训练加分布式MPC预测的方案应运而生,并得到了广泛接受。


因此,在实际应用中,基于用户的需求灵活应用多种技术,将是共享智能后续工作的重要方向。


共享智能在蚂蚁金服的应用



截至目前,共享智能平台已经在联合信贷、联合支付风控、国际营销风控等场景得到规模化应用和验证。 


中和农信


为了更好地在农村地区提供普惠金融服务,为农村市场中低收入用户提供小额贷款和其他普惠金融服务,让更多人回归农村实业,帮助解决空巢老人和留守儿童的社会难题,蚂蚁金服在2017年与中和农信进行合作,共同探讨信息融合下的农村小微金融机制,将其原来的线下放贷模式转换为线上“310”模式1。我们通过TEE模式下的共享智能,将双方信息聚合到一起,联合构建模型,精准识别用户风险。自项目上线以来,已经为300多个贫困县、10000多个乡村提供普惠金融服务,服务几十万户农村客户,累积放款额度超30亿元。共享智能平台驱动中和农信从线下放贷模式,真正走向了线上模式,打通了农村普惠金融最后一百米,真正帮助普惠农村金融。


RiskGo联合风控


为有效打击灰/黑产业,更好地净化支付环境,让企业互利共赢并弥补自身安全风控能力短板,在支付交易联合风控上,蚂蚁金服牵头成立了商业生态安全联盟(BESA)。在现实的商业环境中,企业面临着欺诈、营销资金等多种安全风险:由于企业间安全信息不互通,风控能力参差不齐,黑客利用信息不对称和时间差,进行流窜作案,导致企业之间出现欺诈风险流窜的现象。而利用TEE共享智能技术,将多方数据纳入“不可见”的可信环境,从源头上保障数据出域的私密性,实现了安全共享,做到了风控模型的精细化和个性化部署(图5)。通过联合风控,使得商家平均交易额日新增1500万元,风险防控系统准确率提升30%,月资损降低90%以上。



联合信贷


以江苏银行为例,通过MPC共享智能,聚合蚂蚁金服和江苏银行双方信息,完成共同的模型构建,实现联合信贷,使得KS2提升50%以上,并有效地帮助银行降低了风险。


展望



如何在保护数据隐私及安全的前提下,构建满足工业级需求的机器学习模型,已经成为当下学术界和工业界面临的一大挑战。蚂蚁金服从自身业务和行业需求出发,经过多年的研究与探索,总结出了多条共享智能技术路线。从最早的基于矩阵掩码的数据变换方案,到基于TEE和MPC的两套技术路线,再到现在的多种技术融合的路线,旨在解决不同业务场景所面临的不同需求。面向未来,共享智能将不断引领技术潮流,打破业务边界,营造标准生态,期待贡献更多力量到人工智能的发展当中。




脚注


1  3分钟申请,1分钟到账,期间0人接触的放贷模式。

2  KS(Klomogorov Smironov)曲线:用来衡量不同类型客户(好坏客户)的分布之间距离差距最大的点,用于检验模型对好坏客户的区分能力,KS值在[0, 1]之间,KS越高表明不同类型的分布之间距离越远,从而模型对风险的区分能力越强。




参考文献


[1] Mohassel P, Zhang Y. Secureml: A system for scalable privacy-preserving machine learning[C]// 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017: 19-38.

[2] Kairouz P, McMahan H B, Avent B, et al. Advances and open problems in federated learning[OL]. arXiv preprint arXiv:1912.04977, 2019.

[3] Vepakomma P, Gupta O, Swedish T, et al. Split learning for health: Distributed deep learning without sharing raw patient data[OL]. arXiv preprint arXiv:1812.00564, 2018.

[4] Arnautov S, Trach B, Gregor F, et al. SCONE: Secure Linux Containers with Intel SGX[C]// 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16). 2016: 689-703.

[5] Zhu L, Liu Z, Han S. Deep leakage from gradients[C]//Advances in Neural Information Processing Systems. 2019: 14747-14756.

[6] Kantarcioglu M, Clifton C. Privacy-preserving distributed mining of association rules on horizontally partitioned data[J]. IEEE transactions on knowledge and data engineering, 2004, 16(9): 1026-1037.




作者简介


微信图片_20200610153216


周俊  

蚂蚁金服集团总监,目前负责机器学习中台。主要研究方向为机器学习、共享智能等。jun.zhoujun@antfin.com

微信图片_20200610153218


王力  

蚂蚁金服集团共享智能高级算法专家。主要从事共享智能算法研究与应用工作。raymond.wangl@antfin.com

微信图片_20200610153221


王磊 

蚂蚁金服集团共享智能高级技术专家。主要负责共享智能平台的研发。shensi.wl@antfin.com

微信图片_20200610153223


郑小林

CCF高级会员。浙江大学计算机学院教授、博士生导师。主要研究方向为人工智能和金融智能。xlzheng@zju.edu.cn