一种可信虚拟机平台的制作方法

文档序号:6334371阅读:345来源:国知局
专利名称:一种可信虚拟机平台的制作方法
技术领域
本发明涉及一种虚拟机平台,特别是一种可信虚拟机平台。
背景技术
当前的虚拟机平台包括普通硬件平台、虚拟机监视器、一个特权虚拟机(或宿主 操作系统)和若干非特权虚拟机。但是当前的虚拟机平台多专注于功能而在安全性方面考 虑较少,给上层的应用带来很大的安全隐患。第一,当前虚拟机平台基于普通硬件平台实 现,缺乏硬件级的安全防护,物理根不可信,无法保证虚拟域的可信。第二,当前虚拟机平台 大都未采取安全防护措施,有的虽然做了安全上的考虑,但是一切安全手段都是基于软件 实现,保护能力有限。第三,整个虚拟机平台的安全过多的依赖于虚拟机监视器和特权虚拟 机的安全,而针对虚拟机监视器和特权虚拟机的安全机制明显不足。第四,缺乏虚拟机监视 器级的身份认证和权限控制,特权虚拟机的特权过于集中。第五,虚拟机之间的通信缺乏有 效的管控,一个虚拟机被攻击也可能影响至其他虚拟机。

发明内容
本发明的目的在于提供一种可信虚拟机平台,解决当前虚拟机平台安全机制不足 和虚拟域间通信缺乏有效管控的问题。一种可信虚拟机平台,包括硬盘、USBKey和非特权虚拟机,还包括可信硬件、安 全增强虚拟机监视器、管理虚拟机、通信虚拟机和驱动虚拟机;其中,可信硬件包括可信 主板、可信密码模块和可信BIOS ;安全增强虚拟机监视器包括身份认证模块、权限控制模 块、通信控制模块和虚拟机完整性度量模块;管理虚拟机包括非特权虚拟机管理模块、实 时加解密模块和完整性度量模块;驱动虚拟机包括硬件驱动模块和虚拟可信密码管理模 块;通信虚拟机包括通信管理模块、双向认证模块和数据包过滤模块;非特权虚拟机包括 通信客户端模块和虚拟可信密码模块。管理虚拟机、驱动虚拟机和通信虚拟机均为特权虚 拟机,管理虚拟机负责创建、管理、销毁和迁移其他虚拟机;驱动虚拟机负责提供虚拟机运 行所需的驱动和虚拟可信密码模块的管理;通信虚拟机负责内部虚拟机以及虚拟机平台之 间的通信。安全增强虚拟机监视器分别与可信硬件、管理虚拟机、通信虚拟机、驱动虚拟机双 向连接,可信硬件中的可信主板分别与可信密码模块、可信BIOS、USBKey和硬盘双向连接, 管理虚拟机与非特权虚拟机双向连接,管理虚拟机还可与多个非特权虚拟机双向连接;安 全增强虚拟机监视器中,身份认证模块、权限控制模块、通信控制模块和虚拟机完整性度量 模块顺次串联;管理虚拟机中,非特权虚拟机管理模块、实时加解密模块和完整性度量模块 顺次串联;通信虚拟机中,通信管理模块、双向认证模块和数据包过滤模块顺次串联;驱动 虚拟机中,硬件驱动模块与虚拟可信密码管理模块连接;非特权虚拟机中,通信客户端模块 与虚拟可信密码模块连接。计算机加电,可信硬件中的可信密码模块作为信任根首先启动,并对可信BIOS进行完整性度量,如果度量失败将可信BIOS进行恢复并重新进行度量。可信BIOS度量成功 后,系统加载BIOS正常启动。可信BIOS首先对安全增强虚拟机监视器进行度量,度量通过 后将控制权交给安全增强虚拟机监视器。安全增强虚拟机监视器首先调用身份认证模块 对当前用户基于USBKey进行身份认证,识别用户权限,然后调用权限控制模块进行权限控 制,通信控制模块根据权限进行通信控制,最后调用虚拟机完整性度量模块,分别对管理虚 拟机、驱动虚拟机和通信虚拟机进行度量,如果度量成功则启动管理虚拟机、驱动虚拟机和 通信虚拟机。当非特权虚拟机启动时,管理虚拟机中的完整性度量模块对非特权虚拟机进 行度量,如果度量成功则启动非特权虚拟机。至此,可信虚拟机平台实现了可信启动。在可信虚拟机平台启动之后,管理虚拟机、驱动虚拟机、通信虚拟机和非特权虚拟 机对硬件资源的访问通过驱动虚拟机的硬件驱动模块来实现。当驱动虚拟机的硬件驱动模 块出现异常时,进行自动重启,不会影响到其他未访问该硬件设备的非特权虚拟机的正常 运行。驱动虚拟机中的虚拟可信密码管理模块,负责对各非特权虚拟机中的虚拟可信密码 模块的管理,实现多个非特权虚拟机共享一个真实的物理可信密码模块,将基于物理信任 根的信任链在虚拟域进行传递,保证虚拟环境的可信。管理虚拟机对非特权虚拟机进行管理时,首先需识别当前的权限,用户权限下只 能进行开启或关闭非特权虚拟机的操作,直接拒绝创建、销毁或迁移非特权虚拟机的请求; 管理员权限下创建、管理、销毁和迁移非特权虚拟机。当前的权限为管理员权限时,管理虚 拟机接到创建、销毁和迁移非特权虚拟机的命令后,首先调用完整性度量模块对安全增强 虚拟机监视器进行度量,度量成功后,管理虚拟机向安全增强虚拟机监视器发送创建、销毁 或迁移的请求。安全增强虚拟机监视器在接到上述请求后,调用虚拟机完整性度量模块对 管理虚拟机进行度量,度量成功后执行上述请求。在度量的过程中,任何一方的度量失败都 表明虚拟机平台已经被篡改,不再可信,拒绝执行命令请求,可信虚拟机平台主动关闭。在 管理虚拟机工作的过程中,非特权虚拟机管理模块调用实时加解密模块,对非特权虚拟机 的镜像文件和关键数据进行透明加解密,保证了镜像文件始终以密文存储,增强了安全性。各虚拟机之间的通信由安全增强虚拟机监视器中的通信控制模块和通信虚拟机 共同来控制完成。通信控制模块负责管理虚拟机、驱动虚拟机和通信虚拟机之间的通信,并 严格控制非特权虚拟机之间的通信,用户权限下非特权虚拟机之间无法进行通信,管理员 权限下通过通信虚拟机实现非特权虚拟机之间的通信。管理员权限下,非特权虚拟机中的 任意两个需要通信时,假设通信双方为A方和B方,A方首先调用其中的通信客户端模块向 通信虚拟机发送与B方进行通信的请求,通信虚拟机中的通信管理模块接到通信请求后, 调用双向认证模块对通信虚拟机和A方进行双向认证,认证成功之后,双向认证模块对通 信虚拟机和B方进行双向认证,并将认证结果返回给A方,通信虚拟机、A方和B方都可信 的情况下,A方发送通信内容到通信虚拟机,通信虚拟机中的数据包过滤模块对数据包进行 检测,检测通过后将通信内容发送给B方,B方接收完通信内容后,返回成功,至此成功完成 A方和B方的通信。在认证的过程中,如果认证失败,表明认证失败方不再可信,立刻停止通 信,并且认证失败方自动重启。本发明以可信硬件为信任根,保证虚拟平台的可信启动;通过虚拟可信密码模块 管理模块将基于硬件信任根的信任链在虚拟域安全传递,保证虚拟环境的可信;将特权虚 拟机的特权进行分离,提高整个虚拟化平台的稳定性和抗攻击性;关键数据和镜像文件都以密文存储;创建、销毁和迁移虚拟机,在管理员权限下进行,虚拟机监视器和管理虚拟机 进行双向认证,提高虚拟机平台的安全性;虚拟机之间的通信借助于通信虚拟机进行,通信 之前进行双向认证,并对通信内容进行监控,防止信息泄露和恶意代码传递。


