隐语隐私计算实训营「联邦学习」第 3 课:隐语架构概览

news2024/9/19 6:54:21

【隐私计算实训营】是蚂蚁集团隐语开源社区出品的线上课程,自实训营上线以来,获得行业内外广泛关注,吸引上千余名开发者报名参与。本次暑期夏令营课程中,除了最新上线的「联邦学习系列」,还包含了「隐私保护数据分析」和「隐私保护机器学习」,主题,小伙伴们可以根据需求自由选择报名期待和大家共同探索隐私计算的前沿技术!
隐私计算实训营「机器学习」:隐私计算实训营「机器学习」
隐私计算实训营「联邦学习」:隐私计算实训营「联邦学习」
隐私计算实训营「数据分析」:隐私计算实训营「数据分析」

1. 隐语架构概览

隐语是一个全面的隐私计算平台,其架构分为多个层次:

在这里插入图片描述

  • 硬件层: 包括硬件加速和可信执行环境(TEE)
  • 资源层: Kuscia负责资源管理
  • 计算层: 包括明文引擎和密态引擎
  • 算法层: 支持联邦学习、数据分析、PSI/PIR等
  • 产品层: 提供API/SDK和用户界面

这种分层架构使得隐语具有清晰的结构,便于集成和使用。

2. 核心组件详解

2.1 PSI (Private Set Intersection) 和 PIR (Private Information Retrieval)

在这里插入图片描述

PSI (Private Set Intersection) 允许多方在不泄露除交集外任何信息的情况下计算数据集交集。这在多个场景中非常有用,例如:

  • 在医疗研究中,多家医院可以安全地找出共同的患者群体,而不泄露其他患者信息。
  • 在广告投放中,广告商和网站可以找出共同的目标受众,而不暴露各自的完整用户列表。

PSI的核心思想是使用加密技术,让双方在不直接比较原始数据的情况下找出共同元素。例如,使用哈希函数或同态加密来处理数据,然后比较处理后的结果。

PIR (Private Information Retrieval) 允许用户从数据库中检索信息,而不让数据库知道检索了什么。这在以下场景中特别有用:

  • 在专利数据库查询中,公司可以查找相关专利而不暴露自己的研究方向。
  • 在位置服务中,用户可以获取特定位置的信息而不泄露自己的确切位置。

PIR的实现通常涉及复杂的密码学技术,如同态加密或混淆电路。基本思想是让用户发送一个经过处理的查询,数据库对整个数据集进行操作,但只返回用户真正需要的信息。

PSI和PIR是隐语中的重要隐私保护原语:

  • PSI: 允许多方在不泄露除交集外任何信息的情况下计算数据集交集
  • PIR: 允许用户查询服务器数据库而不让服务器知道查询内容

PSI支持多种协议:

  • 半诚实模型: ecdh、kkrt16、bc22(pcg-psi)等
  • 恶意模型: mini-PSI(适合小数据集)

PIR支持:

  • Sealed PIR
  • Label PIR
  • 计划中: Spiral PIR, Simple PIR

这些组件为数据分析和查询提供了强大的隐私保护能力。

2.2 SCQL (Secure Collaborative Query Language)

SCQL允许多方在保护各自数据隐私的前提下进行联合查询和分析。其主要优势包括:

  • 使用类似标准SQL的语法,降低学习成本。
  • 支持复杂的多方数据分析,如联合统计、机器学习等。
  • 提供细粒度的访问控制,确保数据安全。

实现SCQL面临的主要挑战包括:

  • 性能优化: 加密操作会显著增加计算开销,需要采用各种优化技术。
  • 安全性保证: 需要确保中间结果不会泄露敏感信息。
  • 功能与隐私的平衡: 某些复杂查询可能会间接泄露信息,需要仔细设计和限制。

SCQL是一个多方安全数据分析系统,主要特点包括:

  • 支持多方(N>=2)协作
  • 提供MySQL兼容的SQL方言接口
  • 支持常用SQL语法和算子
  • 提供列级别的数据使用授权控制(CCL)
  • 支持多种密态协议(SEMI2K/CHEETAH/ABY3)
  • 内置支持多种数据源接入(MySQL, Postgres, CSV等)

