安全PC是如何启动的?

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:18:43

安全PC是如何启动的?


  安全PC的启动过程就是可信引导的过程。若想实现,必须保证以下三点:

  a)保证信任是逐层传递。当前一个可执行实体被度量并验证是可信并执行后,其转移控制权至下一个可执行实体之前,必须先对其进行度量,验证可信后方可转移控制权,信任从而传递至下一个执行实体。

  b)所有在可信链的建立过程中涉及到的度量和验证方法不能采用软件实现,而是依赖于TPM的实现。所有的度量和验证调用将最终由TPM验证模块来完成。

  c)可信链是建立在逐层的度量和验证基础上的,这种验证要求由TPM来保证重要秘密数据的完整性和保密性。在可信链传递过程中涉及的所有重要数据、需要预存的验证码都必须由TPM来保存,不能使用可移动的存储装置或PC机的系统内存,并且这些数据在使用过程中不能脱离TPM。TPM也不能提供访问这些数据的外部调用接口,以保证这些重要数据的秘密和可信。

  整个可信引导过程总体来说应该分为两个主要阶段,即硬件平台的引导阶段和操作系统的启动阶段。硬件平台的引导包括从平台加电、BIOS运行到BIOS将控制权交给Boot之前。这期间主要是保证硬件环境的可信。操作系统的启动阶段从主引导区调入操作系统装载程序一直到操作系统内核运行完毕,并运行Init进程之前。该阶段主要保证系统的启动过程和操作系统内核的可信。

1  硬件平台可信引导过程
硬件平台的引导定义为从系统加电开始到BIOS运行完毕并将控制权交给主引导区之前。该阶段应该保证整个硬件平台加电引导过程的可信。

具体过程如下:
a)用户在可信硬件提供的USB接口中插入开机身份卡。

b)硬件平台加电, TPM首先复位并进行初始化。

c) TPM对用户的开机身份卡进行认证。如果通过开机身份认证,则进入可信引导过程;否则,停机或进入普通引导过程。

d) TPM从硬件平台中取出BIOS自检程序, TPM中的验证程序对B IOS中的自检程序进行验证,并与存储在TPM中的摘要值进行比较。如果摘要值匹配成功,则将控制权交给硬件平台的CPU。

e)硬件平台的CPU将CS段寄存器设置成FFFFH,清零所有其他寄存器,然后执行CS: IP ( FFFF: 0000地址也就是BIOS地址F000: FFF0)处指令进入硬件平台的自检。

f)硬件平台自检成功后,并不立刻执行int19引导系统,而是将控制权转移到TPM,由TPM负责对19号中断程序进行验证。如果通过验证, 立刻执行该中断程序引导系统。根据CMOS中预设的顺序到软盘、硬盘、光盘等寻找引导扇区中的Boot程序。

g)找到Boot程序后, 并不立刻将Boot读到内存0000:7c00h处引导操作系统启动,而是由TPM中的验证程序对Boot进行验证。如果验证成功,将Boot读到内存0000: 7c00h处,再将控制权转交给硬件平台的CPU运行Boot程序,进入操作系统引导阶段。

2 操作系统的可信启动过程

操作系统可信启动阶段被定义为从主引导区开始执行到Init进程开始执行之前。此过程包括主引导区的执行、操作系统装载程序的执行、安全操作系统内核的装载、内存模式设置程序的执行四个步骤。该阶段应该保证操作系统本身启动加载过程的可信。在操作系统加载和启动流程中,由于Boot已经被TPM认证过,主引导区在执行时已经是可信的,信任从它开始向后传递。

摘自《计算机应用研究》