图1 一种可信虚拟机平台的结构示意图。1.可信硬件2.安全增强虚拟机监视器3.管理虚拟机4.通信虚拟机5.驱动 虚拟机6.非特权虚拟机7.可信密码模块8.可信主板9.可信BIOS 10. USBKey 11.硬 盘12.身份认证模块13.权限控制模块14.通信控制模块15.虚拟机完整性度量模块 16.非特权虚拟机管理模块17.实时加解密模块18.完整性度量模块19.通信管理模 块20.双向认证模块21.数据包过滤模块22.硬件驱动模块23.虚拟可信密码管理模块 24.通信客户端模块25.虚拟可信密码模块
具体实施例方式一种可信虚拟机平台,包括硬盘ll、USBKeylO和非特权虚拟机6,还包括可信硬 件1、安全增强虚拟机监视器2、管理虚拟机3、通信虚拟机4和驱动虚拟机5 ;其中,可信硬 件1包括可信主板8、可信密码模块7和可信BIOS 9 ;安全增强虚拟机监视器2包括身 份认证模块12、权限控制模块13、通信控制模块14和虚拟域完整性度量模块15 ;管理虚拟 机3包括非特权虚拟机管理模块16、实时加解密模块17和完整性度量模块18 ;驱动虚拟 机5包括硬件驱动模块22和虚拟可信密码管理模块23 ;通信虚拟机4包括通信管理模 块19、双向认证模块20和数据包过滤模块21 ;每个非特权虚拟机6包括通信客户端模块24 和虚拟可信密码模块25。管理虚拟机3、驱动虚拟机5和通信虚拟机4均为特权虚拟机,管 理虚拟机3负责创建、管理、销毁和迁移其他虚拟机;驱动虚拟机5负责提供虚拟机运行所 需的驱动和虚拟可信密码模块的管理;通信虚拟机4负责内部虚拟机以及虚拟机平台之间 的通信。安全增强虚拟机监视器2分别与可信硬件1、管理虚拟机3、通信虚拟机4、驱动虚 拟机5双向连接,可信硬件1中的可信主板8分别与可信密码模块7、可信BIOS 9、USBKey 10、硬盘11双向连接,管理虚拟机3与非特权虚拟机6双向连接,管理虚拟机还可与多个非 特权虚拟机双向连接;安全增强虚拟机监视器2中,身份认证模块12、权限控制模块13、通 信控制模块14、虚拟机完整性度量模块15顺次串联;管理虚拟机3中,非特权虚拟机管理 模块16、实时加解密模块17和完整性度量模块18顺次串联;通信虚拟机中4的通信管理 模块19、双向认证模块20与数据包过滤模块21顺次串联;驱动虚拟机5中的硬件驱动模 块22和虚拟可信密码管理模块23连接;非特权虚拟机6中通信客户端模块24和虚拟可信 密码模块25连接。计算机加电,可信硬件1中的可信密码模块7作为信任根首先启动,并对可信BIOS 9进行完整性度量,如果度量失败将可信BIOS 9进行恢复并重新进行度量。可信BIOS 9度 量成功后,系统加载可信BIOS 9正常启动。可信BIOS 9首先对安全增强虚拟机监视器2 进行度量,度量通过后将控制权交给安全增强虚拟机监视器2。安全增强虚拟机监视器2首 先调用身份认证模块12对当前用户基于USBKey 11进行身份认证,识别用户权限,然后调用权限控制模块13进行权限控制,通信控制模块14根据权限进行通信控制,最后调用虚拟 机完整性度量模块15,分别对管理虚拟机3、驱动虚拟机4和通信虚拟机5进行度量,如果 度量成功则启动管理虚拟机3、驱动虚拟机4和通信虚拟机5。当非特权虚拟机6启动时, 管理虚拟机3中的完整性度量模块18对非特权虚拟机6进行度量,如果度量成功则启动非 特权虚拟机6。至此,可信虚拟机平台实现了可信启动。在可信虚拟机平台启动之后,管理虚拟机3、驱动虚拟机4、通信虚拟机5和非特权 虚拟机6对硬件资源的访问通过驱动虚拟机5的硬件驱动模块22实现。当驱动虚拟机5 的硬件驱动模块22出现异常时,进行自动重启,不会影响到其他未访问该硬件设备的非特 权虚拟机6的正常运行。驱动虚拟机5中的虚拟可信密码管理模块23,负责对各非特权虚 拟机6中的虚拟可信密码模块25的管理,实现多个非特权虚拟机6共享一个真实的物理可 信密码模块7,将基于物理信任根的信任链在虚拟域进行传递,保证虚拟环境的可信。管理虚拟机3对非特权虚拟机6进行管理时,首先需识别当前的权限,用户权限下 只能进行开启和关闭对非特权虚拟机6的操作,直接拒绝创建、销毁或迁移非特权虚拟机6 的请求;管理员权限下创建、管理、销毁和迁移非特权虚拟机6。当前的权限为管理员权限 时,管理虚拟机3在接到创建、销毁和迁移非特权虚拟机的命令后,首先调用完整性度量模 块18对安全增强虚拟机监视器2进行度量,度量成功后,管理虚拟机3向安全增强虚拟机 监视器2发送创建、销毁或迁移的请求。安全增强虚拟机监视器2在接到上述请求后,调用 虚拟机完整性度量模块15对管理虚拟机3进行度量,度量成功后执行上述请求。在度量 的过程中,任何一方的度量失败都表明虚拟机平台已经被篡改,不再可信,拒绝执行命令请 求,可信虚拟机平台主动关闭。在管理虚拟机3工作的过程中,非特权虚拟机管理模块16 调用实时加解密模块17,对非特权虚拟机6的镜像文件和关键数据进行透明加解密,保证 了镜像文件和关键数据始终以密文存储,增强了安全性。各虚拟机之间的通信由安全增强虚拟机监视器2中的通信控制模块14和通信虚 拟机4共同来控制完成。通信控制模块14负责管理虚拟机3、驱动虚拟机5和通信虚拟机 4之间的通信,并严格控制非特权虚拟机6之间的通信,用户权限下非特权虚拟机6之间无 法进行通信,管理员权限下可以通过通信虚拟机4实现非特权虚拟机6之间的通信。管理 员权限下,非特权虚拟机6中的任意两个需要通信时,假设通信双方为A方和B方,A方首先 调用其中的通信客户端模块24向通信虚拟机4发送与B方进行通信的请求,通信虚拟机4 中的通信管理模块19接到通信请求后,调用双向认证模块20对通信虚拟机4和A方进行 双向认证,认证成功之后,双向认证模块20对通信虚拟机4和B方进行双向认证,并将认证 结果返回给A方,通信虚拟机4、A方和B方都可信的情况下,A方发送通信内容到通信虚拟 机4,通信虚拟机4中的数据包过滤模块21对数据包进行检测,检测通过后将通信内容发送 给B方,B方接收完通信内容后,返回成功,至此成功完成A方和B方的通信。在认证的过 程中,如果认证失败,表明认证失败方不再可信,立刻停止通信,并且认证失败方自动重启。
权利要求
一种可信虚拟机平台,包括硬盘(11)、USBKey(10)和非特权虚拟机(6),其特征在于还包括可信硬件(1)、安全增强虚拟机监视器(2)、管理虚拟机(3)、通信虚拟机(4)和驱动虚拟机(5);其中,可信硬件(1)包括可信主板(8)、可信密码模块(7)和可信BIOS(9);安全增强虚拟机监视器(2)包括身份认证模块(12)、权限控制模块(13)、通信控制模块(14)和虚拟域完整性度量模块(15);管理虚拟机(3)包括非特权虚拟机管理模块(16)、实时加解密模块(17)和完整性度量模块(18);驱动虚拟机(5)包括硬件驱动模块(22)和虚拟可信密码管理模块(23);通信虚拟机(4)包括通信管理模块(19)、双向认证模块(20)和数据包过滤模块(21);非特权虚拟机(6)包括通信客户端模块(24)和虚拟可信密码模块(25);管理虚拟机(3)、驱动虚拟机(5)和通信虚拟机(4)均为特权虚拟机,管理虚拟机(3)负责创建、管理、销毁和迁移其他虚拟机;驱动虚拟机(5)负责提供虚拟机运行所需的驱动和虚拟可信密码模块的管理;通信虚拟机(4)负责内部虚拟机以及虚拟机平台之间的通信;安全增强虚拟机监视器(2)分别与可信硬件(1)、管理虚拟机(3)、通信虚拟机(4)、驱动虚拟机(5)双向连接,可信硬件(1)中的可信主板(8)分别与可信密码模块(7)、可信BIOS(9)、USBKey(10)、硬盘(11)双向连接,管理虚拟机(3)与非特权虚拟机(6)双向连接,管理虚拟机(3)还可与多个非特权虚拟机(6)双向连接;安全增强虚拟机监视器(2)中,身份认证模块(12)、权限控制模块(13)、通信控制模块(14)、虚拟机完整性度量模块(15)顺次串联;管理虚拟机(3)中,非特权虚拟机管理模块(16)、实时加解密模块(17)和完整性度量模块(18)顺次串联;通信虚拟机中(4)的通信管理模块(19)、双向认证模块(20)与数据包过滤模块(21)顺次串联;驱动虚拟机(5)中的硬件驱动模块(22)和虚拟可信密码管理模块(23)连接;非特权虚拟机(6)中通信客户端模块(24)和虚拟可信密码模块(25)连接;计算机加电,可信硬件(1)中的可信密码模块(7)作为信任根首先启动,并对可信BIOS(9)进行完整性度量,如果度量失败将可信BIOS(9)进行恢复并重新进行度量;可信BIOS(9)度量成功后,系统加载可信BIOS(9)正常启动;可信BIOS(9)首先对安全增强虚拟机监视器(2)进行度量,度量通过后将控制权交给安全增强虚拟机监视器(2);安全增强虚拟机监视器(2)首先调用身份认证模块(12)对当前用户基于USBKey(11)进行身份认证,识别用户权限,然后调用权限控制模块(13)进行权限控制,通信控制模块(14)根据权限进行通信控制,最后调用虚拟机完整性度量模块(15),分别对管理虚拟机(3)、驱动虚拟机(4)和通信虚拟机(5)进行度量,如果度量成功则启动管理虚拟机(3)、驱动虚拟机(4)和通信虚拟机(5);当非特权虚拟机(6)启动时,管理虚拟机(3)中的完整性度量模块(18)对非特权虚拟机(6)进行度量,如果度量成功则启动非特权虚拟机(6);至此,可信虚拟机平台实现了可信启动;在可信虚拟机平台启动之后,管理虚拟机(3)、驱动虚拟机(4)、通信虚拟机(5)和非特权虚拟机(6)对硬件资源的访问通过驱动虚拟机(5)的硬件驱动模块(22)实现;当驱动虚拟机(5)的硬件驱动模块(22)出现异常时,进行自动重启,不会影响到其他未访问该硬件设备的非特权虚拟机(6)的正常运行;驱动虚拟机(5)中的虚拟可信密码管理模块(23),负责对各非特权虚拟机(6)中的虚拟可信密码模块(25)的管理,实现多个非特权虚拟机(6)共享一个真实的物理可信密码模块(7),将基于物理信任根的信任链在虚拟域进行传递,保证虚拟环境的可信;管理虚拟机(3)对非特权虚拟机(6)进行管理时,首先需识别当前的权限,用户权限下只能进行开启和关闭对非特权虚拟机(6)的操作,直接拒绝创建、销毁或迁移非特权虚拟机(6)的请求;管理员权限下创建、管理、销毁和迁移非特权虚拟机(6);当前的权限为管理员权限时,管理虚拟机(3)在接到创建、销毁和迁移非特权虚拟机的命令后,首先调用完整性度量模块(18)对安全增强虚拟机监视器(2)进行度量,度量成功后,管理虚拟机(3)向安全增强虚拟机监视器(2)发送创建、销毁或迁移的请求;安全增强虚拟机监视器(2)在接到上述请求后,调用虚拟机完整性度量模块(15)对管理虚拟机(3)进行度量,度量成功后执行上述请求;在度量的过程中,任何一方的度量失败都表明虚拟机平台已经被篡改,不再可信,拒绝执行命令请求,可信虚拟机平台主动关闭;在管理虚拟机(3)工作的过程中,非特权虚拟机管理模块(16)调用实时加解密模块(17),对非特权虚拟机(6)的镜像文件和关键数据进行透明加解密,保证了镜像文件和关键数据始终以密文存储,增强了安全性;各虚拟机之间的通信由安全增强虚拟机监视器(2)中的通信控制模块(14)和通信虚拟机(4)共同来控制完成;通信控制模块(14)负责管理虚拟机(3)、驱动虚拟机(5)和通信虚拟机(4)之间的通信,并严格控制非特权虚拟机(6)之间的通信,用户权限下非特权虚拟机(6)之间无法进行通信,管理员权限下可以通过通信虚拟机(4)实现非特权虚拟机(6)之间的通信;管理员权限下,非特权虚拟机(6)中的任意两个需要通信时,假设通信双方为A方和B方,A方首先调用其中的通信客户端模块(24)向通信虚拟机(4)发送与B方进行通信的请求,通信虚拟机(4)中的通信管理模块(19)接到通信请求后,调用双向认证模块(20)对通信虚拟机(4)和A方进行双向认证,认证成功之后,双向认证模块(20)对通信虚拟机(4)和B方进行双向认证,并将认证结果返回给A方,通信虚拟机(4)、A方和B方都可信的情况下,A方发送通信内容到通信虚拟机(4),通信虚拟机(4)中的数据包过滤模块(21)对数据包进行检测,检测通过后将通信内容发送给B方,B方接收完通信内容后,返回成功,至此成功完成A方和B方的通信;在认证的过程中,如果认证失败,表明认证失败方不再可信,立刻停止通信,并且认证失败方自动重启。
全文摘要
本发明公开了一种可信虚拟机平台,包括硬盘(11)、USBKey(10)和非特权虚拟机(6),还包括可信硬件(1)、安全增强虚拟机监视器(2)、管理虚拟机(3)、通信虚拟机(4)和驱动虚拟机(5)。安全增强虚拟机监视器(2)分别与可信硬件(1)和管理虚拟机(3)双向连接。管理虚拟机(3)、驱动虚拟机(5)和通信虚拟机(4)均为特权虚拟机,管理虚拟机(3)创建、管理、销毁和迁移其他虚拟机;驱动虚拟机(5)提供虚拟机运行所需的驱动和虚拟可信密码模块的管理;通信虚拟机(4)负责内部虚拟机以及虚拟机平台之间的通信。本发明有效的保证了虚拟机平台运行环境的安全、可信,并实现了虚拟域间通信的有效管控。
文档编号G06F21/00GK101957900SQ20101051899
公开日2011年1月26日 申请日期2010年10月26日 优先权日2010年10月26日
发明者曾颖明, 李红, 杜中平, 段翼真, 王斌, 王晓程, 陈志浩 申请人:中国航天科工集团第二研究院七○六所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1