一种uefi可信支撑系统及其控制方法

文档序号:6428485阅读:252来源:国知局
专利名称:一种uefi可信支撑系统及其控制方法
技术领域
本发明属于信息安全领域,尤其涉及应用于可信计算平台、符合UEFI接口规范的一种可信支撑系统及其方法。该系统利用TPCM硬件的管理、认证、存储、密码等服务实现可信认证、可信度量、可信恢复、配置管理、安全引导等可信支撑功能模块,完成信任链从TPCM 传递到BIOS并从BIOS传递到OS的过程。
背景技术
国际可信计算组织(TCG)规定可信平台模块(Trusted Platform Module, TPM) 是可信计算的硬件基础,并提出以TPM和BIOS共同作为可信根,实现可信计算的方法。针对TPM可信度量根的安全缺陷,国内可信计算专家学者提出以可信平台控制模块(Trusted Platform Control Module, TPCM)作为可信根,实现信任链传递的方法。TPCM提供的可信服务功能包括主动度量服务,TPCM管理服务,认证注册服务,平台配置寄存器(Platform Configuration Register,PCR)管理服务,存储空间管理服务,密钥服务,密码服务等。统一可扩展固件接口(Unified Extensible Firmware Interface, UEFI)是一种新的固件接口规范,是新的技术发展方向,为可信支撑系统的实现提供重要的技术支撑。图1是普通UEFI固件的系统架构图,普通UEFI固件的主要功能是初始化系统硬件和引导操作系统。如图1所示,普通UEFI固件包括UEFI基础代码、CPU代码、芯片组代码、基础驱动接口和兼容支持模块等部分。图2是普通UEFI固件的工作流程图,如图2所示,UEFI固件的启动流程分为SEC、 PEI、DXE 和 BDS、TSL、RT 几个阶段。在已有的可信计算平台及方法中,“一种可信平台模块及其主动度量方法”和“一种对BIOS进行保护的可信计算系统及其应用方法”等专利提出了 TPCM的硬件组成结构、 固件组成构成;TPCM、BI0S同其它硬件之间的连接架构以及TPCM对BIOS的主动度量方法。 前者还提出了使用具有主动度量功能的TPCM对BIOS关键代码进行度量验证,如果BIOS验证不通过,由TPCM对BIOS进行恢复,如果BIOS验证通过,然后再由BIOS中的关键代码完成对BIOS其它部分代码和MBR进行度量验证,验证通过后启动MBR,MBR对主机Loader进行度量,Loader度量成功后直接加载主机操作系统内核来传递信任链的方法。以上专利详细讲述了为了实现主动度量功能设计的TPCM的硬件和固件架构,且只是提出了利用TPCM对BIOS度量、BIOS对MBR度量,但并没有给出如何充分利用TPCM的各类可信服务,实现固件层对BIOS及OS进行度量验证完善信任链传递的可信支撑系统的架构及其可信控制方法,尤其是现有专利中没有对基于UEFI技术的可信支撑系统的研究。 另外,BIOS不是固定不变的,以上专利利用TPCM对BIOS进行更新升级,增加了 TPCM设计的复杂性,延长了系统的启动时间;以上专利利用BIOS对MBR进行度量验证,需要修改BIOS 才能实现,这对于目前大量使用的没有BIOS源代码支持的机器几乎是不可能实现的。

