资讯详情

【TPM2.0原理及应用指南】 9、10、11章

第9章 hierarchy

NV索引属于一个hierarchy,但不在树里。 每个hierarchy密码根是种子,随机数大,TPM它永远不会泄露。

9.1 三个持久性hierarchy

TPM 1.2 中SRK(存储根密钥)是随机生成的,一旦删除,就不能再生成相同的SRK。

YPM 2.0 中国扩展了三个持久性hierarchy(平台、存储、背书)hierarchy具有以下相同的特征

  • 每一个都有授权和策略
  • 每一个都有启用标志
  • 每个人都有一个种子,可以得到密钥和数据对象。种子继续存在。
  • 每个人都有主密钥,可以由主密钥生成子密钥

TPM 2.增加了更多的灵活性:

  1. 主密钥不限于存储密钥
  2. 不止一个主密钥可以存在
  3. 无需存储所有主密钥,只能在需要时生成。本质上,种子是真正的根,主密钥可以更换TPM存储外部作为上下文。

三种hierarchy

  • 平台hierarchy: 意在平台制造商的控制下,平台hierarchy重启时,平台授权值设置为零长度密码,策略设置为不可满足的策略hierarchy独一无二。
  • 存储hierarchy 用于平台所有者的存储hierarchy非隐私敏感操作可由所有者禁止,并单独控制背书hierarchy处理隐私。
  • 背书hierarchy 背书hierarchy它用于隐私敏感性操作,其使能标志、策略和授权值等hierarchy都是独立的。 关心隐私的用户可以禁止背书hierarchy,TPM存储仍然可用于应用程序hierarchy,允许使用平台软件TPM。

9.2 隐私

这里的隐私意味着收到隐私TPM数字签名的远程方不能将数字签名相关联,并从密码学上证明它来自同一个TPM。关联是确定签名密钥来自一个单一的认证TPM。

TPM制造商生成背书主种子,基于此种子生成一个或多个主密钥,然后为这些密钥生成证书。证书证书的密钥来自认证的TPM,TPM是厂家生产的。

如果主密钥是签名密钥,直接证明其他签名密钥,关联非常简单,因为所有签名都收敛于同一证书。

当主密钥是加密密钥时,创建子密钥证书的过程将采用一个更复杂的过程,称为激活证书。证书授权机构称为隐私CA,因为隐私被认为是已经证明的密钥CA密钥之间的任何关系都不会泄露。

9.2.1 激活证书

主密钥是解密钥,非签名密钥,CA生成证书,用主密钥公钥加密。只有相应的私钥TPM,证书可以恢复。 激活证书 课本P89页,内容太多,打字可能有点慢。

9.3 空hierarchy

空hierarchy三种持久性hierarchy类似地,可以有主密钥,基于主密钥可以创建子密钥。区别如下:

  • 授权值为零长度密码,策略为空(不能满足)。这些都不能改变
  • 它不能被禁用
  • 它有一个来自密钥和数据对象的种子。这种种子不是持久的,每次重新启动,它都是和的proof不同的值将被重新生成

上下文对象和序列对象(摘要和HMAC状态)都是空的hierarchy。因为种子和proof值改变了。用户通常不会修改背书hierarchy种子(因为这会使证书无效)hierarchy种子(因为它会使具有长寿命周期的密钥无效)和平台hierarchy种子(因为用户可能没有这种权力)。

系统重启后,临时密钥将被擦除,TPM可用作密码协处理器,使用外部生成的密钥执行密码算法。

第10章 密钥

当应用程序使用密钥时,它们可以安全地存在于硬件设备中TPM最强的地方。

10.2 密钥生成器

它没有基于软件随机数发生器或熵源强度不足的软件生成密钥的弱点。

10.3 密钥和种子

TPM一个密钥可以形成hierarchy,密钥用父密钥包装。 1、TPM一个密钥可以形成hierarchy,密钥用父密钥包装。主密钥是hierarchy根钥匙。他们没有父亲。 二、三种持久性 hierarchy 每一个都有一个相应的主种子:背书主种子、平台主种子和存储主种子。这些种子从不离开TPM。它们是密钥衍生函数的秘密输人。当TPM使用主种子和公共模板创建主密钥时。在具体指定一个密钥时,你通常期望的所有项目在模板里都有,这些项目包括算法和密钥大小、它的策略和密钥类型(签名、加密等)。调用器还可以在模板中提供独特的数据。该独特数据是模板中公钥区域的输入。 3.密钥衍生函数是固定的和可重复的。相同的种子和模板总是产生相同的密钥。通过改变模板中的独特数据,调用器可以创建无限的主密钥。

10.4 密钥保保留密钥

1、用户调用TPM2_EvictControl命令将密钥从易失性空间转移到非易失性空间,以便在每次加电和重启后保持加载(持久保存)。任何密钥都不一定需要长期保存。通常我们希望只有少量的主密钥,也许每个密钥hierarchy为了提高性能,将其设置为持久保留。 2.背书除主密钥外hierarchy、存储hierarchy和平台hierarchy其它密钥也可以长期保存。 3、空hierarchy 没有密钥可以长期保存。重启后,所有密钥都会丢失。 4.只有有限数量的密钥可以长期保存,但是TPM无限数量的密钥可以处理,应用程序将通过TPM作为密钥缓存做到这一点

10.5 密钥缓存

除主密钥外的其他密钥,TPM可作为密钥缓存。也就是说,TPM2_Create创建密钥并用父密钥包装( wrap)(加密)此密钥将包装后的密钥返回给调用器。调用者将密钥存储在密钥中TPM 另外,可能是磁盘。用户必须使用此密钥TPM2_Load,先加载TPM 中。完成后,调用器可以使用TPM2_FlushContext释放空间。这个密钥不同于主密钥。主密钥没有父亲,创建后留存 TPM 中。

