开源可信隐私计算框架“隐语”

2.1 什么是隐语

蚂蚁集团开源通用可信隐私计算框架,历时 6 年自主研发,以安全、开放为核心设计理念打造的可信隐私计算技术框架,涵盖了当前几乎所有主流隐私计算技术。

主流技术路线速览

img

隐私计算是在保护数据本身不对外泄露的前提下,实现数据分析计算的一系列技术路线的统称,可达到“数据可用不可见”的目的,在充分保护数据和隐私安全的前提下,实现数据价值的转化和释放。

隐私计算并非单一的技术,而是包含多种隐私保护技术、隐私增强技术,是一系列技术的统称,涉及密码学、安全硬件、信息论、分布式计算等多个学科。“隐私计算”这个概念虽然诞生时间不长,但从其现代密码学的本质来看,其相关技术理论的研究有着相当的一段历史。

从1949年香农开创现代密码学时代起,安全多方计算、零知识证明被陆续提出,多种新的技术路线和隐私计算方案(例如混淆电路、基于秘密分享的MPC、半同态加密等协议和算法等)也陆续出现。七十余年间,隐私计算经历多个里程碑,技术体系逐步发展和壮大,并开始有大规模的项目落地。

2019年后,隐私计算进入应用期,走出学院派与实验室,广泛与行业应用场景相结合。各类隐私计算厂商也如雨后春笋一般涌现出来,激发了隐私计算技术可用性的快速提升。

当前,隐私计算在应用中快速发展,领域内仍在持续涌现出更多新的技术特点和解决方案。

从技术层面来说,隐私计算主要有三类主流技术路线:

  • 一类是采用密码学和分布式系统,以多方安全计算(Secure Multiparty Compute,MPC)为代表;
  • 另一类是采用基于硬件的可信执行环境(Trusted Execution Environment,TEE);
  • 最后一类是近年来发展相当火热的联邦学习(Federated Learning,FL)。此外,还有零知识证明、同态加密、差分隐私等技术。各类技术路线融合应用趋势凸显。

多方安全计算

多方安全计算(Secure Multiparty Compute,MPC)是一种将计算分布在多个参与方之间的密码学分支,参与者在不泄露各自隐私数据情况下,利用隐私数据参与保密计算,共同完成某项计算任务。

这项技术最早可追溯至1981年,Rabin首次提出通过Oblivious Transfer(OT)协议实现机密信息交互。1982年,姚期智教授在论文《Protocols for Secure Computations》中提出“百万富翁问题“,即两个百万富翁在没有可信第三方、不透露自己财产状况的情况下,如何比较谁更富有,这标志着多方安全计算技术的产生。1986年,姚期智教授提出混淆电路技术,实现了第一个多方(两方)安全计算方案。1987年,Goldreich等人提出了基于电路的秘密共享方案GMW,并将其应用于多方安全计算。

同态加密

同态加密(Homomorphic Encryption,HE)是一种通过对相关密文进行有效操作(不需获知解密秘钥),从而允许在加密内容上进行特定代数运算的加密方法。其特点是允许在加密之后的密文上直接进行计算,且计算结果解密后和明文的计算结果一致。

1978年,Ron Rivest、Leonard Adleman和Michael L. Dertouzos提出同态加密问题,并在同年提出满足乘法同态的RSA算法。同态加密问题的提出将加密技术的研究从静态引向动态,是理论上的巨大革新,也开创了隐私计算的先河。2009年,Gentry提出了首个实用的全同态加密算法,标志着全同态计算时代的开始。2017年,国际同态加密标准委员会成立,标志着同态加密在全球进入高速发展阶段。

联邦学习

联邦学习(Federated Learning,FL)是一种具有隐私保护属性的分布式机器学习技术。在机器学习中,通常会从多个数据源聚合训练数据,并将其传送到中央服务器进行训练。然而这一过程容易产生数据泄露风险。在联邦学习模型中,运算在本地进行,只在各个参与方之间交换不包含隐私信息的中间运算结果,用于优化各个参与方相关的模型参数,最终产生联邦模型,并将应用于推理,从而实现了“原始数据不出本地”、“数据可用不可见”的数据应用模式。按照数据集合维度相似性构成的特点,业界普遍将联邦学习分为横向联邦学习、纵向联邦学习与联邦迁移学习。

2012年,王爽等在期刊Journal of Biomedical Informatics发表论文,首次解决医疗在线安全联邦学习问题,该框架服务于多个国家级医疗健康网络,也是联邦学习系统构架层面的突破。

零知识证明

零知识证明(Zero-Knowledge Proof,ZKP),是指证明者能够在不向监控者提供任何有用信息的情况下,使验证者相信某个论断是正确的。零知识证明实际上是一种涉及双方或更多方的协议,即双方或更多方完成一项任务需要采取的一系列步骤,证明者需要向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不向验证者泄露任何关于被证明消息的信息。

1985年,S. Goldwasser、S. Micali和C. Rackoff首次提出零知识证明(Zero-Knowledge Proof, ZKP)概念。目前在实际应用中,某些加密货币就采用了这一技术路线。

