《机密计算:原理与技术》姚颉文【文字版_PDF电子书_下载】

《机密计算:原理与技术》封面图片
书名:机密计算:原理与技术姚颉文
作者:姚颉文
出版社:机械工业出版社
译者:
出版日期:2025-07-01
页数:312
ISBN:9787111773948
0.0
豆瓣短评

前往下载

当当正版

亚马逊购买

全网资源

内容简介:

本书系统介绍了机密计算的概念,总结了各类主流TEE硬件通用设计,帮助读者理解TEE硬件的工作原理。本书围绕安全模型、生命周期、证明模型、攻击方法和防范策略,系统介绍了TEE的设计原则和使用方法,并以业界常用的x86、ARM以及RISC-V架构提供的TEE为例,分析了硬件TEE的实现方法,帮助读者理解不同实现的利弊。全书分为三个部分,首先介绍机密计算的基础知识,包括隐私计算的概述和机密计算的定义、分类等;第二部分介绍机密计算中的TEE,主要内容包括机密计算模型、TEE的生命周期、TEE的证明模型、TEE的可选功能、机密计算的软件开发、TEE的攻击与防范;第三部分介绍机密计算中的TEE-IO,主要内容包括TEE-IO模型、TEE-IO的生命周期、TEE-IO的证明模型、TEE-IO机密计算的软件开发、TEE-IO的攻击和防范。本书体系清晰,内容先进,适合从事机密计算相关研究和技术开发工作的人员阅读,也适合作为高校学生的拓展读物。

作者简介:

姚颉文

现任Intel公司首席工程师,主要从事硬件、固件和系统软件的安全架构方面的工作,擅长领域为安全启动、可信计算和机密计算等。目前,参与分布式管理任务组(DMTF)、可信计算组织(TCG)、统一可扩展固件接口组织(UEFI)以及RISC-V联盟等业界技术组织的工作,主导相关规范的制定与推广,曾获TCG主要贡献奖和DMTF明星奖。同时,在EDKII、SPDM、CoCo、CCC等开源社区主导开发和维护OMVF、libspdm、td-shim和spdm-rs等安全相关软件项目。拥有专利50余篇。

目  录:

推荐序一

推荐序二

推荐序三

前 言

第一部分 机密计算基础

第1章 隐私计算概述2

1.1 隐私计算的目标2

1.2 隐私计算技术3

1.2.1 同态加密3

1.2.2 安全多方计算5

1.2.3 零知识证明9

1.2.4 差分隐私11

1.3 隐私计算的应用12

第2章 机密计算概述15

2.1 机密计算的概念15

2.2 机密计算中硬件TEE方案的分类19

2.3 机密计算的软件实现21

2.4 机密计算的应用22

第二部分 机密计算中的TEE

第3章 机密计算模型24

3.1 机密计算安全模型24

3.1.1 机密计算的通用架构模型25

3.1.2 关于TEE的权限问题27

3.1.3 关于TEE-TCB的范围问题29

3.1.4 关于RoT的问题32

3.2 机密计算的威胁模型33

3.2.1 需要考虑的威胁33

3.2.2 不需要考虑的威胁35

3.2.3 侧信道攻击与防范35

3.3 机密计算TEE实例的威胁模型35

3.3.1 Intel SGX的威胁模型35

3.3.2 Intel TDX的威胁模型38

3.3.3 AMD SEV的威胁模型42

3.3.4 ARM RME44

3.3.5 RISC-V CoVE47

第4章 TEE的生命周期51

4.1 TEE的内存布局51

4.2 TEE的启动和卸载53

4.3 机密计算TEE实例的生命周期58

4.3.1 Intel SGX的生命周期59

4.3.2 Intel TDX的生命周期61

4.3.3 AMD SEV的生命周期64

4.3.4 ARM RME的生命周期67

4.3.5 RISC-V CoVE的生命周期68

第5章 TEE的证明模型70

5.1 证明在生活中的运用70

5.2 证明过程的通用模型72

5.2.1 证据的生成和传递74

5.2.2 验证86

5.2.3 证明结果的传递92

5.3 其他议题93

5.3.1 运行时环境的非度量方案93

5.3.2 基于远程证明的安全通信协议95

5.4 机密计算TEE证明实例97

5.4.1 Intel SGX的TEE证明97

5.4.2 Intel TDX的TEE证明101

5.4.3 AMD SEV的TEE证明103

5.4.4 ARM RME的TEE证明106

5.4.5 RISC-V CoVE的TEE证明107

第6章 TEE的可选功能109

6.1 封装109

6.1.1 TPM密钥封装和DICE密钥封装111

6.1.2 TEE密钥封装112

6.2 嵌套114

6.2.1 Intel TDX的TD分区116

6.2.2 AMD SEV虚拟机特权等级117

