重磅!蚂蚁开源可信隐私计算框架“隐语”,主流技术灵活组装开发者友好分层设计...

CSDN资讯 CSDN资讯     2022-10-21     685

关键词:

7月4日,蚂蚁集团宣布面向全球开发者正式开源可信隐私计算框架“隐语”,采用 Apache-2.0 协议,代码托管至 GitHub、Gitee 两大平台。“隐语”通过良好可扩展的架构设计,用一套通用框架统一支持了包括 MPC、TEE、FL、HE、DP 在内的多种主流隐私计算技术,可以对多种技术进行灵活组合,针对不同应用场景提供不同的解决方案。

六年技术沉淀,“隐语”攻破一道隐私计算应用难题

2016 年,“隐语”作为一个“实验项目”在蚂蚁诞生,从矩阵变换技术踩下第一个脚印,到可信执行环境(TEE),再到多方安全计算(MPC)、联邦学习(FL)等,一路以来不断丰富自身技术内涵,在金融、医疗等领域实际应用场景中有成功的落地应用经验。

尽管隐私计算理论发展四十余年,在应用层面,至今依然存在着诸多行业必须跨越的障碍

  • 隐私计算技术方向多样,不同场景下有其各自更为合适的技术解决方案;

  • 隐私计算学习曲线很高,非隐私计算背景的用户使用困难;

  • 隐私计算涉及领域众多 需要领域专家共同协作。

隐私计算现阶段依旧是相对新兴的跨学科领域,涉及密码学、机器学习、数据库、可信硬件等多个领域,包含多方安全计算(MPC)、联邦学习(FL)、可信执行环境(TEE)、可信密态计算(TECC)等多种技术路线,涉及众多专业技术栈,要实现完善并保障安全并非易事。“隐语”的设计目标,是使得数据科学家和机器学习开发者无需了解底层技术细节,就可以非常容易地使用隐私计算技术进行数据分析和机器学习建模。

那么,如何才能够适配不同层次开发者的不同需求?

为了达到这个目标,隐语提供了一层设备抽象,将多方安全计算(MPC)、同态加密(HE)和可信执行环境(TEE)等隐私计算技术抽象为密文设备, 将单方计算抽象为明文设备。

基于这层抽象,数据分析和机器学习工作流可以表示为一张计算图,其中节点表示某个设备上的计算,边表示设备之间的数据流动,不同类型设备之间的数据流动会自动进行协议转换。在这一点上,隐语借鉴了主流的深度学习框架,后者将神经网络表示为一张由设备上的算子和设备间的张量流动构成的计算图。

以上流程对应拆解到框架分层,“隐语”对框架自下而上,进行了如下的设计及研发:

资源管理层:主要承担了两方面的职责。第一是面向业务交付团队,可以屏蔽不同机构底层基础设施的差异,降低业务交付团队的部署运维成本。另一方面,通过对不同机构的资源进行统一的调度和管理,解决了生产场景中的大规模和高可用问题。

明密文计算设备与原语层:提供了统一的可编程设备抽象,将多方安全计算(MPC)、同态加密(HE)、可信硬件(TEE)等隐私计算技术抽象为密态设备,将单方本地计算抽象为明文设备。同时,提供了一些不适合作为设备抽象的基础算法,如差分隐私(DP)、安全聚合(Secure Aggregation)等。未来当有新的密态计算技术出现时,可以通过这种松耦合的设计集成进隐私框架。

明密文混合调度层:这层一方面对上层提供了明密文混合编程的接口,同时也提供了统一的设备调度抽象。通过将上层算法描述为一张有向无环图,其中节点表示某个设备上的计算,边表示设备之间的数据流动,即逻辑计算图。然后由分布式框架进一步将逻辑计算图拆分并调度至物理节点。

