安全多方计算 联邦学习 同态加密
一、安全多方计算
1.1 安全多方计算(MPC)概述:
安全多方计算(Multi-Party Computation,MPC)可以允许多个参与方在保证各方输入安全性的前提下,共同执行某个预先设定好的函数。
安全多方协议本质上是一种交互式密码协议。
- 协议正确性:通常指协议最终的计算结果应当与明文计算结果保持一致。
- 协议安全性:通常衡量了协议在攻击者存在情况下所受到的影响。
1.2 MPC分类方式
- 威胁模型
- 半诚实模型:攻击者会监听其收到的所有信息,不会主动破坏协议
- 恶意模型:攻击者会主动拒绝执行协议、甚至破坏协议
- 参与方数量:根据实际计算场景以及性能考虑,选用不同的协议
- 两方MPC
- 三方MPC
- 任意多方MPC
- 通用/专有MPC
- 通用MPC可以实现任意计算
- 专有MPC只支持特定的某类运算(如隐私求交)
1.3 MPC关键技术
- 秘密分享(SS)是一个非常基础的安全计算原语以及密码学工具。
- 混淆电路(Garbled Circuit(GC))通过加密和扰乱电路的值来掩盖数据信息。
- 不经意传输(Oblivious Transfer,OT)协议是一类特殊的隐私计算协议。
- 同态加密(Homomorphic Encryption,HE):对数据进行加密后,他人可以不经解密,直接对加密数据进行处理,并且保证数据处理结果经解密后是正确的。
二、联邦学习
1.1 联邦学习的优势:
- 数据隐私保护
- 打破数据孤岛
- 合规性高
- 激励多方合作
1.2 联邦学习的定义:
联邦学习是一种分布式机器学习范式,允许多个数据持有者在不共享他们的原始数据的情况下协同训练机器学习模型。通过联邦学习,各参与方不再需要共享原始数据本身,而是交换模型信息和更新数据,就可以提升模型的性能。
1.3 联邦学习发展历程
1.4 联邦学习分类
1、按照数据特征
- 横向联邦学习又被称为水平联邦学习,是最常见的联邦学习类型,适用于各个客户端的本地数据集具有高度一致的特征空间,但具体样本并不相同的场景中。
- 纵向联邦学习又被称为垂直联邦学习,针对的是客户端拥有相同的数据样本,但各自数据对应的特征空间不完全相同的情况。
- 联邦迁移学习处理数据样本和特征都不同的复杂场景。
2、按照客户端类型
- (待总结)
3、按照系统拓扑结构
三、同态加密
1.1 同态加密定义:
同态加密:是一种加密技术,它允许对加密数据进行计算而不需要解密。在同态加密中,加密数据可以被传递给其他方,并且可以在不解密数据的情况下执行各种计算,比如加法、乘法等。
1.2 同态加密分类
- 部分同态加密(Partially HE,PHE):仅支持一种同态运算(加法或乘法)的加密方案,又称为半同态加密方案。
- 同态加密(Fully HE,FHE):同时支持加法、乘法同态运算的加密方案。
- 层级同态加密(Somewhat/Level HE):支持一种同态运算的同时,还支持另一种次数受限的同态运算的加密方案,又称为Somewhat。
隐私计算的技术路线