本书系统介绍了面向人工智能领域中的数据安全、隐私保护技术和工程实践。本书首先探讨了人工智能领域所面临的各种数据安全和隐私保护的问题及其核心需求,并在此基础上纵览和比较了各种隐私保护计算技术和解决方案的利弊;然后详细阐述了目前比较具有工程实践优势的可信执行环境技术,及其在主流人工智能场景中的工程实践参考案例。此外,本书介绍了关于数据安全和隐私保护的概念、原理、框架及产品,从而帮助读者对机密计算的技术全景有整体的理解。
胡寅玮英特尔数据平台事业部中国云计算平台工程部总监。负责为中国及亚太区的云服务商提供云服务器和数据平台的全栈式技术方案,包括CPU定制、服务器平台设计开发、云固件研发、软件性能优化、计算安全及集群阵列调优。闫守孟蚂蚁集团研究员,蚂蚁可信基础设施负责人。领导了蚂蚁集团SOFAEnclave(Occlum、HyperEnclave、KubeTEE等)机密计算软件栈、隐私计算加速硬件和可信隐私计算一体机的研发,发起并主导制定了国内外多项可信执行环境和隐私计算一体机标准。有关技术产品已在蚂蚁、阿里巴巴、微软Azure及诸多隐私计算企业得到广泛应用,产生了重要的社会和经济价值。加入蚂蚁之前,在Intel中国研究院从事基础技术研究,多项研究成果应用在Intel软硬件产品中。曾在PLDI、ASPLOS、ATC、ASE等发表多篇顶级会议论文,并拥有30余件专利。在西北工业大学获得计算机应用技术专业博士学位。吴 源英特尔数据平台事业部资深AI与安全软件工程师。主要负责基于英特尔可信执行环境的人工智能应用和隐私计算。工作重点主要包括联邦学习、深度学习的隐私保护,以及与云计算厂商共同构建基于英特尔可信执行环境的人工智能应用方案。曾参与发表多篇关于人工智能性能优化和可信执行环境的白皮书。朱运阁英特尔数据平台事业部软件方案项目组深度学习工程师。研究兴趣和专长主要包括可信执行环境、联邦学习和同态加密。工作重点是基于可信执行环境的数据安全和隐私保护计算。曾参与发表多篇关于可信执行环境安全计算的白皮书,并将解决方案作为最佳实践发表在国内知名社区网站上。龚奇源博士,英特尔资深机器学习工程师。2016年博士毕业于东南大学计算机应用专业,师从罗军舟教授,博士期间主要从事数据隐私相关研究。2017年加入英特尔,从事大数据、机器学习和数据隐私相关工作。是大数据+AI开源项目Analytics-Zoo和大数据存储管理开源项目SSM的主要贡献者。黄晓军英特尔数据平台事业部资深云计算工程师。长期从事软件架构设计和开发工作,专注于深度学习应用开发与性能优化,以及基于隐私保护机器学习、联邦学习、同态加密和可信执行环境的应用场景落地。曾参与多个数据安全领域开源项目的开发工作。惠思远英特尔数据平台事业部软件工程师。主要从事数据安全和隐私保护、人工智能等领域的研究与开发等工作,目前与国内多家云计算厂商合作研发基于英特尔可信执行环境的解决方案。研究兴趣包括可信执行环境、联邦学习和机器学习系统等。步建林人工智能与安全软件工程师。主要从事人工智能、高性能计算与隐私保护计算等领域的相关工作。工作重点主要包括AI推理引擎与训练框架的研发与优化,以及基于可信执行环境的隐私保护计算方案的设计与构建。毕业于合肥工业大学微电子科学与工程专业,拥有学士学位。
第1部分 基本概念框架
第1章 数据安全的挑战与需求 2
1.1 数据安全的战略意义 3
1.2 数据产业面临的安全挑战 5
1.3 数据安全核心需求 8
1.3.1 数据生命周期 8
1.3.2 数据安全需求 9
1.4 隐私保护计算背景 10
1.4.1 基本概念 10
1.4.2 国内外政策环境 12
1.5 AI领域中的数据安全问题 15
1.5.1 AI中的CIA数据安全模型 15
1.5.2 AI中的攻击模型 16
1.5.3 典型AI场景中的数据安全问题 18
参考文献 20
第2章 隐私保护计算技术 21
2.1 安全多方计算 22
2.1.1 安全多方计算的定义和分类 22
2.1.2 不经意传输 23
2.1.3 混淆电路 25
2.1.4 秘密共享 27
2.1.5 零知识证明 29
2.1.6 应用场景 31
2.2 同态加密 31
2.2.1 部分同态加密 33
2.2.2 类同态加密 37
2.2.3 全同态加密 38
2.2.4 应用场景 40
2.3 差分隐私 41
2.3.1 基本定义 42
2.3.2 噪声机制 42
2.3.3 应用场景 44
2.4 可信执行环境 45
2.4.1 英特尔SGX 46
2.4.2 ARM TrustZone 47
2.4.3 AMD SEV 48
2.4.4 应用场景 51
2.5 各类技术比较 51
2.5.1 安全多方计算 52
2.5.2 同态加密 52
2.5.3 差分隐私 53
2.5.4 可信执行环境 53
参考文献 54
第3章 AI场景中的隐私保护计算方案 58
3.1 联邦学习 59
3.1.1 联邦学习简介 59
3.1.2 横向联邦学习架构及案例 60
3.1.3 纵向联邦学习架构及案例 62
3.2 联邦学习扩展方案 64
3.2.1 共享智能 64
3.2.2 联邦智能 65
3.2.3 知识联邦 66
3.3 AI推理 67
3.4 隐私保护计算方案总结 69
参考文献 70
第2部分 深度技术解析
第4章 可信执行环境技术 72
4.1 背景介绍 73
4.2 架构概述 75
4.2.1 芯片支持 75
4.2.2 固件支持 80
4.2.3 软件栈 80
4.3 关键技术 82
4.3.1 内存组织结构 83
4.3.2 内存加密引擎 85
4.3.3 Enclave生命周期 88
4.3.4 线程运行模式 91
4.3.5 密钥 92
4.3.6 认证 92
4.4 SGX防御的攻击 98
4.4.1 硬件攻击防御 99
4.4.2 软件攻击防御 99
4.5 SGX面临的威胁及其防御 101
4.5.1 拒绝服务攻击 101
4.5.2 Iago攻击 102
4.5.3 侧信道攻击 102
4.5.4 Enclave代码漏洞 102
第5章 可信执行环境应用程序开发 104
5.1 软件栈 105
5.1.1 驱动 105
5.1.2 Qemu/KVM虚拟化 106
5.1.3 软件栈SDK和PSW 107
5.1.4 数据中心认证DCAP 109
5.2 应用程序开发 112
5.2.1 应用程序开发基本原理 112
5.2.2 应用程序基本构成 115
5.2.3 Hello World案例 116
5.3 TEE生态技术介绍 125
5.3.1 TEE SDK 125
5.3.2 TEE程序分割 126
5.3.3 TEE LibOS 128
5.3.4 TEE容器栈 135
第3部分 工程应用实践
第6章 联邦学习的隐私保护与工程实践 138
6.1 联邦学习的数据安全问题 139
6.1.1 半诚实的参与方的问题 141
6.1.2 第三方协作者的数据安全问题 147
6.1.3 传输间数据安全问题 148
6.2 TEE安全技术解决方案 153
6.2.1 应用程序隔离 153
6.2.2 远程认证 155
6.2.3 基于远程认证的传输层安全协议 156
6.3 案例实践 163
6.3.1 横向联邦学习实践 164
6.3.2 纵向联邦学习实践 170
6.3.3 总结与展望 173
参考文献 174
第7章 在线推理服务的安全方案与工程实践 176
7.1 在线推理服务的安全问题 177
7.1.1 云原生在线推理参考架构及其组件 177
7.1.2 威胁模型与安全目标 181
7.2 安全方案与设计原理 188
7.2.1 安全技术与方案 188
7.2.2 安全模型与边界 192
7.3 案例实践 194
参考文献 198
第8章 大数据AI的安全方案和工程实践 200
8.1 大数据AI应用中的安全问题 201
8.1.1 大数据生态与相关技术 202
8.1.2 安全目标 206
8.1.3 威胁模型 208
8.2 安全技术与参考方案 209
8.2.1 现有大数据安全技术 209
8.2.2 基于TEE的大数据AI安全方案 218
8.2.3 工作流程与安全性分析 219
8.3 案例实践 222
8.3.1 可信的大数据AI平台 223
8.3.2 可信的联邦学习平台 225
8.4 总结与展望 229
参考文献 230