阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

开源可信隐私计算框架“隐语”,蚂蚁做了什么?

  • 2022-07-07
  • 本文字数:6487 字

    阅读完需:约 21 分钟

开源可信隐私计算框架“隐语”,蚂蚁做了什么?

日前,IDC 开展了《IDC Perspective: 隐私计算全景研究》。通过调研发现,2021 年中国隐私计算市场规模已突破 8.6 亿元人民币,未来有望实现 110% 以上的市场增速。艾瑞咨询发布的《2022 年中国隐私计算行业研究报告》显示,2021 年至今年 3 月,隐私计算领域的累计融资额超过 18 亿元,占比超过过去 6 年的 60%,且至今投融资热度不减。隐私计算的投融资热度让更多隐私计算公司走到台前,也让更多开发者关注到了这项技术。


严格意义上来说,隐私计算目前没有一个明确的定义,行业里讨论比较多的隐私计算或者更准确的叫做隐私保护计算(Privacy-preserving Computation),是指在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算的一系列信息技术,保障数据在流通与融合过程中的“可用不可见”,是一组技术的合集,包括多方安全计算 MPC、可信执行环境 TEE、联邦学习 FL、全同态加密 FHE 、可信密态计算(TECC)等等。国内隐私计算起步较晚,近几年来投入在隐私计算上的公司,比如蚂蚁集团、微众银行、华控清交、洞见科技等,以开源或者闭源的形式,在这组技术合集中选择多项技术进行研发,取得了一定的成绩但也迎来了一些挑战。


7 月 4 日,蚂蚁集团宣布面向全球开发者开源可信隐私计算框架“隐语”, 并与中国信通院云大所所长何宝宏、浙江大学网络空间安全学院院长任奎、上海交通大学教授郁昱、LVS 开源项目创始人章文嵩共同启动了“隐语开源指导委员会”成立仪式。隐语用一套通用的框架,将主流的隐私计算技术支撑起来。我们第一时间采访了隐语框架负责人、蚂蚁集团隐私智能计算技术部总经理王磊,解读蚂蚁集团可信隐私计算框架“隐语”的设计思路,开源目的和未来发展,为开发者和行业企业在隐私计算方面的投入提供参考。

“隐语开源指导委员会”成立仪式

“隐语”是什么?


隐语”是蚂蚁集团自 2016 年就开始研究的隐私计算框架,内置 MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制,助力隐私计算更广泛应用到 AI、数据分析等场景中,解决隐私保护和数据孤岛等行业痛点,已在蚂蚁内部业务及外部金融、医疗行业的智能风控、数字化运营等业务领域中落地应用。


“隐语”具备以下三个重要特性:


  1. 支持多种隐私计算技术。隐语支持目前几乎所有主流的隐私计算技术,如 MPC、TEE、FL、HE、DP 等,同时也在探索 TECC、受控匿名化等技术方向,并且积极支持互联互通。用户可基于不同业务场景来选择合适的技术方案。

  2. 支持全链路的数据分析和处理能力。可以满足用户在选定的技术方案下(MPC/FL/TEE 等),对数据进行数据分析、预处理,建模,预测的全流程数据处理需求。

  3. 支持业务全生命周期的孵化。隐语既支持业务在早期 PoC 阶段的快速迭代,也支持 PoC 验证成功后的业务的规模化推广,确保业务在规模化推广过程中的高可用。


技术演进的路线上来看,“隐语”的技术路线可以概括为几个阶段:最早的基于矩阵掩码的数据变换方案,到基于多方安全计算和可信执行环境的两套技术路线,发展到后来的多种技术融合的路线,并催生了可信隐私计算框架“隐语”。


蚂蚁可信隐私计算开源框架“隐语”,和可信执行环境隐私计算操作系统 Occlum 、蚂蚁隐私计算一体机技术一同承载了蚂蚁集团隐私计算技术体系。蚂蚁集团隐私计算技术体系不仅包括 “可用不可见”,也包括 “可算不可识”。蚂蚁集团认为,“可算不可识”是实现个人隐私保护的关键技术模式,在模型训练、数据分析等场景下确保个人身份不会被重识别,满足法律法规的匿名化要求。


