操作系统的完整性验证方法

文档序号:6370372阅读:1369来源:国知局
专利名称:操作系统的完整性验证方法
技术领域
本发明涉及计算机技术领域,特别涉及一种操作系统的完整性验证方法。
背景技术
随着互联网及计算机技术的快速发展,信息安全越来越受到人们的关注,特别是作为信息安全的基础,操作系统的安全显得更加重要。如果操作系统本身受到攻击和破坏,则整个信息系统的安全性会出现不可预计的后果。因此,在操作系统启动和执行之前,验证其完整性,可以保证执行未经修改的操作系统,具有重要的意义。现有技术通常采用外置的检验装置或执行设备对操作系统的完整性进行验证。现有技术存在的问题是,需要依靠硬件资源例如外置的检测装置或执行设备,成本高,并且外置的检测装置或执行设备本身也会带来一些安全隐患。

发明内容
本发明的目的旨在至少解决上述技术缺陷之一。为达到上述目的,本发明提出一种操作系统的完整性验证方法,包括以下步骤SI :所述操作系统的预启动程序加载eKey驱动和硬盘驱动;S2 :所述预启动程序调用所述硬盘驱动,并读取所述硬盘的主引导记录MBR ;S3 :所述预启动程序调用所述eKey驱动;
S4:所述eKey驱动根据所述MBR和预设的校验值判断所述MBR是否完整;S5 :如果所述MBR不完整,提示错误信息并终止所述预启动程序;S6 :如果所述MBR完整,执行MBR代码;S7 在所述MBR代码的执行过程中判断所述操作系统是否完整;S8 :如果所述操作系统不完整,提示错误信息并终止所述预启动程序;以及S9 :如果所述操作系统完整,启动所述操作系统。在本发明的一个实施例中,所述步骤S4进一步包括S41 :获取所述MBR的起始地址和长度;S42 :根据所述MBR的起始地址和长度计算校验值;S43 :判断所述校验值与所述预设的校验值是否一致;S44 :如果所述校验值与所述预设的校验值不一致,则所述MBR不完整;以及S45 :如果所述校验值与所述预设的校验值一致,则所述MBR完整。在本发明的一个实施例中,所述预启动程序调用所述硬盘驱动读取的所述MBR包括所述操作系统引导代码、所述操作系统在所述硬盘中的存放地址和所述操作系统的大小。在本发明的一个实施例中,所述eKey驱动存储于所述预启动程序中。在本发明的一个实施例中,所述硬盘驱动存储于所述预启动程序中。根据本发明实施例的操作系统的完整性验证方法,通过增加的eKey驱动可以根据MBR和预设的校验值判断MBR是否完整,并且在MBR完整的情况下执行MBR代码以验证操作系统的完整性,保证操作系统的安全性,操作系统完整性验证的可靠性高。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中图I为本发明一个实施例的操作系统的完整性验证方法的流程图;以及图2为本发明另一个实施例的操作系统的完整性验证方法的流程图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。图I为本发明一个实施例的操作系统的完整性验证方法的流程图。 如图I所示,根据本发明实施例的操作系统的完整性验证方法,包括下述步骤。步骤S101,操作系统的预启动程序加载eKey驱动和硬盘驱动。在本发明的一个实施例中,eKey驱动存储于预启动程序中。将eKey驱动存储于预启动程序中可以有效提闻效率。在本发明的一个实施例中,硬盘驱动存储于预启动程序中。将硬盘驱动存储于预启动程序中可以有效提闻效率。具体地,操作系统的预启动程序可以采用UEFI (Unified Extensible FirmwareInterface,统一的可扩展固定接口)、BI0S (Basic Input Output System,基本输入输出系统)等技术实现。在操作系统启动前,首先启动预启动程序,然后预启动程序加载存储于其中的eKey驱动和硬盘驱动。步骤S102,预启动程序调用硬盘驱动,并读取硬盘的主引导记录MBR (MasterBootRecord,硬盘的主引导记录)。其中,预启动程序在加载eKey驱动和硬盘驱动之后,调用硬盘驱动以读取MBR数据。在本发明的一个实施例中,预启动程序调用硬盘驱动读取的MBR包括操作系统引导代码、操作系统在硬盘中的存放地址和操作系统的大小。步骤S103,预启动程序调用eKey驱动。步骤S104,eKey驱动根据MBR和预设的校验值判断MBR是否完整。具体地,在eKey驱动中设置计算方法,将MBR数据按照设置的计算方法进行计算获取校验值,如果计算获得的校验值与预设的校验值相同,则MBR是完整的,否则MBR是不完整的。如果MBR不完整,则执行步骤S108。步骤S105,如果MBR完整,执行MBR代码。步骤S106,在MBR代码的执行过程中判断操作系统是否完整。步骤S107,如果操作系统完整,启动操作系统。步骤S108,如果操作系统不完整,提示错误信息并终止预启动程序。根据本发明实施例的操作系统的完整性验证方法,通过增加的eKey驱动可以根据MBR和预设的校验值判断MBR是否完整,并且在MBR完整的情况下执行MBR代码以验证操作系统的完整性,保证操作系统的安全性,操作系统完整性验证的可靠性高。图2为本发明另一个实施例的操作系统的完整性验证方法的流程图。如图2所示,根据本发明实施例的操作系统的完整性验证方法,包括下述步骤。步骤S201,操作系统的预启动程序加载eKey驱动和硬盘驱动。在本发明的一个实施例中,eKey驱动存储于预启动程序中。将eKey驱动存储于预启动程序中可以有效提闻效率。在本发明的一个实施例中,硬盘驱动存储于预启动程序中。将硬盘驱动存储于预启动程序中可以有效提闻效率。具体地,操作系统的预启动程序可以采用UEFI (Unified Extensible Firmware Interface,统一的可扩展固定接口)、BI0S (Basic Input Output System,基本输入输出系统)等技术实现。在操作系统启动前,首先启动预启动程序,然后预启动程序加载存储于其中的eKey驱动和硬盘驱动。步骤S202,预启动程序调用硬盘驱动,并读取硬盘的主引导记录MBR(Master BootRecord,硬盘的主引导记录)。其中,预启动程序在加载eKey驱动和硬盘驱动之后,调用硬盘驱动以读取MBR数据。在本发明的一个实施例中,预启动程序调用硬盘驱动读取的MBR包括操作系统引导代码、操作系统在硬盘中的存放地址和操作系统的大小。步骤S203,预启动程序调用eKey驱动。步骤S204,获取MBR的起始地址和长度。具体地,MBR的起始地址和长度可以为512字节的数值。步骤S205,根据MBR的起始地址和长度计算校验值。具体地,可以将MBR的起始地址和长度的512字节的数值按位相加,得到一个数值即为校验值。也可以采用其他的校验算法,例如MD5等。步骤S206,判断校验值与预设的校验值是否一致。如果校验值与预设的校验值不一致,则MBR不完整,则执行步骤S210。步骤S207,如果校验值与预设的校验值一致,则MBR完整,执行MBR代码。步骤S208,在MBR代码的执行过程中判断操作系统是否完整。步骤S209,如果操作系统完整,启动操作系统。步骤S210,如果操作系统不完整,提示错误信息并终止预启动程序。根据本发明实施例的操作系统的完整性验证方法,通过增加的eKey驱动根据MBR的起始地址和长度计算校验值,并和预设的校验值判断MBR是否完整,并且在MBR完整的情况下执行MBR代码以验证操作系统的完整性,保证操作系统的安全性,操作系统完整性验证的可靠性高,并且采用MBR的起始地址和长度计算校验值简单易行。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
1.一种操作系统的完整性验证方法,其特征在于,包括以下步骤 51:所述操作系统的预启动程序加载eKey驱动和硬盘驱动; 52:所述预启动程序调用所述硬盘驱动,并读取所述硬盘的主引导记录MBR ; 53:所述预启动程序调用所述eKey驱动; 54:所述eKey驱动根据所述MBR和预设的校验值判断所述MBR是否完整; 55:如果所述MBR不完整,提示错误信息并终止所述预启动程序; 56:如果所述MBR完整,执行MBR代码; 57:在所述MBR代码的执行过程中判断所述操作系统是否完整; 58:如果所述操作系统完整,启动所述操作系统;以及 59:如果所述操作系统不完整,提示错误信息并终止所述预启动程序。
2.根据权利要求I所述的操作系统的完整性验证方法,其特征在于,所述步骤S4进一步包括 541:获取所述MBR的起始地址和长度; 542:根据所述MBR的起始地址和长度计算校验值; 543:判断所述校验值与所述预设的校验值是否一致; 544:如果所述校验值与所述预设的校验值不一致,则所述MBR不完整;以及 545:如果所述校验值与所述预设的校验值一致,则所述MBR完整。
3.根据权利要求I所述的操作系统的完整性验证方法,其特征在于,所述预启动程序调用所述硬盘驱动读取的所述MBR包括所述操作系统引导代码、所述操作系统在所述硬盘中的存放地址和所述操作系统的大小。
4.根据权利要求I所述的操作系统的完整性验证方法,其特征在于,所述eKey驱动存储于所述预启动程序中。
5.根据权利要求I所述的操作系统的完整性验证方法,其特征在于,所述硬盘驱动存储于所述预启动程序中。
全文摘要
本发明提出一种操作系统的完整性验证方法,包括以下步骤操作系统的预启动程序加载eKey驱动和硬盘驱动;预启动程序调用硬盘驱动,并读取硬盘的主引导记录MBR;预启动程序调用eKey驱动;eKey驱动根据MBR和预设的校验值判断MBR是否完整;如果MBR不完整,提示错误信息并终止预启动程序;如果MBR完整,执行MBR代码;在MBR代码的执行过程中判断操作系统是否完整;如果操作系统完整,启动操作系统;以及如果操作系统不完整,提示错误信息并终止预启动程序。根据本发明实施例的方法,通过eKey驱动判断MBR是否完整,在MBR完整的情况下再执行MBR代码以验证操作系统的完整性,可靠性高。
文档编号G06F21/00GK102722669SQ201210169968
公开日2012年10月10日 申请日期2012年5月28日 优先权日2012年5月28日
发明者廖学良, 胡事民 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1