一种虚拟化平台服务器的可信启动方法及系统的制作方法
【技术领域】
[0001]本申请涉及网络技术领域,尤其涉及一种虚拟化平台服务器可信启动的方法及系统。
【背景技术】
[0002]TCM可信密码模块的英文全称为“Trusted Cryptography Module”,TCM是可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。
[0003]可信计算平台(trusted computing platform)概念由国家密码管理局提出,其是构建在计算系统中,用于实现可信计算功能的支撑系统。
[0004]可信计算密码支撑平台是可信计算平台的重要组成部分,包括密码算法、密钥管理、证书管理、密码协议、密码服务等内容,为可信计算平台自身的完整性、身份可信性和数据安全性提供密码支持。其产品形态主要表现为可信密码模块和可信密码服务模块。
[0005]SysLinux是一种BootLoader,运行在MS-DOS/Windows FAT文件系统之上,用于加载Linux操作系统;ExtLinux是SysLinux的一个组件,可以运行在Ext3/Ext4文件系统之上。
[0006]目前市场上可信启动方法大多为基于grub的可信启动,暂时没有基于Extlinux的可信启动方案。
【发明内容】
[0007]本发明实施例提供了一种虚拟化平台服务器的可信启动方法及系统,用以解决现有技术中暂时没有基于Extlinux的可信启动方案的问题。
[0008]其具体的技术方案如下:
[0009 ] 一种虚拟化平台服务器可信启动方法,所述方法包括:
[0010]通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链;
[0011]通过TCM校验虚拟化平台服务器核心库文件以及相关库文件,并生成校验结果;
[0012]在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。
[0013]可选的,在通过TCM对启动认证服务器操作系统的各个阶段进行校验之前,还包括:
[0014]构建可信链的基准值以及各阶段文件的基准值,并将所述基准值导入到TCM内部;
[0015]将TCM内部的可信链的基准值以及各阶段文件的基准值导入到所述核心库文件中。
[0016]可选的,通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,包括:
[0017]步骤1:校验B1S设置是否与初始化过程中设置的初始值相同,若相同,则进入步骤2;若不相同,则进入步骤8;
[0018]步骤2:通过B1S嵌入代码校验主引导记录MBR是否和初始化中设置的初始值相同,若相同,则进入步骤3;若不相同,则进入步骤8;
[0019]步骤3:引导扇区代码查找被标记为活动分区的分区,并标记为boot分区,通过引导扇区嵌入代码校验boot分区的分区引导记录VBR,则进入步骤4;若不相同,则进入步骤8;
[0020]步骤4:加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同,若相同,则进入步骤5,若不相同,则进入步骤8;
[0021 ]步骤5:解析配置文件,并获取所述配置文件中的第一文件标签以及第二文件标签,校验第一指定标签所指定的第一文件是否与初始化过程中设置的初始值相同,若不相同,则进入步骤8;若相同,则加载所述第一文件,并将第二文件标签指定的内容作为指定模块的参数,并执行步骤6;
[0022]步骤6:获取步骤5中生成的参数,校验所述参数指示的各个模块,若各个模块校验通过,则进入步骤7,若校验未通过,则进入步骤8;
[0023]步骤7:加载内核以及核心库文件;
[0024]步骤8:停止启动认证服务器。
[0025]可选的,引导扇区代码查找被标记为活动分区的分区,并标记为boot分区,通过引导扇区嵌入代码校验boot分区的分区引导记录VBR,包括:
[0026]校验VBR中的第一内置文件的前512个字节,并判定前512个字节与初始化过程中设置的初始值是否相同,若相同,则通过前512个字节中的嵌入代码校验所述第一内置文件的剩余文件内容是否与初始值相同,若相同,则检验第二内置文件是否与初始值相同,若校验通过,则进入步骤4。
[0027]可选的,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动,包括:
[0028]通过PXE将虚拟化平台服务器启动需要的核心组件放置在指定目录下;
[0029]TCM依次校验所述指定目录下的所有文件,若所有文件校验通过,则启动虚拟化平台服务器的PXE服务。
[0030 ] 一种虚拟化平台服务器可信启动的系统,包括:
[0031]可信密码模块,用于对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链;校验虚拟化平台服务器核心库文件以及相关库文件,并生成校验结果;
[0032]处理模块,用于在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。
[0033]可选的,所述可信密码模块,构建可信链的基准值以及各阶段文件的基准值,并将所述基准值导入到TCM内部;将TCM内部的可信链的基准值以及各阶段文件的基准值导入到所述核;L.、库文件中。
[0034]可选的,所述可信密码模块,具体用于校验B1S设置是否与初始化过程中设置的初始值相同,若相同,通过B1S嵌入代码校验主引导记录MBR是否和初始化中设置的初始值相同,若相同,引导扇区代码查找被标记为活动分区的分区,并标记为boot分区,通过引导扇区嵌入代码校验boot分区的分区引导记录VBR,加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同,若相同,解析配置文件,并获取所述配置文件中的第一文件标签以及第二文件标签,校验第一指定标签所指定的第一文件是否与初始化过程中设置的初始值相同,若相同,则加载所述第一文件,并将第二文件标签指定的内容作为指定模块的参数,获取生成的参数,校验所述参数指示的各个模块,若各个模块校验通过,加载内核以及核心库文件。
[0035]可选的,所述可信密码模块,具体用于校验VBR中的第一内置文件的前512个字节,并判定前512个字节与初始化过程中设置的初始值是否相同,若相同,则通过前512个字节中的嵌入代码校验所述第一内置文件的剩余文件内容是否与初始值相同,若相同,则检验第二内置文件是否与初始值相同,若校验通过,加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同。
[0036]可选的,所述处理模块,具体用于通过PXE将虚拟化平台服务器启动需要的核心组件放置在指定目录下;可信密码模块依次校验所述指定目录下的所有文件,若所有文件校验通过,则启动虚拟化平台服务器的PXE服务。
[0037]本发明提供了一种虚拟化平台服务器可信启动方法,该方法包括:通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链;通过TCM校验虚拟化平台服务器核心库文件以及相关库文件,并生成校验结果;在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。通过上述的方法可以实现基于Extlinux的可信启动方案。
【附图说明】
[0038]图1为本发明实施例中一种虚拟化平台服务器的可信启动方法的流程图;
[0039]图2为本发明实施例中虚拟化平台服务器与认证服务器之间的交互示意图;
[0040]图3为本发明实施例中校验的流程示意图;
[0041]图4为本发明实施例中一种虚拟化平台服务器的可信启动系统的结构示意图。
【具体实施方式】
[0042]本发明实施例中提供了一种虚拟化平台服务器可信启动方法,该方法包括:通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链;通过TCM校验虚拟化平台服务器核心库文件以及相关库文件,并生成校验结果;在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。通过上述的方法可以实现基于Extlinux的
可信启动方案。
[0043]下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。
[0044]如图1所示为本发明实施例中一种虚拟化平台服务器可信启动方法的流程图,该方法包括:
[0045]S101,通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链;
[0046]S102,通过TCM校验虚拟化平台服务器核心库文件以及相关库文件,并生成校验结果;
[0047]S103,在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。
[0048]进一步,在本发明实施例中,在执行步骤101之前,首先需要对TCM进行初始,具体来讲,首先构建可信链的基准值以及各阶段文件的基准值,并将所述基准值以及各阶段文件的基准值导入到TCM内部;将TCM内部的可信链的基准值导入到所述核心库文件中。该过程如下:
[0049]1、建立可信链build_trustchain,建立可信链的具体方式如下:
[0050]build_trustchain命令主要用于生成可信度量基准,以便在可信引导中进行比对。首先判断TCM是否初始化,如果TCM未初始化,则用户两次输入密码并将此作为以后访问TCM的密码;如果TCM已经初始化,则需输入密码进行验证;接下来会自动计算需要检测文件的结果,并保存到tcm.bin中,接着询问是否将结果保存到TCM中,并对每个启动项进行确认,用户可以有选择的导入。
[0051 ] 2、通过可信链导入导出模块transfer_trustchain判断是需要将外部可信链数据导入TCM芯片,还是从TCM芯片导出可信链数据;
[0052]3、重置可信链模块reSet_truStchain,即:清空TCM芯片内和可信链相关的NV存储。
[0053]在对TCM进行初始化之后,通过通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链。
[0054]具体如图2所示,在图2中认证服务器首先通过TCM芯片来对B10S、ExtLinux、操作系统内核、核心库文件、虚拟化平台服务器组建进行校验,并在校验通过之后,指示虚拟化平台服务器可信启动。
[0055]进一步,在本发明实施例中,所执行的具体校验过程如下:
[0056]步骤1:校验B1S设置是否与初始化过程中设置的初始值相同,若相同,则进入步骤2;若不相同,则进入步骤8;
[0057]步骤2:通过B1S嵌入代码校验主引导记录MBR是否和初始化中设置的初始值相同,若相同,则进入步骤3;若不相同,则进入步骤8;
[0058]步骤3:引导扇区代码查找被标记为活动分区的分区,并标记为boot分区,通过引导扇区嵌入代码校验boot分区的分区引导记录VBR,则进入步骤4;若不相同,则进入步骤8;
[0059]步骤4:加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同,若相同,则进入步骤5,若不相同,则进入步骤8;
[0060]步骤5:解析配置文件,并获取所述配置文件中的第一文件标签以及第二文件标签,校验第一指定标签所指定的第一文件是否与初始化过程中设置的初始值相同,若不相同,则进入步骤8;若相同,则加载所述第一文件,并将第二文件标签指定的内容作为指定模块的参数,并执行步骤6;
[0061]步骤6:获取步骤5中生成的参数,校验所述参数指示的各个模块,若各个模块校验通过,则进入步骤7,若校验未通过,则进入步骤8;
[0062]步骤7:加载内核以及核心库文件;
[0063]步骤8:停止启动认证服务器。
[0064]进一步,在步骤3中,校验VBR中的第一内置文件的前512个字节,并判定前512个字节与初始化过程中设置的初始值是否相同,若相同,则通过前512个字节中的嵌入代码校验所述第一内置文件的剩余文件内容是否与初始值相同,若相同,则检验第二内置文件是否与初始值相同,若先沟通,则则进入步骤4。
[0065]下面结合具体的应用场景来对该校验过程进行详细的描述,该校验过程如图3所示,具体如下:
[0066]I )、首先TCM芯片加电自检,然后校验B1S是否和先前初始化过程中设置的初始值相同,如果相同则进行步骤2),否则可信链建立失败,所述认证服务器停止启动;
[0067]2)、TCM芯片的认证服务器的B1S嵌入代码会校验MBR(主引导记录)是否和初始化过程中设置的初始值相同,如果相同则进行步骤3),否则可信链建立失败,所述认证服务器停止启动。
[0068]3)、在Extlinux的引导扇区代码会查找被标记为活动分区的分区,记为/boot分区,其相关标记放置在引导扇区的硬盘分区表中;接着Extlinux的引导扇区嵌入的校验代码会校验/boot分区的VBR(分区引导记录)即ldlinux.sys的前512个字节,由于大小的限制,ldlinux.sys分多次加载,首先由mbr加载前512个字节,再由ldlinux.sys的前512个字节加载剩余的部分。如果ldlinux.sys的前512个字节同初始化阶段设置的初始值相同则进行步骤4),否则建立可信链失败,所述认证服务器停止启动。
[0069]4)、在ldlinux.sys前512字节嵌入代码校验ldlinux.sys文件剩余部分,如果它和初始化过程中设置的初始值相同,则进行步骤5),否则可信链建立失败,所述认证服务器停止启动。
[0070]5)、在ldlinux.sys前512字节代码之后加入校验ldlinux.c32的代码,ldlinux.c32是extlinux的核心库,如果它和初始化过程中设置的初始值相同,贝Ij进行步骤6),否则可信链建立失败,所述认证服务器停止启动。
[0071]6)、ldlinux.c32开始执行,会加载extlinux的配置文件,所述配置文件名称为:“/boot/extlinux.conf”,首先ldlinux.c32校验/boot/extlinux.conf是否与初始化阶段设置的初始值相同,若校验相同则进行接下的步骤,否则认证服务器停止启动;接着ldlinux.c32解析/boot/extlinux.conf配置文件,解析的主要标签包括“kernel”,“append”,随后校验kernel标签指定的mboot.c32文件,判断其是否和初始化阶段设置的初始值相同,若校验相同则加载mboot.c32文件,并将append标签指定的内容作为mboot.c32模块的参数。
[0072]7)、mboot.c32开始执行,解析6)步骤传递的参数,所述参数制定了mboot.c32所需加载的模块,不同的模块以字符串“---”分割;首先mboot.c32校验主模块,S卩append标签指定的第一个模块” Linux”,若校验值同初始化阶段设置的初始值相同则继续加载其他模块;接着检测其他模块的参数列表中是否存在“measue”参数,若存在则对其进行校验,所有参数列表中存在“measue”的模块都校验完毕且正确,则执行加载的内核,否则认证服务器停止启动。
[0073]8)、虚拟化平台启动所需的核心文件放置在认证服务器的/needmeasue目录下,包括xen.gz,I inux.1mg,initrd.1mg文件,当认证服务器启动后会校验/needmeasue的所有文件,只有所有的校验值都同初始化阶段设置的校验值一致才对外提供PXE服务,否则所述认证服务器停止工作。
[0074]9)、远程虚拟化平台服务器通过PXE协议请求认证服务器上的核心文件,启动虚拟化平台服务器。
[0075]通过上述的过程,可以实现基于Extlinux的可信启动方案,从而安全的启动虚拟化平台服务器。
[0076]对应本发明实施例中的一种虚拟化平台服务器可信启动的方法,本发明实施例还提供了一种虚拟化平台服务器可信启动的系统,如图4所示为本发明实施例中一种虚拟化平台服务器可信启动的系统的结构示意图,该系统包括:
[0077]可信密码模块401,用于对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链;校验虚拟化平台服务器核心
库文件以及相关库文件,并生成校验结果;
[0078]处理模块402,用于在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。
[0079]进一步,在本发明实施例中,所述可信密码模块401,还用于构建可信链的基准值以及各阶段文件的基准值,并将所述基准值导入到TCM内部;将TCM内部的可信链的基准值以及各阶段文件的基准值导入到所述核心库文件中。
[0080]所述可信密码模块401,具体用于校验B1S设置是否与初始化过程中设置的初始值相同,若相同,通过B1S嵌入代码校验主引导记录MBR是否和初始化中设置的初始值相同,若相同,引导扇区代码查找被标记为活动分区的分区,并标记为boot分区,通过引导扇区嵌入代码校验boot分区的分区引导记录VBR,加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同,若相同,解析配置文件,并获取所述配置文件中的第一文件标签以及第二文件标签,校验第一指定标签所指定的第一文件是否与初始化过程中设置的初始值相同,若相同,则加载所述第一文件,并将第二文件标签指定的内容作为指定模块的参数,获取生成的参数,校验所述参数指示的各个模块,若各个模块校验通过,加载内核以及核心库文件。
[0081]进一步,在本发明实施例中,所述可信密码模块401,具体用于校验VBR中的第一内置文件的前512个字节,并判定前512个字节与初始化过程中设置的初始值是否相同,若相同,则通过前512个字节中的嵌入代码校验所述第一内置文件的剩余文件内容是否与初始值相同,若相同,则检验第二内置文件是否与初始值相同,若校验通过,加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同。
[0082]进一步,在本发明实施例中,所述处理模块402,具体用于通过PXE将虚拟化平台服务器启动需要的核心组件放置在指定目录下;可信密码模块依次校验所述指定目录下的所有文件,若所有文件校验通过,则启动虚拟化平台服务器的PXE服务。
[0083]尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0084]显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
【主权项】
1.一种虚拟化平台服务器可信启动方法,其特征在于,所述方法包括: 通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链; 通过TCM校验虚拟化平台服务器核心库文件以及相关库文件,并生成校验结果; 在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。2.如权利要求1所述的方法,其特征在于,在通过TCM对启动认证服务器操作系统的各个阶段进行校验之前,还包括: 构建可信链的基准值以及各阶段文件的基准值,并将所述基准值导入到TCM内部; 将TCM内部的可信链的基准值以及各阶段文件的基准值导入到所述核心库文件中。3.如权利要求1所述的方法,其特征在于,通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,包括: 步骤1:校验B1S设置是否与初始化过程中设置的初始值相同,若相同,则进入步骤2;若不相同,则进入步骤8; 步骤2:通过B1S嵌入代码校验主引导记录MBR是否和初始化中设置的初始值相同,若相同,则进入步骤3;若不相同,则进入步骤8; 步骤3:引导扇区代码查找被标记为活动分区的分区,并标记为boot分区,通过引导扇区嵌入代码校验boot分区的分区引导记录VBR,则进入步骤4;若不相同,则进入步骤8; 步骤4:加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同,若相同,则进入步骤5,若不相同,则进入步骤8; 步骤5:解析配置文件,并获取所述配置文件中的第一文件标签以及第二文件标签,校验第一指定标签所指定的第一文件是否与初始化过程中设置的初始值相同,若不相同,则进入步骤8;若相同,则加载所述第一文件,并将第二文件标签指定的内容作为指定模块的参数,并执行步骤6; 步骤6:获取步骤5中生成的参数,校验所述参数指示的各个模块,若各个模块校验通过,则进入步骤7,若校验未通过,则进入步骤8; 步骤7:加载内核以及核心库文件; 步骤8:停止启动认证服务器。4.如权利要求3所述的方法,其特征在于,引导扇区代码查找被标记为活动分区的分区,并标记为boot分区,通过引导扇区嵌入代码校验boot分区的分区引导记录VBR,包括: 校验VBR中的第一内置文件的前512个字节,并判定前512个字节与初始化过程中设置的初始值是否相同,若相同,则通过前512个字节中的嵌入代码校验所述第一内置文件的剩余文件内容是否与初始值相同,若相同,则检验第二内置文件是否与初始值相同,若校验通过,则进入步骤4。5.如权利要求1所述的方法,其特征在于,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动,包括: 通过PXE将虚拟化平台服务器启动需要的核心组件放置在指定目录下; TCM依次校验所述指定目录下的所有文件,若所有文件校验通过,则启动虚拟化平台服务器的PXE服务。6.一种虚拟化平台服务器可信启动的系统,其特征在于,包括: 可信密码模块,用于对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链;校验虚拟化平台服务器核心库文件以及相关库文件,并生成校验结果; 处理模块,用于在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。7.如权利要求6所述的系统,其特征在于,所述可信密码模块,还用于构建可信链的基准值以及各阶段文件的基准值,并将所述基准值导入到TCM内部;将TCM内部的可信链的基准值以及各阶段文件的基准值导入到所述核心库文件中。8.如权利要求6所述的系统,其特征在于,所述可信密码模块,具体用于校验B1S设置是否与初始化过程中设置的初始值相同,若相同,通过B1S嵌入代码校验主引导记录MBR是否和初始化中设置的初始值相同,若相同,引导扇区代码查找被标记为活动分区的分区,并标记为boot分区,通过引导扇区嵌入代码校验boot分区的分区引导记录VBR,加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同,若相同,解析配置文件,并获取所述配置文件中的第一文件标签以及第二文件标签,校验第一指定标签所指定的第一文件是否与初始化过程中设置的初始值相同,若相同,则加载所述第一文件,并将第二文件标签指定的内容作为指定模块的参数,获取生成的参数,校验所述参数指示的各个模块,若各个模块校验通过,加载内核以及核心库文件。9.如权利要求8所述的系统,其特征在于,所述可信密码模块,具体用于校验VBR中的第一内置文件的前512个字节,并判定前512个字节与初始化过程中设置的初始值是否相同,若相同,则通过前512个字节中的嵌入代码校验所述第一内置文件的剩余文件内容是否与初始值相同,若相同,则检验第二内置文件是否与初始值相同,若校验通过,加载配置文件,校验配置文件是否与初始化过程中设置的初始值相同。10.如权利要求6所述的系统,其特征在于,所述处理模块,具体用于通过PXE将虚拟化平台服务器启动需要的核心组件放置在指定目录下;可信密码模块依次校验所述指定目录下的所有文件,若所有文件校验通过,则启动虚拟化平台服务器的PXE服务。
【专利摘要】本发明公开了一种虚拟化平台服务器可信启动方法及系统,该方法包括:通过可信密码模块TCM对启动认证服务器操作系统的各个阶段进行校验,若校验通过,则建立从TCM至所述认证服务器的可信链;通过TCM校验虚拟化平台服务器核心库文件以及相关库文件,并生成校验结果;在所述校验结果表征文件校验通过时,通过预启动执行环境PXE协议保存核心库文件,并指示虚拟化平台服务器可信启动。通过上述的方法可以实现基于Extlinux的可信启动方案。
【IPC分类】G06F21/57
【公开号】CN105488418
【申请号】CN201510821674
【发明人】张占龙, 薛兴远, 米秀明, 陈煜文, 蒋勇, 邢玥
【申请人】航天恒星科技有限公司
【公开日】2016年4月13日
【申请日】2015年11月24日