【TPM2.0原理及应用指南】 12、13、14章

第12章 平台配置寄存器

平台配置寄存器PCR是TPM基本的特征之一。它的主要用途是提供一种密码学记录(度量)软件状态的方法,包括平台上运行的软件和该软件使用的配置数据。PCR更新计算被称为“扩展”,是一种单向哈希计算。这样的计算结果将无法被破解。

TPM不对度量结果做出判断,TPM PCR只记录值。

12.1 PCR值

PCR的主要用例是表示平台软件状态。它记录着到现在为止,在平台上运行的关键软件(和配置)的历史。TPM在上电时通常按照TPM平台规定,将所有PCR初始化为全0或全1.调用者不能直接写PCR值。PCR值:

PCR新值=摘要(PCR旧值||扩展的数据)

重新启动后,一个平台从可信软件开始,该可信软件称为可信度量根的核心(CRTM),CRTM度量(计算摘要值)下一个要运行的软件,并将该摘要扩展进一个偶数编号PCR,然后将该软件的配置数据扩展进奇数编号PCR。PCR分配实例
这个过程的安全性取决于CRTM的安全性。作为第一个运行的软件,CRTM无法被度量或验证。它是可信的根源。

PCR数量
实际中,一个TPM包含多个PCR。PC客户端平台要求24个PCR,这个最小的预计值就是PC中实际PCR的数量。平台TPM规范指定了PCR的属性,平台软件规范标准化了PCR度量哪些结果。

PCR授权
授权是PCR常见用途。除非特定的PCR具有特定的值,否则一个实体拥有的策略可以阻止该实体被使用。该策略可以指定PCR的子集和PCR的值。除非PCR处于此状态,否则将不满足策略且不能访问该实体。
PCR带来的安全性
PCR用于授权的典型用途是将实体的使用权与平台软件状态相结合,同时也可以实现其他用途。例如,口令可以扩展到PCR中,从而解锁对软件的访问。当不再需要访问时,可以将PCR重置(如果允许)或扩展为其他值。

12.2 PCR验证

验证是PCR的更高级用例。在非TPM平台中,远程软件通常不能确定平台的软件状态。即使通过严格的软件手段报告状态,受影响软件也可以轻易的期骗远程方。
TPM验证提供软件状态的密码学证明。度量是无法撤销的。PCR不能回滚到以前的值。
PCR验证
通过TPM签名验证,远程方知道平台软件的状态。它现在必须确定软件状态十分安全。远程方必须将度量值的哈希值与白名单相匹配,这可能需要来自第三方软件提供商的协作。

这是可信计算概念的本质。PCR提供了一种信任软件模块链的方式,该方式确切反映了平台的软件状态,但是这种方式对软件是否安全不做任何判断。

PCR属性
每个PCR都有几个属性。这些属性在TPM库规范中定义,但是哪些PCR具有哪些属性由平台特定的规范来规定。一般来说,大多数PCR按照约定分配给特定的软件,但是有一些是未分配的且开放给应用程序使用。

在这里插入图片描述
DRTM:动态信任根

PCR授权与策略
与其他实体一样,PCR也可能具有授权值或策略。库规范允许针对一个PCR或一组PCR设置授权值或策略。PC客户端TPM没有授权和策略,因为PC客户端无需授权PCR访问。基本原理是授权会增加启动时间,而启动时间通常是一个重要参数。

PCR算法
PCR可以在库中分配,每个PCR库对应于一个哈希算法。该命令允许以任意组合分配PCR,并且可以将一个PCR分配给多个PCR库,同事PCR具有多种算法。TPM2_Extend命令现在必须指定PCR索引和摘要,同时也要指定一个算法。如果没有PCR包含那个指定的算法,则忽略扩展操作。
因此,理论上,软件将执行多个度量,创建多个摘要,然后将每个摘要扩展到对应的库。PC客户端规范仅需要一个具有所有PCR的库。

总的来说:PCR有两个用途,他们的值可能在签名的验证中体现:

  • 依赖方可以确定平台软件的可信状态
  • PCR可以用于根据PCR值授权使用其他对象的策略

