《TPM 2.0原理及应用指南 新安全时代的可信平台模块》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)威尔·亚瑟,大卫·查林纳著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111582019
  • 页数:280 页
图书介绍:

第1章 TPM的历史 1

1.1 为什么是TPM 1

1.2 TPM规范:从1.1b到1.2的发展史 2

1.3 从TPM 1.2发展而来的TPM 2.0 3

1.4 TPM 2.0规范的发展历史 4

1.5 小结 5

第2章 基础安全概念 6

2.1 密码攻击 7

2.1.1 穷举攻击 7

2.1.2 针对算法本身的攻击 8

2.2 安全相关定义 9

2.3 密码大家族 10

2.3.1 安全哈希(或摘要) 10

2.3.2 哈希扩展 11

2.3.3 HMAC:消息认证码 12

2.3.4 KDF:密钥派生函数 12

2.3.5 认证或授权票据 13

2.3.6 对称密钥 13

2.3.7 nonce 15

2.3.8 非对称密钥 15

2.4 公钥认证 17

2.5 小结 18

第3章 TPM 2.0快速教程 19

3.1 TPM 1.2的使用场景 20

3.1.1 身份识别 20

3.1.2 加密 21

3.1.3 密钥存储 21

3.1.4 随机数生成器 22

3.1.5 NVRAM存储 22

3.1.6 平台配置寄存器 23

3.1.7 隐私启用 23

3.2 TPM 2.0额外功能的使用场景 24

3.2.1 算法灵活性(TPM 2.0新功能) 24

3.2.2 增强授权(TPM 2.0新功能) 26

3.2.3 密钥快速加载(TPM 2.0新功能) 28

3.2.4 非脆性PCR(TPM 2.0新功能) 28

3.2.5 灵活管理(TPM 2.0新功能) 29

3.2.6 按名称识别资源(TPM 2.0新功能) 30

3.3 小结 30

第4章 使用TPM的现有应用程序 31

4.1 与TPM交互的应用程序接口 31

4.2 TPM管理和WMI 33

4.2.1 平台加密程序 33

4.2.2 虚拟智能卡 34

4.3 使用TPM的应用程序 34

4.4 应该使用但还未使用TPM的应用程序 36

4.5 构建TPM 1.2应用程序 36

4.6 TSS.Net和TSS.C++ 37

4.7 Wave Systems Embassy套件 38

4.8 开发TPM时应该要注意的问题 38

4.8.1 Microsoft BitLocker 38

4.8.2 IBM文件/文件夹加密 39

4.9 TPM 2.0中新的可管理解决方案 39

4.10 小结 40

第5章 规范指南 41

5.1 TPM 2.0库规范 42

5.2 一些定义 42

5.2.1 常规定义 43

5.2.2 命令字节流的主要字段定义 43

5.2.3 响应字节流的主要字段定义 44

5.3 第三部分:命令 44

5.4 数据细节 48

5.4.1 常用数据结构体 48

5.4.2 联合体 49

5.4.3 规范化数据(canonicalization) 50

5.4.4 字节顺序(endianness) 51

5.5 第二部分:符号语法 51

5.6 第三部分:表格修饰符 51

5.7 规范中的常用部分 52

5.8 如何在规范中寻找信息 52

5.9 加强对TPM 2.0规范的理解 53

5.9.1 Will 53

5.9.2 Ken 54

5.9.3 David 54

5.10 其他TPM 2.0规范 55

5.11 小结 55

第6章 执行环境 56

6.1 设置TPM 56

6.1.1 Microsoft模拟器 56

6.1.2 用源码构建模拟器 57

6.1.3 设置模拟器的二进制文件版本 57

6.1.4 运行模拟器 57

6.1.5 测试模拟器 58

6.2 设置软件栈 59

6.2.1 TSS 2.0 59

6.2.2 TSS.net 60

6.3 小结 60

第7章 TPM软件栈 61

7.1 TSS概述 61

7.2 FAPI 63

7.3 SAPI 68

7.3.1 命令上下文分配函数 69

7.3.2 命令准备函数 70

7.3.3 命令执行函数 71

7.3.4 命令完成函数 72

7.3.5 简单代码示例 73

7.3.6 SAPI测试代码 74

7.4 TCTI 75