为了在众多的业务场景中实现可用不可见、可算不可识,蚂蚁探索研究了几乎所有可能的隐私计算技术,包括:多方安全计算 MPC、可信执行环境 TEE、联邦学习 FL、全同态加密 FHE、差分隐私 DP 等;并且探索新的技术方向,比如首创了可信密态计算 TECC、受控匿名化技术等。同时蚂蚁在积极探索软硬件一体全栈可信、多协议互联互通、隐私计算与区块链融合 FAIR 等技术产品化方向。


“隐语”脱胎于蚂蚁集团对于隐私计算技术的大量研究。可信执行环境、多方安全计算、联邦学习是“隐语”的三个核心技术方向。“最早的时候做单机的可信执行环境,这里面的难点在于怎么把代码移植到可信执行环境中。”王磊谈道。蚂蚁集团的开源 TEE 操作系统 Occlum 就是为了解决这个问题。单机的问题解决了之后,集群化的问题接踵而来。“集群化能够解决高可用的稳定,保证生产环境的稳定性;同时在计算性能方面,当单机计算性能不行的时候,可以有更多的机器加入计算”,王磊谈道:“所以在 2018 年的时候,我们可能会更多会关注可信执行环境集群化的问题。”


多方安全计算和同态加密也是蚂蚁集团在 2018 年开始研究的,核心是为了解决性能的问题。早期“隐语”的计算技术主要专注在机器学习的一些算法上面。“多方安全计算现在一方面在研究如何提升计算性能,另外就是在研究如何与现有的机器学习框架等结合起来,复用众多的算法能力。”王磊谈道。


联邦学习则是为了解决大数据规模下的复杂机器学习问题而进行的探索,如 DNN,GNN 等。王磊举例,在一些数据量比较大、算法比较复杂的场景中,基于多方安全计算来做,存在一些性能上的瓶颈,如果基于联邦学习来做,则能通过安全退让 获得不错的性能提升,从而满足业务对性能和规模上的需求。


后来落地到业务中,联邦学习中间信息的隐私和安全问题凸显出来。隐语团队的做法是,在联邦学习中引入差分隐私技术,保护联邦学习中间信息的隐私,并将联邦学习和可信执行环境做更好的结合。


目前,隐语在蚂蚁集团内外部都有实际的落地案例,包括金融场景、医疗场景、保险场景等。今年初,“隐语”已经在蚂蚁做了内部开源,邀请了内部的一些团队一起参与到隐语的共建中来。王磊表示:“现在我们希望把‘隐语’开源到外部,让外部的团队也能够一起来共建。”


通过开源形成技术合力,“隐语”怎么做的?


技术上不能形成合力也是“隐语”团队看到行业情况后,想要开源的原因之一。“我这边看到现在很多隐私计算的企业,大家都是各自发展,同质化竞争比较严重。”王磊谈道,“有一些企业 MPC 做得强一些,有的企业联邦学习做得强一些。但为了客户需求,所有技术方向都要去布局,在人力上有非常大的浪费。”


“如果大家是在不同的公司去做不同的技术框架。一方面你会遇到很多类似的问题,这些问题在每一方单独聚集,由于是闭源的,都需要单独去解;另一方面,每一方单独寻找到的技术解决方案难以形成合力,更可能都不是最优解。我们希望通过隐语的开源,能吸引大家在隐语上实现共建,发挥各家企业的所长,最终希望在隐私计算技术上能形成的大的突破。”王磊告诉 InfoQ,国内做隐私计算的企业多集中在联邦学习技术路线,真正做 MPC 技术路线的并不多,做 TEE 且开源的就更少了。闭源也让大家很难判断技术的安全性,而安全是隐私计算的立足之本。


隐私计算行业人才也因不同背景分布在各个企业中。由于人工智能技术的火热,与人工智能技术联系更紧密的联邦学习成为更多隐私计算公司的主要技术方向。从隐私计算技术人才的分布来看,联邦学习方向上的技术人才大多有人工智能的背景。多方安全计算 MPC 具有强安全的属性,技术人才也多具有安全背景。“我觉得最主要是人才密度的原因。”王磊谈道,“对国内来说,由于机器学习人才密度较大,联邦学习的门槛会更低一点,而对于安全多方计算,人员的密度会相对低很多,导致其门槛会高一些。”


