发明内容
本发明实施例的目的在于提供一种计算机系统的度量方法,旨在解决现有的计算机系统安全性低的问题。
本发明实施例是这样实现的,一种计算机系统的度量方法,所述方法包括下述步骤:
在基本输入输出系统BIOS启动后,在操作系统启动前,调用可信安全芯片对BIOS进行可信度量,在可信度量通过后,将信任链传递至虚拟机监视器;
调用可信安全芯片对虚拟机监视器进行可信度量,在可信度量通过后,将信任链传递至操作系统;
虚拟机监视器之上的操作系统通过其内置的前端驱动与内置于虚拟机监视器中的后端驱动之间的通信,调用可信安全芯片对虚拟机监视器之上的操作系统进行可信度量,在可信度量通过时,将信任链传递至运行在所述操作系统之上的应用程序;
通过内置于操作系统中的前端驱动与内置于虚拟机监视器中的后端驱动之间的通信,调用可信安全芯片对运行在操作系统之上的应用程序进行可信度量,在可信度量通过时,建立计算机系统的可信计算信任链。
本发明实施例的另一目的在于提供一种计算机系统,包括可信计算平台、基于可信计算平台的虚拟机监控器、基于虚拟机监控器的操作系统以及运行于操作系统上的应用程序,所述可信计算平台包括安全主板,所述安全主板包括基本输入输出系统和主板平台,所述可信计算平台还包括可信安全芯片和安全支持软件;
所述可信安全芯片对BIOS、虚拟机监视器、操作系统以及应用程序进行可信度量;
所述安全支持软件在BIOS可信度量通过后,将信任链传递至所述虚拟机监视器;
所述虚拟机监视器包括物理驱动、可信度量单元和后端驱动;
所述物理驱动是可信安全芯片的物理驱动,用于驱动并调用所述可信安全芯片;
所述可信度量单元通过所述物理驱动调用可信安全芯片对虚拟机监视器进行可信度量,并在可信度量通过时,将信任链传递至操作系统;
所述操作系统包括前端驱动和可信度量与报告单元;
所述前端驱动是可信安全芯片的前端驱动,用于与所述后端驱动进行通信,驱动并调用所述可信安全芯片;
所述可信度量与报告单元通过所述前端驱动与后端驱动之间的通信,调用所述可信安全芯片对操作系统进行可信度量,并在可信度量通过时,将信任链传递至应用程序;
所述应用程序通过所述前端驱动与所述后端驱动之间的通信,调用所述可信安全芯片对应用程序进行可信度量,并在可信度量通过时,建立计算机系统的可信计算信任链。
在本发明实施例中,在启动BIOS之后,在启动操作系统之前,采用可信安全芯片依次对BIOS、虚拟机监视器、操作系统以及运行于操作系统之上的应用程序进行可信度量,建立计算机系统的可信计算信任链,由于虚拟机监视器的安全性极大程度上影响了计算机系统的安全性,因此,通过对虚拟机监视器进行可信度量,并建立计算机系统的可信计算信任链,从而极大的提高了计算机系统安全性。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,在BIOS启动后,在操作系统启动前,调用可信安全芯片对BIOS、虚拟机监视器进行可信度量,在虚拟机监视器通过可信度量后,通过操作系统通过其内置的前端驱动与内置于虚拟机监视器中的后端驱动之间的通信,调用可信安全芯片对操作系统以及运行于操作系统中的应用软件进行可信度量,建立计算机系统的可信计算信任链,以提高计算机系统的安全性。
图1示出了本发明实施例提供的计算机系统的度量方法的实现流程,详述如下:
在步骤S101中,在BIOS启动后,在操作系统启动前,调用可信安全芯片对BIOS进行可信度量,在可信度量通过后,将信任链传递至虚拟机监视器,并执行步骤S102,否则,执行步骤S105。
其中可信安全芯片包括可信平台模块(Trusted Platform Module,TPM)、可信密码模块(Trusted Cryptography Module,TCM)或者可信平台控制模块(Trusted Platform Control Module,TPCM)。
在本发明实施例中,该可信安全芯片是计算机系统的唯一可信根,是计算机系统中可信计算信任链的源点,其包括可信度量根(Root of Trust forMeasurement,RTM)、可信存储根(Root of Trust for Storage,RTS)、可信报告根(Root of Trust for Reporting,RTR)。其中RTM是一个能够可靠进行完整性度量的计算引擎,是可信安全芯片的基本组成单元,也是度量计算系统的起始点。RTS是一个能够可靠进行安全存储的计算引擎,是可信安全芯片的基本组成单元。RTR是一个能够可靠报告RTS所保存信息的计算引擎,是可信安全芯片的基本组成单元。
其中调用可信安全芯片对BIOS进行度量是调用可信安全芯片对BIOSBOOT Block和Main Block进行度量,其中度量的具体步骤属于现有技术,在此简述不再赘述。
在步骤S102中,调用可信安全芯片对虚拟机监视器进行可信度量,在可信度量通过后,将信任链传递至操作系统后,执行步骤S103,否则,执行步骤S105。
其中调用可信安全芯片对虚拟机监视器进行可信度量的具体步骤如下:
启动虚拟机监视器,虚拟机监视器启动内置于虚拟机监视器中的可信安全芯片的物理驱动;
可信安全芯片的物理驱动调用可信安全芯片对虚拟机监视器的代码进行可信度量,在可信度量通过后,虚拟机监视器启动其包括的所有模块,并将信任链传递至操作系统。
其中可信安全芯片的物理驱动调用可信安全芯片对虚拟机监视器的代码进行可信度量的具体步骤如下:
通过可信安全芯片的物理驱动将虚拟机监视器的代码或者关键信息传送至可信安全芯片;
可信安全芯片采用预设的加密算法对虚拟机监视器的代码或者关键信息进行加密处理,得到度量值;其中预设的加密算法可以为哈希算法等。
将计算得到度量值与预先存储的该虚拟机监视器的标准度量值进行比较,判断虚拟机监视器的代码或者关键信息是否完整,如果是,即可判定虚拟机监视器的可信度量通过,否则判定虚拟机监视器的可信度量未通过。
在步骤S103中,虚拟机监视器之上的操作系统通过其内置的前端驱动与内置于虚拟机监视器中的后端驱动之间的通信,调用可信安全芯片对虚拟机监视器之上的操作系统进行可信度量,在可信度量通过时,将信任链传递至运行在该操作系统之上的应用程序,并执行步骤S104,否则,执行步骤S105。
其中操作系统中的前端驱动是可信安全芯片的前端驱动,内置于虚拟机监视器中的后端驱动是可信安全芯片的后端驱动。通过操作系统中的前端驱动与内置于虚拟机监视器中的后端驱动之间的通信,操作系统即可调用可信安全芯片对其进行可信度量。
在本发明实施例中,由于操作系统与硬件平台是隔离的,操作系统需要通过虚拟机监视器才能与底层的硬件,如可信安全芯片进行交互和通信,因此,在本发明实施例中,为了调用可信安全芯片对虚拟机监视器之上的操作系统进行可信度量,需要将可信安全芯片的后端驱动内置于虚拟机监视器中,将可信安全芯片的前端驱动内置于操作系统中,这样,操作系统即可通过内置于其中的可信安全芯片的前端驱动与内置于虚拟机监视器中的可信安全芯片的后端驱动进行通信,以调用可信安全芯片对其进行度量。其中内置于操作系统中的可信安全芯片的前端驱动与内置于虚拟机监视器中的可信安全芯片的后端驱动之间的通信方式遵循现有技术提供的分离设备驱动模型。
如果虚拟机监视器中未内置可信安全芯片的后端驱动,则无法从虚拟机监视器之上的操作系统读取数据,也就无法虚拟机监视器之上的操作系统的代码或者关键信息传送至可信安全芯片,也就无法调用可信安全芯片对操作系统进行可信度量。本发明实施例为了解决该问题,通过在虚拟机监视器中内置可信安全芯片的后端驱动,在操作系统中内置可信安全芯片的前端驱动,从而使操作系统可以通过其内置的可信安全芯片的前端驱动与内置于虚拟机监视器中的可信安全芯片的后端驱动进行通信,来调用可信安全芯片对虚拟机监视器之上的可信安全芯片进行可信度量。这样。避免了需要另外提供特殊的软件或者硬件实现操作系统与可信安全芯片之间的通信,不仅节省了资源、简化了计算机系统,而且提高了安全性。
其中虚拟机监视器之上的操作系统通过其前端驱动与内置于虚拟机监视器中的后端驱动之间的通信调用可信安全芯片对操作系统进行可信度量的具体过程如下:
通过操作系统中的可信安全芯片的前端驱动与内置于虚拟机监视器中的可信安全芯片的后端驱动之间的通信,将虚拟机监视器之上的操作系统的代码或者关键信息(如操作系统的启动文件OS Loader)传送至可信安全芯片;
可信安全芯片采用预设的加密算法对操作系统的代码或者关键信息进行加密处理,得到度量值;其中加密算法可以是哈希算法等。
将该度量值与预先存储的操作系统的标准度量值进行比较,判断操作系统的代码或者关键信息是否完整,如果是,即可判定操作系统的可信度量通过,否则判定操作系统的可信度量未通过。
在步骤S104中,通过内置于操作系统中的前端驱动与内置于虚拟机监视器中的后端驱动之间的通信,调用可信安全芯片对运行在操作系统之上的应用程序进行可信度量,在可信度量通过时,建立计算机系统的可信计算信任链,并结束对计算机系统的可信度量过程,否则,执行步骤S105。
在本发明实施例中,在调用可信安全芯片对应用程序进行可信度量时,通过该操作系统中内置的可信安全芯片的前端驱动与内置于虚拟机监视器中的可信安全芯片的后端驱动进行通信,来调用可信安全芯片对运行于操作系统之上的应用程序进行可信度量。其中调用可信安全芯片对运行在操作系统之上的应用软件进行度量的具体步骤属于现有技术,在此不再赘述。
在步骤S105中,根据可信度量不通过的原因输出对应的处理策略信息并将度量报告存储至可信安全芯片中。其步骤具体如下:
判断被度量的代码是否被篡改,如果不是,则继续执行计算机启动流程,启动计算机系统;如果是,进一步判断被度量的代码是否被非法篡改,如果是非法篡改,则进入修复流程,修复流程会把非法篡改的代码重新修复,然后重新启动计算机并重新对计算机系统进行度量。如果是合法篡改,则不需要进行修复,重新载入标准度量值。
在本发明实施例中,在BIOS启动以后,在操作系统启动以前,调用可信安全芯片依次对BIOS、虚拟机监视器、操作系统以及运行于操作系统中的应用软件进行可信度量,从而可以建立计算机系统的可信计算信任链,从而极大的提高计算机系统的安全性。
请参阅图2,为本发明实施例提供的信任链传递示例图。在该计算机系统的度量方法中,可信安全芯片是唯一的可信根,是建立可信计算信任链的源点。
在BIOS启动后,在操作系统启动前,可信安全芯片中的可信度量根先将信任链传递至BIOS,BIOS调用可信安全芯片对BIOS Block进行可信度量,并在可信度量通过后,将信任链传递至虚拟机监视器;
虚拟机监视器通过内置于其中的可信安全芯片的物理驱动调用可信安全芯片,对VMM code进行可信度量,并在可信度量通过后,将信任链传递至操作系统;
操作系统通过内置于其中的可信安全芯片的前端驱动与内置于虚拟机监视器中的可信安全芯片的后端驱动进行通信,调用可信安全芯片对操作系统进行可信度量,并在可信度量通过后,将信任链传递至运行在操作系统之上的应用软件;
应用软件调用可信安全芯片对其进行可信度量,并在可信度量通过后,建立以可信安全芯片为源点的可信计算信任链,从而极大地提高了计算机系统的安全性。
图3示出了本发明实施例提供的计算机系统的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。
该计算机系统包括可信计算平台1、基于可信计算平台1的虚拟机监视器2以及基于虚拟机监视器2的操作系统3。其中可信计算平台1包括可信安全芯片11、安全主板12和安全支持软件13。其中:
可信安全芯片11用于对BIOS、虚拟机监视器、操作系统以及应用程序进行可信度量。该可信安全芯片11包括TPM、TCM或者TPCM。
安全主板12包括主板平台以及基于该主板平台的BIOS。在启动BIOS之后,在启动操作系统之前,BIOS调用可信安全芯片11对其进行可信度量。
安全支持软件13在BIOS可信度量通过后,将信任链传递至虚拟机监视器2,并在BIOS可信度量未通过时,输出对应的处理策略并将度量报告存储至可信安全芯片11中。
虚拟机监视器2包括物理驱动21、可信度量单元22和后端驱动23。其中:
物理驱动21是可信安全芯片的物理驱动,用于驱动并调用可信安全芯片11。
可信度量单元22通过物理驱动21调用可信安全芯片11对虚拟机监视器2进行可信度量,并在可信度量通过时,将信任链传递至操作系统3,在可信度量未通过时,输出对应的处理策略并将度量报告存储至可信安全芯片11中。
在本发明实施例中,当可信度量单元22对虚拟机监视器2进行的可信度量通过时,虚拟机监视器2启动其包括的其他模块,使该虚拟机监视器2处于可使用状态。
在本发明另一实施例中,该虚拟机监视器还包括虚拟机防火墙、多网隔离、多域隔离中的一个或者多个模块。
后端驱动23是可信安全芯片的后端驱动,其用于与可信安全芯片的前端驱动进行通信,驱动并调用可信安全芯片11。
操作系统3包括前端驱动31、可信度量与报告单元32。其中:
前端驱动31是可信安全芯片的前端驱动,该前端驱动31通过与虚拟机监视器中的后端驱动23之间的通信,实现对可信安全芯片11的驱动与调用。
可信度量与报告单元32通过前端驱动31与虚拟机监视器2中的后端驱动23之间的通信,调用可信安全芯片11对操作系统3进行可信度量,并在度量通过时,将信任链传递至应用程序4,在度量未通过时,输出对应的处理策略并将度量报告存储至可信安全芯片11中。
在本发明另一实施例中,该操作系统还包括平台身份管理单元33。该平台身份管理单元33对使用该计算机系统的用户身份进行管理和控制。其具体的管理和控制步骤属于现有技术,在此不再赘述。
其中操作系统包括可信安全操作系统和/或普通操作系统。
在本发明另一实施例中,该计算机系统还包括运行于操作系统系统3上的一个或者多个应用程序4,该应用程序4通过操作系统3中的前端驱动31与虚拟机监视器2中的后端驱动23之间的通信,调用可信安全芯片11对应用程序4进行可信度量,并在可信度量通过时,建立计算机系统的可信计算信任链,在度量未通过时,输出对应的处理策略并将度量报告存储至可信安全芯片11中。
其中输出对应的处理策略的步骤具体如下:
判断被度量的代码是否被篡改,如果不是,则继续执行计算机启动流程,启动计算机系统;如果是,进一步判断被度量的代码是否被非法篡改,如果是非法篡改,则进入修复流程,修复流程会把非法篡改的代码重新修复,然后重新启动计算机并重新对计算机系统进行度量。如果是合法篡改,则不需要进行修复,重新载入标准度量值。
在本发明实施例中,在启动BIOS之后,在启动操作系统之前,采用可信安全芯片依次对BIOS、虚拟机监视器、操作系统以及运行于操作系统之上的应用程序进行可信度量,建立计算机系统的可信计算信任链,由于虚拟机监视器的安全性极大程度上影响了计算机系统的安全性,因此,通过对虚拟机监视器进行可信度量,并建立计算机系统的可信计算信任链,从而极大的提高了计算机系统安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。