基于虚拟机状态数据的全过程可信启动检验方法技术

技术编号:21141615 阅读:33 留言:0更新日期:2019-05-18 05:18
基于虚拟机状态数据的全过程可信启动检验方法属于信息安全领域,其特征在于,针对虚拟机开源的基本输入输出系统SeaBIOS子系统、主引导记录MBR子系统及虚拟机磁盘镜像的数据簇cluster等三类不同的子系统状态数据按执行函数代码的码长,分别使用不同的哈希算法,用TPCM可信控制平台计算模块在可信启动初始时刻t0、t1获取子系统状态数据的基准值并判断其是否相等,如若相等,则依次按SeaBIOS、MBR、cluster簇进行可信启动检验,如若中间有一个状态数据在t0、t1时刻与基准值不同,则说明系统遭受篡改,程序终止;与现有技术相比,状态数据采集的更为全面与完善,与现有技术中对状态数据的镜像值来进行哈希运算相比,运算速率更快,效率更高。

【技术实现步骤摘要】
基于虚拟机状态数据的全过程可信启动检验方法
本专利技术涉及信息安全领域,具体涉及基于虚拟机状态数据的全过程可信启动检验方法。
技术介绍
以资源动态分配、按需服务为设计理念的“云计算”技术是当今社会乃至未来几年全球最值得关注的技术革命。云计算以其动态、弹性、负载均衡等优点备受政府、军队、和企事业单位等用户的青睐,而且随着云计算技术的成熟与应用以及当今社会对处理海量数据和进行复杂计算需求的日益增长,越来越多的用户将业务平台由传统的物理硬件平台拓展到虚拟化平台。同时,随着云计算的广泛应用及攻击手段和工具的成熟,云平台中虚拟机所面临的安全形势越来越复杂。尤其是公有云平台中,如果一台虚拟机在启动伊始就被恶意控制或者相关启动数据遭到篡改,那么在不同时段使用该虚拟机服务的云用户的数据将可能会遭到窃取甚至被恶意破坏。因此,保证云平台下虚拟机的可信启动是至关重要的。虚拟机的可信启动将为云环境中用户对计算机的使用提供可信源头,从而完成从物理硬件平台到云环境虚拟机的完整可信链的建立。对于计算机系统最常见的攻击基本都是利用系统的某个漏洞来完成的,而现有的技术大多关注虚拟机操作系统运行过程中的安全性,而对虚拟机操作系统的可信启动方案的研究不是太全面。专利公开号为CN201610461567.8专利名称为“一种基于TPM构建可信启动控制的方法”的专利申请通过在可信引导模块实现自定义的系统启动方式来对BIOS(基本输入输出系统)、内核加载、内核启动过程中的关键信息进行度量从而获取度量值,管理人员通过将度量值与基准值进行对比来判断虚拟机状态是否符合预期,并采取相应的措施。但是这种度量方式只是采集启动过程中的关键信息(此处的关键信息即为BIOS的软体函数、整个内核文件以及启动加载过程中诸如init进程和网络服务管理程序xinetd等的关键性函数),不能很好的保证虚拟机操作系统从启动到运行这个过程是安全的。黄涛、沈昌祥在论文“一种基于可信服务器的可信引导方案”中关注的重点则集中在基本输入输出系统BIOS通电自检到内核加载这部分过程,而对操作系统引导成功直至用户登录的过程鲜有涉及。方艳湘等在论文“Linux可信启动的设计与实现”中主要关注了操作系统内核引导直到用户登录这一过程的完整性问题,通过对内核加载以及相关初始化进程的度量来保证可信启动,但是对于待度量的相关进程函数考虑不够全面,因此可信启动的安全性并不高。以往的专利技术专利或是论文都是对虚拟机启动过程中一些重要的函数进行检验,这样容易造成某些微小的虚拟机系统函数被修改但是没有被虚拟机可信启动检验系统发现从而造成启动起来的虚拟机不可信,而本专利技术专利直接从虚拟机磁盘镜像数据的数据簇cluster入手,检验数据较为全面,避免了上述专利技术专利的致命缺点;其次,直接用哈希算法对系统状态数据进行运算省去了对使用mkImage工具得到的影像值运算这一步,提高了效率。因此设计一种保证虚拟机全过程可信启动检验的方案是对于云平台下虚拟机运行获得可信源头是至关重要的。所以如何有效的保证云平台下虚拟机的可信启动是本领域技术人员目前需要解决的技术问题。
技术实现思路
有鉴于此,为解决云环境下虚拟机的可信启动从而为上层应用建立其信任“源头”的问题,本专利技术的目的在于提供一种基于虚拟机状态数据的全过程可信启动检验方法来有效的保障虚拟机的可信。本专利技术的特征在于,依次含有以下步骤:步骤(1),系统的构建,所述系统包括:控制节点:设有第一无线收发模块、第一CPU、系统状态数据库、虚拟可信根vTPCM基准值库,简称系统基准值库,其中:系统状态数据库存有下述三类系统状态数据--哈希算法映射表:开源的基本输入输出系统SeaBIOS状态数据--SHA-1哈希算法映射表,所述SeaBIOS数据包括:作为执行起点的重置矢量reset_vector、自检函数handle_post()和初始化函数maininit();主引导记录MBR的状态数据--SHA-256哈希算法映射表;虚拟机磁盘镜像文件的数据簇cluster,简称cluster数据--MD5算法映射表;系统基准值库,包括:SeaBIOS数据基准值,数据格式为字符串类型的数据名称标识seaBio_Name,字符串类型的基准值数据seaBio_Data;主引导记录MBR数据基准值,数据格式为字符串类型的数据名称MBR以及字符串类型的基准值数据Mbr_Data;数据簇cluster数据基准值,数据格式为长整型的数据簇cluster编号cluster_inode以及字符串类型的具体某一个编号的数据簇cluster的基准值cluster_Data;第一CPU分别与第一无线收发模块、系统基准值库及系统状态数据库互连;计算节点,设有:第二无线收发模块、本地节点状态数据库、本地虚拟可信根基准库以及虚拟可信根vTPCM生成模块TPCM,其中虚拟可信根vTPCM生成模块TPCM包括:第二CPU、可信密码模块以及虚拟可信根vTPCM计算模块;其中可信密码模块至少存有:哈希算法、对称加密算法、非对称加密算法;步骤(2),系统控制节点初始化;步骤(2.1),管理员依次把代码化后的步骤(1)所述的三类映射表按照顺序存入指定的系统状态数据库中及系统基准值库中,备存立案;步骤(2.2),步骤(2.1)所述数据按以下两种数据组形式存入,以便存取:<备案日期、计算节点的IP、功能标识DP、节点编号、映射表名称>存入系统状态数据库备案;<备案日期、计算节点的功能标识DP、节点编号、虚拟可信根基准值的结构体>存入系统基准值库备案;步骤(3),依次按以下步骤实现基于虚拟机状态数据的全过程可信启动检验;步骤(3.1),第二CPU向所述第一CPU发出调用系统状态数据的请求,数据组格式为:<调用日期、调用节点的IP、功能标识DP、节点编号、三类系统状态数据的名称>;步骤(3.2),请求节点通过控制节点的身份认证后,控制节点依次向请求节点发出步骤(1)中所述的三类系统状态数据;步骤(3.3),所述第二CPU把接收到的三类系统状态数据依次发往本地节点状态数据库,形成三种所述的数据--哈希算法映射表;步骤(3.4),设初始可信检验的时刻为t0,执行以下步骤:步骤(3.4.1),第二CPU从本地节点状态数据库取出本地节点SeaBIOS状态数据--SHA-1哈希算法映射表送往虚拟可信根vTPCM计算模块;步骤(3.4.2),第二CPU从可信密码模块中调用SHA-1哈希算法送往虚拟可信根vTPCM计算模块;步骤(3.4.3),在第二CPU控制下,虚拟可信根vTPCM计算模块使用SHA-1哈希算法依次对重置矢量reset_vector、自检函数handle_post()和初始化函数maininit()进行哈希运算,依次得到三个相应的基准值组成以下数组:<生成日期、计算节点的IP、功能标识DP、节点编号、SeaBIOS标识、重置矢量reset_vector基准值、自检函数handle_post()基准值、初始化函数maininit()基准值、时刻t0>;步骤(3.5),在可信检验的启动模拟时刻,重复步骤(3.4.1)~步骤(3.4.3)得到t1时刻的数组;步骤(3.6),第二CPU把步骤(3.本文档来自技高网
...

【技术保护点】
1.基于虚拟机状态数据的全过程可信启动检验方法,其特征在于,是在一个控制节点和由具有不同功能标识标识的计算节点群共同组成的系统全过程可信启动检验系统中实现的,所述功能标识是按计算节点所起到的技术功能而分类的,所述方法的实现步骤如下:步骤(1),系统的构建,所述系统包括:控制节点:设有第一无线收发模块、第一CPU、系统状态数据库、虚拟可信根vTPCM基准值库,简称系统基准值库,其中:系统状态数据库存有下述三类系统状态数据‑‑哈希算法映射表:开源的基本输入输出系统SeaBIOS状态数据‑‑SHA‑1哈希算法映射表,所述SeaBIOS数据包括:作为执行起点的重置矢量reset_vector、自检函数handle_post()和初始化函数maininit();主引导记录MBR的状态数据‑‑SHA‑256哈希算法映射表;虚拟机磁盘镜像文件的数据簇cluster,简称cluster数据‑‑MD5算法映射表;系统基准值库,包括:SeaBIOS数据基准值,数据格式为字符串类型的数据名称标识seaBio_Name,字符串类型的基准值数据seaBio_Data;主引导记录MBR数据基准值,数据格式为字符串类型的数据名称MBR以及字符串类型的基准值数据Mbr_Data;数据簇cluster数据基准值,数据格式为长整型的数据簇cluster编号cluster_inode以及字符串类型的具体某一个编号的数据簇cluster的基准值cluster_Data;第一CPU分别与第一无线收发模块、系统基准值库及系统状态数据库互连;计算节点,设有:第二无线收发模块、本地节点状态数据库、本地虚拟可信根基准库以及虚拟可信根vTPCM生成模块TPCM,其中虚拟可信根vTPCM生成模块TPCM包括:第二CPU、可信密码模块以及虚拟可信根vTPCM计算模块;其中可信密码模块至少存有:哈希算法、对称加密算法、非对称加密算法;步骤(2),系统控制节点初始化;步骤(2.1),管理员依次把代码化后的步骤(1)所述的三类映射表按照顺序存入指定的系统状态数据库中及系统基准值库中,备存立案;步骤(2.2),步骤(2.1)所述数据按以下两种数据组形式存入,以便存取:<备案日期、计算节点的IP、功能标识DP、节点编号、映射表名称>存入系统状态数据库备案;<备案日期、计算节点的功能标识DP、节点编号、虚拟可信根基准值的结构体>存入系统基准值库备案;步骤(3),依次按以下步骤实现基于虚拟机状态数据的全过程可信启动检验;步骤(3.1),第二CPU向所述第一CPU发出调用系统状态数据的请求,数据组格式为:<调用日期、调用节点的IP、功能标识DP、节点编号、三类系统状态数据的名称>;步骤(3.2),请求节点通过控制节点的身份认证后,控制节点依次向请求节点发出步骤(1)中所述的三类系统状态数据;步骤(3.3),所述第二CPU把接收到的三类系统状态数据依次发往本地节点状态数据库,形成三种所述的数据‑‑哈希算法映射表;步骤(3.4),设初始可信检验的时刻为t0,执行以下步骤:步骤(3.4.1),第二CPU从本地节点状态数据库取出本地节点SeaBIOS状态数据‑‑SHA‑1哈希算法映射表送往虚拟可信根vTPCM计算模块;步骤(3.4.2),第二CPU从可信密码模块中调用SHA‑1哈希算法送往虚拟可信根vTPCM计算模块;步骤(3.4.3),在第二CPU控制下,虚拟可信根vTPCM计算模块使用SHA‑1哈希算法依次对重置矢量reset_vector、自检函数handle_post()和初始化函数maininit()进行哈希运算,依次得到三个相应的基准值组成以下数组<生成日期、计算节点的IP、功能标识DP、节点编号、SeaBIOS标识、重置矢量reset_vector基准值、自检函数handle_post()基准值、初始化函数maininit()基准值、时刻t0>;步骤(3.5),在可信检验的启动模拟时刻,重复步骤(3.4.1)~步骤(3.4.3)得到t1时刻的数组;步骤(3.6),第二CPU把步骤(3.4)~步骤(3.5)得到的值提取到第二CPU的比较模块中,比较两个所述数组是否相等,若相等则执行步骤(3.6.1),若有一项基准值不相等,则执行步骤(3.6.2);步骤(3.6.1),发出SeaBIOS可信检验成功信号,第二CPU执行主引导记录MBR启动程序执行步骤(3.7);步骤(3.6.2),发出系统故障信号,程序停止;步骤(3.7),第二CPU以下面所述格式生成本地节点SeaBIOS状态数据的基准值数组,再存入本地节点的虚拟可信根基准值库同时送至控制节点备案,所述基准值数据格式为:<可信启动检验日期、时刻t1、计算节点的IP、功能标识DP、节点编号、S...

【技术特征摘要】
1.基于虚拟机状态数据的全过程可信启动检验方法,其特征在于,是在一个控制节点和由具有不同功能标识标识的计算节点群共同组成的系统全过程可信启动检验系统中实现的,所述功能标识是按计算节点所起到的技术功能而分类的,所述方法的实现步骤如下:步骤(1),系统的构建,所述系统包括:控制节点:设有第一无线收发模块、第一CPU、系统状态数据库、虚拟可信根vTPCM基准值库,简称系统基准值库,其中:系统状态数据库存有下述三类系统状态数据--哈希算法映射表:开源的基本输入输出系统SeaBIOS状态数据--SHA-1哈希算法映射表,所述SeaBIOS数据包括:作为执行起点的重置矢量reset_vector、自检函数handle_post()和初始化函数maininit();主引导记录MBR的状态数据--SHA-256哈希算法映射表;虚拟机磁盘镜像文件的数据簇cluster,简称cluster数据--MD5算法映射表;系统基准值库,包括:SeaBIOS数据基准值,数据格式为字符串类型的数据名称标识seaBio_Name,字符串类型的基准值数据seaBio_Data;主引导记录MBR数据基准值,数据格式为字符串类型的数据名称MBR以及字符串类型的基准值数据Mbr_Data;数据簇cluster数据基准值,数据格式为长整型的数据簇cluster编号cluster_inode以及字符串类型的具体某一个编号的数据簇cluster的基准值cluster_Data;第一CPU分别与第一无线收发模块、系统基准值库及系统状态数据库互连;计算节点,设有:第二无线收发模块、本地节点状态数据库、本地虚拟可信根基准库以及虚拟可信根vTPCM生成模块TPCM,其中虚拟可信根vTPCM生成模块TPCM包括:第二CPU、可信密码模块以及虚拟可信根vTPCM计算模块;其中可信密码模块至少存有:哈希算法、对称加密算法、非对称加密算法;步骤(2),系统控制节点初始化;步骤(2.1),管理员依次把代码化后的步骤(1)所述的三类映射表按照顺序存入指定的系统状态数据库中及系统基准值库中,备存立案;步骤(2.2),步骤(2.1)所述数据按以下两种数据组形式存入,以便存取:<备案日期、计算节点的IP、功能标识DP、节点编号、映射表名称>存入系统状态数据库备案;<备案日期、计算节点的功能标识DP、节点编号、虚拟可信根基准值的结构体>存入系统基准值库备案;步骤(3),依次按以下步骤实现基于虚拟机状态数据的全过程可信启动检验;步骤(3.1),第二CPU向所述第一CPU发出调用系...

【专利技术属性】
技术研发人员:张建标黄浩翔李国栋冯星伟王晓
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1