AI & BI 隐私算法层:这一层的目的是屏蔽隐私计算技术细节,但保留隐私计算的本质,目的是降低隐私计算算法的开发门槛,提升开发效率。有隐私计算算法开发诉求的开发者,可以根据自身场景和业务的特点,设计出一些特化的隐私计算算法,来满足自身业务和场景对安全性、计算性能和计算精度的平衡。在这一层上,隐语本身也会提供一些通用的算法能力,比如 MPC 的 LR/XGB/NN,联邦学习算法,SQL 能力等。

用户界面层:隐语的目标并不是做一个端到端的产品,而是为了让不同的业务都能够通过快速集成隐语而具备全面的隐私计算能力。因此隐语会在最上层去提供一层比较薄的产品 API,以及一些原子化的前后端 SDK,去降低业务方集成隐语的成本。

以开放为核心 “隐语”致力于将开发者体验做到极致

总结隐语的架构分层,可以看出隐语框架始终围绕开放这一核心思想,通过不同层次的设计抽象,能够为不同类型的开发者都提供良好的开发体验:

设备层良好的设备接口和协议接口,支持更多的设备和协议插拔式的接入,对密码学、可信硬件、硬件加速等背景的开发者友好,利于不断扩展密态计算的类型和功能,不断提升协议的安全性和计算性能。

算法层为机器学习提供了灵活的编程接口,对算法开发者友好,他们可以像使用传统机器学习框架的方式去定义自己的算法。

那么在首个开源版本中,隐语已经开放了那些模块呢?支持的功能又有哪些?

图:隐语框架V0.6开源模块

  • MPC设备

支持大部分 Numpy API,支持自动求导,提供 LR 和 NN 相关的 demo,支持pade 高精度定点数拟合算法,支持 ABY3、 Cheetah 协议。用户可以采用传统的算法编程模式,在不了解 MPC 协议的情况下开发出基于 MPC 协议的 AI 算法

  • HE设备

支持 Paillier 同态加密算法,向上层提供 Numpy 编程接口,用户可以使用 Numpy 接口做矩阵加法或者明密文矩阵乘法运算。且实现了与 MPC 密态设备之间的数据可流转。

  • 差分隐私安全原语

实现了一些差分隐私噪声机制、安全噪声生成器、隐私开销计算器。

  • 明密文混合编程

支持中心化编程模式,使用 @device 标记构建明文和密文设备混合计算图,基于计算图进行并行、异步任务调度。

  • 数据预处理

提供水平场景下的数据标准化、离散化、分箱功能,提供垂直场景下的相关系数矩阵、WOE 分箱功能。无缝对接已有的 dataframe,提供和 sklearn 一致的使用体感。

  • AI & BI 隐私算法-多方安全计算

提供水平场景下的 XGBoost 算法、新增垂直场景下的 HESS-LR 算法,并结合差分隐私增强了对拆分学习的隐私保护。

  • AI & BI 隐私算法-联邦学习

提供联邦学习模型构建和包括 SecureAggregation,MPC Aggregation, 在内的多种安全模式的梯度聚合,用户只需要在模型构建时给出参与方 list 和聚合方法,之后的数据读取,预处理到模型训练的体验和传统明文编程几乎一致。

总结来看,主要如下:

对于算法/模型研发:使用隐语提供的编程能力,可以方便快捷地将更多算法和模型迁移过来,并得到隐私保护增强。

对于底层安全共建:可将底层密码/安全研究成果嵌入隐语,完善密态设备的能力、性能和安全,转化实际业务应用。

据隐语开源发布会消息,“隐语”也将在后续的开源版本更新中,逐步点亮更多模块。

到开发者中去,穿透技术壁垒练就“绝活”

回归这个现实问题,市面上的隐私计算框架有很多,比如 TFE,CrypTen,MP-SPDZ 等,因为现有无论是基于AI的框架(TFE/CrypTen),还是从安全计算出发的框架(SPDZ),都存在着一定的局限。前者往往难部署,难做安全领域特定的优化。后者往往会需要写一些 Toy AI 框架,学习成本高。