SCQL使得多方在保护数据隐私的前提下进行复杂的数据分析成为可能。

2.3 联邦学习 (Federated Learning)

隐语的联邦学习框架具有以下特点:

  • 支持水平联邦和垂直联邦(主要是Split Learning)
  • 提供安全攻防框架和算法
  • 性能优化: 稀疏化、量化、流水线
  • 支持多种算法,如DeepFM、BST、MMoE等
  • 计划支持大模型

联邦学习使得多方能在数据不出域的情况下协作训练机器学习模型。

2.4 SPU (Secure Process Unit)

SPU是隐语的核心组件之一:

  • 桥接上层算法和底层安全协议
  • 支持主流AI前端(TensorFlow, JAX, PyTorch)
  • 提供带隐私保护语义的中间表示语言(PPHLO)
  • 基于MLIR的加密计算编译优化
  • 高性能MPC协议虚拟机
  • 支持多种MPC协议(Semi2k, ABY3, Cheetah)

SPU使得开发者能够以接近原生体验的方式开发隐私保护AI应用。

2.5 HEU (Homomorphic Encryption Unit)

在这里插入图片描述

同态加密允许在加密数据上进行计算,而不需要先解密。HEU支持的操作包括:

  • 加法同态: 可以对加密数据进行加法运算。
  • 部分乘法同态: 可以进行有限次数的乘法运算。

HEU的典型应用场景包括:

  • 隐私保护的数据分析: 例如,计算加密数据的平均值、方差等统计量。
  • 安全外包计算: 将敏感数据加密后交给不可信的第三方进行计算。

然而,HEU也有一些局限性:

  • 性能开销大: 同态加密的计算速度比明文慢很多。
  • 功能限制: 完全同态加密支持任意计算,但性能更差;部分同态加密性能较好,但只支持有限的操作。
  • 密文扩展: 加密后的数据通常比原始数据大得多。

HEU是隐语的同态加密库:

  • 支持多种PHE(部分同态加密)算法
  • 提供Numpy-like API、C++和Python接口
  • 性能业界领先
  • 支持硬件加速

HEU使得在加密数据上进行计算成为可能,大大扩展了隐私计算的应用场景。

2.6 TEEU (Trusted Execution Environment Unit)

TEEU是隐语的可信执行环境单元:

  • 支持多种TEE硬件(SGX, HyperEnclave, 海光CSV, Intel TDX)
  • 提供跨域管控能力
  • 支持数据确权、使用授权、使用鉴权、结果授权
  • 可执行数据预处理、经典机器学习,计划支持深度学习和大模型

TEEU为敏感数据处理提供了一个可信的计算环境。

2.7 YACL (Yet Another Common Crypto Library)

YACL是隐语的底层密码库:

  • 为多种隐私计算技术路线提供支持
  • 注重安全实现和高性能
  • 提供良好的密码工具抽象,易于使用

YACL为隐语的其他组件提供了坚实的密码学基础。

3. 隐语的特色功能

3.1 互联互通

隐语支持与其他隐私计算平台的互联互通:

  • 黑盒模式: 管理面和控制面实现互联,双方加载相同的算法容器
  • 白盒模式: 基于开放算法协议,算法引擎层面直接互联

这一功能大大增强了隐语的生态兼容性。

3.2 跨域管控

隐语的跨域管控功能支持数据要素"三权"(数据资源持有权、数据加工使用权、数据产品经营权)的流转和保护:

  • 数据确权
  • 使用授权
  • 使用鉴权
  • 存证审计

这一功能确保了数据在流转和使用过程中的安全性和可控性。

4. 结语

隐语架构的设计理念是"清晰分层,灵活集成,简单易用"。它为不同类型的用户提供了多层次的接入方式:

  • 平台集成者可以通过API/SDK集成隐语功能
  • 算法使用者可以利用隐语的AI&BI算法能力
  • 协议使用者可以使用隐语的底层密码和协议能力
  • 产品使用者可以通过白屏产品快速体验隐语能力

