专利名称:虚拟机全盘加密下预启动时的密钥传输方法和设备的利记博彩app
技术领域:
本发明涉及通信技术领域,尤其涉及一种虚拟机(Virtual Machine, VM)全盘加密下预启动时的密钥传输方法和设备。
背景技术:
云计算场景下,虚拟机(Virtual Machine, VM)的磁盘数据,包括系统盘和数据盘的数据会存在安全风险。如果能对VM的数据进行全盘加密,并且密钥能掌握在用户自己手中的话,非授权人员就不能获得用户的数据,这样就会极大程度上保护用户在云中的敏感数据。传统的全盘加密技术作为终端安全的一种解决方案,技术已经成熟,传统技术中, 可以在启动操作系统前,也就是预启动(Pre-boot)阶段,由启动加载(boot loader)程序根据用户输入的密码生成密钥,并用密钥解密磁盘上的数据,解密的数据中包括操作系统(Operation System, OS),在操作系统解密后可以启动操作系统。上述的传统全盘加密技术中,用户是在单一终端上执行的操作,boot loader程序可以获取密钥。但是,云应用场景下,VM所需的密钥需要从外界的云平台处获取,而在VM的操作系统未启动前,VM没有IP地址,无法与外界通信,也就不能获取到密钥,使得VM的操作系统不能被启动,造成VM停留在预启动阶段。
发明内容
本发明提供一种虚拟机全盘加密下预启动时的密钥传输方法和设备,实现VM内的boot loader程序可以在预启动阶段获取密钥,进而启动VM的操作系统。本发明提供了一种虚拟机全盘加密下预启动时的密钥传输方法,包括虚拟机进行预启动,所述虚拟机处于全盘加密状态;所述虚拟机在预启动时,建立与云平台的传输通道,所述云平台用于提供密钥;所述虚拟机通过所述传输通道,向所述云平台请求密钥并接收所述云平台发送的密钥;所述虚拟机采用所述密钥解密并启动操作系统。本发明提供了一种虚拟机全盘加密下预启动时的密钥传输设备,包括建立模块,用于进行处于全盘加密状态的虚拟机的预启动操作,并在预启动时,建立与云平台的传输通道,所述云平台用于提供密钥;传输模块,用于通过所述传输通道,向所述云平台请求密钥并接收所述云平台发送的密钥;解密模块,用于采用所述密钥解密并启动操作系统。由上述技术方案可知,本发明实施例通过虚拟机在预启动阶段建立与提供密钥的云平台之间的传输通道,可以实现预启动阶段密钥的传输,能够使得虚拟机获取密钥,进而可以解密虚拟机的操作系统,并实现虚拟机的操作系统的启动,避免由于不能获取密钥而停留在预启动阶段。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明虚拟机全盘加密下预启动时的密钥传输方法的一实施例的流程示意图;图2为本发明虚拟机全盘加密下预启动时的密钥传输方法的另一实施例的流程 示意图;图3为图2对应的系统结构示意图;图4为本发明虚拟机全盘加密下预启动时的密钥传输方法的另一实施例的流程示意图;图5为图4对应的系统结构示意图;图6为本发明中加密方法的一实施例的流程示意图;图7为本发明中加密方法的另一实施例的流程示意图;图8为本发明虚拟机全盘加密下预启动时的密钥传输设备的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图I为本发明虚拟机全盘加密下预启动时的密钥传输方法的一实施例的流程示意图,包括步骤11 :VM进行预启动,并在预启动时,建立与云平台的传输通道,所述云平台用于提供密钥;其中,VM在预启动时处于全盘加密状态,即VM的操作系统处于加密状态,需要解密出VM的操作系统才能完成VM的启动,否则将如现有技术停留在预启动状态。该VM是指能够被用户使用的虚拟机,例如,对于XEN场景下,VM是指domain U,另夕卜,在XEN场景下,还存在一种特殊的虚拟机宿主机(Domain O),该宿主机并不是被用户使用的虚拟机,而是管理各Domain U的虚拟机。因此,在XEN场景下,上述的VM是指DomainU。可以理解的是,对于其他虚拟化平台,不区分Domain 0> Domain U的场景,例如,VMwareESXi场景下,Domain O的功能可以是由hypervisor执行,而由Domain U执行的操作可以是由hypervisor上的虚拟机执行。通常来讲,Domain O的操作系统是不加密的,因此当云平台向Domain O下发启动虚拟机指令后,Domain O的操作系统就会启动,而Domain U的系统盘,即操作系统所在的盘是加密的,需要解密后才会启动。每个Domain U的密钥可以保存在云平台内。
云平台中与VM磁盘加密相关的模块可以进一步细分为密钥管理模块和加密管理模块。其中,密钥管理模块用于对各Domain U的密钥进行管理,例如,生成每个Domain U对应的密钥,更新密钥、存储密钥、备份密钥、恢复密钥等。加密管理模块用于确定管理策略,例如,配置需要加密的Domain U的信息,配置Domain U上需要加密的卷的信息等。另外,加密管理模块还负责将密钥管理模块中的密钥传递给Domain U。另外,上述的传输通道可以是通过超级监视器(hypervisor)的传输通道,或者是采用IP地址直接与云平台建立的传输通道。具体内容可以参见后续实施例。步骤12 VM通过所述传输通道,向所述云平台请求密钥并接收所述云平台发送的密钥,以及采用所述密钥解密并启动操作系统。由于云平台和VM间已经建立了传输通道,云平台便可以通过该传输通道将密钥传输给VM。 VM在获取到密钥后,可以根据获取的密钥解密操作系统所在的系统盘,得到操作系统后启动操作系统,而不是如现有技术中的停留在预启动阶段。本实施例通过在预启动阶段建立与提供密钥的云平台之间的传输通道,可以实现预启动阶段密钥的传输,能够使得虚拟机获取密钥,进而可以解密虚拟机的操作系统,并实现虚拟机的操作系统的启动,避免由于不能获取密钥而停留在预启动阶段。图2为本发明虚拟机全盘加密下预启动时的密钥传输方法的另一实施例的流程示意图,图3为图2对应的系统结构示意图。本实施例以XEN场景,且通过hypervisor建立传输通道为例。参见图3,该系统包括密钥管理模块31、加密管理模块32、宿主机33、虚拟机34和超级监视器(hypervisor) 35。密钥管理模块31和加密管理模块32可以位于云平台内,宿主机33、虚拟机34和超级监视器35可以位于云服务器上,一个云平台可以管理多个云服务器。其中的宿主机也就是Domain O,虚拟机也就是Domain U。密钥管理模块用于管理每个虚拟机的密钥,包括密钥的生成、密钥更新、密钥存储、密钥备份、密钥恢复等功能。该密钥管理模块可以是云提供商设置的,也可以是用户自己设置的。例如,在一些应用场景下,如果用户不信任云提供商,要求自己手动输入对应的虚拟机的密钥,那么密钥可以由用户自己管理,此时的密钥管理模块具体可以是自助门户(portal)密钥输入系统。加密管理模块,主要是管理需要加密哪个或哪些VM以及加密VM的哪个或哪些卷,用户可以根据磁盘上数据的敏感程度来选择。同时,该模块也承担密钥的传递功能,将密钥管理模块内的密钥传递给虚拟机使用。宿主机上部署后端密钥传递模块,用于从云平台获取密钥并通过hypervisor中的传输通道传输给前端密钥传递模块。hypervisor是一种在虚拟环境中的“元”操作系统,可以访问云服务器上包括磁盘和内存在内的所有物理设备。当云服务器启动并执行hypervisor后,hypervisor会加载所有虚拟机的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。具体地,hypervisor可以为开源的XEN。每个虚拟机上可以部署加密代理(Agent)模块,用于进行虚拟机加解密管理,例如,用户通过加密代理模块下发加密指令,根据密钥对VM的数据进行加密,或者对加密的数据根据密钥解密等。本实施例中以加密代理模块中包括boot loader模块为例。bootloader模块用于运行boot loader程序,boot loader程序可以从虚拟机的磁盘上读取包含加密的操作系统的数据,并采用密钥对操作系统进行解密后启动操作系统。具体地,bootloader模块可以包括前端密钥传递模块和加解密模块,前端密钥传递模块用于获取密钥,加解密模块用于根据前端密钥传递模块得到的密钥对数据进行加解密。另外,在预启动阶段,hypervisor还可以在虚拟机上虚拟得到虚拟基本输入输出系统(Virtual Basic InputOutput System, vBIOS)。结合图3所示的系统,参见图2,本实施例提供的方法包括步骤201 :启动过程,其中包括启动加载(boot loader)模块运行,boot loader模块中可以包括加解密模块和前端密钥传递模块。 具体可以包括云服务器启动,启动Domain O,并运行hypervisor。其中,由于Domain O是不加密的,那么云服务器启动后,Domain O便会启动,Domain O启动后会获取IP地址,采用该IP地址可以建立与云平台侧的通信连接,具体可以与加密管理模块建立连接,从而可以与云平台交互数据。云平台对Domain U进行预启动操作,预启动操作过程中启动boot loader模块,并在启动Domain U时在hypervisor内为每个Domain U分配与DomainO的传输通道。具体地,预启动操作可以包括加密管理模块向Domain O发送启动虚拟机指令;Domain O将该启动虚拟机指令转发给hypervisor ;Hypervisor接收到该启动虚拟机指令后,启动Domain U并虚拟出DomainO对应的vBIOS,并加载Domain U的系统卷文件,该系统卷文件中包括一部分不被加密的数据,也包括另一部分需要加密的数据,不需要加密的数据例如为boot loader程序、磁盘主引导区记录(Master Boot Record,MBR)等;需要加密的数据包括Domain U的操作系统,还可以包括用户需要加密的数据盘的数据等。对于不需要加密的数据,hypervisor可以逐一启动这些程序,例如,经过加载,由于boot loader程序不需要加密,那么包括boot loader程序的boot loader模块经过加载后便可以启动。可以理解的是,上述云服务器的启动过程和预启动操作可以采用现有技术实现,具体内容可以参见现有流程。hypervisor可以通过共享内存等方式为Domain O和Domain U提供传输通道。例如,在hypervisor内为每个Domain U分配约定的共享内存空间,该内存空间可以被DomainO和对应的Domain U共同使用,使得Domain U和Domain O通过对应的内存空间交互数据。步骤202:boot loader模块中的加解密模块向前端密钥传递模块发送密钥请求消息。步骤203 boot loader模块中的前端密钥传递模块,通过hypervisor提供的传输通道,向Domain O的后端密钥传递模块发送密钥请求消息。其中,具体可以hypervisor在启动MBR后,触发boot loader模块发送上述的密钥请求消息。每个Domain U内的前端密钥传递模块可以通过分配的共享内存空间,向DomainO发送密钥请求消息。
步骤204 :后端密钥传递模块在密钥请求消息中添加Domain U的标识信息后,发送给加密管理模块。其中,可以根据密钥请求消息来自的共享内存的信息确定Domain U的标识信息。例如,密钥请求消息来自第一内存,并且Domain O在配置时已经将第一内存分配给第一Domain U,那么可以确定Domain U的标识信息为第一 Domain U的标识信息。 步骤205 :加密管理模块转发该包含Domain U的标识信息的密钥请求消息给密钥
管理模块。步骤206 :密钥管理模块根据Domain U的标识信息确定出对应的密钥。其中,密钥管理模块是对各Domain U的密钥进行管理的模块,其中会保存每个Domain U及其对应的密钥。 步骤207 :密钥管理模块向加密管理模块返回密钥。步骤208 :加密管理模块向后端密钥传递模块返回密钥。步骤209 :后端密钥传递模块通过hypervisor内的传输通道,向前端密钥传递模块返回密钥。另外,如果是不同的Domain U并行进行解密处理,则上述返回密钥的消息中还可以进一步携带对应的Domain U的标识信息。当然,如果各Domain U是串行进行解密处理,则也可以不携带Domain U的标识信息。步骤210 :前端密钥传递模块将密钥发送给加解密模块。步骤211 boot loader模块中的加解密模块根据前端密钥传递模块接收的密钥,对Domain U的操作系统文件进行解密,操作系统解密后启动。其中,boot loader模块可以首先从磁盘内读取加密的操作系统,之后采用获取的密钥进行解密。本实施例通过在hypervisor内建立Domain O和Domain U之间的传输通道,可以实现Domain U与云平台间的通道连接,从而可以从云平台获取密钥,实现对操作系统的解密和启动。图4为本发明虚拟机全盘加密下预启动时的密钥传输方法的另一实施例的流程示意图,图5为图4对应的系统结构示意图。本实施例以Domain U获取IP地址并根据IP地址与云平台建立传输通道为例。与上一实施例不同的是,本实施例中每个Domain U的系统卷文件中包含的是启动加载系统(boot loader OS),用以替代上一实施例中的boot loader程序。boot loaderOS是一种微操作系统,不仅具有boot loader程序的功能,还具有如下功能(I)网卡驱动能利用vBIOS虚拟出来的虚拟网卡功能;(2)动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)客户端功能能向DHCP服务器申请分配IP地址;(3)TCP/UDP/IP协议栈能与云平台的加密管理模块建立安全的IP通道,例如,安全套接层(Secure Sockets Layer, SSL)通道,从而获取密钥。由于设置了上述的boot loader OS,该boot loader OS可以通过虚拟网卡从DHCP服务器申请到IP地址,并根据IP地址建立与加密管理平台的连接,因此,本实施例中不需要通过hypervisor建立传输通道。
在z 服务器启动后,可以启动Domain O。云平台对Domain U进行预启动操作,预启动操作过程中启动boot loader OS模块。类似对boot loader的处理,在系统卷文件中可以设置boot loader OS,并且bootloader OS不加密,因此在预启动过程中可以启动boot loader OS模块。之后,参见图4,本实施例包括步骤401 :启动加载系统(boot loade r OS)模块通过虚拟网卡向DHCP服务器发送IP地址申请消息。步骤402 =DHCP服务器向boot loader OS模块返回分配的IP地址。步骤403:boot loader OS模块根据获取的IP地址与加密管理模块建立传输通道。步骤404:boot loader OS模块通过建立的传输通道向加密管理模块发送密钥请求消息,该密钥请求消息中携带Domain U的标识信息。步骤405 :加密管理模块向密钥管理模块发送密钥请求消息,其中携带Domain U的标识信息。步骤406 :密钥管理模块根据Domain U的标识信息确定出对应的密钥,并向加密管理模块返回密钥。步骤407 :加密管理模块通过已经建立的传输通道,向boot loader OS模块返回密钥。另外,如果是不同的Domain U并行进行解密处理,则上述返回密钥的消息中还可以进一步携带对应的Domain U的标识信息。当然,如果各Domain U是串行进行解密处理,则也可以不携带Domain U的标识信息。步骤408 boot loader OS模块采用密钥解密Domain U的操作系统并启动。由于boot loader OS具有boot loader的功能,因此,类似上一实施例中bootloader的处理流程可以实现操作系统的解密及启动。本实施例通过设置boot loader OS,可以获取IP地址并建立Domain O和DomainU之间的传输通道,可以实现Domain U与云平台间的通道连接,从而可以从云平台获取密钥,实现对操作系统的解密和启动。上述描述了解密流程,对于加密流程可以如下执行。可以理解的是,下述的加密流程可以应用在上述的解密流程之前,即虚拟机在正常启动操作系统后,可以对数据进行全盘加密,全盘加密后可以关闭虚拟机,在下次需要再次启动虚拟机时,再次启动虚拟机的预启动阶段便可以采用上述的解密流程进行处理。图6为本发明中加密方法的一实施例的流程示意图,包括步骤601 :加密代理模块的加解密模块接收卷加密指令。步骤602 :加解密模块向加密代理模块的前端密钥传递模块发送申请密钥请求消
肩、O步骤603 :加密代理模块的前端密钥传递模块通过hypervisor内的传输通道,向Domain O内的后端密钥传递模块发送申请密钥请求消息。步骤604 :后端密钥传递模块在申请密钥请求消息中添加Domain U的标识信息后,发送给加密管理模块。其中,后端密钥传递模块可以根据共享内存的信息确定Domain U的标识信息。步骤605 :加密管理模块转发该包含Domain U的标识信息的申请密钥请求消息给密钥管理模块。步骤606 :密钥管理模块根据Domain U的标识信息,生成对应的密钥。步骤607 :密钥管理模块向加密管理模块返回密钥。步骤608 :加密管理模块向后端密钥传递模块返回密钥。步骤609 :后端密钥传递模块通过hypervisor内的传输通道,向前端密钥传输模块返回密钥。 另外,如果是不同的Domain U并行进行解密处理,则上述返回密钥的消息中还可以进一步携带对应的Domain U的标识信息。当然,如果各Domain U是串行进行解密处理,则也可以不携带Domain U的标识信息。步骤610 :前端密钥传递模块将密钥发送给加解密模块。步骤611 :加解密模块采用密钥加密卷,也就是采用密钥对虚拟机的数据进行全盘加密。本实施例中hypervisor内传输通道的建立以及Domain O对Domain U的标识信息的确定可以参见图2所示的实施例。图7为本发明中加密方法的另一实施例的流程示意图,由于加密时Domain U的操作系统已经启动,因此,Domain U可以获取IP地址,进而可以建立与云平台侧的连接。本实施例以Domain U与云平台之间建立连接为例。本实施例包括步骤701 :加密代理模块接收卷加密指令。步骤702 :加密代理模块通过已经建立的传输通道,向加密管理模块发送申请密钥请求消息,其中包含Domain U的标识信息。步骤703 :加密管理模块将包含Domain U的标识信息的申请密钥请求消息给密钥
管理模块。步骤704 :密钥管理模块根据Domain U的标识信息,生成对应的密钥。步骤705 :密钥管理模块向加密管理模块返回密钥。步骤706 :加密管理模块通过建立的传输通道,向加密代理模块返回密钥。另外,如果是不同的Domain U并行进行解密处理,则上述返回密钥的消息中还可以进一步携带对应的Domain U的标识信息。当然,如果各Domain U是串行进行解密处理,则也可以不携带Domain U的标识信息。步骤707 :加密代理模块采用密钥加密卷,也就是采用密钥对虚拟机的数据进行全盘加密。另外,上述实施例中,可以采用如下方式生成Domain U的标识信息首先在安装加密代理的时候,加密代理会根据一些信息(如VM的MAC+ —些随机数)按某种私有算法生成一个唯一的标识,这个标识在加密代理注册的时候就会给加密管理模块保持起来,并
给密钥管理系统。与密钥一一对应。加密代理程序应该在硬盘某一个位置写上一些信息,如MAC、随机数信息,后面boot Loader OS中的动态加解密模块要根据这些信息,然后根据私有的算法将这个标识计算出来,然后再密钥申请消息中带上这个标识。图8为本发明虚拟机全盘加密下预启动时的密钥传输设备的结构示意图,本实施例的设备可以为Domain U。该设备包括建立模块81、传输模块82和解密模块83 ;建立模块81用于进行处于全盘加密状态的虚拟机的预启动操作,并在预启动时,建立与云平台的传输通道,所述云平台用于提供密钥;传输模块82用于通过所述传输通道,向所述云平台请求密钥并接收所述云平台发送的密钥;解密模块83用于采用所述密钥解密并启动操作系统。所述建立模块为启动加载模块,所述启动加载模块用于确定超级监视器内为虚拟机分配的传输通道;通过所述超级监视器内为虚拟机分配的传输通道,得到虚拟机与云平台之间的传输通道。特别地,对于XEN场景,可以是Domain U内的启动加载模块通过超级监视器建立与Domain O的传输通道,而Domain O在启动后可以获取IP地址,也可以根据IP地址建立与云平台的传输通道,因此,Domain U可以通过Domain O建立与云平台的传输通道。所述传输模块具体用于通过所述超级监视器内的传输通道,向云平台发送密钥请求消息,所述密钥请求消息中携带虚拟机的标识信息;接收云平台返回的密钥,所述密钥为云平台根据所述虚拟机的标识信息确定的。所述建立模块为启动加载系统模块,所述启动加载系统模块用于在所述启动加载操作系统启动后向DHCP服务器申请IP,根据所述IP地址建立与云平台的传输通道。所述传输模块具体用于通过建立的IP通道,向云平台发送密钥请求消息,所述密钥请求消息中携带虚拟机的标识信息;接收云平台返回的密钥,所述密钥为云平台根据所述虚拟机的标识信息确定的。所述传输模块具体用于通过所述超级监视器内的传输通道,向宿主机发送密钥请求消息,并经由所述宿主机和云平台间的IP连接通道,将所述密钥请求消息发送给云平台,所述宿主机在所述虚拟机预启动前完成启动并获取IP地址以及与云平台建立IP连接通道。本实施例的设备还可以包括加密模块,用于在上次正常启动操作系统后,通过超级监视器内的传输通道,向云平台发送携带虚拟机的标识信息的密钥请求消息,接收所述云平台发送的根据所述虚拟机的标识信息确定的密钥,并采用所述密钥对所述虚拟机的数据进行全盘加密处理;或者,在上次正常启动操作系统后,获取IP地址,根据所述IP地址建立与云平台的IP连接,通过所述IP连接向云平台发送携带虚拟机的标识信息的密钥请求消息,接收所述云平台发送的根据所述虚拟机的标识信息确定的密钥,并采用所述密钥对所述虚拟机的数据进行全盘加密处理。另外,上述的解密模块和加密模块可以同属于一个物理模块,即相当于上述方法中的加解密模块。 本实施例通过在预启动阶段建立与提供密钥的云平台之间的传输通道,可以实现预启动阶段密钥的传输,能够使得虚拟机获取密钥,进而可以解密虚拟机的操作系统,并实现虚拟机的操作系统的启动,避免由于不能获取密钥而停留在预启动阶段。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范 围。
权利要求
1.一种虚拟机全盘加密下预启动时的密钥传输方法,其特征在于,包括 虚拟机进行预启动,所述虚拟机处于全盘加密状态; 所述虚拟机在预启动时,建立与云平台的传输通道,所述云平台用于提供密钥; 所述虚拟机通过所述传输通道,向所述云平台请求密钥并接收所述云平台发送的密钥; 所述虚拟机采用所述密钥解密并启动操作系统。
2.根据权利要求I所述的方法,其特征在于, 所述建立与云平台的传输通道,包括 确定超级监视器内为虚拟机分配的传输通道; 通过所述超级监视器内为虚拟机分配的传输通道,得到虚拟机与云平台之间的传输通道。
3.根据权利要求I所述的方法,其特征在于,所述建立与云平台的传输通道,包括 设置启动加载操作系统,并在所述启动加载操作系统启动后向DHCP服务器申请IP,根据所述IP地址建立与云平台的传输通道。
4.根据权利要求2所述的方法,其特征在于,所述向所述云平台请求密钥并接收所述云平台发送的密钥,包括 通过所述超级监视器内的传输通道,向云平台发送密钥请求消息,所述密钥请求消息中携带虚拟机的标识信息; 接收云平台返回的密钥,所述密钥为云平台根据所述虚拟机的标识信息确定的。
5.根据权利要求3所述的方法,其特征在于,所述向所述云平台请求密钥并接收所述云平台发送的密钥,包括 通过建立的IP通道,向云平台发送密钥请求消息,所述密钥请求消息中携带虚拟机的标识信息; 接收云平台返回的密钥,所述密钥为云平台根据所述虚拟机的标识信息确定的。
6.根据权利要求4所述的方法,其特征在于,所述通过所述超级监视器内的传输通道,向云平台发送密钥请求消息,包括 虚拟机通过所述超级监视器内的传输通道,向宿主机发送密钥请求消息,并经由所述宿主机和云平台间的IP连接通道,将所述密钥请求消息发送给云平台,所述宿主机在所述虚拟机预启动前完成启动并获取IP地址以及与云平台建立IP连接通道。
7.根据权利要求I所述的方法,其特征在于,所述虚拟机进行预启动之前,所述方法还包括 所述虚拟机在上次正常启动操作系统后,通过超级监视器内的传输通道,向云平台发送携带虚拟机的标识信息的密钥请求消息,接收所述云平台发送的根据所述虚拟机的标识信息确定的密钥,并采用所述密钥对所述虚拟机的数据进行全盘加密处理;或者, 所述虚拟机在上次正常启动操作系统后,获取IP地址,根据所述IP地址建立与云平台的IP连接,通过所述IP连接向云平台发送携带虚拟机的标识信息的密钥请求消息,接收所述云平台发送的根据所述虚拟机的标识信息确定的密钥,并采用所述密钥对所述虚拟机的数据进行全盘加密处理。
8.—种虚拟机全盘加密下预启动时的密钥传输设备,其特征在于,包括建立模块,用于进行处于全盘加密状态的虚拟机的预启动操作,并在预启动时,建立与云平台的传输通道,所述云平台用于提供密钥; 传输模块,用于通过所述传输通道,向所述云平台请求密钥并接收所述云平台发送的密钥; 解密模块,用于采用所述密钥解密并启动操作系统。
9.根据权利要求8所述的设备,其特征在于,所述建立模块为启动加载模块,所述启动加载模块用于确定超级监视器内为虚拟机分配的传输通道;通过所述超级监视器内为虚拟机分配的传输通道,得到虚拟机与云平台之间的传输通道。
10.根据权利要求8所述的设备,其特征在于,所述建立模块为启动加载系统模块,所述启动加载系统模块用于在所述启动加载操作系统启动后向DHCP服务器申请IP,根据所述IP地址建立与云平台的传输通道。
11.根据权利要求9所述的设备,其特征在于,所述传输模块具体用于 通过所述超级监视器内的传输通道,向云平台发送密钥请求消息,所述密钥请求消息中携带虚拟机的标识信息; 接收云平台返回的密钥,所述密钥为云平台根据所述虚拟机的标识信息确定的。
12.根据权利要求10所述的设备,其特征在于,所述传输模块具体用于 通过建立的IP通道,向云平台发送密钥请求消息,所述密钥请求消息中携带虚拟机的标识信息; 接收云平台返回的密钥,所述密钥为云平台根据所述虚拟机的标识信息确定的。
13.根据权利要求11所述的设备,其特征在于,所述传输模块具体用于通过所述超级监视器内的传输通道,向宿主机发送密钥请求消息,并经由所述宿主机和云平台间的IP连接通道,将所述密钥请求消息发送给云平台,所述宿主机在所述虚拟机预启动前完成启动并获取IP地址以及与云平台建立IP连接通道。
14.根据权利要求8所述的设备,其特征在于,还包括 加密模块,用于在上次正常启动操作系统后,通过超级监视器内的传输通道,向云平台发送携带虚拟机的标识信息的密钥请求消息,接收所述云平台发送的根据所述虚拟机的标识信息确定的密钥,并采用所述密钥对所述虚拟机的数据进行全盘加密处理;或者,在上次正常启动操作系统后,获取IP地址,根据所述IP地址建立与云平台的IP连接,通过所述IP连接向云平台发送携带虚拟机的标识信息的密钥请求消息,接收所述云平台发送的根据所述虚拟机的标识信息确定的密钥,并采用所述密钥对所述虚拟机的数据进行全盘加密处理。
全文摘要
本发明提供一种虚拟机全盘加密下预启动时的密钥传输方法和设备。该方法包括虚拟机进行预启动,所述虚拟机处于全盘加密状态;所述虚拟机在预启动时,建立与云平台的传输通道,所述云平台用于提供密钥;所述虚拟机通过所述传输通道,向所述云平台请求密钥并接收所述云平台发送的密钥;所述虚拟机采用所述密钥解密并启动操作系统。本发明实施例可以在虚拟机预启动阶段实现密钥传输,进而启动虚拟机。
文档编号H04L29/08GK102726027SQ201180003438
公开日2012年10月10日 申请日期2011年12月28日 优先权日2011年12月28日
发明者刘新保 申请人:华为技术有限公司