隐私保护计算 - 基础知识

2021-01-20  本文已影响0人  小叶与小茶

最近开始了隐私保护计算的学习。参考内容包括网络、圈内朋友和信通院的《隐私保护计算技术研究报告(2020年)》。本文对这些基础知识进行归纳整理。

一、基本概念

1. 隐私保护计算的定义

2. 隐私保护计算的基本架构

隐私保护计算的基本架构

3. 隐私保护计算的目标

4. 隐私保护计算的价值

二、关键技术

1. 联邦学习(Federated Learning,FL)

1)分布式的智能终端从中央服务器下载即有的预测模型,通过本地数据对模型进行训练,并将训练后的模型更新结果上传到中央服务器;
2)中央服务器对来自不同智能终端的模型更新进行融合,优化预测模型;
3)分布式的智能终端从中央服务器下载优化后的预测模型,用于实际的业务处理,同时重复这个“下载”-“训练”-“上传”-“更新”的过程。

联邦学习

1)横向联邦学习:各参与方特征重合度较高,样本重合度较低,通过扩充样本数目,提升模型训练效果的联邦学习模式。

横向联邦学习

2)纵向联邦学习:各参与方特征重合度较低,样本重合度较高,通过丰富样本特征维度,提升模型训练效果的联邦学习模式。

纵向联邦学习

3)联邦迁移学习:各参与方特征和样本的重合度均较低的联邦学习模式。

迁移联邦学习 联邦学习部署架构

2. 安全多方计算(Secure Multi-Party Computation,SMPC)

安全多方计算 安全多方计算部署架构

1)输入隐私性:各参与方除了自身输入的秘密数据和既定函数结果输出以外,得不到任何其他数据。
2)正确性:各参与方遵守协议完成计算,都应该收到相同的、正确的输出结果。
3)公平性:恶意参与方能够获得计算结果的前提是,其他遵守协议的合法参与方已经获得了计算结果。
4)结果传递保证:遵守协议的各参与方,都能够保证收到正确的输出结果。

1)行为模型:分为“半诚实敌手模型”“恶意敌手模型”。前者指各参与方严格遵守协议要求进行执行,但会尽可能从获得的数据去挖掘其他参与方的隐私;后者指存在恶意参与方试图改变协议甚至其他攻击行为获取其他参与方的隐私。能够支持“恶意敌手模型”的SMPC实现方案具备更强的安全性
2)安全门限:假设SMPC参与总方数为n,根据参与方是否可能合谋,分为“诚实大多数模型”“不诚实大多数模型”。前者指可能合谋的参与方小于n/2;后者指可能合谋的参与方大于等于n/2。能够支持“不诚实大多数模型”的SMPC实现方案具备更强的安全性
3)目前市场上主流的SMPC方案都是在“半诚实敌手模型”和“诚实大多数模型”下保持安全性

1)秘密分享(Secret Sharing):将秘密信息分割成若干“秘密份额”,分发给多个参与方保管,达到风险分散和入侵容忍的目的。SS方案由“秘密分割算法”和“秘密重组算法”组成,包括“秘密份额分发者”、“秘密份额持有者”和“秘密份额重组者”三个角色。“秘密份额分发者”负责执行“秘密分割算法”,将分割的“秘密份额”分发给“秘密份额持有者”。“秘密份额重组者”从一组“秘密份额持有者”处收集“秘密份额”,执行“秘密重组算法”重组秘密信息。一个SS参与方可以身兼多种角色。SS方案有“消息机密性”和“消息可恢复性”两种属性。“消息机密性”指一组“秘密份额持有者”拥有的“秘密份额”不足以进行秘密重组,“秘密份额持有者”就无法重组秘密信息。“消息可恢复性”是指一组“秘密份额重组者”拥有足够的“秘密份额”进行重组,它们就可以合并各自的“秘密份额”重组秘密信息。

2)混淆电路(Garbeld Circuit):姚期智院士提出的针对“半诚实敌手模型”的两方安全计算协议,当然也可以支持三方及以上方数。GC的核心思想是将任何函数计算问题转换为由“与门”、“或门”、“非门”组成的布尔逻辑电路,再结合密码学技术构建加密版的布尔逻辑电路。GC分为电路构建和电路计算两个步骤。

3)不经意传输(Oblivious Transfer):OT协议下,最简单的是发送方
(Alice)拥有2个秘密消息x1和x2,接受方(Bob)只能选择其中一个秘密消息xb(b∈{0,1})进行恢复,但无法得到另一个秘密消息x(1-b)的任何信息,而发送方也不知道接收方选择的是哪个秘密消息。实际落地时,可以要求发送方混淆N个秘密消息,不仅仅限于2个不经意传输是“匿踪查询”的理论基础,“匿踪查询”用于对数据拥有方隐匿查询条件。OT只能使用公钥密码来实现,因此不适合直接对大规模秘密数据进行处理。因此业界提出了OT Extension协议,发送方和接收方通过OT协议传送密钥种子,再通过对称密钥延长OT阶段。该协议机制特别类似TLS/SSL,先用公钥密码传送对称密钥,再用对称密钥加密数据。

不经意传输

3. 同态加密

同态加密

1)半同态加密(Somewhat Homomorphic Encryption,SHE):支持有限密文计算深度,比如支持无限次密文加,但只能支持一次密文乘。由于这个限制,一般很难基于SHE实现完整的隐私保护方案
2)全同态加密(Fully Homomorphic Encryption,FHE):支持无限密文计算深度,比如支持无限次后密文加和密文乘。由于计算代价过高,目前还处在实验室阶段。

4. 机密计算(Confidential Computing,CC)

1)Intel SGX(Software Guard Extensions)本质上是CPU维度的TEE机制。将CPU划分出一些被保护的Enclave区域(对应应用程序的地址空间),称为Enclave容器。当应用程序和数据加载到Enclave容器中,Intel SGX能够保证只有Enclave容器内的代码才能访问Enclave容器内的数,操作系统级别的特权和非特权用户,都不能访问,这是CPU层面实现的机制。

Intel SGX

2)ARM TrustZone本质上操作系统维度的TEE机制。将硬件和软件资源划分为“安全环境(Secure World)”和“普通环境(Normal World)”。“安全环境”需要更高的执行权限,“普通环境”的应用程序无法直接对“安全环境”中的数据进行访问,必须经过操作系统严格的检验。也就是说,TrustZone的安全性由操作系统来负责。

-直接基于TEE进行应用开发是比较底层和复杂的,因此出现了一些应用开发框架,将底层复杂的机制和实现进行封装,对应用程序提供易用的接口。由于服务器领域主要的架构仍然是X86,因此基于Intel SGX的框架占据了主流

1)百度Rust SGX SDK:基于Rust语言,封装Intel SGX。底层是Intel SGX,中间层是Rust和C/C++的FFI(Foreign Function Interfaces),上层是Rust SGX SDK。

百度 Rust SGX SDK

2)谷歌Asylo:目标是通过一套框架,支持各种TEE。主要使用的类是TrustedApplication、EnclaveClient和EnclaveManager。处于普通应用程序空间中的代码若想进入Enclave空间,相当于进行系统调用,Enclave的入口会对其进行严格检查。

谷歌Asylo

5. 差分隐私(Differential Privacy,DP)

6. 技术对比

技术对比 优劣势对比

三、应用场景

应用场景

四、开源项目

开源项目关系 开源项目列表
上一篇下一篇

猜你喜欢

热点阅读