Overview Introduction Application TPM Internals TCG Service Provider Interface (TSPI) TCG Service Provider(TSP) TPM Device Driver( tDD TSS Core Service Interface (TCSI) TCG Device Driver Library(TDDL) L Is ces Services(TCS) TCG Core Services(TCs) TPM Device Driver Library Interface(TDDLI) ICG Device Driver Library (DDL TCG Service Provider(tsp TPM Device Driver Trusted Platform Module(TPM) TCG Software Stack
11 • Introduction • TPM Internals • TPM Device Driver (TDD) • TCG Device Driver Library (TDDL) • TCG Core Services (TCS) • TCG Service Provider (TSP) TCG Software Stack Overview
TPM Device driver TPM的驱动程序由厂商提供,并运行在内核模 式下; 驱动程序所提供的功能接口仅由TDD调用使用, 而不允许其他的组件调用; 驱动是除了TSS外,是不提供对其他应用程序 的连接TPM服务; ·提供除基本驱动以外的额外服务( Welcome to the Inlined 例如,电源管理等; Ths cadences ou小hte由 eo: t enso TDD接口设计必须参考∏S标准 e[e[c种 TCG Software Stack 12
12 TPM Device Driver • TPM的驱动程序由厂商提供,并运行在内核模 式下; • 驱动程序所提供的功能接口仅由TDDL调用使用, 而不允许其他的组件调用; • 驱动是除了TSS外,是不提供对其他应用程序 的连接TPM服务; • 提供除基本驱动以外的额外服务 例如,电源管理等; • TDD接口设计必须参考TIS标准。 TCG Software Stack
Overview Introduction Application TPM Internals TCG Service Provider Interface (TSPI) TCG Service Provider(TSP) TPM Device Driver(TDD TSS Core Service Interface (TCSI) TCG Device Driver Library (tddl TSS Core Services(TCS) Introduction TPM Device Driver Library Interface(TDDLI) ICG Device Driver Library (DDL TPM Commands TPM Device Driver TPM Authorization protocols TCG Core Services(tcs) Trusted Platform Module(TPM) TCG Service Provider(tsp) TCG Software Stack
13 • Introduction • TPM Internals • TPM Device Driver (TDD) • TCG Device Driver Library (TDDL) – Introduction – TPM Commands – TPM Authorization Protocols • TCG Core Services (TCS) • TCG Service Provider (TSP) TCG Software Stack Overview
TCG Device Driver library · Introduction TSS用于和TPM通信的组件。 运行于用户空间的第一个TSS组件,提供了内核模 式到用户模式的转换。处于TCS和TDD之间,为 TCS提供接口 TDDLi TDDL是一个单线程同步接口,发送到TDDL的 TPM命令都已经被串行化。 对于直接访问TPM设备的程序,TDD遇提供了7个功 能函数,用于和TDD进行通信 · Tddli Open()、 Tddli close()、 Tddli transmitdata(..) TDDL必须仅提供对TCS的链接 TCG Software Stack 14
14 TCG Device Driver Library • Introduction – TSS用于和TPM通信的组件。 – 运行于用户空间的第一个TSS组件,提供了内核模 式到用户模式的转换。处于TCS和TDD之间,为 TCS提供接口TDDLi。 – TDDLi是一个单线程同步接口,发送到TDDLi的 TPM命令都已经被串行化。 – 对于直接访问TPM设备的程序,TDDLi提供了7个功 能函数,用于和TDD进行通信。 • Tddli_Open()、Tddli_Close()、Tddli_TransmitData(…)、… – TDDL必须仅提供对TCS的链接 TCG Software Stack
TCG Device Driver library · TPM Command Command 规范中TPM有122个命令 所有TPM命令格式都有相同的头 Result PARAMHMAC yp Name Description TPM TAG PM命令标签 UINT2 整个命令的大小 TPM_COMMAND_CODE ordinal 命令索引,唯一标示一个命令,格式: TPM ORD X Tag ame TPM ORD OIAP 10 0x×000000A 0x00C1 TPM TAG RQU COMMAND TPM ORD OSAP 110×0000 0X00C2 TPM_TAG_RQU_AUTH1_COMMAND TPM ORD OwnerClear TPM TAG RQU AUTH2 COMMAND TPM_ORD_OwnerReadlIntemalPub1290x00000081 0X00C4 TPM_TAG_RSP_COMMAND TPM ORD OwnerReadPubek 1250×0000 0x×005 TPM TAG RSP AUTH1 COMM XXXX 0x00C6 TPM TAG_RSP_ AUTH2_ COMMAND TPM ORD OwnerSeDisable 1100×0000 TCG Software Stack
15 TCG Device Driver Library • TPM Command – 规范中TPM有122个命令 – 所有TPM命令格式都有相同的头 PARAM HMAC Type Name Description # SZ # SZ 1 2 TPM_TAG tag TPM命令标签 2 4 UINT32 paramSize 整个命令的大小 3 4 TPM_COMMAND_CODE ordinal 命令索引,唯一标示一个命令,格式:TPM_ORD_XX TCG Software Stack Command Result Tag Name 0x00C1 TPM_TAG_RQU_COMMAND 0x00C2 TPM_TAG_RQU_AUTH1_COMMAND 0x00C3 TPM_TAG_RQU_AUTH2_COMMAND 0x00C4 TPM_TAG_RSP_COMMAND 0x00C5 TPM_TAG_RSP_AUTH1_COMMAND 0x00C6 TPM_TAG_RSP_AUTH2_COMMAND TPM_ORD_OIAP 10 0x0000000A X TPM_ORD_OSAP 11 0x0000000B X TPM_ORD_OwnerClear 91 0x0000005B X TPM_ORD_OwnerReadInternalPub 129 0x00000081 X TPM_ORD_OwnerReadPubek 125 0x0000007D X TPM_ORD_OwnerSetDisable 110 0x0000006E X