可信密码模块安全虚拟化方法

文档序号:6483276阅读:474来源:国知局
专利名称:可信密码模块安全虚拟化方法
技术领域
本发明涉及计算机信息安全技术领域,主要涉及基于虚拟机监视器(Virtual Machine Monitor, VMM)的系统虚拟机技术和基于可信密码模块的可信计算技 术,具体是一种可信密码模块安全虚拟化方法。
技术背景基于VMM模型的系统虚拟化是以软件方式模拟物理硬件的核心功能,为 虚拟机上的操作系统提供与访问物理硬件相同的访问接口,从而实现在同一个 物理平台上同时运行多个操作系统,并为每个操作系统运行所需资源提供透明 服务。这种模型不仅保证了客户虚拟机环境的独立性,而且可提供良好的系统 隔离特性,这为计算系统的安全增强技术实现提供了可能。此外,为了支持我 国可信计算技术的应用,提高我国在可信计算技术领域的国际竞争力,国家密 码管理局提出并公布了以国内密码算法为基础且结合国内安全需求的《可信计 算密码支撑平台功能与接口规范》,其中可信密码模块(Trusted Cryptography module, TCM)扩展了可信平台模块(Trusted Platform Module, TPM)的安全功能, 能提供诸如平台身份证明、平台完整性证明、密钥管理、密封存储等各项安全 服务,从硬件层次保证平台的安全性和可靠性,该可信计算技术可进一步巩固 虚拟机计算系统的安全能力。为了更有效地构建可信虚拟机计算系统,必须解决单一物理TCM与多个虚 拟机对TCM的具体需求的矛盾。发明内容本发明目的在于解决现有技术不足,提供一种可信密码模块安全虚拟化方法,以解决单一物理TCM无法满足多个虚拟机对TCM具体需求的问题。本发明的技术方案为在基于VMM模型的虚拟机上实现支持客户虚拟机使用的虚拟TCM实例,建立物理机至虚拟机的信任根;所述实现虚拟TCM实例的具体方式如下,在虚拟机的特权虚拟域中设置虚拟TCM管理器和虚拟TCM永久性存储区; 通过虚拟TCM管理器建立和管理虚拟TCM实例,所建立的虚拟TCM实例模拟物理TCM,为客户虚拟机提供物理TCM的功能;并且通过虚拟TCM管理器为客户虚拟机与虚拟TCM实例的通信提供信道,为虚拟TCM实例颁发证书,支持虚拟TCM实例访问虚拟TCM永久性存储区和物理TCM;采用虚拟TCM永久性存储区存储虚拟TCM实例的相关信息,虚拟TCM永久性存储区由物理TCM提供密钥进行加密保护,由虚拟TCM管理器实现加解密操作。而且,所述建立从物理机至虚拟机的信任根,流程如下,步骤l,静态可信根度量并加载BIOS; 步骤2, BIOS度量并加载启动加载器; 步骤3,启动加载器度量并加载虚拟机监视器;步骤4,虚拟机监视器建立特权域,度量并启动虚拟TCM管理器与用户域 创建器;步骤5,当启动一个客户虚拟机时,虚拟TCM管理器先为客户虚拟机创建 一个虚拟TCM实例,随后用户域创建器初始化客户虚拟机;步骤6,客户虚拟机的虚拟静态可信根执行度量并加载虚拟BIOS; 步骤7,虚拟BIOS度量并加载启动加载器;步骤8,启动加载器度量并加载客户虚拟机操作系统;步骤9,客户虚拟机操作系统度量并加载其上运行的各个应用程序。而且,所述为虚拟TCM实例颁发证书的具体实现方式为,客户虛拟机向虚拟TCM管理器提出颁发证书请求后进行以下步骤,步骤一,物理TCM生成物理平台身份证明密钥,并向可信CA请求物理平 台身份证明密钥证书;步骤二,可信CA验证请求并向物理平台颁发物理平台身份证明密钥证书;步骤三,客户虚拟机通过虚拟TCM实例生成虚拟平台身份证明密钥,并向 虚拟TCM管理器请求虚拟平台身份证明密钥证书;步骤四,虚拟TCM管理器获取物理平台的引证信息,并用一个被物理平台 身份证明密钥签署的签名密钥对引证信息与虚拟平台身份证明密钥的公钥进行 签名;将签名结果与物理平台身份证明密钥证书一起即构成虚拟平台身份证明 密钥,发给提出请求的客户虚拟机。本发明基于嵌有TCM的硬件平台环境,通过TCM虚拟化方式,实现客户 虚拟机无需修改便可透明地使用所有TCM提供的安全功能的目标,解决了单一 物理TCM无法满足多个虚拟机对TCM的具体需求。据此所建立信任链与证书 链可确保TCM相关应用从物理环境向虚拟计算平台环境的安全扩展,构建可信 客户虚拟机计算环境。