所以在“隐语”团队看来,开源或许是行业视角下一定程度上可以聚合技术资源投入的方法之一。目前来说无法判断哪条技术路线能在未来胜出,因为每条技术路线目前都只能解决一部分场景的问题,不同技术路线各有优劣。王磊解释道:“未来哪种技术路线能最终胜出,一方面取决于这个技术路线上是否会出现重大的技术突破,另一方面也取决于是否能找到合适的场景去驱动,比如同态加密技术一旦有较大的突破,可以在很多场景中使用,而且不受太多带宽的约束,也可以很好地支撑类似“东数西算”这样的大规模数据场景。此外,不同应用场景对于安全性、性能、成本的要求也是不同的,所以就算某一个隐私计算技术有了较大的突破,也不一定可以满足所有业务场景的需求。”


隐语目前的思路是,把主流的隐私计算方向,用一套统一的架构支撑起来。这也是隐语区别于谷歌等开源隐私计算框架比较不同的点。对于蚂蚁集团而言,这样做的好处在于,在看不清方向的时候,隐语不会错失窗口,一旦某个技术方向上有突破,也能做重点的倾斜和支撑。在隐语团队内部,不同的研究方向会由不同的小团队负责。


此次开源,隐语采用 Apache-2.0,代码托管在 Github 及 Gitee。对于算法 / 模型研发开发者,可以使用隐语提供的编程能力,方便快捷地将更多算法和模型迁移来,并得到隐私保护增强。对于底层安全开发者,可将底层密码 / 安全研究成果嵌入隐语,完善密态设备的能力、性能和安全,转化实际业务应用。


在 7 月发布的首个开源版本中,隐语开源了 MPC 的设备、HE 的设备以及差分隐私的原语,也会开放出整个明密文混合计算框架。在上层,基于这个框架隐语提供了部分多方安全计算和联邦学习的机器学习算法;到 11 月,隐语计划将上层的原子化产品能力开放,也会将底层大规模高可用的资源调度系统开放,并且会同步提供基于可信执行环境的数据分析和机器学习算法。


围绕开源社区,隐语希望能够在多个方面为隐私计算技术生态建设做力所能及之事:


其一是围绕隐私计算这一技术核心通过多种渠道以文字、视频等多样的内容,普及这一技术,通过开放的交流探讨增强生态中各界之间的交流;


其二是在普及之上,联动高校科研等科研机构,形成产业视角与教学视角的结合,打造一套体系化的隐私计算教学材料,助力社会培养会用隐私计算的人才体系;其三是在会用之上给予实质性的孵化支持,即通过 CCF- 蚂蚁隐私计算科研基金,公开招募、评选、扶持有创新有价值的科研项目深度发展。


“隐私计算在实际业务中使用时,需要和业务系统深度集成,而作为一个技术门槛和壁垒都比较高的技术方向,如果 让每个使用的团队都去从头开发 ,这其实是有非常大的成本的,隐语在内部的开源其实很大程度上能够帮他们去降低成本。”王磊谈道,“隐私计算还是一个蓝海,目前不存在有非常大的内部竞争的问题。‘隐语’开源也是希望能够把现在做隐私计算的单薄的技术力量汇聚起来,让大家形成合力,推动技术方向更快地发展。”


不过在企业内部推动开源要比在外部相对容易,外部企业之间的目标差异性更大,并且部分企业本身已经有了一些隐私计算的能力,更多地只是希望对现有能力做补充。“所以我觉得需求的差异性会很大。沟通的效率,也会比在企业内部沟通要低。但是,我觉得从整体推动隐私计算技术发展的角度来说,单靠一家集团、一个公司,其实是很难的,所以隐语开源势在必行。”王磊谈道。


为了让更多方参与到开源中来,“隐语”筹备近一年,主要是在做整体的架构升级,以确保开源的是高质量、可扩展的技术框架。


架构升级方面,以业务需求为起点的技术,发展到后期往往会有很多“独立的烟囱”,语义抽象跟着业务需求走,会让系统架构中形成很多“历史包袱”。基于“归纳和演绎”的理念,隐语这次的架构升级将很多业务层的语义剥下来,重新做分层和抽象封装,整体架构的通用性会更高。“我们刚开始做 MPC、联邦学习的时候,做着做着发现其实 MPC 和联邦学习是相通的。它们能够抽象出来的共同点是明密文混合计算。然后你会发现通过一套框架,我们可以把联邦学习和 MPC 完全统一起来,相互耦合。”


