本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书名: | TPM 2.0原理及应用指南——新安全时代的可信平台模块|64631 |
图书定价: | 79元 |
图书作者: | [美] 威尔·亚瑟 |
出版社: | 机械工业出版社 |
出版日期: | 2017/10/1 0:00:00 |
ISBN号: | 9787111582014 |
开本: | 16 |
页数: | 0 |
版次: | 1-1 |
作者简介 |
Will Arthur是英特尔公司数据中心工程组的资深固件工程师。他领导了英特尔可信执行技术(TXT)中服务器端认证代码模块(ACM)的开发。作为一名活跃在可信计算组织的TPM和TSS工作小组的参与者,他编写了TCG TPM 2.0系统接口、TPM 2.0 TAB和资源管理规范,开发了TCG版本的代码并实现了这些规范,审查并校订了TPM 2.0规范的可读性和准确性。Will在底层嵌入式固件和软件开发方面拥有超过30年的工作经验,并且*近的19年一直在英特尔公司工作。Will在亚利桑那州立大学获得了计算机科学学士学位。 David Challener自十多年前起就致力于可信计算方面的工作。目前他是TPM工作组的联合主席,之前曾担任过TSS工作组、TCG技术委员会和董事会的主席。他还为很多其他TCG规范做出过贡献。他拥有伊利诺伊大学应用数学博士学位,目前就职于约翰霍普金斯大学应用物理实验室。 About the Reviewers 技术评审人 Justin D. “Ozzie” Osborn是约翰霍普金斯大学应用物理实验室的商业设备运营组的首席科学家。他在软件逆向工程和嵌入式软件开发方面有近十年的工作经验。他曾参与了涉及TPM软件开发和对TPM解决方案的漏洞分析的项目。 Monty Wiseman是英特尔数据中心集团(DCG)的安全架构师。他目前参与的项目包括TCG架构、Intel TXT技术、启动保护以及其他与安全相关的项目。Monty参加并领导了TCG PC客户工作组和TPM 1.2安全评估工作组。他还参加了TPM和其他TCG工作组,并且是英特尔在TCG技术委员会的代表。Monty在桌面、网络和大型机环境中拥有20年的工作经验,并在Novell、Fujitsu和Control Data公司中担任安全及其他技术职位。自1975年以来,他一直从事从大型机到微型计算机的硬件和软件开发。 |
内容简介 |
本书内容涵盖了TPM2.0新特性以及如何使用TPM2.0构建安全解决方案。书中既介绍了TPM2.0及其设计原理,又介绍了TPM2.0的基本功能、可信软件栈TSS2.0以及如何编写代码通过TSS调用这些功能,同时还提供了相关范例,并讨论了利用TPM2.0在新安全时代解决实际问题的技术方案。 |
目录 |
序 译者序 关于作者 技术评审人 前言 第1章 TPM的历史1 1.1 为什么是TPM1 1.2 TPM规范:从1.1b到1.2的发展史2 1.3从TPM 1.2发展而来的TPM 2.03 1.4TPM 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 nonce15 2.3.8 非对称密钥15 2.4公钥认证17 2.5小结18 第3章 TPM 2.0快速教程19 3.1TPM 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管理和WMI33 4.2.1平台加密程序33 4.2.2 虚拟智能卡34 4.3 使用TPM的应用程序34 4.4 应该使用但还未使用TPM的应用程序36 4.5构建TPM 1.2应用程序36 4.6TSS.Net 和TSS.C++37 4.7 Wave Systems Embassy 套件38 4.8 开发TPM时应该要注意的问题38 4.8.1Microsoft BitLocker38 4.8.2IBM文件/文件夹加密39 4.9TPM 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.1Will53 5.9.2Ken54 5.9.3David54 5.10 其他TPM 2.0规范55 5.11 小结55 第6章 执行环境56 6.1设置TPM56 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.059 6.2.2 TSS.net60 6.3 小结60 第7章 TPM软件栈61 7.1TSS概述61 7.2FAPI63 7.3 SAPI68 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 TCTI75 7.5TAB75 7.6RM76 7.7 设备驱动76 7.8 小结77 第8章 TPM 实体78 8.1 **性实体78 8.1.1 持久性hierarchy78 8.1.2 临时性hierarchy79 8.1.3 重置词典攻击锁定79 8.1.4 PCR79 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章 hierarchy85 9.1三个持久性hierarchy85 9.1.1平台hierarchy86 9.1.2 存储hierarchy87 9.1.3 背书hierarchy87 9.2 隐私88 9.2.1 激活证书88 9.2.2 其他隐私考虑90 9.3 空hierarchy91 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 密钥hierarchy103 10.9 密钥类型和属性103 10.9.1 对称和非对称密钥属性103 10.9.2 复制属性103 10.9.3 受限的签名密钥105 10.9.4 受限的解密密钥106 10.10 上下文管理与加载106 10.11 空hierarchy107 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... |