10.6 密钥授权

TPM需要授权的密钥访问可以提供访问控制。当密钥离开时TPM当时,他被一个强大的父加密密钥包装,并有词典攻击保护逻辑保护,即当密码错误时,TPM在可配置时间内进一步尝试将被记录下来。

10.7 密钥销毁

有时,密钥需要被销毁,可能是因为授权被泄露,或者机器被用作其他用途。存储在软件中的密钥永远不会被销毁,因为它们可以在任何地方复制。但是TPM密钥有父密钥或主密钥。每个 hierarchy都有自己独特的主种子。擦除主种子可以防止重建hierarchy主密钥-显然,这是一种非常强硬和罕见的行为。擦拭主密钥可以防止其子密钥加载TPM中。属性表示只能存在于属性中TPM中密钥将被销毁。

密钥类型和属性

主密钥不能复制,它们与TPM中的某个hierarchy相绑定。 密钥复制属性的主要用例之一是密钥备份。TPM 2.0由两个属性控制密钥的复制,一个极端,一个密钥定到一个单一TPM单一父密钥永远不允许复制。另一种是密钥可以自由复制,所有的子密钥都可以在目的平台上使用,直到所有的子孙。在中间,一把密钥锁定在一把父密钥上,但当父密钥移动时,他也会移动。

子密钥可以有不止一个父密钥。复制过程是建立新父子关系的过程,但不废除原父子关系。

受限的签名密钥:一个受限的签名密钥只可以签名由TPM摘要TPM如何知道它计算了摘要,答案是使用票据,当TPM计算摘要时,它生成票据,声明是TPM自我计算摘要。TPM知道哪些数据是通过4字节魔数生成的,而不是从魔数开始。

10.10 管理和加载上下文

上下文管理包括保存加载密钥的上下文TPM再加载上下文TPM里。

10.11 空hierarchy

每次重启都会被清除

第11章 非易失性索引

TPM使用两种通用数据结构需要使用非易失性(NV)存储器:

NV四种索引类型:普通类型、计数器类型、位字段类型型

11.1 NV普通索引

普通索引–类似于TPM1.2索引–拥有任意长度的非结构化数据。与计数器、位字段和扩展索引不同,它对可写入的数据类型没有任何限制

  • NV计数器索引 非易失性计数器是一个只能递增的64位值。在第一个递增命令开始是,它初始化为TPM上任何计数器中的最大值。这个值包括当前定义的计数器索引和过去定义的但已不在TPM中的计数器。因此,即使删除或重建索引,计数器也无法倒退。
  • NV位字段索引 位字段索引保护64位,在第一次写入开始是将所有位初始化为空,也可以有选择的设置位。一位(或多位)可以设置,但从不清空。
  • NV扩展索引 扩展索引是由特定的哈希算法定义的,并且有固定的索引生命期。该索引的数据大小基于其哈希算法。数据在第一次写入之前全部初始化为0。写操作是一个扩展操作,类似于PCR中的写操作 大多数用力集结合扩展索引和混合索引来创建灵活的PCR,另一种通用的用例是安全审计日志,因为任何扩展操作都会创建一个无法逆转的密码保护历史记录。
  • 混合索引 另一个新的TPM2.0特性是混合索引。与非混合索引一样,NV索引元数据(索引句柄、大小、属性、策略和口令)是非易失性,混合索引数据是在易失性存储器中创建的。处理混合计数器,索引数据仅在正常关机时写入NV内存。4种索引类型中的任何一种(普通、计数器、位字段或扩展)都可以是混合索引。 。由于NV技术往往是介质损耗性的,TPM可以通过拒绝频繁写操作保护自己。易失性存储器不存在损耗问题,因此可以根据需要编写混合索引。 若索引在正常关机之前被删除,则混合索引数据只能存在于易失性存储器中。应用程序可以定义索引、写入数据、适用策略的授权值,然后删除索引。 混合普通、扩展和位字段索引只在正常关机时写入NV存储器,但混合计数器则较复杂,因为它不可以出现回滚或丢失递增操作。因此必须确保即使不能实现正常关机,易失值也要写入NV存储器。
  • NV访问控制
  • NV写入 每个索引在第一次创建时,都有一个隐含值:未写入。在TPM1.2中,总是用全0数据创建索引,所以读操作不能区分全零和尚未写入的索引。在TPM2.0中,未写入是一个单独状态。策略可以指定索引必须写入或未写入。
  • NV索引句柄值 当用户创建NV索引是,用户会分配索引值。在TPM1.2中,某些位具有特殊属性,例如用于锁定的D位。在TPM2.0库规范中,处理全局句柄范围之外就没有索引赋值,并且索引值的任何位都,没有特殊含义。TPM不会根据索引值强制规定任何属性。然而,特定平台规范或全局TCG注册表可以指定索引值。
  • NV名称 TPM实体的名称唯一(加密)定义了该实体,并可用于授权。NV索引是一个公共区域的哈希值,包括索引(句柄)、属性(包括它是否已经被写入)、策略和大小。
  • NV口令 TPM的一个奇怪的地方是用户不能真正更改对象的口令。TPM2_ObjectChangeAuth命令可以用新命令创建对象,但原来的对象仍然存在。用户可以删除该对象的所有现有副本,但TPM不能强制执行此操作。 NV索引仅存在于TPM内。它永远不会被保存到上下文或以任何方式移出TPM。

标签: ypm28压力变送器ypm4系列圆形电连接器标签

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台