TCG软件栈(TSS)规范分析与实现
【摘要】:在信息安全领域,可信计算技术越来越受到关注可信计算的核心是一块安装在主板上的安全芯片,被称为TPM(可信平台模块),它为安全应用软件在硬件上提供支持。事实上,安全应用程序不能直接访问TPM,而是通过调用TSS (TCG Software Stack, TCG软件协议栈)接口来使用TPM提供的安全功能。
可信计算组织(TCG)定义的可信平台模块(TPM),是一种置于计算机中的新的嵌入式安全子系统。它为安全应用软件在硬件上提供支持。事实上,安全应用程序不能直接访问TPM,而是通过调用TSS接口来使用TPM提供的安全功能。
本论文基于Windows2000/NP操作系统,通过研究TCG (Trusted Computing Group)定义的TSS1.2的标准接口,设计和实现了TSS可信计算软件协议栈,在可信BIOS的支持下,增强了系统的安全性,并为可信应用程序的开发提供了基础。
本文针对TPM中密钥、会话等资源有限的问题,根据不同资源的特点,对其管理方法作了优化,并利用TPM的安全特性实现了密钥的安全永久存储层次;在对事件管理进行分析的基础上,提出了应用程序在完整性测量方面的使用模型,并在TSS系统中实现了相应的支持模块;在与TPM通信方面,TCG服务提供层采用授权会话机制,保证了层次之间传输命令时的数据完整性和授权数据的安全性。
本文首先系统介绍了可信计算技术和TPM的特性,然后描述了TSS的系统结构,对TSS的四个层次(TCG驱动程序,TCG驱动程序库,TCG核心服务层,TCG服务提供层)进行了分析,并设计和实现了TSS系统的核心模块,该系统己经基本可以支持一个完整安全应用系统的开发。
TSS规范是由可信计算组织发布的,力图使读者或TSS的实现者对于TPM规范和密码学的基础架构有一个详细的理解。程序员编写可信计算应用程序的切入点是TSS。TSS规范以与厂商无关的方式为上层提供TPM的所有功能,并定义了一种能够让访问TPM变得简单和直接的体系结构。因此,TSS规范的分析和研究对于致力于实现TSS和在希望借助TSS来使用TCG相关服务的个人和组织都具有深远的实际意义。