发明内容
本发明的目的在于提供一种使用TPCM可信功能服务、对BIOS提供可信支撑、符合 UEFI接口规范的可信支撑系统。该系统从物理上包括TPCM和存储可信支撑系统固件的非易失性存储器。其中可信支撑系统固件是在对普通UEFI固件裁减的基础上,加入使用TPCM 可信功能服务的各可信功能模块,完成身份认证、度量验证、配置管理、BIOS恢复、操作系统恢复、安全引导等功能,为整个平台的安全可靠提供保证。本发明的另一个目的在于提供一种使用UEFI可信支撑系统的可信控制方法,保证从TPCM上电开始,经过UEFI可信支撑系统的各可信功能模块,到BIOS和安全OS加载整个信任链的完整性。同时,提供配置管理功能基于TPCM的认证服务,实现固件层UEFI可信认证机制及用户分权限管理,不同类型的用户具有不同的TPCM、备份和恢复、BIOS更新升级等配置管理权限和OS加载策略;提供固件层对安装Windows/Linux不同操作系统设备上的MBR/0S Loader/OS Kernel度量验证和文件级恢复机制,由UEFI可信支撑系统中的代码模块直接实现对相关对象的度量验证和恢复,并且相关算法、标准值和备份使用TPCM和通过可信度量验证的硬件受保护区域存储。本发明是采用以下技术手段实现的一种UEFI可信支撑系统,包括UEFI可信支撑系统固件和TPCM可信平台控制模块。其中,UEFI可信支撑系统固件存放在非易失性存储器(如Flash)上,它与TPCM模块使用系统总线(如LPC等)相连;TPCM模块与可信计算平台使用系统总线(如LPC、USB、 PCI、PCIE 等)相连。UEFI可信支撑系统固件采用模块化设计,遵循UEFI接口规范,包括TPCM驱动模块、可信认证模块、BIOS可信度量验证模块、硬件可信度量验证模块、OS相关软件可信度量验证模块、1/0端口控制模块、BIOS可信备份/恢复模块、BIOS可信更新升级模块、OS相关软件可信备份/恢复模块、安全引导模块和配置管理模块,完成基于TPCM可信功能服务的可信支撑功能。其中,UEFI可信支撑系统固件的TPCM驱动模块与可信认证模块连接,可信认证模块依序与BIOS可信度量验证模块、硬件可信度量验证模块、OS相关软件可信度量验证模块、配置管理模块、1/0端口控制模块和安全引导模块连接;BIOS可信度量验证模块还与BIOS可信备份/恢复模块连接;OS相关软件可信度量验证模块还与OS相关软件可信备份/恢复模块连接;所述配置管理模块还与OS相关软件可信备份/恢复模块、BIOS可信更新升级模块连接。所述的UEFI可信支撑系统固件各模块的执行顺序是首先依次执行TPCM驱动模块、可信认证模块、BIOS可信度量验证模块,然后根据BIOS验证结果执行BIOS可信备份/ 恢复模块后重启,或者继续执行硬件可信度量验证模块、OS相关软件可信度量验证模块,接下来根据OS相关软件度量验证结果和用户的权限及选择执行OS相关软件可信备份/恢复模块和配置管理模块,在配置管理模块根据用户选择执行不同配置分支,其中BIOS可信更新升级功能调用BIOS可信更新升级模块后进行系统重启,OS相关软件备份/恢复功能调用OS相关软件可信备份/恢复模块进行OS软件的备份/恢复,在退出配置管理模块后,系统执行1/0端口控制模块和安全引导模块,执行BIOS或引导0S,可信支撑系统固件执行完毕。所述TPCM驱动模块用于对TPCM硬件初始化,提供使用TPCM硬件的TPCM管理,认证注册,PCR管理,存储空间管理,密钥,密码各服务的驱动接口。所述可信认证模块用于使用TPCM硬件的认证注册、密钥服务进行基于IC卡/USB Key等不同方式的用户身份认证功能,并对用户身份进行分级,使得配置管理模块可根据用户级别不同分配不同的配置管理权限和启动策略。所述BIOS可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对平台BIOS的度量验证。所述硬件可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对硬盘/光驱/显卡/网卡/声卡等关键硬件外设特征数据的度量验证。所述OS相关软件可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对MBR/OS Loader/OS Kernel等与OS相关软件的度量验证。所述I/O端口控制模块用于使用TPCM的认证注册服务,根据不同用户的I/O端口配置策略和权限实现对I/O端口打开/关闭的控制。所述BIOS可信备份/恢复模块,用于对平台BIOS度量验证失败时使用TPCM的存储空间管理、密码服务对BIOS的可信恢复;以及用于在配置管理模块对BIOS进行备份。所述BIOS可信更新升级模块用于在配置管理模块使用TPCM的PCR管理、存储空间管理、密码服务对BIOS进行更新升级。所述OS相关软件可信备份/恢复模块用于使用TPCM的存储空间管理、密码服务实现对MBR/OS Loader/OS Kernel等与OS相关软件的可信恢复;以及用于在配置管理模块对 MBR/OS Loader/OS Kernel 进行备份。所述安全引导模块用于实现根据不同级别的用户具有的不同启动权限策略配置不同的启动设备。所述配置管理模块用于实现不同级别的用户对隐藏分区、BIOS预期值、各硬件设备特征数据预期值、OS相关软件数据预期值、BIOS及OS相关软件数据备份、BIOS更新升级的配置管理功能。一种UEFI可信支撑系统的可信控制方法,其执行流程如图5所示,包括如下步骤步骤一、TPCM先上电,并对UEFI可信支撑系统固件进行度量验证;步骤二、如果UEFI可信支撑系统固件度量验证失败,则执行其恢复,否则继续向下执行;步骤三、通过UEFI可信支撑系统中的TPCM驱动模块为TPCM加载驱动;步骤四、通过UEFI可信支撑系统中的可信认证模块对用户进行身份认证;步骤五、若步骤四中认证不成功次数超过最大错误次数,则宕机;若认证成功,则记录下用户类型;步骤六、通过UEFI可信支撑系统中的BIOS可信度量验证模块对BIOS进行度量验证;步骤七、如果BIOS度量验证失败,则执行BIOS恢复或继续向下执行;步骤八、通过UEFI可信支撑系统中的硬件可信度量验证模块对硬盘/光驱/网卡/显卡/声卡等关键硬件设备的特征数据进行度量验证;步骤九、通过UEFI可信支撑系统中的OS相关软件可信度量验证模块对MBR/ 0SLoader/0S Kernel等与OS相关的软件进行度量验证;步骤十、如果MBR/OS Loader/OS Kernel等与OS相关的软件度量验证失败,则执行相应数据的恢复或继续向下执行;步骤十一,根据步骤五记录的用户类型执行不同的操作对于特权用户,则根据用户选择进行配置管理或继续执行后续步骤;对于普通用户则直接继续执行后续步骤,普通用户不具备配置管理的权限;步骤十二,通过UEFI可信支撑系统中的1/0端口控制模块,根据用户1/0策略实现对不同硬件外设接口的打开/关闭功能;步骤十三,通过UEFI可信支撑系统中的安全引导模块,根据步骤五所记录的用户权限,对系统进行安全引导设定。步骤十四,UEFI可信支撑系统执行结束,将控制全交给BIOS或OS执行。其中,步骤四中所述的身份认证流程和步骤i^一中所述的BIOS配置管理流程,包括如下步骤(1)通过可信认证模块提示用户输入用户名和Pin码,并通过TPCM进行基于IC 卡/USB Key的身份认证,认证通过后,获取用户信息,确认用户权限是特权用户还是普通用户;(2)获取所述的对BIOS、硬件设备(显卡、硬盘、光驱、网卡、声卡)的特征数据、 MBR/OS Loader/OS Kernel度量验证得到的各对象度量值;(3)判断用户类型,如果是特权用户则可以根据用户选择进行配置管理,如果是普通用户则提示用户不具备相应的配置管理权限,配置管理结束;(4)判断用户是否选择了配置管理,如果选择了配置管理则进入配置管理页面,提示用户选择不同的配置管理选项a.配置文件管理显示TPCM/高端隐藏分区中保存的配置文件;接收用户的增加、删除和修改等编辑操作;对TPCM/高端隐藏分区中的配置文件更新保存。b.预期值管理显示步骤O)中计算的各对象的度量值和TPCM中保存的各对象的预期值;接收用户保存操作;更新TPCM中的预期值。c.隐藏分区管理在配置界面显示安全硬件设备上隐藏分区的状态;接收用户对于隐藏分区状态的修改;执行打开/关闭隐藏分区。d.备份/恢复管理显示备份/恢复的各对象,并接收用户对对象的配置;接收用户是进行相应对象备份还是恢复的选择操作;
执行将各对象备份到TPCM/安全硬件的隐藏分区或者将TPCM/安全硬件的隐藏分区中的对象拷贝到原位置进行恢复。e. BIOS 更新管理接收用户对于BIOS更新升级的选择操作;重新计算TPCM绑定设备中新的BIOS的度量值,并将TPCM中相应的预期值进行更新;将TPCM绑定设备中新的BIOS刷写到Flash中。应用所述一种UEFI可信支撑系统进行可信控制的方法,其特征在于步骤六中所述通过UEFI可信支撑系统中的BIOS可信度量验证模块对BIOS进行度量验证步骤具体分为(1)处理器通过BIOS可信度量验证模块将BIOS内容读入内部存储器中;(2)处理器通过BIOS可信度量验证模块计算得到BIOS度量值,算法选用TPCM中的杂凑算法;(3)处理器读取存放在TPCM中的BIOS预期值;(4)比较步骤(2)计算得到的度量值与步骤(3)读取的预期值,若二者相同,则验证成功;若二者不相同,则验证失败,执行BIOS的恢复流程。其中,步骤七中所述BIOS恢复流程包括如下步骤(1)处理器通过BIOS可信备份/恢复模块读取外部存储器隐藏分区或TPCM中的 BIOS备份;(2)处理器通过BIOS可信度量验证模块对BIOS备份进行度量验证;(3)如果⑵度量验证成功,则处理器通过BIOS可信备份/恢复模块将备份数据写入BIOS的Flash芯片中。(4)如果(2)度量验证不成功,则系统报警提示,然后宕机。其中,步骤八中所述通过硬件可信度量验证模块对硬盘/光驱/网卡/显卡/声卡等关键硬件设备的特征数据进行度量验证的步骤具体分为(1)处理器通过硬件可信度量验证模块得到所有的关键硬件设备的数目Nh ;(2)处理器通过硬件可信度量验证模块设定已验证的硬件设备的序号nh = 0 ;(3)判断nh和Nh的大小,如果nh < Nh,则执行如下(4) (9)步,否则继续执行系统的其它步骤;(4)处理器通过硬件可信度量验证模块读取第nh个关键硬件设备特征数据内容到内部存储器中;(5)处理器通过硬件可信度量验证模块计算得到第nh个关键硬件设备特征数据度量值,算法选用TPCM中的杂凑算法;(6)处理器读取TPCM中的关键硬件外设特征数据的Nhy个预期值;(7)将步骤(5)计算得到的度量值与步骤(6)读取的Nhy个预期值依次进行比较, 若存在与度量值相等的预期值,则验证成功;若不存在相等的预期值,则验证失败;(8)如果步骤(7)验证失败,则根据前述步骤五记录的用户类型执行不同的操作 如果是普通用户,则系统宕机,如果是特权用户则根据用户的选择执行系统宕机或者继续向下执行;
(9)系统跳到第(3)步执行。其中,步骤九中所述OS相关软件可信度量验证模块对MBR/OS Loader/OS Kernel 等与OS相关的软件进行度量验证的步骤具体分为(1)处理器通过OS相关软件可信度量验证模块读取MBR/OS Loader/OS Kernel数据到内部存储器中;(2)处理器通过OS相关软件可信度量验证模块计算MBR/OS Loader/OS Kernel数据度量值,算法用TPCM中的杂凑算法;(3)处理器读取TPCM中的MBR/OS Loader/OS Kernel数据的预期值;(4)将步骤( 计算得到的度量值与步骤C3)读取的预期值进行比较,若二者相等,则验证成功;若二者不相等,则验证失败;(5)如果步骤(4)验证失败,则根据步骤五记录的用户类型执行不同的操作如果是普通用户,则根据用户选择执行系统恢复/宕机,如果是特权用户则根据用户的选择执行系统恢复/宕机或者继续向下执行。其中,步骤十中所述的MBR/OS Loader/OS Kernel恢复流程包括如下步骤(1)处理器通过OS相关软件可信备份/恢复模块读取外部存储器隐藏分区或 TPCM 中 MBR/OS Loader/OS Kernel 备份;(2)处理器通过OS相关软件可信度量验证模块对读取的外部存储器隐藏分区或 TPCM中MBR/OS Loader/OS Kernel备份进行度量验证;(3)如果O)中的度量验证通过,则处理器通过OS相关软件可信备份/恢复模块将备份数据写入到相应的MBR/OS Loader/OS Kernel处。(4)如果(2)度量验证不成功,则系统报警提示,然后宕机。本发明与现有技术相比,具有以下明显的优势和有益效果1.本发明的UEFI可信支撑系统基于TPCM提供的可信功能服务实现了 TPCM硬件和OS软件之间固件层的信任链传递。相对于用TPCM直接对BIOS度量验证而言,用TPCM 对UEFI可信支撑系统固件进行度量验证,再由UEFI可信支撑系统对BIOS进行度量验证, TPCM度量验证的数据量小,并且是固定不变的,不需要更新升级,因此简化了 TPCM的复杂度,并缩短其度量时间,提高系统执行的速度,缩短可信平台的启动时间;相对于用BIOS对 MBR进行度量验证而言,本发明用UEFI可信支撑系统对MBR/OS Loader/OS Kernel进行度量验证,不需要对BIOS进行修改即可实现对MBR/OS Loader/OS Kernel的度量验证和恢复,降低了修改BIOS系统实现的技术难度。相对于用OS Loader对OS Kernel进行度量验证的系统来讲,用UEFI可信支撑系统对OS Kernel进行度量验证,不仅适用于开放源码的 Linux系统,而且适用于不开放源码的Windows系统,使得BIOS固件和OS软件之间的信任链不至于出现断层。2.通过在UEFI可信支撑系统中实现结合用户身份认证及分级管理的配置管理功能,在BIOS执行之前为用户提供基于TPCM的预期值管理、日志管理、待度量的OS配置文件管理、BIOS及OS备份和恢复的管理、BIOS更新管理等功能,增强了计算机的安全性及人机交互的友好性。3.基于TPCM的可信功能服务,将BIOS、硬件、OS相关软件关键数据的预期值存放在TPCM模块内部;将配置文件、BIOS、硬件、OS相关软件备份数据存放在经过可信度量验证的外部存储器的隐藏分区中或者TPCM内部;使用TPCM提供的杂凑等密码算法进行度量验证。这些方法通过使用硬件保护机制,可以有效地保证数据的可信安全。4.通过在BIOS执行之前的Flash芯片中的UEFI可信支撑系统固化代码,而不是在OS层或者由BIOS/OS Loader引导到安全存储设备中的微操作系统实现对BIOS自身的备份/恢复以及MBR/OS Loader/OS Kernel的备份/恢复功能,增强了整个计算机系统的健壮性和人机交互的友好性。


