TPM分析笔记(二)TPM2.0 规范文档
目录
- 一、可信计算的主要规范文档
- 1、TCG体系结构总体规范(Architecture Overview)
- 2、可信平台模块规范(Trusted Platform Module Specifications) Parts1-4
- 3、软件栈规范(TSS Specifications)
- 4、基础框架规范(Infrastructure Specifications)
- 5、个人计算机客户端规范(PC Client Specifications)
- 二、TCG架构
- 三、TPM2.0规范的四个部分
一、可信计算的主要规范文档
1、TCG体系结构总体规范(Architecture Overview)
总体上说明了与可信计算相关的内容。包括:定义了可信计算目标,可信计算应用场景,TCG(Trusted Computing Grounp)架构-即从平台无关角度全局上阐述了可信平台模块TPM(Trusted Platform Module)的架构,功能,主要模块,工作原理,密钥管理方式等。介绍了基于TPM的可信软件栈TSS(TrustedSoftware Stack)的使用和应用场景,TPM命令的授权协议。
2、可信平台模块规范(Trusted Platform Module Specifications) Parts1-4
阐述了TPM的体系结构,各个部件的功能,设计规范,TPM内部所通讯的数据结构,TPM底层执行的命令规范。主要包括三个标准:TPM Main-Part 1 DesignPrinciples-即TPM的设计原则。 TPM Main Part 2 TPM Structures-即TPM编程中使用的数据结构. TPM Main Part 3 Commands-TPM命令说明。下文会重点描述。
3、软件栈规范(TSS Specifications)
TSS可以理解为方便可信应用使用TPM功能的软件中间件,向上层应用提供一些标准APT接口,屏蔽底层TPM编程实现细节。该标准说明了软件栈包括内容和作用,以及接口规范。其中从上到下包括:TCG Service Provider (TSP),TCG Core Services (TCS),TCG Device Driver Library (TDDL),TCG Device Driver (TDD),以及每层模块的接口使用方式。相当于是一个可信应用的标准API。
4、基础框架规范(Infrastructure Specifications)
提高TCG相关技术的互操作性,侧重于可信系统的开发、配置、互操作性方面。
5、个人计算机客户端规范(PC Client Specifications)
具体对于PC,TPM的相关规范,主要说明了TPM Interface Specification (TIS)。如果使用PC做可信计算的开发,需要参照该文档。但是这仅是一个规范标准,具体还要参照TPM的生产商的规范和实现方式。
二、TCG架构
注意,这里的架构是平台独立的,可以用于PC,物联网、服务器等。
三、TPM2.0规范的四个部分
TPM2.0规范是TPM2.0最重要也是最基础的规范。这个规范描述了TPM2.0的核心功能。不论使用什么方法,TPM2.0规范都是一个很难阅读的文档。尽管大部分的技术文档都很难阅读,但是TPM2.0还是有一些特别的挑战。
整个规范一共包含如下四部分,已附上下载链接:
第一部分,架构:正如它的名字一样,这是规范中最重要的一部分,所以值得仔细研读。这部分描述了TPM的基本操作及其背后的原理。它还包括了很多关于TPM操作的实践细节。比如说,这部分包含了会话(session)如何创建的描述。会话被用于授权,审计,加密等命令。所以描述包含了各种类型会话的详细信息。
第二部分,数据结构:这部分主要描述了TPM2.0用到的数据类型,结构体和联合。这相当于一个变成手册关于数据类型的介绍。同时它还包含了命令失败时错误编码的定义。
第三部分,命令:这部分包含了TPM2.0所有的命令描述,相当于编程手册中函数的描述。它包含了TPM2.0所有命令的输入参数,输出参数以及错误产生的条件。同时每一个命令所做的操作细节都用C代码详细的描述。但是这些C代码会调用第三部分没有的辅助性函数,这些函数以及相关的错误编码被包含在第四部分中。
第四部分,辅助性函数:这部分主要包含了会被第三部分C代码调用的函数描述以及相关的错误代码定义。这些代码包含了很多TPM2.0很多特别细致的操作。如果你需要深入TPM模拟器源码来找到一个错误码产生的原因,你应该仔细研读这一部分。所以不管用什么样的方式,你最终会在调试过程中逐渐熟悉其中重要的内容。
TPM分析笔记(二)TPM2.0 规范文档相关推荐
- TPM分析笔记(十一)TPM 密钥组织架构(TPM Key Hierarchy)
目录 一.Key hierarchies 1.1 EK密钥 1.2 SRK 1.3 Attesting keys 二.密钥作用介绍 接上文TPM分析笔记(十)TPM 组织架构(TPM hierarch ...
- TPM分析笔记(十)TPM 组织架构(TPM hierarchy)
目录 一.TPM组织架构 1.1 三种持续性组织架构 1.1.1 平台hierarchy 1.1.2 存储hierarchy 1.1.3 背书hierarchy 1.2 非持久性组织架构 1.2.1 ...
- 再读华为代码规范文档
两年前,开始编程前,读过华为代码规范文档,以后一直按该文档要求自己,两年后,再读,另有收获,发现这些问题,自己平时还是没有注意到. 1.关于函数使用: 1.1 接口函数参数 在同一项目组应明确规定对接 ...
- microbit题目和规范文档
microbit题目和规范文档 考试题目: 第一题:microbit和Arduino的区别 第二题 第三题:画流程图,当microbit晃动时,在LED点阵上显示1-6的随机数,当按钮b按下时,清空l ...
- 还在手工制作APP规范文档?这款设计神器你不容错过
之前写了一些关于APP原型文档的文章:一款APP的交互文档从撰写到交付 这次想写下关于APP设计规范文档的内容,规范文档这个东西,实际上大部分中小型公司没有这方面的需求,也没精力去制作这样一个系统性的 ...
- Python试题和规范文档
##试题: ###第一题: microbit和Arduino的区别 microbit:1.在线编程工具+本地编程工具,2.尺寸 43mm * 52mm,3.兼容电压:3V,4.带有模拟窗口,即使手上没 ...
- PBOC借记贷记应用终端规范文档,对名词解释
中国金融集成电路(IC)卡规范备注 学习PBOC借记贷记应用终端规范文档,对名词解释备注一下. 应用 application 卡片和终端之间的应用协议和相关的数据集. 命令 command 终端 ...
- TPM分析笔记(十二)TPM PCR操作
目录 一.PCR初始化(Initializing PCR) 二.PCR的扩展(Extend of a PCR) 2.1 其他PCR命令 三.使用PCR Banks进行扩展(Using Extend w ...
- TPM分析笔记(九)TPM资源实体-句柄
目录 一.永久实体 1.1 固定的组织架构 1.2 临时的组织架构 1.3 字典攻击复位 1.4 平台配置寄存器(PCR) 1.5 保留的handle 1.6 口令授权会话 1.7 平台NV使能 二. ...
- TPM分析笔记(一) TPM历史
目录 TPM的历史 为什么选择用TPM? TPM 1.1b到1.2的发展历史 TPM由1.2发展到2.0版本 TPM2.0规范的开发历程 发展历程小结 TPM标准 TPM常见用途 TPM的规范其描述文 ...
最新文章
- python类的成员函数_python特殊成员函数
- mysql gtid 开启失败,master--1.1.3-SNAPSHOT版本,启用GTID,启动失败
- 奥比中光深度摄像头_奥比中光获得银联检测通行证,银联进入刷脸支付赛道
- Centos7 网络配置
- C++tim Sort提姆排序的实现算法(附完整源码)
- JSP上传文件失败的问题 未解决
- 打造自己的装机U盘(二)
- 数据中心UPS维护和使用十大注意事项
- Git commit/pull/push的操作步骤
- oc - runtime运行机制
- 给浪费时间找种方法?
- php 递归穿件文件夹,PHP递归复制整个文件夹
- 内网穿透工具开发者运维人员必备
- masm编译.asm文件报错fatal errorA1000: cannot open file
- 打印的时候显示域服务器不可用,Win10打印时active directory域服务不可用解决方法...
- A*寻路算法之解决目标点不可达问题
- openfiler服务器打不开web管理页面
- Vue3.0实现原生高度可自定义菜单组件vue3-menus
- 用米思齐mixly和APP INVENTOR 2通过MQTT控制灯亮和熄
- 优秀的程序员——用批判性思维批判下
热门文章
- Android Behavior之ViewPager+Fragment+RecyclerView实现吸顶效果
- Java深入(面试常见题)
- c语言某年某月某日的天数,输入某年某月某日,判断这一天是这一年的第几天...
- 东大计算机硕士奖学金,【信息学院硕士研究生第二学年普通奖学金评定方案】...
- 汇编基础2:看懂汇编
- 计算机使用函数计算不及格门次,EXCEL计算不及格门数用什么函数
- 接口测试的测试用例该怎么写呢?
- basler相机的类
- 解决Veil—Evasion安装中git clone导致失败的问题
- 刻意练习:Python基础 -- Task02. 条件与循环