一种对虚拟机作动态密码学保护与所需的密钥管理方法

文档序号:6362913阅读:325来源:国知局
专利名称:一种对虚拟机作动态密码学保护与所需的密钥管理方法
技术领域
本发明涉及对虚拟化计算平台架构上的虚拟机作动态密码学保护以及所需使用的密钥管理的方法和系统,具体说,涉及用于将虚拟计算机内部包括操作系统、中间件、网络、通信、数据库、应用程序、用户文件及数据等所有资源与部件之集合看作为一个运行中时刻动态变化着的系统,对该系统进行实时动态的密码学保护的方法和系统。
背景技术
(I) “客体虚拟机”或“虚拟机”计算机虚拟化技术可以在一台真实的物理的计算机(主机,Host)上模拟出一台或若干台客体(Guest)虚拟的计算机(Guest Virtual Machine, VM),运行于虚拟化计算平台架构的虚拟机层。每台虚拟的计算机(简称为客体虚拟机,或虚拟机)可以运行独立的操作系统与应用程序而互不干扰。这些虚拟机完全就像真正的计算机那样工作,例如可以在虚拟机上安装操作系统、中间件、数据库、应用程序,配置通信端口与防火墙策略,用户可以访问网络资源、运行应用程序、编辑和存储文件等等。(2) “虚拟机监控器”除了上述虚拟机外,虚拟化计算平台架构还包括虚拟机监控器(Virtual Machine Monitor, VMM),运行在虚拟化计算平台架构的底层(底层-VMM,或Bare-Metal-VMM),或主机(Host)操作系统层(Host-OS-VMM),用于为虚拟机提供虚拟化功能以支持虚拟机的运行,为虚拟机虚拟出计算机所需的所有部件,如中央处理器(Central Processing Unit, CPU),内部记忆体(Random Access Memory, RAM),网络通信设备,夕卜部存储器(External Storage,磁盘),等等。工业界知名的虚拟化计算平台技术以及所用的底层-VMM或 host-0S-VMM包含VMware公司的ESX (底层-VMM),微软公司的Hyper-V (底层-VMM), Citrix公司的Xen (底层-VMM),以及开源社区的KVM(Host-OS-VMM)。(3) “服务控制台”除了上述虚拟机监控器外,虚拟化计算平台架构还安装了一个服务控制台 (Service Console)。服务控制台可以是如上所述的虚拟机监控器中的一个功能模块,也可以是由如上所述的虚拟机监控器所支持的一个虚拟机。客体虚拟机的生成、启动、停机、对外部存储介质或网络通信的输入/输出以及虚拟机的销毁都要通过服务控制台的帮助来实现。(4) “可信计算集团技术”一个配备有可信计算集团(Trusted Computing Group, TCG, www. trustedcomputinggroup.org)技术的物理计算平台上装有一个基于硬件的(Hardware Based)可信计算基(Trusted Computing Base, TCB),叫做可信平台模块(Trusted Platform Module, TPM),又叫做主可信计算基(Primary TCB),和基于软件的可信计算基 (Software Based),又叫做次可信计算基(SecondaryTCB)。在虚拟化计算平台上,通常由以上所述的底层-VMM或Host-OS-VMM来承担基于软件的次可信计算基的角色,又称为虚拟机监控器次可信计算基(Virtual Machine Monitor Secondary Trusted Computing Base, VMM-Secondary-TCB)。基于硬件的主可信计算基通过使用密码学方法对基于软件的虚拟机监控器次可信计算基施加以密码学保护。由于硬件系统可以实现为具有抗物理攻击性能, 该基于硬件的主可信计算基还能对密码学方法所需使用的密钥施加以具有抗物理攻击性能的保护。主、次可信计算基,抗物理攻击性能以及密码学方法,这些部件和机理相互作用, 有机地建立了一个基本的保护环境,可以防止非授权主体对主、次可信计算基本身以及对被主、次可信计算基所保护的对象的实施干扰,篡改,或恶意攻击。在以下全文中以及在权利要求书中,我们用“虚拟机监控器次可信计算基”来统称被基于硬件的主可信计算基所保护的底层-VMM 或 Host-OS-VMM。(5) “可以对虚拟机全机作密码学处理”对于使用者观察,虚拟机与由硬件制作的物理计算机在行为上没有任何不同。但是与物理硬件计算机不同,虚拟机完全由软件组成,不含任何硬件组件,包括安装在虚拟机中的操作系统、中间件、数据库、应用程序、虚拟的硬件资源、内部所设置的网络通信协议、防火墙安全策略、以及用户文件等等,都是存储在物理计算机的外部存储器(External Storage,如硬盘)上的一个数据包,叫做虚拟机映像数据包(Virtual Machine Image File)。虚拟机映像数据包为虚拟机模拟了一个硬盘,所以也叫做虚拟硬盘。由于虚拟机完全由软件组成,只是一堆数字,所以可以对虚拟机整机做密码学处理可以对虚拟机加密, 加密后的虚拟机还可以被解密,还原成加密前的虚拟机。如同密码学能够保护一般数据一样,加密后的虚拟机受到密码学方法的保护。与本发明相关技术如上所述,客体虚拟机的生成以及对外数据交换都必须在服务控制台的帮助下得到执行。首先,服务控制台生成虚拟机映像数据包,并将之存储在外部存储器上。一个客体虚拟机映像数据包由若干数据块构成,每个数据块当其被生成时,或作为输入输出处理的对象时,是服务控制台在其内部记忆体(RAM)中被处理的一个单位。为了安全起见,可以在对虚拟机映像数据包进行全包加密后再存储到外部存储器。在这种情况中,在生成一个客体虚拟机之前,首先,服务控制台在内部记忆体中生成密钥,然后逐个地生成每个数据块,在将每个数据块存储到外部存储器之前,服务控制台利用所述密钥对每个数据块逐块加密,只有加密后的数据块才能被存储在外部存储器中。其次,在客体虚拟机起动过程中,服务控制台从外部存储器读取客体虚拟机映像数据包中需要载入的各个加了密的数据块,并使用所述密钥对每个数据块进行解密后再传给客体虚拟机的内部记忆体去运行。最后,在客体虚拟机启动了以后,运行中的客体虚拟机执行所引起的任何数据块的输入、输出都要由服务控制台执行解密或加密。图I示意性地示出了这一过程。客体虚拟机映像数据包在外存储器上任何时候都是密文,从外存输入任何数据块到客体虚拟机的内部记忆体,该数据块都要由服务控制台解密(图I中的过程(I)),将任何数据块输出到外存以进行存储,该数据块都要由服务控制台加密(图I中的过程(2))。虚拟机中也虚拟化了网络通信设备,也可以与外部世界通过虚拟化的通信设备进行数据通信。与针对客体虚拟机的虚拟磁盘作输入输出情况一样,客体虚拟机与其虚拟网络通信设备交换的数据时也是以数据块为单位的,通信交互也都必须在服务控制台的帮助下得到执行。为了安全起见,也可以对客体虚拟机与外部世界通信所交换的数据块进行密码学保护。但是,按当前技术,服务控制台加解密所用的密钥或者是一个用户口令,由用户脑力记忆,或者是以明文的形式存储在外部存储器上。对于加密密钥是用户口令的情况,虚拟机可以被用户在任何一台物理机上解密,解密后的虚拟机便完全受用户控制,所以无法对用户强制实施系统所需的安全策略定制。对于密钥以明文形式存储在外部存储器上的情况,我们知道计算机的外部存储器(硬盘)的安全级别不是很高,容易受到黑客(包括用户本身)的攻击,计算机硬盘上存储的明文密钥会被容易地被拷贝,所以也无法强制实施系统所需的安全策略定制。在云计算应用场景下,需要对虚拟机强制实施安全策略,任意攻击者哪怕是虚拟机的合法用户(比如用户是虚拟机所属机构或组织的一名员工)都不得旁路虚拟机中所实施的安全策略。比如虚拟机对外通信时必须对通信数据进行加密保护,这就是一条安全策略,不可被任何实体(包括虚拟机用户)旁路。但是根据以上分析,当前技术无法有效实现这一云安全的基本需求。