在“隐语”沉淀出的一整套“绝活”中,密态计算设备SPU是创新研发亮点之一。

SPU是 Secretflow Processing Unit 的简称,她作为隐语平台的密态计算单元,为隐语提供安全的计算服务:

近些年,密态计算(MPC/HE)在算力上都有巨大的进步,但是密态算力和 AI 的算法需求依然难以匹配。比如联邦学习,将算法的某一个子步骤使用安全计算实现,牺牲局部安全性以换取更高的性能。在算力无法匹配算法的时候,“隐语”的思路是“明密文混合”,来实现安全和性能的平衡。

隐语提供了非常自由的明密文混合编程范式,我们不限制明文的引擎,也不限制密文引擎,开发者可以用他自己熟悉的框架开发,然后标记其中的某一部分用明文引擎跑,另一部分用 SPU 跑。比如:

【注】图中MPC Device就是SPU实现的

作为对比,从安全和性能这种的角度,无论 TFE/CrypTen/SPDZ 等都很难进行这种平衡。

此外,SPU 的部署模式透明,不用修改任何一行代码,既有模型都可以在上述任何一种部署场景上被安全且正确的执行。并且(相对于基于AI平台的隐私计算框架)SPU 运行时非常的轻量级,不需要 Python runtime,可以方便的进行部署和集成。

作为 AI 开发者,不需要任何安全背景,就可以将现有的模型安全的应用到多方数据上。

作为安全开发者,不需要任何 AI 背景,仅仅实现安全计算的基本算子,就可以支持多种前端框架。并且,你可以方便的部署和运维,在安全和性能之间折中,找到最佳的落地方案。

SPU 将 AI 前端和 MPC 后端解耦,使得在 SPU 中扩展的任何安全协议都可以无感的支持多种前端。这部分,已经有团队在“隐语”框架中取得了一些共建实现,如阿里安全双子座实验室将其 Cheetah(猎豹)协议部分贡献至隐语中,并进行了更好的优化。

另一个亮点是:目前业界最快的两方安全计算协议“猎豹”,贡献到了隐语,实现了深度协作。

当前业界的隐私计算需求场景以两方计算居多:Alice(数据需求方)希望借助Bob(数据源)的数据来增强自己的业务能力,但是 Bob 又不想直接给出自己的数据。因此如何高效的实现安全两方计算(2PC),便成为解决这一问题的关键。阿里安全双子座实验室为解决这一问题研发了 Cheetah(猎豹)安全两方计算框架,在 2PC 的多个底层瓶颈上都取得了突破,让两方计算的整体性能取得了大幅提升,最快可以比此前的最好成果-微软 CryptFLOW2(CCS20)提升5倍以上,已经被国际四大安全顶会之一的 USENIX Security Symposium 接收。

除了部分论文公开内容之外,猎豹已在“隐语”中实现了更好的优化(相较于公开代码支持 30-40 比特的秘密分享,猎豹在隐语中实现的是支持如 64 比特的更大秘密分享)以及一些未在论文中公开的算法。最重要的是这种实现对隐语上层业务逻辑无感知,即隐语已有逻辑代码无需改动以适配。

“隐语”开源社区的未来规划

“隐语”的逻辑设备抽象为算法开发者提供了极大的灵活性,他们可以像积木一样自由组合这些设备,在设备上自定义计算,从而构建自己的隐私计算算法。目前,“隐语” 开源采用 Apache-2.0,允许自由地下载和使用,不仅将在代码库中面向开发者逐步开放更多模块及功能,也已经在开发者文档中提供了一些隐私保护算法开发实例,如基于联邦学习的图片分类任务等,供开发者下载运行感受效果。

除了专注于技术本身,在框架的可编程性、可扩展性上做实现强化。“隐语”开源社区也正式成立,围绕开源社区,蚂蚁集团及隐语也将在多个方面与开发者、研究者联动共建隐私计算生态:

