1. Storage Keys:存储密钥,用来加密数据和其它密钥的通用非对称密钥,这里的其它密钥可以是另外一个存储密钥,也可以是绑定密钥或签名密钥。它本身是长度2048bit的RSA私钥;它既可以是可迁移密钥,也可以是不可迁移密钥。

2. SRK:storage Root Key,存储根密钥,是存储密钥的一个特例。整个系统拥有一个最高权限的存储密钥,这个最高级密钥也就是存储根密钥。它很特殊,在每个用户创建的时候生成,管理这个用户的所有数据,也就是存储可信根(Root of Trust for Storage, RTS).和签署密钥(Endorsement Key,EK)一样,一个TPM仅存在唯一一个。所有其它的密钥都在存储根密钥的保护之下。

3. 签名密钥(Signing Key):是非对称密钥,用于对应用数据和信息签名。签名密钥可以是可迁移或不可迁移的。可迁移密钥能够在TPM之间传递,通过迁移密钥传递保密数据。TPM中的签名密钥都遵循RSA签名密钥的标准,它们有若干种不同长度。TPM能够正确地进行处理的最大密钥长度是2048bit。

4. 签署密钥,或背书密钥(Endorsement Key,EK)是一个TPM平台的不可迁移的解密密钥,它是一个2048bit的RSA密钥对。它生成于平台的生产过程中,代表着每个平台的真实身份,每个平台都拥有唯一的一个。在确定平台所有者时,用于解密所有者的授权数据,还有解密与生成AIK相关的数据。签署密钥从不用作数据加密和签名。签署密钥的主要功能是生成身份证明密钥(AIK)和建立TPM平台的所有者,由TPM的所有者来生成存储根密钥SRK,使用SRK来加密、存储其他的密钥。
EK可以通过密钥生成服务器,采用两种方法来产生:一种使用TPM命令,TCG规范定义了一组背书密钥操作命令,其中创建背书密钥对的命令为TPM_CreateEndorsementKeyPair,产生密钥长度要求至少2048位。另外一种方法是密钥注入技术,在信任制造商的前提下,由TPM制造商产生背书密钥对,然后采用人工方式注入,注入方法有:键盘输入、软盘输入、专用密钥抢输入等。
对比这两种方法,前者必须依赖硬件中提供受保护的功能和被隔离的位置,从而保证在设备内部产生密钥对,而且密钥对是在篡改保护的环境下产生,能够很好地减少密钥对泄露的风险。

5. AIK:认证身份密钥,或平台身份认证密钥(Attestation Identity Key)是不可迁移密钥。专用于对TPM产生的数据(如TPM功能、PCR寄存器的值等)进行签名,用来证明平台的身份和平台的环境配置,凡是经过AIK签名的实体,都表明已经经过TPM的处理。每个用户可以拥有多个AIK,每个AIK的生成都需要可信第三方的支持。

6. 绑定密钥(Binding Keys):用于在一个平台中加密小规模数据(如对称密钥),然后在另一个TPM平台上进行解密。由于使用平台所特有的密钥加密,所以与该平台绑定。这个密钥的用法同传统非对称密钥加密相同。

7. 密封密钥(Sealing Keys):内置TPM的计算机可以创建一个密钥,该密钥不仅被绑定,而且还被连接到特定硬件或软件条件,这就是密封密钥。首次创建密封密钥时TPM将记录配置值和文件哈希的快照。仅在这些当前系统值与快照中的值想匹配时才能解封或释放密封密钥。

8. 遗留密钥(legacy Keys):在TPM之外生成,它们被定义为可迁移的,在被用来签名或加密之后才能载入TPM。这些密钥用在一些需要在平台之间传递数据的场合。

9. 鉴别密钥(Authentication Keys):用来保护涉及TPM传输会话的对称密钥。

10. Key Management:为了更有效地管理存储在TPM外边的密钥,引进一种密钥缓冲管理机制(Key Cache Manager),它主要管理TPM中受限制的资源,并且对应用程序调用隐藏这些限制。应用程序可以通过利用KCM来载入密钥到TPM中,并假定此密钥可以进一步利用。KCM负责保证当应用程序某个命令需要密钥时,这个已经被应用程序载入的密钥存在于TPM中。如果所有TPM资源被占用,KCM需要释放资源将不经常使用的密钥从TPM取出来,以便为那些经常进出TPM的密钥腾出空间,将需要的密钥放入TPM。应用程序需要利用KCM来将密钥载入TPM中。