发明内容
针对上述问题,本发明的发明人提出了本发明。根据本发明,在客体虚拟机在将数据块存储到虚拟磁盘之前,或将数据块发给一个外部实体之前,由服务控制台对该输出数据块加密,当客体虚拟机从虚拟磁盘输入数据块时,或从一个外部实体接受数据块时,由服务控制台对该数据块解密。在这一加密和解密过程中,由可信计算基提供密钥管理服务。密钥管理服务包括,响应于服务控制台的请求生成密钥,将密钥和服务控制台发送的对应于客体虚拟机的密钥管理信息一一对应地保护,并将密钥发送到服务控制台以用于加密或解密。密钥管理服务还包括,响应于服务控制台的请求并利用服务控制台发送的密钥管理信息查询相应的密钥,并将密钥发送回服务控制台以用于加密和解密。本发明旨在通过由安全级别很高的主、次可信计算基可信安全地保护加密所用的密钥,从而提高对客体虚拟机中设置的安全策略及数据的保护。又由于虚拟机中的操作系统运行,安全策略设定,及数据变更具有实时动态性,所采用的密码学保护必须也具有实时动态性。本发明通过将虚拟机映像数据包分割成多个小数据块,对这些小数据块的生成、以及对由于虚拟机在动态计算中这些小数据块发生变化更新所造成这些小数据块的输入、输出进行实时动态密码学保护。将客体虚拟机的映像数据包分割成多个小数据块,对每个数据块分别进行实时动态密码学保护,这一方法解决了加密后数据的“定格性”与明文数据在内部记忆体中处理时的“动态性”之间的不一致问题。这个解决方案可以用电影胶片来比拟每一幅电影胶片单个看时都是定格的,而放映中的电影却是动态的。同理,由于虚拟机映像数据包(虚拟磁盘)存储在外部存储器上的,或者虚拟机对外通信而与外部网络交换的,那些小数据块由于被加了密,都是定格的,而解密后在虚拟机内部记忆体中处理的那些小数据块却可以是动态变化着的。根据本发明的一个方面,提供一种在虚拟化计算平台架构上的密钥管理方法,该虚拟化计算平台架构包括,一个或多个客体虚拟机,每一个客体虚拟机都唯一关联着一个映像数据包作为该客体虚拟机的虚拟磁盘,映像数据包存储在外部存储器上;虚拟机监控器次可信计算基(VMM-TCB),用于支持、监控客体虚拟机的运行;服务控制台,可以是虚拟机监控器次可信计算基(VMM-TCB)中的一个功能模块,也可以基于虚拟机监控器次可信计算基而运行的一个虚拟机,所述一个或多个客体虚拟机在运行时通过该服务控制台来完成数据块从映像数据包输入与数据块向映像数据包输出;所述密钥管理方法包括当运行中的所述客体虚拟机发生从其内部记忆体(RAM)输出数据块到其位于外部存储器上的映像数据包时,或输出数据块到外部网络时,所述服务控制台对该输出数据块进行加密,当所述客体虚拟机发生从其位于外部存储器上的映像数据包,或从外部网络,输入数据块到其内部记忆体(RAM)时,所述服务控制台对该数据块进行解密;所述服务控制台向所述虚拟机监控器次可信计算基(VMM-TCB)发出密钥管理服务请求,使得所述虚拟机监控器次可信计算基(VMM-TCB)对所述加密和解密所采用的密钥提供密钥管理服务。根据本发明的另一个方面,提供一种生成客体虚拟机的方法,包括,生成密钥;由虚拟机监控器次可信计算基对该密钥进行保护;服务控制台逐个生成构成待生成客体虚拟机的数据块,并用所述密钥对各个数据块加密;将加密后的数据块存储到外部存储介质上。根据本发明的另一个方面,提供一种在虚拟化计算平台架构上的密钥管理方法,该虚拟化计算平台架构包括,一个或多个客体虚拟机;虚拟机监控器次可信计算基 (VMM-TCB),用于支持客体虚拟机的运行,并为客体虚拟机提供安全保护;服务控制台,基于虚拟机监控器次可信计算基(VMM-TCB)而运行,一个或多个所述客体虚拟机通过该服务控制台与外部世界发生数据块输入输出交换;所述密钥管理方法包括客体虚拟机向服务控制台发出输出数据块请求及待输出数据块;服务控制台向虚拟机监控器次可信计算基 (VMM-TCB)发送与该客体虚拟机标识符相对应的密钥管理信息及密钥请求指令以获取与该密钥管理信息对应的密钥;服务控制台利用该密钥对待加密数据块加密。根据本发明的另一个方面,提供一种用于虚拟机的密钥管理方法,包括,生成密钥,由该虚拟机监控器次可信计算基对该密钥进行保护。有益效果根据本发明的技术方案,由于将虚拟机内部包括操作系统、中间件、数据库、应用程序、用户文件及数据、通信协议的配置、防火墙安全策略、等所有部件及资源之集合看作为一个运行中时刻动态变化着的系统,又由于该系统完全是以数据的形式存在,可以将其切割成多个小数据快,从而可以对每一个数据块进行实时动态的密码学保护,而且还由于所用密钥是由可信计算基保护,因此,即使被加密后的虚拟机系统被未授权者窃取,由于该未授权者没有获得密钥,从而难以对虚拟机解密。这样就提高了虚拟机的安全性,以及保证了虚拟机中处理的数据不可被非授权方法获取,篡改,操作系统中所设定的安全策略具有不可被旁路的强制性。