“隐语”团队在整个隐私计算的架构分层上做了很多设计,提供更适合开发和接入的模式。

隐语技术框架分层


隐语将参与开源的群体大体上分为两大类,一类是使用者,通过使用隐私计算的技术形成解决方案解决业务问题;一类是开发者,对于隐私计算有更深入的理解,能够进行代码的贡献。


针对隐私计算的开发者,隐语框架可以分成五层,支持不同背景的开发者共同参与开发共建。


  • 最上面是产品层,提供黑 / 白屏的原子化产品能力,可以方便业务平台进行集成和二次开发。

  • 第二层是业务算法层,通过屏蔽隐私计算的概念,让算法开发者可以像使用传统机器学习和数据分析一样使用隐私计算。

  • 第三层是明密文混合调度层,这一层会提供明密文混合编程的接口,通过屏蔽掉隐私计算各种技术的实现细节,降低开发者的门槛,当业务算法层不能满足开发者对性能或场景的需求,开发者可以通过明密文混合编程接口,进行更深度的开发。

  • 第四层是引擎层,这一层会面向安全背景的开发者,深入到隐私计算各种技术的实现细节,通过密态虚拟机的抽象,对上层提供明密文混合计算的能力。

  • 最后一层是资源调度管理层,用于解决跨域协作之间的生产高可用问题。


“我们一直觉得开源是一件非常慎重的事情。开源不仅仅是把代码拿出去这么简单,其实我们更希望通过良好的架构设计,最终能够让更多的人加入进来。”王磊谈道,“我们希望有更多的用户能够去使用隐语,去解决实际场景中的问题,帮助我们去探索出更多的实际应用场景。我们也希望在这个过程中,用户能够及时地把问题反馈到社区,形成更好的迭代。开发者们能够参与到技术共建过程中,以合力去突破隐私计算技术方向。”


“隐语”团队也已成立开源指导委员会,对技术进行把关,与蚂蚁集团内部有开源运营经验的同学一起打造开源社区。

隐私计算技术突破口


虽然在技术发展、业务需求和投融资的推动下,行业内已经有不少或开源或闭源隐私计算公司,但目前,对于隐私计算的水平,行业内并没有一套严格统一的指标。对于技术发展的阶段,也没有相对统一的衡量标准。


数据时代,传统的集中式计算,数据规模、计算能力、算法复杂度呈正相关趋势,隐私计算也是一样,能够支持的数据量越高,场景越复杂,算法越复杂,隐私计算技术的成熟度就越高。“我觉得隐私计算的几个技术目前能够去支撑的数据量可能不尽相同,一般像 MPC 大概是百万到千万的一个量级;TEE 和联邦学习 会是千万到亿的量级。”王磊谈道,“如果从能够适应的场景来考虑,我觉得可以综合考虑安全性、支持的数据规模,以及在数据规模下的性能和精度,通过这些维度去衡量整个技术的发展阶段。”


从技术维度出发,王磊对几个核心技术方向可能的突破点做出了自己的判断:


联邦学习最需要突破的技术点是安全性的证明和度量。AI 方面的专家在做联邦学习的过程中,对安全性的理解是不如安全领域的专家的,联邦学习需要想办法证明过程中被泄露的中间信息是否安全,至少需要能对泄露的信息量进行度量。多方安全计算在安全上有理论证明,需要解决的是低网络带宽和高网络延迟的情况下,怎么提升计算性能。


同态加密核心要解决的是加密后的计算性能和数据膨胀的问题。目前行业内的主要思路是通过硬件计算来解决加密后的计算性能的问题。数据膨胀方面,很短的数据加密后就会膨胀得非常厉害,对存储和网络传输都会带来比较大的压力。可信执行环境,面临的第一个问题是底层硬件的漏洞,比如硬件黑盒化的功能无法验证,在很多场景尤其是金融场景很难落地应用。


针对上述这些问题,蚂蚁集团也在积极努力的去尝试解决,比如联邦学习的安全性度量工作,多方安全计算协议性能优化,针对同态加密的硬件加速,自主可控的 TEE 软硬件的研发,都是目前蚂蚁集团重要的研究方向,这些方向的研究成果也会即时地通过蚂蚁的开源系统分享给社会,共同推动隐私计算行业的进步。