图1是普通UEFI BIOS的系统架构图;图2是普通UEFI BIOS的工作流程图;图3是UEFI可信支撑系统架构图;图4是UEFI可信支撑系统工作流程图;图5是应用UEFI可信支撑系统的可信控制方法流程图;图6是UEFI可信支撑系统可信认证流程图;图7是UEFI可信支撑系统配置管理流程图;图8是UEFI可信支撑系统TPCM驱动模块架构的支持USB接口的TPCM驱动模块架构;图9是UEFI可信支撑系统TPCM驱动模块架构的支持PCI接口的TPCM驱动模块架构;图10是普通PC机的硬件连接架构;图11是可信计算平台的硬件连接架构的UEFI可信支撑系统固件在TPCM硬件内部示意图图12是可信计算平台的硬件连接架构的UEFI可信支撑系统固件在BIOS Flash 芯片内部示意图;图13是可信计算平台的硬件连接架构的UEFI可信支撑系统固件在主板上单独的 Flash芯片中示意图。
具体实施例方式以下结合说明书附图,对本发明的具体实施例加以说明一种UEFI可信支撑系统,其系统架构和工作流程如图3和图4所示。其特征在于 包括UEFI可信支撑系统固件和TPCM硬件。其中,UEFI可信支撑系统固件存放在非易失性存储器(如Flash)上,它与TPCM硬件使用系统总线(如LPC等)相连;TPCM硬件与可信计算平台使用系统总线(如LPC、USB、PCI、PCIE等)相连。UEFI可信支撑系统固件采用模块化设计,遵循UEFI接口规范,包括TPCM驱动模块、可信认证模块、BIOS可信度量验证模块、硬件可信度量验证模块、OS相关软件可信度量验证模块、1/0端口控制模块、BIOS可信备份/恢复模块、BIOS可信更新升级模块、OS相关软件可信备份/恢复模块、安全引导模块和配置管理模块,完成基于TPCM可信功能服务的可信支撑功能。固件各模块的执行顺序是首先依次执行TPCM驱动模块、可信认证模块、 BIOS可信度量验证模块,然后根据BIOS验证结果执行BIOS可信备份/恢复模块后重启,或者继续执行硬件可信度量验证模块、OS相关软件可信度量验证模块,接下来根据OS相关软件度量验证结果和用户的权限及选择执行OS相关软件可信备份/恢复模块和配置管理模块,在配置管理模块根据用户选择执行不同配置分支,其中BIOS可信更新升级功能调用 BIOS可信更新升级模块后进行系统重启,OS相关软件备份/恢复功能调用OS相关软件可信备份/恢复模块进行OS软件的备份/恢复,在退出配置管理模块后,系统执行I/O端口控制模块和安全引导模块,执行BIOS或引导0S,可信支撑系统固件执行完毕。TPCM硬件提供的可信服务功能包括主动度量服务,TPCM管理服务,认证注册服务,PCR管理服务,存储空间管理服务,密钥服务和密码服务等。所述TPCM驱动模块用于对TPCM硬件初始化,提供使用TPCM硬件的TPCM管理,认证注册,PCR管理,存储空间管理,密钥,密码各服务的驱动接口。所述可信认证模块用于使用TPCM硬件的认证注册、密钥服务进行基于IC卡/USB Key等不同方式的用户身份认证功能,并对用户身份进行分级,使得配置管理模块可根据用户级别不同分配不同的配置管理权限和启动策略。所述BIOS可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对平台BIOS的度量验证。所述硬件可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对硬盘/光驱/显卡/网卡/声卡等关键硬件外设特征数据的度量验证。所述OS相关软件可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对MBR/0S Loader/OS Kernel等与OS相关软件的度量验证。所述1/0端口控制模块用于使用TPCM的认证注册服务,根据不同用户的1/0端口配置策略和权限实现对1/0端口打开/关闭的控制。所述BIOS可信备份/恢复模块,用于对平台BIOS度量验证失败时使用TPCM的存储空间管理、密码服务对BIOS的可信恢复;以及用于在配置管理模块对BIOS进行备份。所述BIOS可信更新升级模块用于在配置管理模块使用TPCM的PCR管理、存储空间管理、密码服务对BIOS进行更新升级。所述OS相关软件可信备份/恢复模块用于使用TPCM的存储空间管理、密码服务实现对MBR/0S Loader/OS Kernel等与OS相关软件的可信恢复;以及用于在配置管理模块对 MBR/0S Loader/OS Kernel 进行备份。所述安全引导模块用于实现根据不同级别的用户具有的不同启动权限策略配置不同的启动设备。所述配置管理模块用于实现不同级别的用户对隐藏分区、BIOS预期值、各硬件设备特征数据预期值、OS相关软件数据预期值、BIOS及OS相关软件数据备份、BIOS更新升级的配置管理功能。在UEFI可信支撑系统具体实现时,根据采用的TPCM硬件接口的不同,UEFI可信支撑系统固件中TPCM驱动模块的实现也不相同,图8和图9分别给出了针对USB/PCI两种不同接口的TPCM驱动模块架构。应用以上所述的一种UEFI可信支撑系统进行可信控制的方法,其执行流程如图5 所示,包括如下步骤步骤一、TPCM先上电,并对UEFI可信支撑系统固件进行度量验证;
步骤二、如果UEFI可信支撑系统固件度量验证失败,则执行其恢复,否则继续向下执行;步骤三、通过UEFI可信支撑系统中的TPCM驱动模块为TPCM加载驱动;步骤四、通过UEFI可信支撑系统中的可信认证模块对用户进行身份认证;步骤五、若步骤四中认证不成功次数超过最大错误次数,则宕机;若认证成功,则记录下用户类型; 步骤六、通过UEFI可信支撑系统中的BIOS可信度量验证模块对BIOS进行度量验证;步骤七、如果BIOS度量验证失败,则执行BIOS恢复或继续向下执行;步骤八、通过UEFI可信支撑系统中的硬件可信度量验证模块对硬盘/光驱/网卡 /显卡/声卡等关键硬件设备的特征数据进行度量验证;步骤九、通过UEFI可信支撑系统中的OS相关软件可信度量验证模块对MBR/ 0SLoader/0S Kernel等与OS相关的软件进行度量验证;步骤十、如果MBR/0S Loader/OS Kernel等OS相关的软件度量验证失败,则执行相应数据的恢复或继续向下执行;步骤十一,根据步骤五记录的用户类型执行不同的操作对于特权用户,则根据用户选择进行配置管理或继续执行后续步骤;对于普通用户则直接继续执行后续步骤,普通用户不具备配置管理的权限;步骤十二,通过UEFI可信支撑系统中的1/0端口控制模块,根据用户1/0策略实现对不同硬件外设接口的打开/关闭功能;步骤十三,通过UEFI可信支撑系统中的安全引导模块,根据步骤五所记录的用户权限,对系统进行安全引导设定。步骤十四,UEFI可信支撑系统执行结束,将控制全交给BIOS或OS执行。应用所述一种UEFI可信支撑系统进行可信控制的方法,其特征在于步骤六中所述通过UEFI可信支撑系统中的BIOS可信度量验证模块对BIOS进行度量验证步骤具体分为(1)处理器通过BIOS可信度量验证模块将BIOS内容读入内部存储器中;(2)处理器通过BIOS可信度量验证模块计算得到BIOS度量值,算法选用TPCM中的杂凑算法;(3)处理器读取存放在TPCM中的BIOS预期值;(4)比较步骤(2)计算得到的度量值与步骤(3)读取的预期值,若二者相同,则验证成功;若二者不相同,则验证失败,执行BIOS的恢复流程。应用所述一种UEFI可信支撑系统进行可信控制的方法,其特征在于步骤七中所述BIOS恢复流程包括如下步骤(1)处理器通过BIOS可信备份/恢复模块读取外部存储器隐藏分区或TPCM中的 BIOS备份;(2)处理器通过BIOS可信度量验证模块对BIOS备份进行度量验证;(3)如果( 度量验证成功,则处理器通过BIOS可信备份/恢复模块将备份数据写入BIOS的Flash芯片中。
(4)如果(2)度量验证不成功,则系统报警提示,然后宕机。应用所述一种UEFI可信支撑系统进行可信控制的方法,其特征在于步骤八中所述通过硬件可信度量验证模块对硬盘/光驱/网卡/显卡/声卡等关键硬件设备的特征数据进行度量验证的步骤具体分为(1)处理器通过硬件可信度量验证模块得到所有的关键硬件设备的数目Nh ;(2)处理器通过硬件可信度量验证模块设定已验证的硬件设备的序号nh = 0 ;(3)判断nh和Nh的大小,如果nh < Nh,则执行如下(4) (9)步,否则继续执行系统的其它步骤;(4)处理器通过硬件可信度量验证模块读取第nh个关键硬件设备特征数据内容到内部存储器中;(5)处理器通过硬件可信度量验证模块计算得到第nh个关键硬件设备特征数据度量值,算法选用TPCM中的杂凑算法;(6)处理器读取TPCM中的关键硬件外设特征数据的Nhy个预期值;(7)将步骤( 计算得到的度量值与步骤(6)读取的Nhy个预期值依次进行比较, 若存在与度量值相等的预期值,则验证成功;若不存在相等的预期值,则验证失败;(8)如果步骤(7)验证失败,则根据前述步骤五记录的用户类型执行不同的操作 如果是普通用户,则系统宕机,如果是特权用户则根据用户的选择执行系统宕机或者继续向下执行;(9)系统跳到第(3)步执行。应用所述一种UEFI可信支撑系统进行可信控制的方法,步骤九中所述OS相关软件可信度量验证模块对MBR/OS Loader/OS Kernel等与OS相关的软件进行度量验证的步骤具体分为(1)处理器通过OS相关软件可信度量验证模块读取MBR/OS Loader/OS Kernel数据到内部存储器中;(2)处理器通过OS相关软件可信度量验证模块计算MBR/OS Loader/OS Kernel数据度量值,算法用TPCM中的杂凑算法;(3)处理器读取TPCM中的MBR/OS Loader/OS Kernel数据的预期值;(4)将步骤( 计算得到的度量值与步骤C3)读取的预期值进行比较,若二者相等,则验证成功;若二者不相等,则验证失败;(5)如果步骤(4)验证失败,则根据步骤五记录的用户类型执行不同的操作如果是普通用户,则根据用户选择执行系统恢复/宕机,如果是特权用户则根据用户的选择执行系统恢复/宕机或者继续向下执行。应用所述一种UEFI可信支撑系统进行可信控制的方法,其特征在于步骤十中所述的MBR/OS Loader/OS Kernel恢复流程包括如下步骤(1)处理器通过OS相关软件可信备份/恢复模块读取外部存储器隐藏分区或 TPCM 中 MBR/OS Loader/OS Kernel 备份;(2)处理器通过OS相关软件可信度量验证模块对读取的外部存储器隐藏分区或 TPCM中MBR/OS Loader/OS Kernel备份进行度量验证;(3)如果O)中的度量验证通过,则处理器通过OS相关软件可信备份/恢复模块
15将备份数据写入到相应的MBR/OS Loader/OS Kernel处。(4)如果(2)度量验证不成功,则系统报警提示,然后宕机。应用所述一种UEFI可信支撑系统进行可信控制的方法,其特征在于步骤四中所述的身份认证流程和步骤i^一中所述的BIOS配置管理流程如图6和7所示,包括如下步骤(1)通过可信认证模块提示用户输入用户名和Pin码,并通过TPCM进行基于IC 卡/USB Key的身份认证,认证通过后,获取用户信息,确认用户权限是特权用户还是普通用户,如图6所示;(2)获取所述的对BIOS、硬件设备(显卡、硬盘、光驱、网卡、声卡)的特征数据、 MBR/OS Loader/OS Kernel度量验证得到的各对象度量值;(3)判断用户类型,如果是特权用户则可以根据用户选择进行配置管理,如果是普通用户则提示用户不具备相应的配置管理权限,配置管理结束;(4)判断用户是否选择了配置管理,如果选择了配置管理则进入配置管理页面,提示用户选择不同的配置管理选项a.配置文件管理显示TPCM/高端隐藏分区中保存的配置文件;接收用户的增加、删除和修改等编辑操作;对TPCM/高端隐藏分区中的配置文件更新保存。b.预期值管理显示步骤O)中计算的各对象的度量值和TPCM中保存的各对象的预期值;接收用户保存操作;更新TPCM中的预期值。C.隐藏分区管理在配置界面显示安全硬件设备上隐藏分区的状态;接收用户对于隐藏分区状态的修改;执行打开/关闭隐藏分区。d.备份/恢复管理:显示备份/恢复的各对象,并接收用户对对象的配置;接收用户是进行相应对象备份还是恢复的选择操作;执行将各对象备份到TPCM/安全硬件的隐藏分区或者将TPCM/安全硬件的隐藏分区中的对象拷贝到原位置进行恢复。e. BIOS 更新管理接收用户对于BIOS更新升级的选择操作;重新计算TPCM绑定设备中新的BIOS的度量值,并将TPCM中相应的预期值进行更新;将TPCM绑定设备中新的BIOS刷写到Flash中。步骤十二中所述的1/0端口控制,是根据TPCM模块中的串口 /并口 /USB 口 /网口 /IDE/SATA等外设1/0端口打开/关闭的策略,使能/禁用外设。步骤十三中所述的安全引导,是使系统在特权用户登录情况下可以引导到硬盘/光盘/U盘等不同启动设备,而普通用户只能从硬盘引导系统。 在应用UEFI可信支撑系统的可信计算平台中,根据UEFI可信支撑系统固件存放位置的不同,可信平台硬件架构也有所不同。如图10所示是普通PC机的硬件连接架构示意图,图10给出了可信计算平台的三种硬件连接架构示意图。其中,图11是将UEFI可信支撑系统固件存放在TPCM硬件上的示意图;图12是将BIOS Flash芯片的一部分空闲区域划出来,用以存放UEFI可信支撑系统固件的示意图;图13是将UEFI可信支撑系统固件存放在主板上的单独Flash芯片上的示意图。
权利要求
1. 一种UEFI可信支撑系统,包括UEFI可信支撑系统固件和TPCM可信平台控制模块; 其特征在于所述的UEFI可信支撑系统固件存放在非易失性存储器上,它与TPCM模块使用系统总线相连;TPCM模块与可信计算平台使用系统总线相连;所述的UEFI可信支撑系统固件的TPCM驱动模块与可信认证模块连接,可信认证模块依序与BIOS可信度量验证模块、硬件可信度量验证模块、OS相关软件可信度量验证模块、 配置管理模块、I/O端口控制模块和安全引导模块连接;BIOS可信度量验证模块还与BIOS可信备份/恢复模块连接;OS相关软件可信度量验证模块还与OS相关软件可信备份/恢复模块连接;所述配置管理模块还与OS相关软件可信备份/恢复模块、BIOS可信更新升级模块连接;所述的UEFI可信支撑系统固件各模块的执行顺序是首先依次执行TPCM驱动模块、可信认证模块、BIOS可信度量验证模块,然后根据BIOS验证结果执行BIOS可信备份/恢复模块后重启,或者继续执行硬件可信度量验证模块、OS相关软件可信度量验证模块,接下来根据OS相关软件度量验证结果和用户的权限及选择执行OS相关软件可信备份/恢复模块和配置管理模块,在配置管理模块根据用户选择执行不同配置分支,其中BIOS可信更新升级功能调用BIOS可信更新升级模块后进行系统重启,OS相关软件备份/恢复功能调用OS 相关软件可信备份/恢复模块进行OS软件的备份/恢复,在退出配置管理模块后,系统执行1/0端口控制模块和安全引导模块,执行BIOS或引导0S,可信支撑系统固件执行完毕; 所述TPCM驱动模块用于对TPCM硬件初始化,提供使用TPCM硬件的TPCM管理,认证注册,PCR管理,存储空间管理,密钥,密码各服务的驱动接口 ;所述可信认证模块用于使用TPCM硬件的认证注册、密钥服务进行基于IC卡/USBKey 等不同方式的用户身份认证功能,并对用户身份进行分级,使得配置管理模块可根据用户级别不同分配不同的配置管理权限和启动策略;所述BIOS可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对平台BIOS的度量验证;所述硬件可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对硬盘/光驱/显卡/网卡/声卡等关键硬件外设特征数据的度量验证;所述OS相关软件可信度量验证模块用于使用TPCM的PCR管理、存储空间管理、密码服务实现对MBR/0S Loader/OS Kernel与OS相关软件的度量验证;所述1/0端口控制模块用于使用TPCM的认证注册服务,根据不同用户的1/0端口配置策略和权限实现对1/0端口打开/关闭的控制;所述BIOS可信备份/恢复模块,用于对平台BIOS度量验证失败时使用TPCM的存储空间管理、密码服务对BIOS的可信恢复;以及用于在配置管理模块对BIOS进行备份;所述BIOS可信更新升级模块用于在配置管理模块使用TPCM的PCR管理、存储空间管理、密码服务对BIOS进行更新升级;所述OS相关软件可信备份/恢复模块用于使用TPCM的存储空间管理、密码服务实现对MBR/0S Loader/OS Kernel与OS相关软件的可信恢复;以及用于在配置管理模块对MBR/ OS Loader/OS Kernel 进行备份;所述安全引导模块用于实现根据不同级别的用户具有的不同启动权限策略配置不同的启动设备;所述配置管理模块用于实现不同级别的用户对隐藏分区、BIOS预期值、各硬件设备特征数据预期值、OS相关软件数据预期值、BIOS及OS相关软件数据备份、BIOS更新升级的配置管理。
2.根据权利要求1所述的一种UEFI可信支撑系统,其特征在于所述的系统总线包括LPC、USB、PCI、PCIE。
3.—种UEFI可信支撑系统的可信控制方法,其特征在于包括如下步骤 步骤一、TPCM先上电,并对UEFI可信支撑系统固件进行度量验证;步骤二、如果UEFI可信支撑系统固件度量验证失败,则执行其恢复,否则继续向下执行;步骤三、通过UEFI可信支撑系统中的TPCM驱动模块为TPCM加载驱动; 步骤四、通过UEFI可信支撑系统中的可信认证模块对用户进行身份认证; 步骤五、若步骤四中认证不成功次数超过最大错误次数,则宕机;若认证成功,则记录下用户类型;步骤六、通过UEFI可信支撑系统中的BIOS可信度量验证模块对BIOS进行度量验证; 步骤七、如果BIOS度量验证失败,则执行BIOS恢复或继续向下执行; 步骤八、通过UEFI可信支撑系统中的硬件可信度量验证模块对硬盘/光驱/网卡/显卡/声卡等关键硬件设备的特征数据进行度量验证;步骤九、通过UEFI可信支撑系统中的OS相关软件可信度量验证模块对MBR/0S Loader/OS Kernel与OS相关的软件进行度量验证;步骤十、如果MBR/0S Loader/OS Kernel与OS相关的软件度量验证失败,则执行相应数据的恢复或继续向下执行;步骤十一、根据步骤五记录的用户类型执行不同的操作对于特权用户,则根据用户选择进行配置管理或继续执行后续步骤;对于普通用户则直接继续执行后续步骤,普通用户不具备配置管理的权限;步骤十二、通过UEFI可信支撑系统中的1/0端口控制模块,根据用户1/0策略实现对不同硬件外设接口的打开/关闭功能;步骤十三、通过UEFI可信支撑系统中的安全引导模块,根据步骤五所记录的用户权限,对系统进行安全引导设定;步骤十四、UEFI可信支撑系统执行结束,将控制交给BIOS或OS执行。
4.根据权利要求3所述的一种UEFI可信支撑系统的可信控制方法,其特征在于步骤四中所述的身份认证,通过可信认证模块提示用户输入用户名和Pin码,并通过TPCM进行基于IC卡/USB Key的身份认证,认证通过后,获取用户信息,确认用户权限。
5.根据权利要求3所述的一种UEFI可信支撑系统的可信控制方法,其特征在于步骤七中所述BIOS恢复流程包括如下步骤处理器通过BIOS可信备份/恢复模块读取外部存储器隐藏分区或TPCM中的BIOS备份;处理器通过BIOS可信度量验证模块对BIOS备份进行度量验证;如果度量验证成功,则处理器通过BIOS可信备份/恢复模块将备份数据写入BIOS的Flash芯片中;如果度量验证不成功,则系统报警提示,然后宕机。
6.根据权利要求3所述的一种UEFI可信支撑系统的可信控制方法,其特征在于步骤八中所述通过硬件可信度量验证模块对硬盘/光驱/网卡/显卡/声卡等关键硬件设备的特征数据进行度量验证的步骤具体分为(1)处理器通过硬件可信度量验证模块得到所有的关键硬件设备的数目Nh;(2)处理器通过硬件可信度量验证模块设定已验证的硬件设备的序号nh= 0 ;(3)判断nh和Nh的大小,如果nh< Nh,则执行如下(4) (9)步,否则继续执行系统的其它步骤;(4)处理器通过硬件可信度量验证模块读取第nh个关键硬件设备特征数据内容到内部存储器中;(5)处理器通过硬件可信度量验证模块计算得到第nh个关键硬件设备特征数据度量值,算法选用TPCM中的杂凑算法;(6)处理器读取TPCM中的关键硬件外设特征数据的Nhy个预期值;(7)将步骤( 计算得到的度量值与步骤(6)读取的Nhy个预期值依次进行比较,若存在与度量值相等的预期值,则验证成功;若不存在相等的预期值,则验证失败;(8)如果步骤(7)验证失败,则根据前述步骤五记录的用户类型执行不同的操作如果是普通用户,则系统宕机,如果是特权用户则根据用户的选择执行系统宕机或者继续向下执行;(9)系统跳到第(3)步执行。
7.根据权利要求3所述的一种UEFI可信支撑系统的可信控制方法,其特征在于步骤九中所述OS相关软件可信度量验证模块对MBR/OS Loader/OS Kernel与OS相关的软件进行度量验证的步骤具体分为(1)处理器通过OS相关软件可信度量验证模块读取MBR/OSLoader/OS Kernel数据到内部存储器中;(2)处理器通过OS相关软件可信度量验证模块计算MBR/OSLoader/OS Kernel数据度量值,算法用TPCM中的杂凑算法;(3)处理器读取TPCM中的MBR/OSLoader/OS Kernel数据的预期值;(4)将步骤( 计算得到的度量值与步骤C3)读取的预期值进行比较,若二者相等,则验证成功;若二者不相等,则验证失败;(5)如果步骤(4)验证失败,则根据步骤五记录的用户类型执行不同的操作如果是普通用户,则根据用户选择执行系统恢复/宕机,如果是特权用户则根据用户的选择执行系统恢复/宕机或者继续向下执行。
8.根据权利要求3所述的一种UEFI可信支撑系统的可信控制方法,其特征在于步骤十中所述的MBR/OS Loader/OS Kernel恢复流程包括如下步骤(1)处理器通过OS相关软件可信备份/恢复模块读取外部存储器隐藏分区或TPCM中 MBR/OS Loader/OS Kernel 备份;(2)处理器通过OS相关软件可信度量验证模块对读取的外部存储器隐藏分区或TPCM 中MBR/OS Loader/OS Kernel备份进行度量验证;(3)如果O)中的度量验证通过,则处理器通过OS相关软件可信备份/恢复模块将备份数据写入到相应的MBR/OS Loader/OS Kernel处;(4)如果(2)度量验证不成功,则系统报警提示,然后宕机。
全文摘要
一种UEFI可信支撑系统及其控制方法,该系统包括UEFI可信支撑系统固件和TPCM模块。其中,支撑系统固件存放在非易失性存储器上,它与TPCM使用系统总线相连;TPCM与可信计算平台使用系统总线相连。该控制方法首先为TPCM加载驱动,然后依次对用户进行身份认证,对BIOS、硬件特征数据、MBR/OS Loader/OS Kernel进行度量验证,根据用户I/O策略对不同硬件外设接口进行控制,通过安全引导模块对系统进行安全引导设定,最后将控制权交给BIOS或OS执行。此系统及方法在固件层实现可信计算、TPCM配置管理、BIOS/MBR/OS Loader/OS Kernel的备份/恢复、关键数据的物理保护,可同时适用于开放源码的Linux系统和不开放源码的Windows系统,使得BIOS固件和OS软件之间的信任链不出现断层,增强了计算机的安全性及人机交互的友好性。
文档编号G06F21/00GK102279914SQ20111019586
公开日2011年12月14日 申请日期2011年7月13日 优先权日2011年7月13日
发明者傅子奇, 刘毅, 张超, 沈昌祥, 蔡谊, 赵丽娜, 郑志蓉, 金刚, 陈小春, 黄强 申请人:中国人民解放军海军计算技术研究所, 中电科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1