(2)启动TSS软件栈 打开一个新的终端,在终端中输入命令: #tcsd //TSS启动 #tpmmanager 则出现如图所示界面: TPM Manager Stat Detds Sopobiinies PCR TPM Seiting Advanced M erabied aCMd wwrerset
(2)启动TSS软件栈 打开一个新的终端,在终端中输入命令: #tcsd //TSS启动 #tpmmanager 则出现如图所示界面:
(3)设置TPM属主及SRK密码 TPM Manager ☒ Info Owner Settings Ownership Backup TPM Settings Advanced Owner Management About A TPM Owner is required to manage the TPM.Allowed operations depend on the TPM status. Take Ownership Take Change Owner Password Change Change SRK Password Change Clear Ownership and return to factory de faults Clear TPM Status ⊙ enabled ⊙ activated © owner set Quit
(3)设置TPM属主及SRK密码
提纲 ■TPM模拟环境搭建 ■TSS编程实例 ■有关PCR的操作(READ、EXTEND) ■HASH操作 ■文件加解密操作 ■远程证明
◼TPM模拟环境搭建 ◼TSS编程实例 ◼ 有关PCR的操作(READ、EXTEND) ◼ HASH操作 ◼ 文件加解密操作 ◼ 远程证明 提纲
(1)有关PCR操作(READ) 创建上下文并 (1)创建上下文并连接到本地TCS; 示例程序-1 连接到本地 Tspi_Context_Create(&hCont TCS ext); ■程序功能: Tspi_Context_Connect(hCont ■读取TPM中的PCR值 ext,0); 获取TPM对象 (2)获取TPM对象; ■源码参见: Tspi_Context_GetTpmObject -pcr_read.c (hContext,&hTPM); (3)读取TPM对象的PCR值; ■程序流程见右图: 读取TPM对象 Tspi_TPM_PcrRead(hTPM,i, 的PCR值 pulPcrValueLength,&prgbPcr Value) (4)Tspi_Context_FreeMemor y(hContext,prgbPcrValue); 输出PCR值
(1)有关PCR操作(READ) ◼ 示例程序-1 ◼ 程序功能: ◼ 读取TPM中的PCR值 ◼ 源码参见: ◼ pcr_read.c ◼ 程序流程见右图: 创建上下文并 连接到本地 TCS 获取TPM对象 读取TPM对象 的PCR值 输出PCR值 (1)创建上下文并连接到本地TCS; Tspi_Context_Create(&hCont ext); Tspi_Context_Connect(hCont ext, 0); (2)获取TPM对象; Tspi_Context_GetTpmObject (hContext,&hTPM); (3)读取TPM对象的PCR值; Tspi_TPM_PcrRead(hTPM,i,& pulPcrValueLength,&prgbPcr Value) (4)Tspi_Context_FreeMemor y(hContext,prgbPcrValue);
(1)有关PCR操作(EXTEND) 创建上下文并 ■ 示例程序-2(扩展) (1)创建上下文并连接到本地TCS: 连接到本地 TCS Tspi_Context_Create(&hContext); ·程序功能: Tspi_Context_Connect(hContext,0) ·对PCR寄存器 (2)获取TPM对象; 进行扩展操作 获取TPM对象 Tspi_Context_GetTpmObject(hCont ■源码参见: ext,&hTPM); ■pcr_extend.c (3)扩展TPM对象的PCR值,通过TCS 扩展TPM对象 扩展到真正TPM的PCR值; ·程序流程见右图: 的PCR值 Tspi_TPM_PcrExtend(hTPM,i, ulPcrDataLength,pbPcrData, pPcrEvent,&pulPcrValueLength,&pr gbPcrValue) 输出扩展 的PCR值 (4)输出扩展PCR值
(1)有关PCR操作(EXTEND) ◼ 示例程序-2(扩展) ◼ 程序功能: ◼ 对PCR寄存器 进行扩展操作 ◼ 源码参见: ◼ pcr_extend.c ◼ 程序流程见右图: 创建上下文并 连接到本地 TCS 获取TPM对象 扩展TPM对象 的PCR值 输出扩展 的PCR值 (1)创建上下文并连接到本地TCS; Tspi_Context_Create(&hContext); Tspi_Context_Connect(hContext, 0); (2)获取TPM对象; Tspi_Context_GetTpmObject(hCont ext,&hTPM); (3)扩展TPM对象的PCR值,通过TCS 扩展到真正TPM的PCR值; Tspi_TPM_PcrExtend(hTPM, i, ulPcrDataLength, pbPcrData, pPcrEvent,&pulPcrValueLength,&pr gbPcrValue) (4) 输出扩展PCR值