【隐私计算实训营】是蚂蚁集团隐语开源社区出品的线上课程,自实训营上线以来,获得行业内外广泛关注,吸引上千余名开发者报名参与。本次暑期夏令营课程中,除了最新上线的「联邦学习系列」,还包含了「隐私保护数据分析」和「隐私保护机器学习」,主题,小伙伴们可以根据需求自由选择报名期待和大家共同探索隐私计算的前沿技术!
隐私计算实训营「机器学习」:隐私计算实训营「机器学习」
隐私计算实训营「联邦学习」:隐私计算实训营「联邦学习」
隐私计算实训营「数据分析」:隐私计算实训营「数据分析」
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算法能力
- 协议使用者可以使用隐语的底层密码和协议能力
- 产品使用者可以通过白屏产品快速体验隐语能力
隐语的开放架构和丰富功能使其成为一个强大而灵活的隐私计算平台,能够满足各种隐私计算需求。