7.5 TAB 75

7.6 RM 76

7.7 设备驱动 76

7.8 小结 77

第8章 TPM实体 78

8.1 永久性实体 78

8.1.1 持久性hierarchy 78

8.1.2 临时性hierarchy 79

8.1.3 重置词典攻击锁定 79

8.1.4 PCR 79

8.1.5 保留句柄 80

8.1.6 口令授权会话 80

8.1.7 平台NV启用 80

8.2 NV索引 80

8.3 对象 81

8.4 非持久性实体 81

8.5 持久性实体 81

8.6 实体名称 82

8.7 小结 84

第9章 hierarchy 85

9.1 三个持久性hierarchy 85

9.1.1 平台hierarchy 86

9.1.2 存储hierarchy 87

9.1.3 背书hierarchy 87

9.2 隐私 88

9.2.1 激活证书 88

9.2.2 其他隐私考虑 90

9.3 空hierarchy 91

9.4 密码原语 92

9.4.1 随机数生成器 92

9.4.2 摘要原语 92

9.4.3 HMAC原语 94

9.4.4 RSA原语 95

9.4.5 对称密钥原语 95

9.5 小结 95

第10章 密钥 97

10.1 密钥命令 97

10.2 密钥生成器 98

10.3 主密钥和种子 98

10.4 密钥持久存留 101

10.5 密钥缓存 101

10.6 密钥授权 102

10.7 密钥销毁 102

10.8 密钥hierarchy 103

10.9 密钥类型和属性 103

10.9.1 对称和非对称密钥属性 103

10.9.2 复制属性 103

10.9.3 受限的签名密钥 105

10.9.4 受限的解密密钥 106

10.10 上下文管理与加载 106

10.11 空hierarchy 107

10.12 认证 107

10.13 密钥解析 109

10.14 小结 111

第11章 非易失性索引 113

11.1 NV普通索引 114

11.1.1 NV计数器索引 116

11.1.2 NV位字段索引 116

11.1.3 NV扩展索引 117

11.1.4 混合索引 117

11.1.5 NV访问控制 119

11.1.6 NV写入 119

11.1.7 NV索引句柄值 120

11.1.8 NV名称 121

11.1.9 NV口令 122

11.2 专用命令 122

11.3 小结 123

第12章 平台配置寄存器 124

12.1 PCR值 124

12.1.1 PCR数量 126

12.1.2 PCR命令 126

12.1.3 PCR授权 126

12.2 PCR验证 128

12.2.1 PCR quote操作的细节 129

12.2.2 PCR属性 130

12.2.3 PCR授权与策略 131

12.2.4 PCR算法 131

12.3 小结 132

第13章 授权与会话 133

13.1 会话相关的定义 134

13.2 口令、HMAC和策略会话 134

13.3 会话与授权 135

13.4 授权角色 138

13.5 命令和响应授权域细节 139

13.5.1 命令授权域 139

13.5.2 命令授权结构 139

13.5.3 响应授权结构 141

13.6 口令授权:最简单的授权方式 141

13.6.1 口令授权生命周期 142

13.6.2 创建一个口令授权实体 142

13.6.3 更改已创建的实体的口令授权 142

13.6.4 使用口令授权 143

13.6.5 代码示例:口令会话 143

13.7 开启HMAC和策略会话 146

13.7.1 TPM2 StartAuthSession命令 147

13.7.2 会话密钥和HMAC密钥的细节 148

13.7.3 TPM2 StartAuthSession句柄和参数 149

13.7.4 会话变体 150

13.8 HMAC和策略会话的区别 151

13.9 HMAC授权 152

13.9.1 HMAC授权的生命周期 152

13.9.2 HMAC与策略会话代码示例 154

13.9.3 使用HMAC会话发送多命令(滚动随机数) 163

13.9.4 HMAC会话安全 164

13.9.5 HMAC会话数据结构 164

13.10 策略授权 165

13.10.1 EA的工作原理 166

13.10.2 策略授权中的时间间隔 167

13.10.3 策略授权的生命周期 168

13.11 组合授权生命周期 171

13.12 小结 172

第14章 扩展授权策略 173

14.1 策略和密码 174

14.2 扩展授权的原因 174

14.2.1 多种认证方式 174

