论文部分内容阅读
可信计算是保证计算机安全的关键技术,它以BIOS固件层为起点,逐层直至应用程序进行安全校验,从而从根本上保证了计算机安全。作为可信计算平台的核心模块,TPM(Trusted Platform Module,可信平台模块)是安装在PC主板上的一枚重要芯片,内部包括处理器单元、密钥管理单元、存储单元等丰富的资源。但采用TPM需要对主板进行较大改动,这对主板生产提出了更高要求,而且旧式计算机也无法方便添加TPM。另外,硬件TPM无法在同时运行多个保护实例,并且其硬件调试和扩展性也是难以克服的技术障碍。因此采用软件方式实现虚拟TPM成为目前的热点问题。Intel在设计UEFI BIOS对TPM的支持时,就考虑到了对虚拟TPM的兼容[1]。 EFI(Extensible Firmware Interface,可扩展固件接口)是固件与操作系统进行交互的接口。它是Intel为安腾处理器设计的操作系统和计算机平台固件之间的一种新型程序接口规范[2],也支持32位处理器。UEFI BIOS鉴于其先进的设计理念、开放的接口机制和业界的广泛支持,取代传统BIOS是必然趋势。目前,对虚拟TPM的研究主要在UEFI BIOS上进行的。而随着多核技术的发展,基于多核平台的虚拟应用业已成为研究热点。在此背景下,本文对多核平台下的虚拟TPM进行了深入研究,并提出一种切实可行的解决方案。 首先,对Montevina平台的UEFI BIOS源码进行了深入研究,并分析了Linux对UEFI的支持,以及在Pre-OS时期用于处理器间中断的MPService服务。可信BIOS的基础是BIOS。因此,对UEFI BIOS源代码进行研究,既是开发可信BIOS的前提,也是在Pre-OS阶段做增值服务的基础,具有重要的技术积累价值。 其次,分析了SMP(Symmetric Multi-Processor,对称多处理器)系统的基本构架、启动过程和核间通信机制,介绍了多核处理器的关键技术以及核间通信技术的两种主要方式,即共享内存和处理器间中断(Inter-Processor Interrupts,IPI)。 最后,在上述技术基础上,提出一种基于UEFI BIOS的虚拟TPM设计方案。该方案应用于SMP平台上,在计算机启动早期,启动一个应用核(Applicationprocessor),独占该AP核来虚拟TPM,对BIOS、OS Loader、OS以及应用程序的可信度量。较其他虚拟TPM方案,该方案采用独占一个AP核运行虚拟TPM,实现了虚拟TPM与其他应用程序的物理隔离,具有更高的安全性。 本文的研究为多核平台在Pre-OS阶段的增值应用提供了良好的理论基础和夯实的技术积累。