隐语的开放架构和丰富功能使其成为一个强大而灵活的隐私计算平台,能够满足各种隐私计算需求。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1936597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TypeScript 教程(十):项目配置、代码质量与前端框架集成

目录 前言回顾类型声明文件与异步编程1. tsconfig.json 高级配置a. 基本配置b. 高级配置选项 2. 使用 Webpack 构建 TypeScript 项目a. 安装依赖b. 配置 Webpack 3. 使用 Babel 编译 TypeScripta. 安装依赖b. 配置 Babelc. 配置 Webpack 使用 Babel 4. 使用 ESLint 和 TSLinta.…

【Django】django自带后台管理系统样式错乱,uwsgi启动css格式消失的问题

正常情况: ERROR:(css、js文件加载失败) 问题:CSS加载的样式没有了,原因:使用了django自带的admin,在使用 python manage.py runserver启动 的时候,可以加载到admin的文…

昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别

昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别 文章目录 昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别BERT模型对话情绪识别BERT模型的文本情绪分类任务数据集数据下载数据加载与预处理 模型构建模型验证模型推理 总结打卡 BERT模型 BERT&…

Python+Flask+MySQL/Sqlite的个人博客系统(前台+后端管理)【附源码,运行简单】

PythonFlaskMySQL/Sqlite的个人博客系统(前台后端管理)【附源码,运行简单】 总览 1、《个人博客系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 管理员登录2.2 程序主页面2.3 笔记新增界面2.4 文章新增界面2.5 文章/笔记管理界面2…

SpreadsheetLLM:微软对Excel编码的“摊膀伏”

--->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<--- SpreadsheetLLM Excel的特点是二维数据格式、灵活的布局和多样化的格式选项。微软最近引入了SpreadsheetLLM&#xff0c;开创了一种高效的编码方法&#xff0c;用于释放和优化LLMs在电子表格上…

[CP_AUTOSAR]_分层软件架构_接口之通信模块交互介绍

目录 1、协议数据单元(PDU)传输2、通信模块的案例2.1、SDU、 PCI & PDU2.2、通信模块构成2.3、从数据传输的角度看Communication2.4、Communication中的接口 在前面 《关于接口的一些说明》 以及  《Memory软件模块接口说明》 中&#xff0c;简要介绍了CP_AUTOSAR分层…

农田自动化闸门的结构组成与功能解析

在现代化的农业节水灌溉领域中&#xff0c;农田自动化闸门的应用越来越广泛。它集成了先进的技术&#xff0c;通过自动化控制实现水资源的精准调度和高效利用。本文将围绕农田自动化闸门的结构组成&#xff0c;详细介绍其各个部件的功能和特点。 农田自动化闸门主要由闸门控制箱…

【Java安全】基础配置篇-01

Java安全-01 文章目录 Java安全-01前置基础小demo开发记录文件上传 课程学习记录初始配置阶段0x00 微服务阶段历史0x01 第一个SpringBoot程序0x02 原理初探0x03 SpringBoot配置文件0x04 给属性赋值的几种方法0x05 JSR303校验0x06 多环境配置0x07 再探自动配置原理 开发阶段0x00…

勒索软件运营商的恶意软件

ARC Labs 发现并分析了一种用于Qilin勒索软件攻击的新工具。 这种恶意软件被称为“Killer Ultra”&#xff0c;旨在禁用流行的威胁检测和响应&#xff08;EDR&#xff09;以及防病毒软件。 ARC Labs 专家进行了深入分析&#xff0c;以了解 Killer Ultra 的全部功能&#xff0…

新品发布|全面适配鸿蒙NEXT安全检测,助力鸿蒙安全生态建设

鸿蒙系统打破了移动操作系统两极格局&#xff0c;实现操作系统核心技术的自主可控、安全可靠&#xff0c;在神州大地上掀起一波科技革新的浪潮&#xff0c;HarmonyOS NEXT成为大型企业必须要布局的应用系统之一&#xff0c;如何检测鸿蒙应用的安全性是企业内部的核心难点之一&a…

C++基础语法:STL之容器(4)--序列容器中的list(一)

