第2章 隐私、安全及机器学习
原书范围:PDF第47~67页。
本章定位
- 在全书中的位置:为后续安全FedAvg、纵向联邦和联邦迁移提供隐私工具箱。
- 前置知识:概率、随机机制、基本加密概念、机器学习训练与推理。
- 后续基础:第3章隐私梯度下降、第4章安全聚合、第5~6章加密协同训练。
- 核心问题:保护谁的信息、抵御谁、在什么阶段保护,以及付出什么代价?
一句话总结
隐私保护必须从威胁模型出发:MPC和同态加密保护计算中的输入与中间量,差分隐私限制个体对输出的影响,但任何单一机制都不能包办联邦系统安全。
学习目标
- 区分隐私保护机器学习与安全机器学习。
- 识别训练和推理阶段的主要隐私攻击。
- 区分半诚实与恶意攻击者。
- 解释MPC、HE、DP和安全聚合的边界。
- 写出
-DP定义并解释参数。
Mermaid思维导图
一、本章要解决的问题
“使用了加密”或“数据没上传”都不是完整安全声明。一个可验证的声明必须回答:
- 保护对象:原始样本、标签、梯度、模型参数还是查询?
- 攻击阶段:数据发布、训练还是推理?
- 攻击者能力:黑盒/白盒、半诚实/恶意、是否串谋?
- 允许输出:协议最终允许各方学到什么?
- 安全代价:精度、计算、通信和延迟损失多少?
二、核心概念与定义
| 概念 | 准确定义 | 通俗理解 | 区别 |
|---|---|---|---|
| PPML | 重点保护数据和模型的隐私、机密性 | 防止别人从计算中多知道信息 | 不等于抵御模型投毒 |
| 安全机器学习 | 重点保护系统完整性与可用性 | 防止模型被欺骗或破坏 | 不自动隐藏训练数据 |
| 半诚实攻击者 | 遵守协议,但尝试从所见信息推断更多内容 | 按规则做事,同时分析所有消息 | 安全协议常先在此模型下构造 |
| 恶意攻击者 | 可任意偏离协议、伪造输入或消息 | 不按规则行动 | 防御难度和成本更高 |
| 重构攻击 | 从训练中间量恢复样本或特征 | 从梯度反推训练数据 | 发生在训练阶段 |
| 模型反演 | 从模型访问和输出推断训练特征或模型信息 | 反复查询模型以还原信息 | 可发生在推理阶段 |
| 成员推断 | 判断某样本是否参与过训练 | 判断“这个人是否在训练集” | DP是典型缓解机制 |
| 属性推断 | 利用公开数据与背景知识推断敏感属性 | 去匿名化或补全隐私字段 | 删除身份字段通常不够 |
三、威胁模型
| 维度 | 需要明确的问题 |
|---|---|
| 角色 | 输入方、计算方、结果方分别是谁? |
| 可见性 | 攻击者能看到原始输出、梯度、参数还是仅聚合值? |
| 控制权 | 攻击者控制服务器、多少客户端或通信链路? |
| 串谋 | 服务器是否与客户端串谋?多个客户端是否串谋? |
| 时机 | 攻击发生在数据发布、训练还是推理阶段? |
| 目标 | 窃取信息、破坏精度、植入后门还是拒绝服务? |
⚡ 易混淆点
隐私攻击关心“攻击者学到了不该知道的信息”;完整性攻击关心“攻击者让系统产生错误行为”。一个系统可能保护单个更新的机密性,却更难检测被隐藏的投毒更新。
四、隐私机制卡
| 机制 | 保护对象 | 攻击者能看到什么 | 正式保证 | 依赖假设 | 不能解决什么 | 主要代价 |
|---|---|---|---|---|---|---|
| 安全多方计算(MPC) | 各方私有输入和中间量 | 协议规定的输出与自身输入 | 基于仿真的协议安全 | 腐败方数量、是否串谋等 | 输出本身泄露、模型投毒 | 多轮通信、预处理和协议复杂度 |
| 同态加密(HE) | 密文承载的数据和中间计算 | 密文及允许解密的结果 | 基于底层密码假设 | 密钥管理、受支持运算 | 最终输出泄露、恶意输入 | 密文膨胀、计算慢、非线性近似 |
| 差分隐私(DP) | 单条记录或单个用户对输出的影响 | 带噪输出或模型 | 邻接关系、采样与隐私会计正确 | 密码学机密性、任意投毒 | 精度损失、隐私预算累积 | |
| 安全聚合 | 单个客户端更新 | 聚合和,不见单个更新 | 协议机密性 | 达到阈值、掉线与串谋条件 | 最终模型泄露、匿名投毒 | 额外通信与密钥协议 |
安全多方计算
目标是计算:
同时每方除自身输入和被授权输出外,不获得其他方输入。原书介绍了不经意传输、秘密共享、混淆电路及Beaver三元组等构件。
🔍 展开查看:秘密共享的核心直觉
把秘密
同态加密
同态加密允许在不先解密的情况下,对密文执行与明文运算对应的操作。原书区分:
- PHE:支持某一类运算无限次;
- SHE:支持有限深度的加法和乘法;
- FHE:理论上支持任意电路,但成本高。
加法同态的概念关系为:
标量乘法的概念关系为:
⚡ 易混淆点
同态加密保护的是计算过程中的明文,不保证解密后的输出或最终模型不会泄露训练信息,也不保证输入方提交的是诚实数据。
差分隐私
若相邻数据集
则
:隐私损失上界,通常越小保护越强。 :允许保证失效的极小概率。 - 邻接关系决定保护单位:可是一条样本,也可以是一个用户的全部记录。
- 敏感度描述单个保护单位变化可能造成的最大输出变化。
原书按噪声位置区分输入扰动、目标扰动、算法扰动和输出扰动。
💡 通俗理解
DP不是让两个结果完全相同,而是让“加入或删除一个保护对象”后输出分布足够接近,使观察者难以可靠判断该对象是否参与。
五、关键假设
| 假设类型 | 具体假设 | 假设不成立时的后果 |
|---|---|---|
| 数据假设 | DP邻接关系和敏感度定义正确 | 隐私保证保护错对象或噪声不足 |
| 系统假设 | 密钥、随机数和协议消息被正确管理 | 密钥泄露或实现侧信道破坏理论保证 |
| 模型假设 | 非线性可被协议支持或近似 | HE/MPC无法直接高效执行模型 |
| 信任假设 | 腐败方数量不超过协议阈值 | 串谋者可能恢复秘密输入 |
| 攻击者假设 | 半诚实或恶意模型被清晰规定 | 安全结论无法迁移到更强攻击者 |
六、代价与权衡
| 维度 | 收益 | 代价或风险 |
|---|---|---|
| 模型效果 | DP可提供可量化隐私 | 噪声降低精度,少数群体可能受损更大 |
| 本地计算 | 本地扰动或加密减少明文暴露 | 终端加密计算增加 |
| 通信 | 安全协议避免传明文 | 密文、份额和多轮消息增加带宽 |
| 存储 | 可存密文或协议状态 | 密文膨胀、客户端状态增加 |
| 隐私 | 可获得协议安全或DP保证 | 依赖正确实现和明确保护单位 |
| 鲁棒性 | 隐藏单个更新降低窥探风险 | 服务器更难逐客户端检测异常 |
七、图示与公式回查
- DP定义:PDF第64~65页。
- 敏感度及噪声机制:PDF第65~66页。
- MPC、秘密共享和Beaver三元组:PDF第55~60页。
- HE分类与应用:PDF第60~64页。
八、局限与开放问题
原书明确指出
- DP存在隐私与效用权衡。
- HE功能越强通常成本越高,非线性计算困难。
- MPC依赖腐败方数量、非串谋等安全假设。
- 保护梯度会增加计算和通信复杂度。
从假设推导
- 理论安全不代表实现没有密钥管理、随机数或侧信道漏洞。
- 安全聚合与鲁棒检测存在可见性冲突。
- DP平均效用可接受时,尾部客户端的损失仍可能很大。
2020年后仍重要
- 用户级DP与真实生产训练;
- 分布式DP和安全聚合组合;
- 隐私会计在动态参与下的有效性;
- 隐私、鲁棒性与公平性的联合设计;
- 大模型PEFT更新的隐私泄露。
九、闭卷回忆问题
- PPML与安全机器学习分别关注什么?
- 半诚实与恶意攻击者有什么区别?
- MPC、HE、DP和安全聚合分别保护什么?
- 为什么安全聚合不能替代DP?
-DP中的邻接关系为什么关键? - HE为什么经常需要近似非线性函数?
- 隐藏单个更新为什么可能妨碍投毒检测?
🔍 参考答案
- PPML偏机密性和隐私,安全ML还关注完整性与可用性。
- 半诚实者遵守协议但分析消息;恶意者可任意偏离协议。
- MPC保护多方输入,HE保护密文计算,DP限制个体影响,安全聚合隐藏单个更新。
- 安全聚合隐藏更新来源,但聚合结果和最终模型仍可能泄露个体信息。
- 它定义“一个保护单位发生变化”具体意味着什么。
- 受支持的密文运算有限,激活、比较等运算成本高。
- 服务器看不到单个更新,也就难以直接做逐客户端异常判断。
从教材到科研
隐含假设
- 安全协议与ML训练过程可以无缝组合。
- 客户端参与和隐私损失可被正确会计。
- 添加噪声对所有客户端造成近似影响。
- 隐藏更新不会显著削弱安全检测。
压力测试
- 比较样本级与用户级DP;
- 在数据量不平衡条件下测尾部客户端效用;
- 安全聚合开启前后比较异常检测能力;
- 改变客户端参与相关性并重新计算隐私预算;
- 同时加入DP噪声和模型投毒。
可证伪问题
在强Non-IID和用户级DP下,统一裁剪阈值是否会对小数据客户端产生系统性更大的有效信号损失?
可测指标:裁剪率、更新信噪比、各客户端分位精度、隐私预算和收敛轮数。