其一是通过多种渠道以文字、视频等多样的内容,普及隐私计算这一技术,通过开放的交流探讨增强与开发者的交流;

其二是联动高校科研等科研机构进行“线上授课”,形成产业视角与教学视角的结合,为开发者打造更多样的交流活动,沉淀体系化的隐私计算学习材料,公开分享,助力开发者个人成长;

除此之外,在隐语开源发布会上,蚂蚁集团宣布联合中国计算机学会(简称CCF)设立“CCF-蚂蚁隐私计算专项科研基金”,给予隐私计算研究者孵化支持,公开招募、评选、扶持有创新有价值的课题深度发展,支持隐私计算前沿研究。

即刻访问内容,基于隐语探索更多有趣的用法:

代码:

https://github.com/secretflow

文档:

SecretFlow:https://secretflow.readthedocs.io

SPU:https://spu.readthedocs.io

<hr>

新程序员001-004》已全面上市,欢迎扫描下方二维码或点击进入立即订阅,即可畅享电子书及精美纸质书

 

历时4年打磨,可信执行环境操作系统occlum1.0发布

...2022中国计算机大会(CNCC2022)在线上举行,由蚂蚁集团主导开源的可信执行环境(TEE)操作系统Occlum1.0在“可信隐私计算研讨会”上发布。Occlum是机密计算领域核心开源软件之一,也是蚂蚁隐语技术栈的重... 查看详情

隐私计算+区块链原生融合之后平台开放提升性能,蚂蚁链隐私协作平台fair重磅架构升级

蚂蚁数科技术新突破:软硬协同提升端到端隐私计算性能,小时级计算缩短至3分钟。隐私协作平台FAIR亿级数据安全匹配能力提升10倍以上。9月1日-3日,2022世界人工智能大会(WAIC)在上海举办,除了AI技术... 查看详情

实现隐私计算的相关技术

...tionMPC)2.联邦学习(Federatedmachinelearning/FederatedLearning)3.可信执行环境(TrustedExecutionEnvironmentTEE)三种技术的对比参考一、隐私计算(PrivacyComputing)隐私计算,广义上是指面向隐私保护的计算系统与技术,... 查看详情

实现隐私计算的相关技术

...tionMPC)2.联邦学习(Federatedmachinelearning/FederatedLearning)3.可信执行环境(TrustedExecutionEnvironmentTEE)三种技术的对比参考一、隐私计算(PrivacyComputing)隐私计算,广义上是指面向隐私保护的计算系统与技术,... 查看详情

阿里达摩院开源新框架:入局隐私保护计算,解决异构异步难题,联邦学习迎来重磅玩家...

明敏梦晨发自凹非寺量子位|公众号QbitAI没人愿意随便交出自己的隐私。当苹果正式推出“应用跟踪透明度”隐私保护功能时,只有16%的用户选择了允许App跟踪自己的活动。但正如苹果提示所说,有时又不得不用隐私数据... 查看详情

隐私计算框架

本文统计当前较为火热隐私计算框架:##PySyftPySyft是开源社区OpenMined开源的隐私计算框架,主要针对实现基于隐私计算的深度学习。PySyft将联邦学习、多方安全计算以及差分隐私、远程执行等技术结合在一个编程模型中并集成到不... 查看详情

tee主场仍是intel和amd,隐私计算的国产化路径如何实现?

作为未来数据要素市场建设的关键技术,隐私计算近年来得到快速发展。事实上,隐私计算涉及的技术繁多且复杂,面对众多技术路线分支,业务应用在技术选型时还需具体情况具体分析。本文将尝试对隐语支持... 查看详情

阿里重磅开源blink:为什么我们等了这么久?