前言 "打牢基础,万事不愁" .C的基础语法的学习 引入 序列容器的学习.以<C Prime Plus> 6th Edition(以下称"本书")内容理解 本书中容器内容不多只有几页.最好是有数据结构方面的知识积累,如果没有在学的同时补上. 序列容器回顾:序列容器内元素按严格…

加密软件有什么用?五款电脑文件加密软件推荐

加密软件对于个人和企业来说至关重要&#xff0c;尤其是在2024年这样一个高度数字化的时代&#xff0c;数据安全变得尤为重要。 数据保护&#xff1a;加密软件可以保护敏感信息不被未经授权的人访问。这包括个人数据、财务记录、健康信息、企业机密等。 防泄漏&#xff1a;防…

组合数学+费用背包+刷表,G2 - Playlist for Polycarp (hard version)

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 G2 - Playlist for Polycarp (hard version) 二、解题报告 1、思路分析 一…

Linux驱动开发-05APP和驱动的交互方式

一、传输数据 APP和驱动: copy_to_usercopy_from_user驱动和硬件: 各个子系统的函数通过ioremap映射寄存器地址后,直接访问寄存器二、APP使用驱动的四种方式 驱动程序:提供能力,不提供策略 非阻塞(查询)(应用程序访问底层驱动时(read、write时),驱动没有数据不等待,…

【Vue】深入理解 `v-model` 指令:实现数据双向绑定的终极指南

文章目录 一、v-model 指令概述二、v-model 的基本用法1. 绑定输入框的值2. 绑定多行文本框的值3. 绑定复选框4. 绑定单选框5. 绑定选择框 三、v-model 的工作原理四、v-model 的高级用法1. 自定义组件中的 v-model模板部分 (<template>)脚本部分 (<script>) 2. 多…

vue项目源码调试方法 ,chrome调试控制台工作区使用,利用chrome控制台调试vue项目源码的方法 图解

我们在开发vue项目的时候&#xff0c;项目开始后的第一件事情应该就是准备调试工作了&#xff0c;Chrome调试控制台就给我们提供了这样的一个方便的调试工作区。方法为&#xff0c;在Chrome浏览器里面打开你要调试的页面&#xff0c;然后打开调试控制台&#xff0c;如下&#x…

基于STC8H4K64TL单片机的触摸功能和数码管驱动功能实现一个触摸按键单击长按都增加数值另一个触摸按键单击长按都减少数值应用

基于STC8H4K64TL单片机的触摸功能和数码管驱动功能实现一个触摸按键单击长按都增加数值另一个触摸按键单击长按都减少数值应用 STC8H4K64TL单片机介绍STC8H4K64TL单片机管脚图(48个引脚)STC8H4K64TL单片机串口仿真与串口通信STC8H4K64TL单片机管脚图(32个引脚)STC8H4K64TL单…

【Linux】汇总TCP网络连接状态命令

输入命令&#xff1a; netstat -na | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]} 显示&#xff1a; 让我们逐步解析这个命令&#xff1a; netstat -na: netstat 是一个用于显示网络连接、路由表、接口统计等信息的命令。 -n 选项表示输出地址和端口以数字格式显示…

ACCL+: an FPGA-Based Collective Engine for Distributed Applications——论文泛读

OSDI 2024 Paper 论文阅读笔记整理 问题 FPGA在云部署中越来越普遍[16,81]&#xff0c;如智能NIC[29,35,64,67103]、流处理器[31,32,55,68]和分布式加速器[15,41,61,65,86,93115]。可以使用FPGA到FPGA的直接通信来构建高效的分布式系统。然而&#xff0c;使用FPGA设计分布式应…

通过 EMR Serverless Spark 提交 PySpark 流任务

在大数据快速发展的时代&#xff0c;流式处理技术对于实时数据分析至关重要。EMR Serverless Spark提供了一个强大而可扩展的平台&#xff0c;它不仅简化了实时数据处理流程&#xff0c;还免去了服务器管理的烦恼&#xff0c;提升了效率。本文将指导您使用EMR Serverless Spark…