TSS-TCG Software Stack TSS软件栈
TSS-TCG Software Stack TSS软件栈
简介 TCG Software Stack(TSS) Specification Version 1.2 Level 1 Errata A Partt:Commands and Structures March 7.2007 口TSS是与TPM进行交互的核心软件部件 ▣TSS的设计规范由TCG领布 √TSS1.2规范已有750余页 √厂商自行设计的TSS必须待合TSS1.2标准 口TCG软件栈(TSS)是可信平台模块和使用TPM功能的应 用程序之间的支撑软件 ◆为操作系统和应用软件提供使用TPM的入口 ◆提供对TPM的访问、安全认证、密码服务和管理TPM资源 等重要功能
简介 TSS是与TPM进行交互的核心软件部件 TSS的设计规范由TCG颁布 ✓TSS 1.2规范已有750余页 ✓厂商自行设计的TSS必须符合TSS 1.2标准 TCG软件栈(TSS)是可信平台模块和使用TPM功能的应 用程序之间的支撑软件 ◆为操作系统和应用软件提供使用TPM的入口 ◆提供对TPM的访问、安全认证、密码服务和管理TPM资源 等重要功能
TSS体条结构 ·TCG服务提供者(TSP) √顶层模块 √提供标准的API接口 ·TSS核服务(TCS) √管理服务 ·TCG设备驱动库(TDDL) √提供标准的驱动接口
TSS体系结构 TCG服务提供者(TSP) ✓顶层模块 ✓提供标准的API接口 TSS核心服务(TCS) ✓管理服务 TCG设备驱动库(TDDL) ✓提供标准的驱动接口
TSS体丝结构图 本地平台 (1)内核模式:这是操作系统的设 本地程序 备驱动和核心组件常驻的地方。 TSS腿修提供者接口」 (2)用户模式:这是用户应用程序 TSS服务提供者 和服务执行的地方。用户模式 TsP上下文 主要有两种应用: 管理 加密函数 用户应用。这些代码只有在 用户请求或允许时才执行。 TsS核心服务接口 系统服务。这些应用通常在 TSS核心服 上下文管理 密钥和证书 管理 操作系统的初始化过程中作 为启动脚本的一部分执行或 TCG设备驱动库接口 者由服务器请求执行。 TCG设备驱 TPM设合TM Device Drve) 可信平台模块(TPM) 图7.1TSS结构图
TSS体系结构图 (1) 内核模式:这是操作系统的设 备驱动和核心组件常驻的地方。 (2) 用户模式:这是用户应用程序 和服务执行的地方。用户模式 主要有两种应用: 用户应用。这些代码只有在 用户请求或允许时才执行。 系统服务。这些应用通常在 操作系统的初始化过程中作 为启动脚本的一部分执行或 者由服务器请求执行
TSS E 的主要设计目标 ()提供使用TPM功能的入口点; (2)提供对TPM的同步访问 (3)采用适当的字节排序和对齐为应用程序提供对底 层指令流的屏蔽; (4)管理TPM资源(包括创建和释放)
TSS 的主要设计目标 (1) 提供使用 TPM 功能的入口点 ; (2) 提供对 TPM 的同步访问 ; (3) 采用适当的字节排序和对齐为应用程序提供对底 层指令流的屏蔽 ; (4) 管理 TPM 资源(包括创建和释放)
TPM Device Driver TPM的驱动程序由厂商提供,并运行在内核模式下; 在系统启动时,TDD会被装载入系统,然后才能使用 TPM提供的功能 驱动程序所提供的功能接口仅由TDDL调用使用,而 不允许其他的组件调用; 驱动是除了TS$外,是不提供对其他应用程序的连接 TPM服务 Infineon Security Platform initialization Wizard Welcome to the Intineon Security Platform Initialization Wizard 。TDD接口设计必须参考TIS标准; Infineon Th解ardgdyou thouhestepet的end地heS6cu ·TDD是使用TPM的一个核心部件, 它从TDDL上读取字节流信息,发 Tocontime.cck'Ned" 送给TPM,并接收反馈信息给TDDL 过 ■e ■Cae■ Heb
TPM Device Driver TPM的驱动程序由厂商提供,并运行在内核模式下; 在系统启动时,TDD会被装载入系统,然后才能使用 TPM提供的功能 驱动程序所提供的功能接口仅由TDDL调用使用,而 不允许其他的组件调用; 驱动是除了TSS外,是不提供对其他应用程序的连接 TPM服务; TDD接口设计必须参考TIS标准; TDD是使用TPM的一个核心部件, 它从TDDL上读取字节流信息,发 送给TPM,并接收反馈信息给TDDL
TCG Device Driver Library ·TDDL是一个提供与TPM设备驱动交互的API库; ·TDDL提供小的API集合来打开和关闭设备驱动程序,发送 和接收数据块,以及取消已经提交的TPM命令等功能函数; TDDL提供了用户模式的接口,也提供内核态和用户态之 间的转换。 ●1 由于TPM不要求多线程,因此TDDL也是单线程模块,需要 由TCS完成命令的序列化; 与内核模式接口相比优点 √保证TSS不同实现可以与任意的TPM合适通信; √TPM应用程序提供不依赖操作系统接口; √允许TPM厂商提供软件的TPM模拟器作为用户模式组件;
TCG Device Driver Library TDDL是一个提供与TPM设备驱动交互的API库; TDDL提供小的API集合来打开和关闭设备驱动程序,发送 和接收数据块,以及取消已经提交的TPM命令等功能函数; TDDL 提供了用户模式的接口,也提供内核态和用户态之 间的转换。 由于TPM不要求多线程,因此TDDL也是单线程模块,需要 由TCS完成命令的序列化; 与内核模式接口相比优点 ✓保证TSS不同实现可以与任意的TPM合适通信; ✓TPM应用程序提供不依赖操作系统接口; ✓允许TPM厂商提供软件的TPM模拟器作为用户模式组件;
TCG Device Driver Library ■TDDL接口包括三种类型的功能。 维护功能(打开、关闭和获得身份):维护与 TDD的交互 ·提供函数(如Open,Close,GetStatus)来控制与TDD的 通信 间接功能(获得功能和设置功能):获取或者 设置TPM/TDD/TDDL的属性 ·提供函数(如GetCapability和SetCapability)来得到并 设置TPM、TDD和TDDL的属性 直接功能(发送和取消)发送或者取消TP 的命令传输。 ■通过函数(Transmit和Cancel)发送和取消TPM命令
TCG Device Driver Library ◼ TDDL 接口包括三种类型的功能。 ◼ 维护功能(打开、关闭和获得身份) :维护与 TDD的交互 ◼ 提供函数(如Open, Close, GetStatus)来控制与TDD的 通信 ◼ 间接功能(获得功能和设置功能) :获取或者 设置TPM /TDD/TDDL的属性 ◼ 提供函数(如GetCapability和 SetCapability)来得到并 设置TPM、TDD和TDDL的属性 ◼ 直接功能(发送和取消):发送或者取消 TPM 的命令传输。 ◼ 通过函数(Transmit 和Cancel)发送和取消 TPM命令
TCG Core Services一TCG核心服务 。TCS是一个后台服务 每个TPM仅对应一个TCS ·TCS不提供密码学服务 对TPM有限的资源进行管理 √密钥、证书管理 √上下文管理 ·TCS负责调度要执行的TPM命令 √每个操作都是原子操作 √允许多线程访问TCS 。TCS对TPM命令格式进行转换
TCG Core Services—TCG 核心服务 TCS是一个后台服务 每个TPM仅对应一个TCS TCS不提供密码学服务 对TPM有限的资源进行管理 ✓密钥、证书管理 ✓上下文管理 TCS负责调度要执行的TPM命令 ✓每个操作都是原子操作 ✓允许多线程访问TCS TCS对TPM命令格式进行转换
TCG Core Service一证书、密钥管理(1) Management Services ·密钥、证书的管理 TSS Core Services Interfaces (TCSi) Key Credential ·证书管理 Manager 只负责对EK证书、平台证书 及一致性证书进行管理,只 有0wner有对证书的访问权 Persistent Key Cache Manager Storage(S) TCG Software Stack 29
29 TCG Core Service——证书、密钥管理(1) Management Services 密钥、证书的管理 TCG Software Stack TSS Core Services Interfaces (TCSi) Key & Credential Manager Key Cache Manager • 证书管理 –只负责对EK证书、平台证书 及一致性证书进行管理,只 有Owner有对证书的访问权 Persistent Storage (S)