第13章 授权与会话

授权控制了对TPM中实体的访问,为TPM提供了很多安全保证。
会话是在后续命令中授权和维护状态的工具。

13.1 会话相关概念

  • 会话变体
    它们是在会话创建时建立的,在会话的整个生命周期中持续存在。他们决定如何建立会话,以及HMAC密钥和HMAC如何产生,这里有四个参数,绑定和未绑定(将授权绑定到某些实体的授权值上),加盐和为加盐(密钥产生过程中)
  • 会话使用修饰符
    • 继续:如果没设定,会话将在成功执行一个命令后终止
    • 解密:表明第一个TPM2B命令参数以加密形式发送给TPM
    • 加密:第一个TPM2B响应参数以加密形式返回给TPM
    • 审计:使一个正在使用的会话的命令被审计

13.2 口令、HMAC和策略会话

口令会话是最简单的授权类型:授权行为将明文口令传递给TPM。如果TPM正在被远程访问,这又明显的安全问题:口令会话是旨在用于本地访问的。在TPM中,有一个单一的、始终可用的口令会话,用于授权单个TPM命令,在后续使用之间不保持状态。因此,口令会话无需启动。

HMAC授权是以更安全的方式使用简单口令的方法。HMAC会话使用两个随机数,一个来自于调用方,另一个来自TPM,用来防止重放攻击。HMAC会话在会话生命周期中维持状态,并可用于对TPM实体的多个行为授权。

策略会话,也成为策略增强(EA),建立在HMAC会话之上,并增加额外的授权级别。策略授权通过基于TPM命令序列、TPM状态和外部设备(如指纹识别器、视网膜扫描仪和智能卡)的授权来增强此功能。
三种会话对比

13.3 会话与授权

会话:会话是授权的载体。但它也用于授权以外的目的,有与授权协同或完全独立于授权的用途。

以下是需要注意的地方:

  • 授权可以是口令、HMAC、或者策略授权
  • 口令授权永远不能用于使用修饰符的会话
  • HMAC和策略会话可用于授权,也可用于设置任何授权无关的会话用修饰符
  • 命令的授权域是指定所有这些授权、会话和会话修饰符的地方
  • 命令修饰符可在用于授权的会话以及不用于授权的会话中使用
  • 不用于授权的会话也可以在命令和响应字节流的授权区中
  • 策略会话可用于加密、解密但不能用于审计
  • HAMC会话可用于加密、解密、审计

授权域是在命令和响应字节流中指定会话和授权的位置。

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

13.7 开启HMAC和策略会话

命令在启动会话时,必须是以下会话类型之一:HMAC、策略或试用策略
会话的基本特征在会话启动时确定,这些特征是会话是否绑定、是否加盐、会话密钥的强度、抗重放保护的强度、参数加密和解密的强度。

加盐与未加盐:
加盐与为加盐
绑定与未绑定:
绑定与未绑定

13.8 HMAC和策略会话的区别

区别
区别

13.9 HMAC会话

HMAC会话从三个方面保证了安全性:

  • 会话密钥:只有调用者和TPM知道会话绑定的authValue值和salt值,这些值都被用于计算会话密钥
  • HMAC:会话密钥和实体的authValue都用于生成HMAC密钥
  • 随机数:让随机数参与HMAC计算,预防重放攻击

13.10 策略会话

也称扩展授权(EA)
一个策略通常会被计算两次:一次在构建策略实体时刻,一次在构建策略摘要时刻

13.11 组合授权生命周期

一个授权生命周期典型步骤如下:

  1. 对于HMAC或策略会话而言,authValue或authPolicy必须在实体创建前确定
  2. 使用一个授权值、策略哈希创建一个可访问的实体
  3. 计算HMAC,对于不用HMAC的策略会话,可跳过这步
  4. 在HMAC或策略授权下,启动HMAC授权
  5. 使用授权操作进行授权
  6. 在HMAC会话的条件下,计算期望响应HMAC,并对TPM返回的响应进行验证