11. 可迁移密钥和不可迁移密钥:在整个TPM/TCM的密钥体系中,每个密钥在开始创建的时候都需要指定密钥属性。密钥按照属性不同分为:可迁移密钥(Migratable Key)和不可迁移密钥(Non-Migratable Key)。可迁移密钥并不局限于某个特定平台,可以由平台用户的控制在平台之间迁移。不可迁移密钥则永久地与某个指定平台关联。不可迁移密钥能够用来加密保护可迁移密钥,反之则不可。
不可迁移密钥由TPM内部产生,在TPM产生之后就被打上了TPM的标记。不可迁移密钥本身的安全性要比可迁移密钥高,因为不可迁移密钥全部由TPM内部产生并且从产生到销毁整个周期私钥部分都不会离开TPM(除非不可迁移密钥转化为可迁移密钥,这个时候安全级别降低,注意的是由于可迁移密钥安全级别低所以无法转化为不可迁移密钥)。同时不可迁移密钥可以被TPM签名,从而可以向挑战者或者用户证明其不可迁移的属性,从而证明其安全性。

摘自:TPM核心功能

TPM Key相关概念的更多相关文章

  1. linux tpm 测试完整记录,亲测有效。

    没有tpm芯片,采用模拟器的方式来测试. 实验环境:内核版本 3.10.0-327 软件包准备: 内网,没有仓库,自己网上下载: 1. cmake-3.9.6-Linux-x86_64.tar.gz ...

  2. 面试一个小公司,TPM相关概念

    准备面试一个小公司,在面试邀请邮件中提出了这样一个要求(not required): ".. one item we will likely discuss with you is soft ...

  3. linux 磁盘加密和tpm搭配使用1

    一.基本名称,容易混淆 1.dm-crypt是linux的2.6内核开始集成的一种磁盘加密功能.十几年来,连sche调度算法都被改了N次,但dm-crypt一直稳定在内核中,稳定性还是很好的. 2.c ...

  4. Hive篇--相关概念整理一

    一.前述 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低 ...

  5. JDBC相关概念介绍

    一.JDBC相关概念介绍 1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡 ...

  6. 类(class)相关概念小结

    参考在线文档,整理php中类的相关概念如下   $this 在类的内部可以使用伪变量$this,这个伪变量为一个到主叫对象(经个人测试理解这应该是在运行时的真实对象,不是类,运行时绑定)的引用,所以一 ...

  7. TPM及TSS协议栈的安装使用

    TPM及TSS协议栈的安装 标签: 可信计算. 目录 安装环境介绍 TPM及TSS安装 软件包下载 TPM 安装 安装TSS 安装tpm-tools 交互过程 编写代码测试TPM是否可用 编写代码测试 ...

  8. 智能家居中的物联网网关的可信计算平台模块(TPM)设计

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/BlueCloudMatrix/article/details/24184461 摘要: 随着智能家居 ...

  9. JPush相关概念

    JPush相关概念 连接极光服务器前提 在连接极光服务器之前需要先将APP进行注册,连接Server时需要用到下发的两个字段:AppKey:应用唯一标识.Master Secret:服务器秘钥,用于服 ...

随机推荐

  1. 学习Microsoft SQL Server 2008技术内幕:T-SQL语法基础--第4章

    第4章 子查询 4.2.1 Exist 谓语: use TSQLFundamentals2008 select * from Sales.Customers as C where c.country= ...

  2. Linux源码编译安装MySQL5.7

    目录[-] 一.环境准备: 二.升级系统: 三.做一些准备工作(以下Linux命令均在su到root用户操作): 四.开始编译安装mysql-5.7.9: 一.环境准备: 我尝试过以下环境都是能成功的 ...

  3. Laravel 5系列教程二:路由,视图,控制器工作流程

    免费视频教程地址https://laravist.com/series/laravel-5-basic 上一篇教程我们走了那么长的路,终于把Laravel安装好了,这一篇教程我们就要进入Laravel ...

  4. e.which

    e.which is not an event, which is a property of the event object, which most people label as e in th ...

  5. OpenERP7.0 忘记admin管理员密码解决办法

    操作环境:linux Ubuntu12.10  OpenERP7.0 以下操作,请注意大小写 切换用户 root@ubuntu:~# su - postgres 查看数据库 postgres@ubun ...

  6. 【Python3 爬虫】01_简单页面抓取

    运行平台:Winodows 10 Python版本:Python 3.4.2 IDE:Sublime text3 网络爬虫 网络爬虫,也叫网络蜘蛛(Web Spider),如果把互联网比喻成一个蜘蛛网 ...

  7. Android开发SDK接入机智云,智能家居实现APP远程控制多设备

    代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ...

  8. BigInteger 与 BigDecimal区别,及BigDecimal详解

    一般来说,BigInteger用的不是很多,BigDecimal用的稍微多一点,就比如说JDBC中,如果一个字段的数据库类型是Number, 那么getObject().getClass()的结果是j ...

  9. MATLABR 2016 b 安装教程

    1.下载相应的 MATLABR 2016 b 版本如下: 主要是下面三个文件,其中, Matlab 2016b Win64 Crack.rar 是破解文件.另两个为安装包.(本软件在win8/10上不 ...

  10. pandas 绘图与滑窗

    #import nessary library before start import pandas as pd import numpy as np import matplotlib.pyplot ...