14.2.2 多因素认证 175

14.3 EA的工作步骤 175

14.4 创建策略 176

14.5 基于命令的断言 185

14.6 多因素认证 186

14.6.1 实例1:智能卡和口令 186

14.6.2 实例2:基于口令的仅用于签名的密钥策略 187

14.6.3 实例3:PC状态、口令和指纹 187

14.6.4 实例4:适用于一次引导周期的策略 187

14.6.5 实例5:灵活的PCR策略 188

14.6.6 实例6:组权限策略 188

14.6.7 实例7:1~100的NVRAM策略 189

14.7 复合策略:在策略中使用OR逻辑 189

14.7.1 制定复合策略 190

14.7.2 实例:工作或家用计算机的策略 191

14.8 创建策略时的注意事项 192

14.8.1 终端用户角色 192

14.8.2 管理员角色 192

14.8.3 替补角色 192

14.8.4 办公室角色 192

14.8.5 家庭角色 192

14.9 使用策略授权命令 193

14.9.1 启动策略 193

14.9.2 满足策略 193

14.9.3 如果策略是复合的 194

14.9.4 如果策略是灵活的(使用通配符) 195

14.10 认证的策略 196

14.11 小结 197

第15章 密钥管理 198

15.1 密钥生成 198

15.2 密钥树:使用相同算法集的密钥在一棵树里 200

15.3 复制 201

15.4 密钥分发 203

15.5 密钥激活 203

15.6 密钥销毁 204

15.7 综合 205

15.7.1 实例1:简单密钥管理 205

15.7.2 实例2:启用了TPM 2.0Windows系统的IT企业 206

15.8 小结 207

第16章 TPM命令审计 208

16.1 为什么要审计 208

16.2 审计命令 210

16.3 审计类型 210

16.3.1 命令审计 210

16.3.2 会话审计 211

16.4 审计日志 211

16.5 审计数据 212

16.6 专属审计 213

16.7 小结 213

第17章 解密和加密会话 214

17.1 加密和解密会话的作用 214

17.2 实际用例 215

17.3 解密和加密的限制 215

17.4 解密和加密设置 215

17.4.1 伪代码流 216

17.4.2 示例代码 218

17.5 小结 227

第18章 上下文管理 228

18.1 TAB和RM:一个高层次的说明 228

18.1.1 TAB 229

18.1.2 RM 230

18.1.3 RM操作 230

18.2 对象、会话和序列的管理 232

18.2.1 TPM上下文管理特性 232

18.2.2 上电和关机事件的特殊规则 234

18.2.3 状态转换图 235

18.3 小结 236

第19章 启动、关机和配置 237

19.1 启动和关机 237

19.2 配置 240

19.2.1 TPM制造商配置 240

19.2.2 平台OEM配置 242

19.2.3 终端用户配置 242

19.2.4 解除配置 243

19.3 小结 244

第20章 调试 246

20.1 底层应用程序调试 247

20.1.1 问题 247

20.1.2 分析错误码 247

20.1.3 调试跟踪分析 248

20.1.4 更复杂的错误 249

20.1.5 最后一招 249

20.2 常见的错误 250

20.3 调试高级应用程序 251

20.3.1 调试过程 252

20.3.2 典型的错误 252

20.4 小结 254

第21章 利用TPM 2.0解决更复杂的问题 255

21.1 使用基于EK生成的IDevID对PC进行远程配置 255

21.1.1 方案1 256

21.1.2 方案2 257

21.1.3 方案3 258

21.2 数据备份 259

21.3 特权分离 259

21.4 服务器登录保护 260

21.5 在嵌入式系统中锁定固件,但允许更新 261

21.6 小结 261

第22章 基于TPM 2.0的平台安全技术 262

22.1 三种技术 262

22.2 Intel可信执行技术 263

22.2.1 概述 264

22.2.2 如何使用TPM 2.0设备 268

22.2.3 ARM TrustZone 269

22.3.1 概述 270

22.3.2 TrustZone的实现 271

22.4 AMD安全技术 273

22.4.1 硬件验证引导 274

22.4.2 AMD平台上的TPM 274

22.4.3 SKINIT 274

22.5 小结 275

附录A 中国可信云社区 276

附录B 相关开源合作项目和升级 277