可信执行环境

可信执行环境(TEE)是一种基于硬件的隐私保护方法,是指计算平台上由软硬件方法构建的一个安全区域,可保证在安全区域内部加载的代码和数据在机密性和完整性方面得到保护。2009年,OMTP工作组率先提出一种双系统解决方案:在同一个智能终端下,除多媒体操作系统外再提供一个隔离的安全操作系统,这一运行在隔离硬件之上的隔离安全操作系统用来专门处理敏感信息以保证信息安全,该方案是可信执行环境的前身。

在实践层面,目前以Intel SGX和ARM TrustZone为基础的TEE技术起步较早,社区和生态已比较成熟。同时,国产化的芯片厂商在TEE方向上已经开始发力,国内芯片厂商如海光、鲲鹏、飞腾、兆芯等都推出了支持可信执行环境的技术,信创国产化趋势明显,相关生态也正在加速建立、完善。

差分隐私

2006年,C. Dwork提出差分隐私(Differential Privacy, DP),这一技术路线的主要原理是通过引入噪声对数据进行扰动,并要求输出结果对数据集中的任意一条记录的修改不敏感,使攻击者难以从建模过程中交换的统计信息或者建模的结果反推出敏感的样本信息。

隐私计算的未来:融合应用

除上述技术之外,还有图联邦、混淆电路、不经意传输等多种技术路线被先后提出,并不断在科研和产业的推动下得到发展和应用。

纵观隐私计算不同技术路线,可以发现各有其优势与不足,在可支持计算、隐私保护维度、隐私保护强度、安全性、性能等方面有较大差异,分别适合不同的应用和场景;同时,不同的技术路线目前正在持续融合、取长补短,实现1+1>2的应用效果。例如通过硬件加速的全同态加密算法构建强隐私、高性能的纵向联邦学习系统,就是一个不同技术路线深度融合的典型案例。

隐私计算技术的应用场景
  1. 医疗保健: 在医疗保健领域,医院和研究机构可能需要分析患者的敏感医疗数据以进行研究,但又不能暴露个人身份和隐私。隐私计算技术可以让研究人员在不访问原始数据的情况下进行分析,从而保护患者的隐私。
  2. 金融服务: 银行和金融机构可能需要对客户数据进行分析以识别欺诈行为或进行风险评估,但需要确保客户的隐私得到保护。隐私计算技术可以帮助这些机构在不泄露客户个人信息的情况下进行分析。
  3. 电子商务: 在电子商务中,公司可能希望分析客户购买行为以提供个性化的推荐,但又需要保护客户的隐私。隐私计算技术可以让公司在不知道客户具体购买历史的情况下进行这种分析。
  4. 智能城市: 在智能城市中,大量的传感器和数据收集设备可能会收集关于城市运行状况和居民行为的数据。利用隐私计算技术,城市管理者可以进行数据分析,而不会暴露个人的隐私信息。
  5. 机器学习和数据科学: 在机器学习和数据科学领域,研究人员可能需要访问敏感数据来训练模型或进行分析。使用隐私计算技术,他们可以在不访问原始数据的情况下进行这些任务,从而保护数据所有者的隐私。

2.2 隐语有什么优势

面向使用者

  • 提供适配不同场景的多种解决方案;
  • 提供安全的全链路数据处理能力;
  • 提供快速poc和大规模生产的能力;

面向开发者

  • 针对应用系统开发者:提供前端原子化的集成能力;
  • 针对机器学习算法开发者:提供接近传统算法框架的开发体验;
  • 针对安全协议开发者:提供插拔式的协议快速接入能力;

2.3 隐语解决了什么问题

难题

根据过去几年的实践经验发现,隐私计算技术方向多样,不同场景下有其各自合适的技术解决方案,且涉及领域众多,需要多领域专家共同协作。

对于从业者来说,隐私计算学习曲线很高,非隐私计算北京的用户使用困难。

在实际技术开发中,隐私计算解决方案往往是多个技术路线的组合,过程中涉及到很多重复性的工作。比如,如果开发者想使用联邦学习,就要使用A框架来做研发;如果想使用多方安全计算MPC,那么又要使用B框架来做研发,如果想使用可信硬件,还要去熟悉所选硬件的架构才能真正开始使用。单现实的业务需求是,经常需要多个技术一起来使用,那么这时候就会出现繁琐、重复的开发工作。本是一项技术创新,却带来了技术“烟囱”的困扰。

更致命的是,在交叉技术路线的解决方案中,一个底层新技术的引入,会牵动上层所有工作,拖累技术迭代。引入一项新技术,也必定会改变上层很多东西,对于用户来说,所有的部署可能都要重复体验一遍,体感非常不好。

现状

目前开源的隐私计算框架,如 TensorFlow Federated(TFF)、FATE、FederatedScope、Rosetta、FedLearner、Primihub 等几乎都是针对单个隐私计算路线。这些框架为隐私计算相关社区研究和工业应用都提供了一定支持。然而,实际场景中日益多样化的应用需求,以及技术本身的局限性,给现有隐私计算框架带来了新的挑战。