6.3 vTPM117

6.3.1 基于TEE的vTPM118

6.3.2 基于TEE虚拟机嵌套的vTPM121

6.4 实时迁移122

6.4.1 实时迁移概述122

6.4.2 Intel TDX虚拟机迁移127

6.4.3 AMD SEV虚拟机迁移127

6.5 运行时更新128

第7章 机密计算的软件开发130

7.1 TEE软件的应用场景130

7.2 机密虚拟机中的软件133

7.2.1 虚拟机管理器133

7.2.2 虚拟固件133

7.2.3 客户机操作系统134

7.2.4 L1-VMM135

7.2.5 TSM136

7.3 安全飞地的软件支持137

7.3.1 库操作系统137

7.3.2 Enclave软件栈137

7.4 TEE远程证明相关软件140

7.4.1 vTPM140

7.4.2 证明和验证服务的软件143

7.4.3 策略引擎的相关软件146

7.5 TEE安全通信147

7.6 TEE数据安全148

7.6.1 密钥代理分发服务148

7.6.2 镜像管理代理148

第8章 TEE的攻击与防范150

8.1 攻击方法150

8.1.1 攻击软件150

8.1.2 攻击密码算法和协议150

8.1.3 侧信道与故障注入攻击156

8.1.4 简单物理攻击177

8.2 防护原则178

8.2.1 安全软件设计178

8.2.2 安全密码应用180

8.2.3 侧信道与故障注入保护183

8.2.4 简单物理攻击保护189

8.3 针对TEE特有的攻击和保护189

8.3.1 针对SGX的攻击和保护189

8.3.2 针对TDX的攻击和保护190

8.3.3 针对SEV的攻击和保护192

第三部分 机密计算中的TEE-IO

第9章 机密计算TEE-IO模型194

9.1 机密计算TEE-IO安全模型194

9.1.1 通用机密计算TEE-IO安全模型196

9.1.2 TEE-IO中的模块198

9.1.3 TEE-IO中的通信协议199

9.1.4 TEE-IO中的资源分类204

9.1.5 TEE-IO中的密钥208

9.2 机密计算TEE-IO威胁模型209

9.2.1 需考虑的威胁209

9.2.2 设备端的安全需求213

9.2.3 主机端的安全需求215

9.3 机密计算TEE-IO主机端实例216

9.3.1 Intel TDX Connect216

9.3.2 AMD SEV-TIO218

9.3.3 ARM RME-DA219

9.3.4 RISC-V CoVE-IO220

9.4 机密计算TEE-IO设备端实例221

第10章 TEE-IO的生命周期224

10.1 TEE-IO的生命周期概述224

10.1.1 系统和设备初始化224

10.1.2 SPDM安全会话建立225

10.1.3 IDE安全链路建立225

10.1.4 TDI锁定和分配227

10.1.5 TDI接受和运行227

10.1.6 IDE密钥更新229

10.1.7 SPDM密钥更新229

10.1.8 TDI移除230

10.1.9 IDE安全链路停止230

10.1.10 SPDM安全会话终止231

10.2 错误处理231

10.2.1 错误触发231

10.2.2 错误报告233

10.2.3 错误恢复233

10.3 机密计算TEE-IO设备端实例234

第11章 TEE-IO的证明模型237

11.1 TVM对设备的证明237

11.1.1 证据的生成和传递238

11.1.2 验证248

11.1.3 证明结果的传递252

11.2 第三方对绑定设备的TVM的证明255

11.2.1 证据的生成和传递255

11.2.2 第三方验证TVM257

11.3 设备与主机的双向证明257

11.4 机密计算TEE-IO设备端证明实例258

第12章 TEE-IO的特别功能263

12.1 TEE-IO设备的弹性恢复263

12.2 TEE-IO设备的运行时更新265

12.2.1 运行时更新策略265

12.2.2 更新策略的验证266

12.2.3 更新固件的证明266

12.3 PCIe设备间的对等传输270

12.4 CXL设备271

12.4.1 机密计算CXL HDM的安全模型272

12.4.2 机密计算CXL HDM的威胁模型278

第13章 TEE-IO机密计算软件的开发279

13.1 TEE-IO软件应用的场景279

13.2 机密虚拟机中支持TEE-IO的软件280

13.3 TEE-IO设备证明281

13.4 TEE-IO安全通信282

第14章 TEE-IO的攻击与防范283

14.1 攻击方法283

14.1.1 攻击TEE-IO主机端284

14.1.2 攻击TEE-IO设备的连接284

14.1.3 攻击TEE-IO设备端288

14.2 防护原则292

14.2.1 TEE-IO主机端防护292

14.2.2 TEE-IO设备的连接防护293

14.2.3 TEE-IO设备端防护294