今年,实时流计算技术开始步入主流,各大厂都在不遗余力地试用新的流计算框架,实时流计算引擎和API诸如SparkStreaming、KafkaStreaming、Beam和Flink持续火爆。阿里巴巴自2015年开始改进Flink,并创建了内部分支Blink,目前服务于阿里... 查看详情

隐私计算中可信执行环境的一知半解

...路径技术:以安全多方计算为代表的密码学路径、以可信任执行环境为代表的硬件路径和以联邦学习为代表的人工智能路径。老码农在了解了《从隐私到隐私计算》之后,对《隐私计算之全同态加密》和《隐私计算中的... 查看详情

隐私计算中可信执行环境的一知半解

...路径技术:以安全多方计算为代表的密码学路径、以可信任执行环境为代表的硬件路径和以联邦学习为代表的人工智能路径。老码农在了解了《从隐私到隐私计算》之后,对《隐私计算之全同态加密》和《隐私计算中的... 查看详情

什么是隐私计算,它是怎样保护我们的隐私安全?

...FL)​​​​联邦学习和多方安全计算的区别​​​​3、可信任执行环境(TEE)​​​​三、隐私计算底层应用的密码学算法​​​​1、同态加密(HE)​​​​2、差分隐私(DP)​​​​3、不经意传输(OT)​​​​四、华为... 查看详情

同态加密开源框架整理

...的服务区”。177篇原创内容公众号本次推文分享同态加密开源框架合集。本文基于JonathanSchneider的github仓库进行补充整理。HEhubgithub: https://github.com/primihub/HEhub简介:由原语科技推出的同态加密开源算法库HEhub,作为PrimiHub... 查看详情

隐私计算+区块链,助力数据可信治理实践

来源| 人民数字Fintech责编|Carol封图|CSDN付费下载自视觉中国近年来,区块链技术应用和产业已经具备良好的发展基础,在防伪溯源、供应链管理、司法存证、政务数据共享、民生服务等领域涌现了一批有代表性的区块链... 查看详情

蚂蚁链发布新一代网络平台「fair」区块链进入隐私计算原生时代

10月22日,2021杭州云栖大会上,蚂蚁集团旗下蚂蚁链宣布升级区块链架构,在新架构上,隐私计算成为一种原生能力。蚂蚁链还基于这一新架构推出全新区块链网络平台「FAIR」,在「FAIR」上,隐私计算将... 查看详情

重磅!阿里巴巴开源首个边缘计算云原生项目openyurt

作者|郭飞(阿里云资深技术专家)、徙远(阿里云高级技术专家)、新胜(阿里云技术专家)导读:北京时间5月29日,在阿里云容器服务ACK@Edge(边缘集群托管服务)上线一周年之际,阿里巴巴正式宣布将其核心能力开源,并向... 查看详情

重磅!阿里巴巴开源首个边缘计算云原生项目openyurt

作者|郭飞(阿里云资深技术专家)、徙远(阿里云高级技术专家)、新胜(阿里云技术专家)导读:北京时间5月29日,在阿里云容器服务ACK@Edge(边缘集群托管服务)上线一周年之际,阿里巴巴正式宣布将其核心能力开源,并向... 查看详情

重磅!阿里巴巴开源首个边缘计算云原生项目openyurt

作者|郭飞(阿里云资深技术专家)、徙远(阿里云高级技术专家)、新胜(阿里云技术专家)导读:北京时间5月29日,在阿里云容器服务ACK@Edge(边缘集群托管服务)上线一周年之际,阿里巴巴正式宣布将其核心能力开源,并向... 查看详情

重磅!阿里巴巴开源首个边缘计算云原生项目openyurt

作者|郭飞(阿里云资深技术专家)、徙远(阿里云高级技术专家)、新胜(阿里云技术专家)导读:北京时间5月29日,在阿里云容器服务ACK@Edge(边缘集群托管服务)上线一周年之际,阿里巴巴正式宣布将其核心能力开源,并向... 查看详情