共享智能技术发展需要考虑隐私保护、可信环境,以及安全多方计算等诸多因素。
1. 第一步探索—隐私保护的数据变换
蚂蚁金服对于共享智能的探索,是从一个比较朴素的模式开始的:数据提供方在各自域内对数据做隐私保护的处理,经过处理后的数据无法反推出其原始值,并且保留了可以用于建模的有用信息;然后把处理后的数据放到一个集中的环境下,进行联合建模。这种变换被称为隐私保护的数据变换(Privacy Preserving Data Transform,PPDT)。
PPDT的主要思路是把原始数据从高维空间映射到低维空间,做降维的操作;这一过程本身是一个有损的不可逆过程,所以可以保护原始数据的隐私;同时考虑到部分攻击者可能已经获取了部分原始数据,为了防止这类攻击,数据变换过程中加入了差分隐私(噪音扰动)。这个方法的优势是变换不可逆、操作简单并支持大数据。但是在实际落地时也遇到了一些问题,例如:变换本身是一个有损的操作,所以对模型效果有影响;经过变换之后的数据失去了可解释性,导致基于这个数据训练出来的模型不具可解释性,从而限制了其在金融领域的落地。
2. 两个重点方向上的突破
可信执行环境(Trust Execution Environment,TEE)和安全多方计算(secure Muti-Party Computation,MPC是当前数据安全领域两个重要的方向。这两个方向目前都处于发展期,在技术上各有优缺点。蚂蚁金服面向不同行业的合作伙伴,拥有丰富的业务场景,不同的业务对于数据合作模式、计算效率、安全性等的需求都是不一样的。
3. 基于TEE的共享智能
基于TEE的共享智能的思路其实很简单。按照传统思路,当有多个数据提供方想进行数据共享时,为了解决彼此不信任的问题,大家会找一个共同信任的第三方平台,把所有数据汇总到这个可信第三方平台上进行融合和计算。但是在传统技术下,由于第三方平台上的管理员拥有超级权限,这使得数据提供方心存疑虑,担心第三方平台自身或者其员工利用超级权限拿走数据。于是,利用一个可信硬件来充当可信的第三方就成了一种可能的选择。
目前比较成熟的TEE技术是英特尔(Intel)的软件保护扩展(Software Guard Extensions,SGX)技术,SGX技术涉及两个核心概念:“飞地”(enclave)和“远程认证”(remote attestation)。“飞地”可以被认为是英特尔提供了一个保险箱,包括OS、VMM、BIOS、SMM均无法私自访问这里面的数据,只有CPU在计算时才能通过CPU上的硬件进行解密。保险箱解决了SGX内部的数据和代码遭受外部攻击的问题。保证保险箱内的代码是安全可信的,这涉及“远程认证”技术。远程认证有一个前提假设,就是保险箱内的代码对用户是开源的,用户可以通过检查代码来确认代码的行为,而远程认证只是为了确认当前保险箱中运行的确实是之前用户检查过的代码。通过飞地和远程认证两个技术的合作,就可以确保通过加密通道传入SGX中的数据一定会按照用户预期的行为被处理,确保信息不被泄露。
4. 基于MPC的共享智能
基于TEE的共享智能方案,由于是集中式训练,与数据的分布形式无关;基于MPC的共享智能方案,根据数据在多方的不同分布形态,可以分为数据垂直切分的MPC方案与数据水平切分的MPC方案。此类分法早在本世纪初就已经出现,其中数据垂直切分在多方联合建模的场景下尤为常见。基于MPC的共享智能解决方案由下到上可以分为四层。
(1)最下层为密码学原语。在此层,常见的秘密学协议包括秘密分享(secret sharing)、混淆电路(garbled circuit)、不经意传输(oblivious transfer)、同态加密(homomorphic encryption)等。之所以实现多种秘密学协议,是因为每种协议各有优缺点,比如秘密分享虽然计算速度快,但其通信复杂度高;而同态加密方案正好相反,它需要的通信次数虽然少,却需要承担加解密所带来的额外的计算开销。
(2)第二层为安全算子。本层实现了机器学习方法所需要的通用安全算子,比如安全的矩阵乘法和安全的比较。每种安全算子可以由多种秘密学协议实现,比如安全的矩阵加法可以基于秘密分享的实现和基于同态加密的实现;再比如超大规模(千万级别)稀疏矩阵乘法,可以采用秘密分享与同态加密混合的实现方法。高效的安全算子为构建高效的机器学习算法奠定了基础。
(3)第三层为语言适配层。在本层中,一方面,参考了现有流行的机器学习框架的领域特定语言(Domain Specific Language,DSL),通过对数据增加安全定义,设计并实现了共享智能领域的DSL,使得现有机器学习从业者可以低成本地切换到共享智能DSL上进行算法开发,降低安全机器学习算法的开发门槛。另一方面,编译器能够自动选择最优的安全算子,将用户编写的机器学习算法编译为能够执行的安全程序。
(4)最上层为安全的数据分析及机器学习算法采用了多种安全的数据分析工具,如隐私求交、共线性检验和证据权重计算等,以及机器学习领域的多种算法,包括线性回归、逻辑回归、各类树模型、神经网络及图神经网络等。这些丰富的数据分析工具及机器学习算法能够涵盖大多数业务场景。
基于MPC的共享智能方案已被应用于蚂蚁金服多个联合建模业务的全链路中。多方联合建模的全链路通常包括了数据对齐(即隐私求交)、特征分析(如共线性检验)、特征处理(如缺失值填充)、模型训练及预测。在整个链路中,参与方的隐私数据始终由各自保留,需要在每方部署一个计算模块。同时,多方通过计算模块交互密态的数据来完成数合据分析及模型的训练/预测。
5. 共享智能技术发展趋势
在不断的实践中,工程人员发现不同技术都有各自的优势,比如基于TEE的方案可以做中心化部署,用户的接入成本比较低;而基于MPC的方案,相关的安全技术对用户来说是透明的,给用户的安全体感强。同时,多种技术并不是隔离的,在面对一个复杂问题的时候,对技术的选择不是非此即彼的关系,把不同的技术融合到一起,发挥各自的优势,往往会达到更为理想的效果。
例如,目前的MPC方案多数都是基于半诚实的攻击模型来设计的,因为基于恶意攻击模型的MPC算法存在难以克服的性能问题。蚂蚁金服把半诚实协议的MPC算法放在TEE的环境下执行,通过TEE的远程认证技术确保MPC协议在执行过程中不会被篡改,从而在性能损失不大的情况下,使得MPC协议的安全性得到了进一步的提升。
在实际应用中,用户在联合建模的不同阶段,对隐私保护的需求是不一样的。比如在建模阶段,机构希望能快速、低成本地验证效果,这时他们更关注建模方案的易用性和建模效率,而由于建模的样本是经过采样和匿名化处理的历史数据,因此机构对隐私保护的需求相对弱一点。这时共享智能的TEE方案就可以很好地满足用户的需求。而在模型服务(预测)阶段,机构对实时数据的隐私安全需求比较高,采用共享智能的MPC方案就成了自然而然的选择。因此,集中式TEE训练加分布式MPC预测的方案应运而生,并得到了广泛接受。因此,在实际应用中,基于用户的需求灵活应用多种技术,将是共享智能后续工作的重要方向。
举报/反馈

我是天边飘过一朵云

9416获赞 1万粉丝
科技改变未来,未来生活更美好
关注
0
0
收藏
分享