第14章 扩展授权策略(EA)

对实体使用策略的总和称为策略
简单断言、基于命令的断言、多因素认证、多用户/复合授权、可以随时更改的灵活策略

EA的工作步骤:

  1. 创建策略会话
  2. 用户向TPM提供一个或多个认证
  3. 在命令中使用实体时,TPM将实体关联的策略与会话策略缓冲区中的值比较

不同类型的策略

  • 简单断言策略
  • 多断言策略
  • 复合策略:引入OR逻辑
  • 灵活的策略:使用通配符或后面再定义的占位符

命令的位置(locality):用于指示发送到TPM的命令来源于哪个软件栈

TPM内部状态(引导计数器和计时器)

外部设备状态(GPS、指纹识别器等):
外部设备由一对公私钥表示,设备的状态可以是使用设备私钥进行签名(与TPM产生的随机数一起)的任何东西。 外部设备
通配符策略:由与通配符有关联的公开密钥的私钥拥有

基于命令的断言:可以限定策略,以便只使用特定的命令

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
A Practical Guide to TPM 2.0: Using the Trusted Platform Module in the New Age of Security is a straight-forward primer for developers. It shows security and TPM concepts, demonstrating their use in real applications that the reader can try out. Simply put, this book is designed to empower and excite the programming community to go out and do cool things with the TPM. The approach is to ramp the reader up quickly and keep their interest.A Practical Guide to TPM 2.0: Using the Trusted Platform Module in the New Age of Security explains security concepts, describes the TPM 2.0 architecture, and provides code and pseudo-code examples in parallel, from very simple concepts and code to highly complex concepts and pseudo-code. The book includes instructions for the available execution environments and real code examples to get readers up and talking to the TPM quickly. The authors then help the users expand on that with pseudo-code descriptions of useful applications using the TPM. What you’ll learn TPM 2.0 architecture fundamentals, including changes from TPM 1.2 TPM 2.0 security concepts Essential application development techniques A deep dive into the features of TPM 2.0 A primer on the execution environments available for application development. Learn as you go! Who this book is for Application software developers, OS developers, device-driver developers, and embedded-device specialists, who will benefit from mastering TPM 2.0 capabilities and building their own applications quickly. This book will give them the tools they need to experiment with and understand the technology. Software architects who need to understand the security guarantees provided by TPMs Managers who fund the projects that use TPMs. Non-technical users who may want to know why TPMs are on their computers and how to make use of them.
TPM 2.0(Trusted Platform Module 2.0)是一种硬件安全性标准,它为计算机提供了一种安全处理环境。TPM 2.0的主要目的是保护计算机系统中的敏感信息和密钥,并提供基于硬件的安全功能。 TPM 2.0实例探索是指对TPM 2.0进行实际应用和测试。其中包括以下几个方面的探索: 1. 加密和解密:TPM 2.0可以生成和存储密钥,并进行加密和解密操作。通过使用TPM 2.0提供的密钥功能,可以在计算机系统中实现数据的保护和访问控制。 2. 数字签名和认证:TPM 2.0支持数字签名和认证功能,可以验证数据的完整性和真实性。通过使用TPM 2.0的签名功能,可以确保数据在传输过程中没有被篡改,并且可以追溯签名的来源。 3. 安全启动:TPM 2.0可以与计算机的硬件和操作系统进行交互,确保系统的启动过程是受信任的。TPM 2.0可以验证启动代码的完整性,从而防止恶意软件和未经授权的访问。 4. 远程身份验证:TPM 2.0还可以支持远程身份验证,确保远程设备的身份可信。通过使用TPM 2.0,可以建立安全的通信通道,并验证对方设备的身份。 5. 安全存储:TPM 2.0提供一个安全的存储介质,可以存储和保护敏感信息,如密钥、证书和密码。TPM 2.0的存储是受硬件保护的,不容易被恶意软件和未经授权的访问获取。 通过对TPM 2.0实例的探索,我们可以更好地理解和应用TPM 2.0的安全功能,保护计算机系统中的敏感信息和密钥,提高系统的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Godams

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值