图1为本发明实施例在基于VMM模型的虚拟机上实现虚拟TCM示意图;图2为本发明实施例的信任链建立过程示意图;图3为本发明实施例中为虚拟TCM实例颁发证书的流程图。
具体实施方式
本发明所提供可信密码模块安全虚拟化方法技术方案为基于VMM模型的 虚拟机上实现支持客户虚拟机使用的虚拟TCM实例,建立物理机至虚拟机的信 任根。所述实现虚拟TCM实例的具体方式如下在虚拟机的特权虚拟域中设置虚拟TCM管理器和虚拟TCM永久性存储区;通过虚拟TCM管理器建立和管理虚拟TCM实例,所建立的虚拟TCM实 例模拟物理TCM,为客户虚拟机提供物理TCM的功能(例如密封存储,远程 证明,密钥管理);并且通过虚拟TCM管理器为客户虚拟机与虚拟TCM实例的 通信提供信道,为虚拟TCM实例颁发证书,支持虚拟TCM实例访问虚拟TCM 永久性存储区和物理TCM;采用虚拟TCM永久性存储区存储虚拟TCM实例的相关信息(例如虚拟 TCM实例的口令,和虚拟TCM实例所管理的密钥),虚拟TCM永久性存储区 由物理TCM提供密钥进行加密保护,由虚拟TCM管理器实现加解密操作。因为基于VMM模型的虚拟机系统中往往有多个客户虚拟机,因此虚拟TCM管理器根据客户虚拟机情况创建和管理各虚拟机所需的虚拟TCM实例,例如当减少客户虚拟机时删除相应虚拟TCM实例。虚拟TCM管理器建立的虚拟TCM实例是为用户域的客户虚拟机提供虚拟TCM功能,因此需要虚拟TCM管理器担任信道,同时也要通过虚拟TCM管理器支持虚拟TCM实例访问虚拟TCM永久性存储区和物理TCM。并且,通过物理TCM所提供的加密功能和保存其上的密钥,可以实现虚拟TCM管理器对虚拟TCM的保护。参见图1所示本发明实施例首先根据现有VMM技术在物理硬件层基础 上构建基于虚拟机监视器的虚拟机,物理硬件层包括可信计算机常用部件,例 如CPU、内存、硬盘以及物理TCM。物理硬件层之上即为虚拟机监视器层。按照VMM模型,提供有1个负责创建和管理客户虚拟机的特权域,客户虚拟机则处于客户域。本发明在特权域设置虚拟TCM管理器和虚拟TCM永久性存储 区(简称VTCM永久存储区),虚拟TCM管理器建立虚拟TCM实例—1、虚拟 TCM实例一2…虚拟TCM实例一n,通过这些实例分别为客户虚拟机1、客户虚 拟机2…客户虚拟机n提供虚拟TCM,可记为虚拟TCM1、虚拟TCM2…虚拟 TCMn。应用程序(如虚拟TCM管理器,客户虚拟机内应用程序等)读写TCM 字符类设备文件时,通过TCM驱动程序可将TCM命令和命令执行的结果按TCM 规范的格式输入/输出TCM芯片。现有物理TCM可以应用于为计算机平台建立信任链,保证安全启动;为了 确保TCM相关应用从物理环境向虚拟计算平台环境的安全扩展,本发明提供了 进一歩技术方案,实现虚拟TCM作用下虚拟机的信任链建立过程,参照图2所示歩骤l,静态可信根度量并加载BIOS。实施例中,计算机启动时,静态可信根(the Core Root of Trust for Measurement, CRTM,是处于BIOS内的代码)首先获得控制权,CRTM对包 括BIOS在内的所有连接到主板上的固件(例如主板内置的Option ROM)进行度 量,将度量值扩展到物理TCM的平台状态寄存器(PCR)中。步骤2, BIOS度量并加载启动加载器。实施例中,CRTM将控制权交给BIOS, BIOS度量平台硬件的配置信息与 启动加载器(BootLoader,或称初始化程序加载器IPL),将度量值扩展至PCR 屮。步骤3,启动加载器度量并加载虚拟机监视器。实施例中,BIOS将控制权交给BootLoader, BootLoader度量虚拟机监视器(VMM)及其配置信息,将度量值扩展至PCR中。步骤4,虚拟机监视器建立特权域,度量并启动虚拟TCM管理器与用户域 创建器。实施例中,BootLoader将控制权交给VMM, VMM度量虚拟TCM管理器 与客户域创建器(Domain Builder,在特征域创建客户虚拟机的工具)将度量值扩 展至PCR中。歩骤5,当启动一个客户虚拟机时,虚拟TCM管理器先为客户虚拟机创建 一个虚拟TCM实例,随后用户域创建器初始化客户虚拟机。歩骤6,客户虚拟机的虚拟静态可信根执行度量并加载虚拟BIOS。 实施例中,客户虚拟机的虚拟静态可信根vCRTM首先被执行,vCRTM获 得控制权。vCRTM对客户虚拟机的虚拟BIOS和各种虚拟的固件进行度量,将 度量值扩展到虚拟TCM实例的平台状态寄存器vPCR中,vPCR模拟物理TCM 的PCR。步骤7,虚拟BIOS度量并加载启动加载器;实施例中,虚拟静态可信根vCRTM将控制权交给虚拟BIOS,虚拟BIOS 度量平台硬件的配置信息与客户虚拟机的启动加载器BootLoader,将度量值扩 展至vPCR中。步骤8,启动加载器度量并加载客户虚拟机操作系统;实施例中,虚拟BIOS将控制权交给BootLoader, BootLoader度量客户虚拟 机的操作系统内核及其配置信息,将度量值扩展至vPCR中。步骤9,客户虚拟机操作系统度量并加载其上运行的各个应用程序。实施例中,BootLoader将控制权交给客户虚拟机的操作系统,客户虛拟机的操作系统度量其上运行的各类客户机应用程序,将度量值扩展至VPCR中。将各步骤所得度量值分别扩展至物理TCM的PCR和虚拟TCM实例的 vPCR,可在此基础上生成引证信息,远程验证方通过验证引证信息来检验虚拟 平台的平台完整性。为了确保TCM相关应用从物理环境向虚拟计算平台环境的安全扩展,本发 明还提供了进一步技术方案,实现虚拟TCM作用下虚拟机的证书链建立过程, 客户虚拟机向虚拟TCM管理器提出颁发证书请求后处理步骤如下-歩骤一,物理TCM生成物理平台身份证明密钥,并向可信CA请求物理平 台身份证明密钥证书;步骤二,可信CA验证请求并向物理平台颁发物理平台身份证明密钥证书;步骤三,客户虚拟机通过虚拟TCM实例生成虚拟平台身份证明密钥,并向 虚拟TCM管理器请求虚拟平台身份证明密钥证书;步骤四,虚拟TCM管理器获取物理平台的引证信息,并用一个被物理平台身份证明密钥签署的签名密钥对引证信息与虚拟平台身份证明密钥的公钥进行签名;将签名结果与物理平台身份证明密钥证书一起即构成虚拟平台身份证明密钥,发给提出请求的客户虚拟机。参照图3,为了便于实施参考,实施例提供了更详细地为虚拟TCM实例颁发虚拟平台身份证明密钥证书过程,如下所示① 物理TCM首先产生一个物理平台身份证明密钥PIK,按照TCM标准, PIK是2048位的RSA密钥对;② 物理TCM向一个可信CA请求PIK证书,请求中包含PIK公钥、密码模 块密钥EK证书(TCM自带)和其它平台相关的信息(例如平台证书、TCM版本、PIK标签)。可信CA是安全验证领域的可信第三方, 一般采用服务器形式 提供颁发证书的服务。③可信CA验证EK证书及相关信息,验证通过则为PIK签发PIK证书。
虚拟TCM实例产生一个虚拟平台身份证明密钥vPIK,与物理TCM相应, 生成的vPIK也是2048位的RSA密钥对。⑤ 客户虚拟机向虚拟TCM管理器请求vPIK证书,请求中包含vPIK公钥与 一个随机数Nonce。采用随机数可以抗重放攻击,属于现有技术。⑥ 虚拟TCM管理器获取物理平台的引证信息,用于证明物理平台即虚拟 TCM底层平台的完整性。实施例中,虚拟TCM管理器可以直接利用信任链建 立后物理TCM的平台状态寄存器,用物理TCM产生对平台状态寄存器的引证 信息,能够方便地证明物理平台完整性情况。生成引证信息时,应在其中包含 虚拟平台发来的随机数Nonce。⑦ 虚拟TCM管理器利用物理TCM产生一个签名密钥SK, SK是--个2048 位RSA密钥对。@虚拟TCM管理器用物理平台身份证明密钥PIK签署签名密钥SK,证明 该签名密钥与PIK同属一个物理平台。⑨虚拟TCM管理器用签名密钥SK对vPIK的公钥和物理平台的引证信息 进行签名,并附上PIK证书,即构成vPIK证书,然后发送给请求该证书的客户 虚拟机即可。远程验证方通过验证vPIK证书,可知 1 、 vPIK是可信的,并且是虚拟TCM产生的(通过验证SK对vAIK的签名)。 2、虚拟TCM是可信的并受到物理TCM的保护(通过验证PIK对SK签名)。物理TCM是真实可信的(通过验证PIK证书)。 3、当前虚拟平台所运行的底层环境,即VMM与特权域,是可信的(通过 验证物理平台的引证信息)。
权利要求
1.一种可信密码模块安全虚拟化方法,其特征在于在基于VMM模型的虚拟机上实现支持客户虚拟机使用的虚拟TCM实例,建立物理机至虚拟机的信任链;所述实现虚拟TCM实例的具体方式如下,在虚拟机的特权虚拟域中设置虚拟TCM管理器和虚拟TCM永久性存储区;通过虚拟TCM管理器建立和管理虚拟TCM实例,所建立的虚拟TCM实例模拟物理TCM,为客户虚拟机提供物理TCM的功能;并且通过虚拟TCM管理器为客户虚拟机与虚拟TCM实例的通信提供信道,为虚拟TCM实例颁发证书,支持虚拟TCM实例访问虚拟TCM永久性存储区和物理TCM;采用虚拟TCM永久性存储区存储虚拟TCM实例的相关信息,虚拟TCM永久性存储区由物理TCM提供密钥进行加密保护,由虚拟TCM管理器实现加解密操作。
2.如权利要求1所述的可信密码模块安全虚拟化方法,其特征在于所述建立 从物理机至虚拟机的信任链,流程如下,步骤l,静态可信根度量并加载BIOS; 歩骤2, BIOS度量并加载启动加载器; 步骤3,启动加载器度量并加载虚拟机监视器;步骤4,虚拟机监视器建立特权域,度量并启动虚拟TCM管理器与用户域创建器;步骤5,当启动一个客户虚拟机时,虚拟TCM管理器先为客户虚拟机创建一 个虚拟TCM实例,随后用户域创建器初始化客户虚拟机;步骤6,客户虚拟机的虚拟静态可信根执行度量并加载虚拟BIOS; 步骤7,虚拟BIOS度量并加载启动加载器;步骤8,启动加载器度量并加载客户虚拟机操作系统;步骤9,客户虚拟机操作系统度量并加载其上运行的各个应用程序。
3.如权利要求1或2所述的可信密码模块安全虚拟化方法,其特征在于所述为虚拟TCM实例颁发证书的具体实现方式为,客户虚拟机向虚拟TCM管理器提出颁发证书请求后进行以下步骤,步骤一,物理TCM生成物理平台身份证明密钥,并向可信CA请求物理平台 身份证明密钥证书;步骤二,可信CA验证请求并向物理平台颁发物理平台身份证明密钥证书;歩骤三,客户虚拟机通过虚拟TCM实例生成虚拟平台身份证明密钥,并向 虚拟TCM管理器请求虚拟平台身份证明密钥证书;歩骤四,虚拟TCM管理器获取物理平台的引证信息,并用一个被物理平台 身份证明密钥签署的签名密钥对引证信息与虚拟平台身份证明密钥的公钥进行 签名;将签名结果与物理平台身份证明密钥证书一起即构成虚拟平台身份证明 密钥,发给提出请求的客户虚拟机。
全文摘要
本发明公开了一种可信密码模块安全虚拟化方法在基于VMM模型的虚拟机上实现支持客户虚拟机使用的虚拟TCM实例,建立物理机至虚拟机的信任链;在虚拟机的特权虚拟域中设置虚拟TCM管理器和虚拟TCM永久性存储区;通过虚拟TCM管理器建立和管理虚拟TCM实例,所建立的虚拟TCM实例模拟物理TCM,为客户虚拟机提供物理TCM的功能;并且通过虚拟TCM管理器为客户虚拟机与虚拟TCM实例的通信提供信道,为虚拟TCM实例颁发证书,支持虚拟TCM实例访问虚拟TCM永久性存储区和物理TCM;采用虚拟TCM永久性存储区存储虚拟TCM实例的相关信息。本发明整合了虚拟机的特点与可信计算的技术优势,通过模拟的方式实现可信密码模块的功能,解决了单一物理TCM无法满足多个虚拟机对TCM的具体需求。
文档编号G06F21/00GK101599025SQ20091006308
公开日2009年12月9日 申请日期2009年7月7日 优先权日2009年7月7日
发明者任正伟, 余荣威, 波 匡, 凯 周, 帆 尹, 磊 尹, 晋 柯, 王丽娜, 新 金 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1