从下面结合附图给出的优选实施例的描述中,本发明的上述和其它目的和特征将变得更加明显,附图中图I示意性地示出了从外部存储器输入数据块到客体虚拟机时由服务控制台对其解密,以及从客体虚拟机输出数据块到外部存储器时由服务控制台对其加密的过程;图2是根据本发明一个实施例对数据块加密的流程图;图3是根据本发明另一个实施例对数据块解密的流程图。
具体实施例方式在下文中,将参照附图描述本发明的示例性实施例。然而,本发明的范围不应当被认为是局限于下面的实施例。本发明的实施例旨在为本领域技术人员更全面地解释本发明。本发明的一个实施例涉及客体虚拟机的生成。在该实施例中,首先,服务控制台在其内部记忆体中生成一个密钥,并将该密钥发送至虚拟机监控器次可信计算基,由该虚拟机监控器次可信计算基(VMM-TCB)对该密钥进行保护。接着,服务控制台生成一个客体虚拟机的第一个数据块,服务控制台对该数据块加密,然后将加密后的数据块输出或存储到外部存储器。然后,服务控制台生成一个客体虚拟机的第二个数据块,对其加密,并存储到外部存储器。服务控制台重复上述对数据块的处理过程,直至客体虚拟机的整个映像数据包被生成并存储在外部存储器。另外,服务控制台还可以生成客体虚拟机的标识符(ID),并将客体虚拟机的标识符存储到客体虚拟机映像数据包中。并且根据客体虚拟机的标识符(ID)生成密钥管理信息,使该密钥管理信息对应于该客体虚拟机(即,对应于客体虚拟机的标识符,在一个例子中,该密钥管理信息是客体虚拟机的标识符本身),同时也对应于对该客体虚拟机的映像数据包加密所使用的密钥。服务控制台在将所生成的密钥发送到虚拟机监控器次可信计算基进行保护时,可以将该密钥管理信息和密钥一起发送到虚拟机监控器次可信计算基,以使得该密钥和该密钥管理信息相互对应地被虚拟机监控器次可信计算基保护。这里所说的相互对应地被虚拟机监控器次可信计算基保护是指,在虚拟机监控器次可信计算基对这二者进行保护的同时,利用该密钥管理信息能够找到被虚拟机监控器次可信计算基保护的对应的密钥。服务控制台可以按照上述过程生成多个客体虚拟机,并使得加密每个客体虚拟机映像数据包的密钥和与每个客体虚拟机对应的密钥管理信息一一对应地由虚拟机监控器次可信计算基保护。另外,在上述实施例中,服务控制台可以将其所生成的密钥和密钥管理信息发送到虚拟机监控器次可信计算基以相互对应地进行保护。或者,在服务控制台可以将其所生成的密钥和密钥管理信息发送到虚拟机监控器次可信计算基后,还可以由基于硬件的主可信计算基对密钥和密钥管理信息相互对应地进行保护。在上述实施例的一个变型中,密钥由可信计算基生成并保护,例如,由基于软件的次可信计算基生成并保护,或者密钥由基于硬件的主可信计算基生成并保护,而不是由服务控制台生成。虚拟机监控器次可信计算基将生成的该密钥的拷贝发送到所述服务控制台,以由服务控制台利用该密钥对客体虚拟机的数据块进行加密或解密。在上述实施例的另一个变型中,密钥管理信息由可信计算基生成,例如,由基于软件的次可信计算基生成,或由基于硬件的主可信计算基生成,而不是服务控制台生成,虚拟机监控器次可信计算基或可信计算基的硬件将生成的密钥管理信息和所述密钥相互对应地保护。并且,虚拟机监控器次可信计算基将该密钥管理信息发送到服务控制台,服务控制台建立该密钥管理信息和客体虚拟机标识符(ID)的对应关系。图2是根据本发明另一个实施例对要输出的数据块加密的流程图。参考图2,当一个已经启动了的客体虚拟机要将其内部记忆体中处理的数据块输出或存储到外部存储器上时,该客体虚拟机向服务控制台发出输出数据块请求、该待输出的数据块、指定待输出数据块位于映像数据包中所处位置的指定信息和/或该客体虚拟机的标识符(ID)(步骤S310)。然后,在步骤S320,服务控制台利用标识该客体虚拟机的标识符确定对应于该客体虚拟机的密钥管理信息,并利用该密钥管理信息向虚拟机监控器次可信计算基发出密钥请求指令,以查询由虚拟机监控器次可信计算基保护的对应的密钥,并获取该密钥(在所述密钥由基于硬件的主可信计算基保护的情况下,所述密钥请求指令用于从基于硬件的主可信计算基查询并获取该密钥)。在步骤S330,服务控制台使用该查询到的密钥对所述数据块加密。在步骤S340,服务控制台将被加密后的数据块存储到外部存储器,即存储在该客体虚拟机的映像数据包中。由以上实施例可以看到,即使外部存储器或通信网络受到黑客攻击,客体虚拟机的映像数据包被窃取,或通信中的某些数据块被窃取,但该映像数据包或通信中的数据块是被加密的,密钥受到基于软件的虚拟机监控器次可信计算基的保护或受到基于硬件的主可信计算基的更安全的保护,黑客无法获得密钥,因而无法对映像数据包或通信中的数据块解密。在上述实施例中,在步骤S320,服务控制台向虚拟机监控器次可信计算基发出密钥请求指令以及密钥管理信息。图3是根据本发明另一个实施例对数据块解密的流程图。下面参照图3介绍客体虚拟机从外部存储介质上输入数据块的过程。首先,在步骤S410,客体虚拟机向服务控制台发出输入数据块请求、指定所述输入的数据块在映像数据包中所处位置的指定信息和/或客体虚拟机ID。在步骤S420,响应于接收到的该请求,服务控制台根据客体虚拟机ID确定密钥管理信息,利用该密钥管理信息向虚拟机监控器次可信计算基发出密钥请求指令,以查询并获取由虚拟机监控器次可信计算基保护的对应的密钥(在所述密钥由基于硬件的主可信计算基保护的情况下,所述密钥请求指令用于从基于硬件的主可信计算基查询并获取该密钥),并从外部存储器输入所述指定信息指定的数据块。在步骤S430,服务控制台利用所查询到的密钥对该数据块解密。在步骤S440,服务控制台将被解密的数据块发送到所述客体虚拟机内部记忆体以进行处理。在上述实施例中,在步骤S420,服务控制台向虚拟机监控器次可信计算基发出密钥请求指令以及所述密钥管理信息。尽管已经结合详细示出并描述的优选实施例公开了本发明,但是本领域技术人员应当理解,对于上述本发明所提出的各个实施例,还可以在不脱离本发明内容的基础上做出各种变型或改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
权利要求
1.一种在虚拟化计算平台架构上的虚拟机动态密码学保护与密钥管理方法,该虚拟化计算平台架构包括,一个或多个客体虚拟机,每一个客体虚拟机都唯一关联着一个映像数据包作为该客体虚拟机的虚拟磁盘,映像数据包存储在外部存储器上;每一个客体虚拟机都也都唯一关联着一个虚拟网络设备与外部世界通信;基于软件的虚拟机监控器次可信计算基,用于支持、监控客体虚拟机的运行;基于硬件的主可信计算基,用于通过密码学方法保护基于软件的虚拟机监控器次可信计算基;服务控制台,可以是虚拟机监控器次可信计算基的一个功能模块部件,也可以是由虚拟机监控器次可信计算基所支持的一个虚拟机,所述一个或多个客体虚拟机在运行时通过该服务控制台的帮助来完成数据块从映像数据包输入与数据块向映像数据包输出;也通过该服务控制台的帮助来完成数据块与外部世界的通信;所述虚拟机动态密码学保护与密钥管理方法包括当运行中的所述客体虚拟机发生从其内部记忆体输出数据块到其位于外部存储器上的映像数据包时,或从其内部记忆体向虚拟网络设备发出数据块时,所述服务控制台对该输出数据块进行加密,当所述客体虚拟机发生从其位于外部存储器上的映像数据包输入数据块到其内部记忆体时,或从虚拟网络设备接受数据块时,所述服务控制台对该数据块进行解密;所述服务控制台向所述虚拟机监控器次可信计算基发出密钥管理服务请求,使得所述虚拟机监控器次可信计算基对所述加密和解密所采用的密钥提供密钥管理服务。
2.如权利要求I所述的虚拟机动态密码学保护与密钥管理方法,其中所述密钥管理包括,由所述虚拟机监控器次可信计算基或由所述基于硬件的主可信计算基对所述密钥进行保护。
3.如权利要求2所述的虚拟机动态密码学保护与密钥管理方法,其中所述密钥管理包括根据服务控制台向所述虚拟机监控器次可信计算基发送密钥管理服务请求,响应于接收到的该服务请求,所述虚拟机监控器次可信计算基将其保护的密钥发送到该服务控制台以由该服务控制台用于加密或解密。
4.一种生成客体虚拟机的方法,包括,生成常钥;由虚拟机监控器次可信计算基对该密钥进行保护;服务控制台逐个生成构成待生成客体虚拟机的数据块,并用所述密钥对各个数据块加密;将加密后的数据块存储到外部存储介质上,最终形成该客体虚拟机的映像数据包。
5.如权利要求4所述的生成客体虚拟机的方法,还包括,生成密钥管理信息,该密钥管理信息对应于待生成的客体虚拟机;并且所述由虚拟机监控器次可信计算基对该密钥进行保护包括,将该密钥和该钥管理信息相对应地保护,使得根据该密钥管理信息能够唯一找到被保护的该密钥。
6.如权利要求4所述的生成客体虚拟机的方法,其中,所述生成密钥包括,由服务控制台生成密钥,并将密钥发送到虚拟机监控器次可信计算基以获得保护。
7.如权利要求4所述的生成客体虚拟机的方法,其中,所述生成密钥包括,由虚拟机监控器次可信计算基,或基于硬件的主可信计算基生成密钥,并将该密钥发送到服务控制台。
8.如权利要求5所述的生成客体虚拟机的方法,其中,所述生成密钥管理信息包括,由服务控制台生成密钥管理信息,并将该密钥管理信息发送到虚拟机监控器次可信计算基以和所述密钥相对应地保护,使得根据该密钥管理信息能够找到被保护的该密钥。
9.如权利要求5所述的生成客体虚拟机的方法,其中,所述生成密钥管理信息包括,由虚拟机监控器次可信计算基生成密钥管理信息,并将该密钥管理信息发送到服务控制台。
10.如权利要求5所述的生成客体虚拟机的方法,还包括,服务控制台生成客体虚拟机标识符,并将该客体虚拟机标识符和构成该客体虚拟机的各加密后数据块一起存储在外部存储器,服务控制台能够根据该客体虚拟机标识符确定与该客体虚拟机对应的密钥管理信息。
11.一种在虚拟化计算平台架构上的虚拟机动态密码学保护与密钥管理方法,该虚拟化计算平台架构包括,一个或多个如权利要求4所述方法生成的客体虚拟机;基于软件的虚拟机监控器次可信计算基,用于支持客体虚拟机的运行,并为客体虚拟机提供安全保护;基于硬件的主可信计算基,用于通过密码学方法保护基于软件的虚拟机监控器次可信计算基;服务控制台,可以是虚拟机监控器次可信计算基的一个功能部件,也可以是由基于软件的虚拟机监控器次可信计算基支持而运行的一个虚拟机,一个或多个所述客体虚拟机通过该服务控制台来输入输出数据块;所述虚拟机动态密码学保护与密钥管理方法包括客体虚拟机向服务控制台发出输出数据块请求及待输出数据块;服务控制台向虚拟机监控器次可信计算基发送与该客体虚拟机标识符相对应的密钥管理信息及密钥请求指令以获取与该密钥管理信息对应的密钥;服务控制台利用该密钥对待加密数据块加密。
12.如权利要求11所述的虚拟机动态密码学保护与密钥管理方法,其中,所述客体虚拟机向服务控制台发出输出数据块请求及待输出数据块还包括,客体虚拟机向服务控制台发出指定待输出数据块位于映像数据包中所处位置的指定信息,或者指定待通信数据块期望接受实体的通信地址信息。
13.如权利要求11所述的虚拟机动态密码学保护与密钥管理方法,还包括,服务控制台将被加密后数据块存储在位于外部存储介质上的该客体虚拟机映像数据包中,或者将被加密后通信数据块发往所述通信地址。
14.如权利要求12所述的虚拟机动态密码学保护与密钥管理方法,还包括,服务控制台根据所述该指定信息将被加密后数据块存储在位于外部存储介质上的该客体虚拟机映像数据包中,或者根据所述该地址信息将被加密后的通信数据块发往所述通信地址。
15.如权利要求11所述的虚拟机动态密码学保护与密钥管理方法,还包括,所述客体虚拟机向所述服务控制台发出输入数据块请求和指定待输入数据块位于映像数据包中所处位置的指定信息,响应于接收到的该请求,该服务控制台根据所述指定信息从位于外部存储器上该客体虚拟机映像数据包中,或从虚拟网络设备上,找到该指定待输入的数据块,并向虚拟机监控器次可信计算基发送与该客体虚拟机标识符相对应的密钥管理信息及密钥请求指令以获取与该密钥管理信息对应的密钥;服务控制台利用获取的密钥对所述待解密数据块解密,服务控制台将解密后的数据块发送到该客体虚拟机,以使该客体虚拟机可以在其内部记忆体中处理。
16.如权利要求11所述的虚拟机动态密码学保护与密钥管理方法,其中,服务控制台向虚拟机监控器次可信计算基发送密钥请求指令包括,服务控制台向虚拟机监控器次可信计算基发送密钥请求指令。
17.一种用于虚拟机动态密码学保护与密钥管理方法,包括,生成密钥,由虚拟机监控器次可信计算基对该密钥进行保护或由虚拟机监控器次可信计算基向基于硬件的主可信计算基发出请求对该密钥进行保护。
18.如权利要求17所述的虚拟机动态密码学保护与密钥管理方法,还包括,生成对应于所述密钥的密钥管理信息;该虚拟机监控器次可信计算基或基于硬件的主可信计算基对该密钥和密钥管理信息相互对应地保护。
19.如权利要求18所述的虚拟机动态密码学保护与密钥管理方法,还包括,服务控制台作为虚拟机监控器次可信计算基的一个功能模块部件向基于硬件的主可信计算基直接发出密钥管理信息及密钥请求指令,以获得对应于该密钥管理信息的密钥,服务控制台利用所获得的密钥对数据块进行加密或解密。
全文摘要
提供一种用于虚拟机动态密码学保护以及所需密钥的密钥管理的方法。该方法包括,将虚拟机分割成多个数据块,当每个数据块发生输入输出时进行动态加解密处理,其中加解密所需的密钥由虚拟机监控器次可信计算基或者基于硬件的可信计算基进行保护,以使密钥得到安全级别更高的保护,服务控制台从虚拟机监控器次可信计算基查询并获取该密钥,并使用该密钥对客体虚拟机的数据块加密,将被加密后的数据块保存在客体虚拟机映像数据包中,从而在客体虚拟机映像数据包失窃的情况下,该失窃的加密数据包也难以被解密。并且,在客体虚拟机从外存输入数据块时,服务控制台利用所述密钥对该数据块解密,将解密后的数据块发送到客体虚拟机内部记忆体处理。
文档编号G06F21/00GK102609643SQ201210006168
公开日2012年7月25日 申请日期2012年1月10日 优先权日2012年1月10日
发明者毛文波 申请人:道里云信息技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1