整体来看,作为保障数据流通的关键技术,隐私计算技术从安全性和性能层面来看,还存在着一定的限制。蚂蚁集团基于长期对隐私计算技术的实践积累,提出了多个创新技术路线。如从 2021 年起,蚂蚁集团推动发展了新一代隐私计算技术可信密态计算(TECC),创新性地将密码技术(MPC、FL)和全栈可信计算技术(TEE、TPM)融合在一起,突破了使用单一技术的局限,获得了更高的综合能力。与其他隐私计算技术相比,TECC 更加适用于对数据安全需求高(如重要数据)、数据规模大(如百万个人信息)、计算逻辑复杂、参与方数量不固定的场景,并支持等跨地域数据中心的密态计算需求。据悉,蚂蚁集团也正在筹备这一技术的开源。


对于隐语来说,开源只是走向开放生态的第一步。更多的技术创新、保障开发者使用体验、活跃健康的开发者生态,才是隐语未来要长期面临的挑战。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2022-07-07 11:157020

评论 1 条评论

发布
用户头像
2022-07-08 23:34
回复
没有更多了
发现更多内容

一、数据结构

喵叔

RavenDB起步--使用 RavenDB Studio

喵叔

为数据库性能调优插上 AI 的翅膀 | 调优测试框架 Matrix 团队访谈

PingCAP

第四节:SpringBoot中web模版数据渲染展示

入门小站

springboot

Go 语言快速入门指南:Go 读取文本文件

宇宙之一粟

Go 数据读取 Go 语言 1月月更

RavenDB起步--客户端API(一)

喵叔

TDSQL-A技术架构演进及创新实践

腾讯云数据库

tdsql 国产数据库

Netty核心概念之ChannelHandler&Pipeline&ChannelHandlerContext

CRMEB

RavenDB起步--安装以及示例数据库

喵叔

分享四款H5怀旧小游戏魔塔+伏魔记+三国霸业+寻仙纪

echeverra

前端 游戏

鸿蒙轻内核M核源码分析:LibC实现之Musl LibC

华为云开发者联盟

鸿蒙 内存分配 LibC Musl LibC Musl

架构实战营模块六作业

Jude

架构实战营

ReactNative进阶(三十一): IoC 框架 InversifyJS 解读

No Silver Bullet

​React Native 1月月更 InversifyJS

华青融天加入,龙蜥社区再添科技风险监测领域新伙伴

OpenAnolis小助手

Linux 开源 合作伙伴

看过来!腾讯文档上架优麒麟软件商店啦

优麒麟

Linux 开源 腾讯 操作系统 麒麟操作系统

20000字详解大厂实时数仓建设 | 社区征文

五分钟学大数据

数据仓库 实时数仓 1月月更 新春征文

☕【Java深层系列】「并发编程系列」让我们一起探索一下CyclicBarrier的技术原理和源码分析

洛神灬殇

并发编程 AQS CyclicBarrier Java 线程 1月日更

智联生活行业加速器热门FAQ:物联网企业该如何与华为云合作?

华为云开发者联盟

物联网 华为云 智联生活 智联生活行业加速器 云市场

中科柏诚:积极践行为中小企业服务宗旨,同乡村振兴有效衔接

联营汇聚

事件驱动架构在 vivo 内容平台的实践

vivo互联网技术

微服务 云原生 事件驱动架构

TDSQL-C PostgreSQL版的高可用特性

腾讯云数据库

tdsql 国产数据库

基于Flink CDC打通数据实时入湖

五分钟学大数据

flink 1月月更

在线XML转JSON工具

入门小站

工具

MySQL 如何解决幻读(MVCC原理分析)

Ayue、

MySQL InnoDB 1月月更

1月月更|推荐学java——Spring事务

逆锋起笔

spring事务管理 spring ioc java 编程 Spring Java Spring事务

TDSQL PostgreSQL执行计划详解

腾讯云数据库

tdsql 国产数据库

Redis:我是如何与客户端进行通信的

华为云开发者联盟

redis 通信 协议 指令 客户端

模块1作业

卡西毛豆静爸

架构实战营

架构训练营 毕业设计

dog_brother

「架构实战营」

RavenDB起步--第一个 RavenDB 程序

喵叔

为什么ConcurrentHashMap是线程安全的?

王磊

开源可信隐私计算框架“隐语”,蚂蚁做了什么?_AI&大模型_张俊宝_InfoQ精选文章