新書推薦:
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:NT$
352.0
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:NT$
449.0
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:NT$
449.0
《
金托邦:江湖中的沉重正义
》
售價:NT$
275.0
《
易经今解:释疑·解惑·见微
》
售價:NT$
403.0
《
东欧史(全二册)-“中间地带”的困境
》
售價:NT$
1010.0
《
虚拟资本:金融怎样挪用我们的未来
》
售價:NT$
352.0
《
刻意练习不生气
》
售價:NT$
179.0
|
編輯推薦: |
本书是针对TPM实战的编程实用书籍,将常用的TPM应用场景编写为C 与C#双语示例,配上详细代码说明,以浅显易懂、循序渐进的方式展示,在阅读后可以立即运用到项目开发之中。全书共分为三部分:第一部分介绍常用的安全基础概念,包括HASH、HMAC、对称密钥、非对称密钥、数字签名、数字信封、PKI等内容;第二部分将理论付诸实践,讲解如何使用TPM提供的安全算法解决一些实际问题,包括生成真随机数、计算文件摘要、加密与解密文件、加密与解密消息、导入与导出密钥、管理存储分层、创建Child Key、构建Policy表达式、生成数字签名、实现PKI模型、迁移非对称密钥、使用NV Index存储数据、借助NV Index转移授权等内容;第三部分通过完整的示例程序将TPM的常用功能进行整合,对全书的内容进行总结,帮助读者回顾所学的知识。
|
內容簡介: |
本书是针对TPM实战的编程实用书籍,将常用的TPM应用场景编写为C 与C#双语示例,配上详细代码说明,以浅显易懂、循序渐进的方式展示,在阅读后可以立即运用到项目开发之中。全书共19章: 第1章和第2章介绍常用的安全基础概念,包括HASH算法、HMAC算法、对称密钥、非对称密钥、数字签名、数字信封、PKI等内容; 第3~19章将理论付诸实践,讲解如何使用TPM提供的安全算法解决一些实际问题,包括生成随机数、计算HASH摘要、加密与解密文件、加密与解密消息、导入与导出密钥、管理存储分层、创建Child Key、构建Policy表达式、生成数字签名、实现PKI模型、迁移非对称密钥、使用NV Index存储数据、借助NV Index转移授权等内容。 本书对于有一定编程基础,并希望基于TPM芯片构建安全应用软件产品、提升企业信息安全等级、学习安全领域知识的IT从业人员,均能起到很好的指导作用。
|
目錄:
|
图书代码
第1章系统安全基础
1.1常用攻击手段
1.1.1字典攻击
1.1.2HASH反查表攻击
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.1HASH算法
1.2.2HASH扩展
1.2.3HMAC算法
1.2.4对称密钥
1.2.5非对称密钥
1.2.6Nonce
1.2.7KDF
1.3本章小结
第2章身份认证与安全协议
2.1消息安全模式
2.1.1数字签名
2.1.2数字信封
2.1.3证书
2.2身份认证方式
2.2.1密码认证
2.2.2IC卡或智能卡认证
2.2.32FA认证
2.2.4生物特征认证
2.2.5U盾认证
2.2.6OTP认证
2.2.7FIDO认证
2.2.8Windows Hello
2.2.9MFA
2.3身份认证协议
2.3.1SSL
2.3.2TLS
2.3.3Kerberos
2.3.4PKI
2.3.5RADIUS
2.3.6EAP
2.3.7SAML
2.3.8JWT
2.4本章小结
第3章开发准备
3.1初识TPM
3.1.1什么是TPM
3.1.2TPM历史
3.1.3编程接口
3.2准备工作
3.2.1TPM芯片
3.2.2TPM模拟器
3.2.3C 开发环境
3.2.4C#开发环境
3.3测试TPM
3.4本章小结
第4章第一个TPM程序
4.1随机数不随机
4.1.1RNG
4.1.2HRNG
4.2使用HRNG生成随机数
4.3本章小结
第5章HASH算法
5.1TPM_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.2TPMS_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.2Password授权
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.1Password、Policy、Session
9.2Policy授权
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安装CSharpeasyRSAPEM
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.1Primary Key与Child Key
15.1.1Child 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.2Import方法
17.3在分层之间迁移
17.3.1创建Primary Key
17.3.2导入私钥并迁移
17.3.3签名字符串
17.4在TPM芯片之间迁移
17.5本章小结
第18章NV Index基础
18.1NV 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.1PolicySecret授权
19.2PolicySecret示例
19.2.1创建空的NV Index
19.2.2创建测试Key
19.2.3统一修改密码
19.2.4集成测试
19.3PolicyNV授权
19.4PolicyNV示例
19.4.1创建持有数据的NV Index
19.4.2创建签名类型的Key
19.4.3以授权转移方式签名
19.4.4集成测试
19.5本章小结
|
內容試閱:
|
随着Windows 11操作系统的正式发布,Microsoft公司将TPM这个词语再次推向了普通公众的视野。Windows 11相关的安全组件依赖TPM进行加密,因此Windows 11强制要求计算机主板安装TPM芯片。即使非IT从业人员,可能也曾在安装Windows 11的过程中查找过关于TPM的启用方式,从而对TPM有初步了解。
TPM是一种安装在计算机主板内部的安全加密处理芯片,可以执行有关安全密钥的基础运算工作,并提供严格的物理安全防护机制。目前许多系统安全项目与应用程序开发项目已经将TPM作为基础安全层的核心模块,为上层应用生态系统提供基于底层硬件的高强度安全保护。
由于TPM官方发布的标准规范非常难理解,并且实现方式极为复杂,因此使得开发基于TPM的应用系统十分困难,也造成了TPM技术未能很好的普及。不过完全不用担心,这正是本书将要解决的问题。
1. TPM能做什么
TPM芯片通常安装在计算机主板上,其不仅可以管理各种类型的安全密钥,也能够通过编程的方式去使用这些安全密钥。
简单来说,TPM的主要作用是为上层应用系统提供安全加密运算、安全密钥管理能力。
基于TPM可以实现如下场景:
(1) 生成安全密钥。例如RSA、AES、ECC等。
(2) 存储安全密钥。支持临时或永久存储密钥。
(3) 管理安全密钥。支持加密、导入、导出、迁移密钥。
(4) 保护安全密钥。支持以多种授权方式限制对密钥的读取,并抵御暴力破解。
(5) 使用安全密钥。应用系统以编程方式读取并使用密钥。
除此之外,TPM还具有许多其他功能,本书将在第3~19章介绍TPM的常用功能。
2. 读者人群
如果已经购买并开始阅读本书,说明可能具有安全领域相关的从业经验、对TPM有初步了解或项目上有开发需求。因为TPM是一项较为复杂的安全技术,其涉及的安全知识也非常广泛,所以建议至少需要具备一定的安全理论基础与编程开发经验,这样阅读起来会感到非常轻松。
如果缺少有关系统安全方面的理论基础,也不必过于担心,因为本书已经尽量将阅读门槛降到最低。除此之外,本书第1章与第2章还会简要介绍安全方面的相关概念。
TPM使用C语言作为标准应用程序接口(Application Programming Interface,API),虽然最近也出现了基于高级语言的API,例如.NET或Java版本,但是其实这些所谓的高级语言API并非真正意义上的API,它们只是对TPM底层C语言API的简单封装。在使用高级语言API时,有时仍无法避免需要处理底层指针与底层数据结构,并且经常需要处理字节流缓冲、内存、编码、解码等,所以,本书适合有一定开发经验的IT从业人员。当然,如果已经熟悉C或C 语言,那就再好不过了。关于TPM开发语言的选择将在第3章介绍。
综上所述,本书适合的人群以及建议的阅读方式为: 系统分析师(快速阅读)、系统架构师(完整阅读)、开发人员(完整阅读)、测试人员(完整阅读)、项目经理(部分阅读)、产品经理(部分阅读)。
3. 如何阅读
做任何事情都需要花费成本,读书也是一样。但是,如果上来就用大量篇幅强行灌输复杂难懂的TPM理论知识,可能使读者直接产生“从入门到放弃”的想法,这也是许多IT从业人员只喜欢看视频教程却不喜欢看书的原因。许多教材、文档及技术规范可能通篇只介绍理论概念,阅读起来需要极大的耐心与扎实的技术功底,这不是每个人都能做到的。
本书不会对TPM的理论知识从头到尾进行深入讲解,而是在简要介绍基础概念后,立即以示例代码形式演示TPM的实际开发过程。随着内容的逐渐深入,本书在介绍示例代码的同时也会穿插一些新的理论知识,以增量方式让读者潜移默化地完成TPM开发方法的学习。
作者也是程序员,每天都要阅读大量的产品手册与协议规范,并运用到实际的方案设计与项目开发之中,深知程序员的时间何等珍贵。如何快速消化、吸收那些动辄上千页的技术规范,并立即设计出安全可靠的系统架构方案才是眼下最关心的问题。程序员与研究员不同,没有时间逐字逐句地研究技术规范,因此,本书的理念是以清晰直观的示例代码指导读者轻松地开发TPM应用程序。
4. 快速开始
TPM的官方规范非常难以理解,通篇都在介绍TPM的底层数据结构。如果再结合系统安全知识展开来讲,TPM开发将会是一门非常复杂的系统安全学科。更不友好的是,TPM自身的API架构十分接近硬件底层,并以C语言为通信接口,使得开发人员使用起来难上加难,使原本有趣的编程工作沦为一种精神折磨。即使现在已经出现了基于C#或Java的高级语言API,但是直接阅读官方的示例代码依然会使人一脸茫然。
不过不必担心,本书只会精选TPM标准规范中常用的功能部分,以通俗易懂的文字解释其背后的工作原理与实际应用场景,真正做到使读者快速入门、快速掌握、快速开发。对于TPM标准规范中一些不常用的特性(例如审计)或深入的理论知识,本书有意不涉及。如果读者有兴趣且有时间,建议在阅读完本书后,尝试阅读TPM官方发布的标准规范,这对深入理解TPM理论知识非常有帮助。
虽然本书主要以示例代码为主,但并不是说可以完全忽略TPM背后的理论知识。无论是系统分析师、系统架构师还是编写代码的程序员,都是企业安全与系统安全的直接责任人,只有具备了深厚的理论基础,才能面对系统安全设计的严酷挑战。
TPM是为企业信息安全保驾护航的那把锁,时刻守护着上层应用系统与企业数字资产的安全。随着近年来安装有TPM芯片的计算机的日益普及,越来越多的应用系统开始整合TPM。掌握TPM技术已经成为一项新的流行技能,赶快跟随本书进入TPM的开发之旅吧!
|
|