2.4 为什么能解决这类问题,技术核心是什么

隐语的设计目标是使数据科学家和机器学习开发者可以非常容易地使用隐私计算技术进行数据分析和机器学习建模,而无需了解底层技术细节。其总体架构自底向上一共分为五层:

图片

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

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

继续往上是明密文混合调度层。这层一方面对上层提供了明密文混合编程的接口,同时也提供了统一的设备调度抽象。通过将上层算法描述为一张有向无环图,其中节点表示某个设备上的计算,边表示设备之间的数据流动,即逻辑计算图。然后由分布式框架进一步将逻辑计算图拆分并调度至物理节点。在这一点上,隐语借鉴了主流的深度学习框架,后者将神经网络表示为一张由设备上的算子和设备间的张量流动构成的计算图。

图片

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

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

集齐当前主流隐私计算技术并供灵活组装以满足场景化需求,是隐语呈现的最直观的优势。最核心的是,在这套框架下,开发者可以有多样的选择,通过隐语在他们所擅长的领域做实验、做迭代,能够更低成本、更快速地去做技术验证。同时验证完的技术也可以被别的开发者在别的技术方向使用。王磊认为,隐语更多像是一个开发者的平台,就是把这些不同特长的开发者攒到一起,是很符合开源精神的。

总结来看,主要如下:

  • 对于算法 / 模型研发:使用隐语提供的编程能力,可以方便快捷的将更多算法和模型迁移过来,并得到隐私保护增强。
  • 对于底层安全共建:可将底层密码 / 安全研究成果嵌入隐语,完善密态设备的能力、性能和安全,转化实际业务应用。
  • 隐语也将在后续的开源版本更新中,逐步点亮更多模块。

为什么开源?
对于研究机构来说,可以利用开源的隐私计算框架,在上面做一些实验和研究,产出研究结果和论文。从推动整个隐私计算技术发展的角度来说,单靠一家公司,其实是很难带动行业共同进步的。在这方面,隐语其实做了比较多的考虑,怎么让更多不同背景的人进来做贡献。面对不同背景的用户,在整个架构的分层上做了非常多的设计,提供一个更适合他们做开发和接入的模式。虽然这件事情很难,但我们还是希望能够迈出这一步。
而对于技术本身来说,王磊认为,在闭源模式下,对技术的判断、真实性、以及它的实现细节,其实只能从对外的文章判断。更重要一点,它安全性和性能的判断,一方面要有理论的验证,其次具体实现是不是跟理论有差距,从这个角度来说,闭源的情况下技术做到什么程度是很难判断的,将带来更多的损失。
“我们希望能够通过开源,能够去创造更多的场景”。隐私计算应用目前更多是集中在金融风控场景,对其他场景、比如医疗、能源、工业等也会有应用需求。当前做隐私计算的专业人员其实不多,如果还是各自为战,对整个行业来说是一个非常大的浪费。我们还是希望把有限的、非常强的技术人员聚合,形成合力去做出一些真正的技术突破。
王磊表示,蚂蚁集团一直认为开源是一件非常慎重的事情,其不仅仅是把代码公开出去,更重要的是希望通过良好的架构设计让更多的人加入其中。基于在隐私计算各个方向上的沉淀和积累,结合开源共建的目标,蚂蚁能够确保开源的 “隐语” 是一个高质量、可扩展的技术框架,也希望能够吸引更多的优质的开发者和用户能够加入到隐语的空间中。

  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
隐语框架与TEE(可信执行环境)的配合可以实现数据加密。隐语框架主要解决的是数据隐私保护和安全计算的问题,而TEE是一种安全的硬件或软件环境,可以提供可信的执行环境来保护数据和计算过程的安全性。通过将隐语框架与TEE结合,可以实现数据在计算过程中的加密和保护。 在隐语框架中,数据可以使用密态计算或明密文混合计算的方式进行加密。密态计算是一种在密文环境中进行计算的方式,数据在计算过程中一直保持加密状态,可以使用Secure Aggregation算法、MPC密态引擎、同态加密等技术来进行计算。而明密文混合计算则是将部分计算从密文环境搬到明文环境,在明文环境中进行计算可以提升计算的性能,同时通过安全退让来保证数据的安全性。 TEE提供了一个可信的执行环境,可以保护计算过程中的数据和代码安全。在隐语框架中,可以使用TEE来实现数据的加密和解密操作,以及进行安全计算。TEE可以提供硬件级的安全保护,例如Intel SGX和ARM TrustZone等,也可以通过软件模拟的方式提供安全执行环境。 通过隐语框架配合TEE实现数据加密,可以在保护数据隐私的前提下,进行安全的计算和数据交换。这种组合可以应用于各种场景,例如联邦学习、数据交易市场等,为数据安全和隐私保护提供了一种可行的解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [隐私计算技术|深度解读可信隐私计算框架隐语”](https://blog.csdn.net/m0_69580723/article/details/126662952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值