-
内容大纲
本书是针对TPM实战的编程实用书籍,将常用的TPM应用场景编写为C++与C#双语示例,配上详细代码说明,以浅显易懂、循序渐进的方式展示,在阅读后可以立即运用到项目开发之中。全书共19章:第1章和第2章介绍常用的安全基础概念,包括HASH算法、HMAC算法、对称密钥、非对称密钥、数字签名、数字信封、PKI等内容;第3~19章将理论付诸实践,讲解如何使用TPM提供的安全算法解决一些实际问题,包括生成随机数、计算HASH摘要、加密与解密文件、加密与解密消息、导入与导出密钥、管理存储分层、创建Child Key、构建Policy表达式、生成数字签名、实现PKI模型、迁移非对称密钥、使用NV Index存储数据、借助NV Index转移授权等内容。
本书对于有一定编程基础,并希望基于TPM芯片构建安全应用软件产品、提升企业信息安全等级、学习安全领域知识的IT从业人员,均能起到很好的指导作用。 -
作者介绍
杨悦 1997年开始从事软件开发,精通.NET、Java、C++、Rust、Python、Obj-C、JavaScript、Typescript、React、PHP、VB等多种语言及框架,擅长以下领域。 ·云计算:精通AWS、Azure解决方案设计与开发,拥有AWS-Architect、AWS-Developer、AWS-SysOps资格证书; ·身份安全:精通身份安全协议、安全算法,擅长安全产品与SSO方案设计; ·人工智能:精通机器视觉领域的TensorFlow与OpenCV算法开发; ·大数据:精通SQLServer、MySQL、MongoDB等数据库的管理与开发,擅长大数据、湖仓一体方案设计与开发,拥有多项DBA资格证书; ·企业应用:精通AD、ADFS、SharePoint等企业产品的管理与开发; ·软件开发:精通各类Web、桌面、App应用开发。曾任职大众点评网高级研发工程师、香港IAS系统分析师,现任职某知名安全科技公司高级解决方案架构师,拥有CISA、PMP、MCSE、MCDBA、MCITP、MCP、MCTS、MCITP-SharePoint、MCITP-DBA等20项国际资格认证。 -
目录
第1章 系统安全基础
1.1 常用攻击手段
1.1.1 字典攻击
1.1.2 HASH反查表攻击
1.1.3 彩虹表攻击
1.1.4 中间人攻击
1.1.5 战争驾驶
1.1.6 窃听
1.1.7 重播攻击
1.1.8 网络钓鱼
1.1.9 社会工程学
1.2 安全算法
1.2.1 HASH算法
1.2.2 HASH扩展
1.2.3 HMAC算法
1.2.4 对称密钥
1.2.5 非对称密钥
1.2.6 Nonce
1.2.7 KDF
1.3 本章小结
第2章 身份认证与安全协议
2.1 消息安全模式
2.1.1 数字签名
2.1.2 数字信封
2.1.3 证书
2.2 身份认证方式
2.2.1 密码认证
2.2.2 IC卡或智能卡认证
2.2.32 FA认证
2.2.4 生物特征认证
2.2.5 U盾认证
2.2.6 OTP认证
2.2.7 FIDO认证
2.2.8 Windows Hello
2.2.9 MFA
2.3 身份认证协议
2.3.1 SSL
2.3.2 TLS
2.3.3 Kerberos
2.3.4 PKI
2.3.5 RADIUS
2.3.6 EAP
2.3.7 SAML
2.3.8 JWT
2.4 本章小结
第3章 开发准备
3.1 初识TPM
3.1.1 什么是TPM
3.1.2 TPM历史
3.1.3 编程接口
3.2 准备工作
3.2.1 TPM芯片
3.2.2 TPM模拟器
3.2.3 C++开发环境
3.2.4 C#开发环境
3.3 测试TPM
3.4 本章小结
第4章 第一个TPM程序
4.1 随机数不随机
4.1.1 RNG
4.1.2 HRNG
4.2 使用HRNG生成随机数
4.3 本章小结
第5章 HASH算法
5.1 TPM_HANDLE
5.2 计算HASH
5.2.1 简单HASH
5.2.2 序列HASH
5.2.3 文件HASH
5.3 校验HASH
5.4 本章小结
第6章 HMAC算法
6.1 定义Key模板
6.2 TPMS_SENSITIVE_CREATE
6.3 创建HMAC Key对象
6.4 计算HMAC摘要
6.4.1 简单HMAC
6.4.2 序列HMAC
6.5 校验HMAC
6.6 本章小结
第7章 对称密钥
7.1 授权区域
7.2 Password授权
7.2.1 绑定密码
7.2.2 使用Password授权
7.3 使用密码保护Key
7.4 使用对称Key
7.4.1 加密与解密字符串
7.4.2 加密文件
7.4.3 解密文件
7.5 本章小结
第8章 对称密钥导入
8.1 架构设计
8.2 导入对称Key
8.3 完整应用示例
8.3.1 生成Key
8.3.2 导入Key
8.3.3 加密消息
8.3.4 发送消息
8.3.5 接收消息
8.3.6 解密消息
8.3.7 测试程序
8.4 本章小结
第9章 对称密钥导出
9.1 Password、Policy、Session
9.2 Policy授权
9.2.1 构建与绑定Policy
9.2.2 使用Policy授权
9.3 使用Policy保护Key
9.3.1 基于命令名称的Policy授权
9.3.2 基于密码的Policy授权
9.4 导出对称Key
9.5 完整导出示例
9.5.1 设计Policy
9.5.2 导出Key
9.5.3 导入Key
9.6 本章小结
第10章 非对称密钥
10.1 分层
10.1.1 夺回所有权
10.1.2 修改分层授权
10.2 使用非对称Key
10.2.1 加密字符串
10.2.2 解密字符串
10.3 本章小结
第11章 非对称密钥公钥导出
11.1 架构设计
11.2 导出公钥
11.2.1 安装Botan
11.2.2 配置Botan
11.2.3 安装CSharp-easy-RSA-PEM
11.3 完整应用示例
11.3.1 导出公钥
11.3.2 解密消息
11.3.3 接收消息
11.3.4 加密消息
11.3.5 发送消息
11.3.6 测试程序
11.4 本章小结
第12章 非对称密钥公钥导入
12.1 架构设计
12.2 导入公钥
12.3 完整应用示例
12.3.1 生成Key
12.3.2 导入公钥
12.3.3 加密消息
12.3.4 发送消息
12.3.5 接收消息
12.3.6 解密消息
12.3.7 测试程序
12.4 本章小结
第13章 非对称密钥私钥导出
13.1 架构设计
13.2 导出私钥
13.3 完整应用示例
13.3.1 导出私钥
13.3.2 加密消息
13.3.3 发送消息
13.3.4 接收消息
13.3.5 解密消息
13.3.6 测试程序
13.4 本章小结
第14章 非对称密钥私钥导入
14.1 架构设计
14.2 导入私钥
14.3 完整应用示例
14.3.1 生成Key
14.3.2 转换Key
14.3.3 导入私钥
14.3.4 解密消息
14.3.5 接收消息
14.3.6 加密消息
14.3.7 发送消息
14.3.8 测试程序
14.4 本章小结
第15章 非对称密钥签名
15.1 Primary Key与Child Key
15.1.1 Child Key生命周期
15.1.2 限制性解密Key
15.1.3 可导出性定义
15.2 使用非对称Key
15.2.1 创建Primary Key
15.2.2 创建Child Key
15.2.3 签名字符串
15.2.4 验证签名
15.3 本章小结
第16章 非对称密钥与证书
16.1 架构设计
16.2 准备CA
16.3 完整应用示例
16.3.1 生成Key
16.3.2 申请证书
16.3.3 颁发证书
16.3.4 下载证书
16.3.5 导出私钥
16.3.6 导入私钥
16.3.7 签名消息
16.3.8 发送消息
16.3.9 导入证书
16.3.10 接收消息
16.3.11 验证签名
16.3.12 测试程序
16.4 本章小结
第17章 非对称密钥迁移
17.1 再谈Duplicate方法
17.2 Import方法
17.3 在分层之间迁移
17.3.1 创建Primary Key
17.3.2 导入私钥并迁移
17.3.3 签名字符串
17.4 在TPM芯片之间迁移
17.5 本章小结
第18章 NV Index基础
18.1 NV Index基础
18.2 存储简单数据
18.2.1 写入简单数据
18.2.2 读取简单数据
18.3 使用Policy存储数据
18.3.1 写入数据并绑定Policy摘要
18.3.2 读取受Policy保护的数据
18.4 存储证书摘要
18.4.1 写入证书摘要
18.4.2 读取证书摘要
18.5 存储计数器
18.5.1 累加计数器
18.5.2 读取计数器
18.6 存储HASH扩展摘要
18.6.1 扩展摘要
18.6.2 读取摘要
18.7 本章小结
第19章 NV Index高级功能
19.1 PolicySecret授权
19.2 PolicySecret示例
19.2.1 创建空的NV Index
19.2.2 创建测试Key
19.2.3 统一修改密码
19.2.4 集成测试
19.3 PolicyNV授权
19.4 PolicyNV示例
19.4.1 创建持有数据的NV Index
19.4.2 创建签名类型的Key
19.4.3 以授权转移方式签名
19.4.4 集成测试
19.5 本章小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...