虚拟机镜像文件的导出、导入方法及装置制造方法

文档序号:6635540阅读:571来源:国知局
虚拟机镜像文件的导出、导入方法及装置制造方法
【专利摘要】本申请提供了一种虚拟机镜像文件的导出方法及装置,及一种虚拟机镜像文件的导入方法及装置,其中,虚拟机镜像文件的导出方法包括:从云环境中获取原始虚拟机镜像文件;基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名;将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,以得到目标虚拟机镜像文件,并保存插入所述虚拟机镜像签名的目标位置信息。在本申请实施例中,可以实现对云环境中的虚拟机镜像文件进行安全防护,保证只能有虚拟机镜像文件的所属用户和云环境能够运行使用,提高了虚拟机镜像文件和云环境的安全性。
【专利说明】虚拟机镜像文件的导出、导入方法及装置

【技术领域】
[0001]本申请涉及云环境【技术领域】,特别涉及一种虚拟机镜像文件的导出方法及装置,以及,一种虚拟机镜像文件的导入方法及装置。

【背景技术】
[0002]在虚拟数据中心环境下,虚拟机以镜像文件形式存在,虚拟机镜像文件存储在主机的本地存储或是专用存储设备当中。虚拟机镜像以文件形式存储着虚拟机信息,包括操作系统、应用及数据信息。在私有云环境中,一旦虚拟机镜像文件被导出进而被传播或窃取到私有云环境之外,由于镜像文件没有任何安全保护措施,虚拟机镜像文件可以被识别并运行起来,进而泄露虚拟机上用户的私有机密信息。因此,如何保护云环境的虚拟机上的用户信息就成为比较重要的问题。
[0003]现有技术中在对虚拟机镜像文件导出和导入过程中,采用传统的加密解密方式进行处理。
[0004]然而发明人在研宄过程中发现:
[0005]首先,现有技术的加解密算法复杂,每次虚拟机启动时都需要进行复杂的解密处理,耗费时间较长,使得虚拟机镜像文件导出和导入的过程比较漫长从而效率低下。此外,现有技术也需要复杂的密钥生成及管理系统,这就使云计算平台系统的复杂性也随之增加,进一步的,也严重影响了用户体验。


【发明内容】

[0006]本申请所要解决的技术问题是提供一种虚拟机镜像文件的导出方法及虚拟机镜像文件的导入方法,用以尽量避免现有技术中复杂的加解密算法,从而减少虚拟机镜像文件在导出和导入过程中耗费的时间,以提高虚拟机镜像文件的导出和导入效率;并且本申请中也无需复杂的密钥生成及管理系统,也降低了云计算平台计算系统的复杂性。
[0007]本申请还提供了一种虚拟机镜像文件的导出装置及一种虚拟机镜像文件的导入装置,用以保证上述方法在实际中的实现及应用。
[0008]为了解决上述问题,本申请公开了一种虚拟机镜像文件的导出方法,包括:
[0009]从云环境中获取原始虚拟机镜像文件;
[0010]基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名;
[0011]将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,以得到目标虚拟机镜像文件,并保存插入所述虚拟机镜像签名的目标位置信息。
[0012]可选的,所述基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名,包括:
[0013]采用哈希算法计算所述原始虚拟机镜像文件的第一哈希值;
[0014]从所述云环境中获取所述原始虚拟机镜像文件的第一用户签名;
[0015]将所述第一哈希值和第一用户签名通过非对称加密算法加密,以得到虚拟机镜像签名。
[0016]可选的,所述将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,包括:
[0017]采用随机算法生成一个随机数,所述随机数为:大于零且小于所述原始虚拟机镜像文件的字节数的整数;
[0018]将所述虚拟机镜像签名插入至所述随机数表示的、所述原始虚拟机镜像文件中的目标位置信息。
[0019]本申请公开了另一种虚拟机镜像文件的导入方法,包括:
[0020]获取待导入的目标虚拟机镜像文件;
[0021]参考预先保存的、插入虚拟机镜像签名的目标位置信息,从所述目标虚拟机镜像文件中解析出虚拟机镜像签名;
[0022]从所述虚拟机镜像签名中提取第二哈希值和第二用户签名;
[0023]将删除了所述虚拟机镜像签名的目标虚拟机镜像文件作为原始虚拟机镜像文件,判断所述原始虚拟机镜像文件的第三哈希值与所述第二哈希值,与从云环境中读取的第三用户签名和所述第二用户签名是否都相同;
[0024]如果是,则将所述原始虚拟机镜像文件导入至云环境中。
[0025]可选的,所述判断所述原始虚拟机镜像文件的第三哈希值与所述第二哈希值,与从云环境中读取的第三用户签名和所述第二用户签名是否分别相同,包括:
[0026]从云环境中读取第三用户签名;
[0027]判断所述第三用户签名与所述第二用户签名是否相同,如果否,则计算所述原始虚拟机镜像文件的第三哈希值,如果是,则终止流程;
[0028]判断所述第三哈希值与所述第二哈希值是否相同。
[0029]可选的,所述从所述虚拟机镜像签名中提取第二哈希值和第二用户签名,包括:
[0030]获取对所述第二哈希值和第二用户签名采用非对称算法加密算法进行加密时对应的解密密钥;
[0031]利用所述解密密钥对所述虚拟机镜像签名进行解密,以得到所述第二哈希值和第二用户签名。
[0032]本申请公开了一种虚拟机镜像文件的导出装置,包括:
[0033]获取原始文件模块,用于从云环境中获取原始虚拟机镜像文件;
[0034]生成镜像签名模块,用于基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名;
[0035]插入镜像签名模块,用于将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,以得到目标虚拟机镜像文件;
[0036]保存模块,用于保存插入所述虚拟机镜像签名的目标位置信息。
[0037]可选的,所述生成镜像签名模块,包括:
[0038]计算子模块,用于采用哈希算法计算所述原始虚拟机镜像文件的第一哈希值;
[0039]获取子模块,用于从所述云环境中获取所述原始虚拟机镜像文件的第一用户签名;
[0040]加密子模块,用于将所述第一哈希值和第一用户签名通过非对称加密算法加密,以得到虚拟机镜像签名。
[0041]可选的,插入镜像签名模块包括:
[0042]生成随机数子模块,用于采用随机算法生成一个随机数,所述随机数为:大于零且小于所述原始虚拟机镜像文件的字节数的整数;
[0043]插入子模块,用于将所述虚拟机镜像签名插入至所述随机数表示的、所述原始虚拟机镜像文件中的目标位置信息。
[0044]本申请公开了一种虚拟机镜像文件的导入装置,包括:
[0045]获取模块,用于获取待导入的目标虚拟机镜像文件;
[0046]解析模块,用于参考预先保存的、插入虚拟机镜像签名的目标位置信息,从所述目标虚拟机镜像文件中解析出虚拟机镜像签名;
[0047]提取模块,用于从所述虚拟机镜像签名中提取第二哈希值和第二用户签名;
[0048]判断模块,用于将删除了所述虚拟机镜像签名的目标虚拟机镜像文件作为原始虚拟机镜像文件,判断所述原始虚拟机镜像文件的第三哈希值与所述第二哈希值,与从云环境中读取的第三用户签名和所述第二用户签名是否都相同;
[0049]导入模块,用于在所述判断模块的结果为是的情况下,将所述原始虚拟机镜像文件导入至云环境中。
[0050]可选的,所述判断模块包括:
[0051]读取子模块,用于从云环境中读取第三用户签名;
[0052]判断子模块,用于判断所述第三用户签名与所述第二用户签名是否相同;
[0053]计算子模块,用于在所述第一判断子模块的结果为否的情况下,计算所述原始虚拟机镜像文件的第三哈希值;
[0054]第二判断子模块,用于判断所述第三哈希值与所述第二哈希值是否相同。
[0055]可选的,所述提取模块包括:
[0056]获取子模块,用于获取对所述第二哈希值和第二用户签名采用非对称算法加密算法进行加密时对应的解密密钥;
[0057]解密子模块,用于利用所述解密密钥对所述虚拟机镜像签名进行解密,以得到所述第二哈希值和第二用户签名。
[0058]与现有技术相比,本申请包括以下优点:
[0059]可见,在本申请实施例中,基于用户签名和哈希值来生成虚拟机镜像签名,并且基于随机码动态生成虚拟机镜像签名的插入位置,从而实现对云环境中的虚拟机镜像文件进行安全防护,保证只能有虚拟机镜像文件的所属用户和云环境能够运行使用,提高了虚拟机镜像文件和云环境的安全性,也无需现有技术中复杂的加解密算法,从而节约了导出虚拟机镜像文件的时间,提高了虚拟机镜像文件的导出效率,进一步的,也降低了云计算平台系统的复杂性,提升了用户使用体验。
[0060]当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

【专利附图】

【附图说明】
[0061]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0062]图1是本申请实施例实际应用的系统模型的结构图;
[0063]图2是本申请的虚拟机镜像文件的导出方法实施例的流程图;
[0064]图3是本申请的虚拟机镜像文件的导入方法实施例的流程图;
[0065]图4是本申请的虚拟机镜像文件的导出装置实施例的结构示意图;
[0066]图5是本申请的虚拟机镜像文件的导入装置实施例的结构示意图。

【具体实施方式】
[0067]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0068]本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
[0069]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0070]为了方便本领域技术人员对本申请实施例有更形象化的理解,下面首先对本申请实施例的应用场景进行介绍。
[0071]在本申请实施例中,为了有效保护云环境的用户的虚拟机镜像文件的安全,防止由于虚拟机镜像文件的泄露而导致用户机密信息的泄露,同时也防止虚拟机镜像文件被恶意篡改,导致恶意脚本进入云环境中造成破坏,进而提高虚拟机镜像文件的安全,并保障云计算环境的安全性,在本实施例中提出了如图1所示的本申请实施例实际应用的系统模型。在图1中,虚拟化环境为:通过服务器虚拟化技术,并利用虚拟化操作系统整合服务器,从而能够提供弹性计算资源池的云环境。虚拟化连接器为:连接不同厂商的不同虚拟化环境,以屏蔽不同虚拟化平台的异构性,从而能够构建连接通道,来传递对虚拟化环境中的虚拟机镜像文件进行导出及导入等命令。镜像读取器主要接收虚拟机镜像文件的读取命令,能通过连接虚拟化连接器,实现虚拟机镜像文件的读取和写入、支持断点续传、多线程读取、任务管理、实现虚拟机镜像文件的快速导入导出。镜像哈希值生成器能够根据预定算法负责对导出的虚拟机镜像文件进行散列,生成虚拟机镜像的哈希值,该哈希值用于实现对虚拟机镜像文件防篡改校验和防护功能。用户签名生成器可以根据虚拟机镜像文件所属用户ID,读取用户信息,并对用户的标识信息处理形成用户签名。镜像签名生成器用来组合虚拟机镜像文件的哈希值和用户签名信息,并对组合之后的字符串通过非对称加密算法,形成镜像签名。签名位置生成器可以通过随机数生成算法,根据虚拟机镜像文件的字节大小,随机生成镜像签名的插入位置。镜像安全管理器可以根据生成的签名位置,将镜像签名插入到虚拟机镜像文件当中,并保存插入镜像签名之后的虚拟机镜像文件。数据库为云管理系统的后端数据库,用来保存虚拟资源、用户等系统关键信息。
[0072]参考图2,示出了本申请一种虚拟机镜像文件的导出方法实施例的流程图,本实施例可以包括以下步骤:
[0073]步骤201:从云环境中获取原始虚拟机镜像文件。
[0074]首先,本步骤需要从云环境中获取到原始虚拟机镜像文件,可以通过现有技术的方式导出虚拟机镜像文件。在虚拟机镜像文件导出过程中,可以通过虚拟化连接器来发送或读取导出虚拟机镜像文件的命令,进而从云环境中导出虚拟机镜像文件。
[0075]步骤202:基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名。
[0076]在本步骤中对导出的虚拟机镜像文件通过哈希算法计算原始虚拟机镜像文件的第一哈希值。这里哈希算法已经很成熟不必重新设计新的哈希算法,可以直接利用现有的如MD5、SHA1等哈希算法。接着从云环境中读取该原始虚拟机镜像文件的第一用户签名,并将第一哈希值和第一用户签名组合在一起,通过非对称加密算法加密,进而形成虚拟机镜像签名,进一步提升安全性。
[0077]可见,本步骤在具体实施时可以包括:
[0078]步骤Al:采用哈希算法计算所述原始虚拟机镜像文件的第一哈希值。
[0079]为了提高虚拟机镜像文件的安全性,本申请实施例中采用哈希值和用户签名同时使用的方式,首先可以采用现有的哈希算法计算出原始虚拟机镜像文件的第一哈希值。
[0080]步骤A2:从所述云环境中获取所述原始虚拟机镜像文件的第一用户签名。
[0081]再从云环境中获取到原始虚拟机镜像文件的第一用户签名,其中,用户签名例如可以采用用户邮箱和用户账户名结合的方式。可以理解的是,步骤Al和步骤A2的先后顺序不受限定。
[0082]步骤A3:将所述第一哈希值和第一用户签名通过非对称加密算法加密,以得到虚拟机镜像签名。
[0083]将第一哈希值和第一用户签名通过非对称加密算法加密,以得到密文,即虚拟机镜像签名。
[0084]步骤203:将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,以得到目标虚拟机镜像文件。
[0085]再将虚拟机镜像签名插入至原始虚拟机镜像文件的目标位置中,从而得到目标虚拟机镜像文件。
[0086]其中,本步骤在具体实施时,可以包括:
[0087]步骤B1:采用随机算法生成一个随机数,所述随机数为:大于零且小于所述原始虚拟机镜像文件的字节数的整数。
[0088]首先,可以采用随机算法生成器生成一个随机数,该随机数的范围在Ο-m之间,其中m为原始虚拟机镜像文件的字节大小值。此随可以机数用于标识镜像签名插入到虚拟机镜像的目标起始位置。
[0089]步骤B2:将所述虚拟机镜像签名插入至所述随机数表示的、所述原始虚拟机镜像文件中的目标位置。
[0090]而根据随机数生成的目标起始位置,将虚拟机镜像签名插入到原始虚拟机镜像文件中,形成目标虚拟机镜像文件,该目标虚拟机镜像文件即是经过加密的具体安全性的虚拟机镜像文件。
[0091]步骤204:保存插入所述虚拟机镜像签名的目标位置信息。
[0092]最后将该虚拟机镜像签名插入的目标起始位置进行保存,可以存储在云系统中也可以写入到原始虚拟机镜像文件中,在本实施例中可以在原始虚拟机镜像文件的最后一个字节处保存目标位置信息。
[0093]可见,在本申请实施例中,基于用户签名和哈希值来生成虚拟机镜像签名,并且基于随机码动态生成虚拟机镜像签名的插入位置,从而实现对云环境中的虚拟机镜像文件进行安全防护,保证只能有虚拟机镜像文件的所属用户和云环境能够运行使用,提高了虚拟机镜像文件和云环境的安全性,也无需现有技术中复杂的加解密算法,从而节约了导出虚拟机镜像文件的时间,提高了虚拟机镜像文件的导出效率,进一步的,也降低了云计算平台系统的复杂性,提升了用户使用体验。
[0094]参考图3,示出了本申请一种虚拟机镜像文件的导入方法实施例的流程图,本实施例可以包括以下步骤:
[0095]步骤301:获取待导入的目标虚拟机镜像文件。
[0096]首先,获取待导入至云环境中的目标虚拟机镜像文件,该目标虚拟机镜像文件是经过图1所示的导出方法进行处理后的目标虚拟机镜像文件。
[0097]步骤302:参考预先保存的、插入虚拟机镜像签名的目标位置信息,从所述目标虚拟机镜像文件中解析出虚拟机镜像签名。
[0098]在本申请实施例中,参考预先保存的插入虚拟机镜像签名的目标位置,可以知道虚拟机镜像签名在哪儿存储,然后从目标虚拟机镜像文件中的对应存储位置解析出虚拟机镜像签名。例如,从导入的目标虚拟机镜像文件中的最后一个字节处解析出虚拟机镜像签名插入的目标位置,然后参考该目标位置从目标虚拟机镜像文件中解析出虚拟机镜像签名。
[0099]步骤303:从所述虚拟机镜像签名中提取第二哈希值和第二用户签名。
[0100]在本步骤中,参考图1所示的实施例,应用非对称算法加密时的对应解密秘钥,将虚拟机镜像签名进行解密,从而从虚拟机镜像签名中获得第二哈希值和第二用户签名。
[0101]可见,本步骤在具体实施时具体可以包括:
[0102]步骤Cl:获取对所述第二哈希值和第二用户签名采用非对称算法加密算法进行加密时对应的解密密钥。
[0103]步骤C2:利用所述解密密钥对所述虚拟机镜像签名进行解密,以得到所述第二哈希值和第二用户签名。
[0104]步骤303:将删除了所述虚拟机镜像签名的目标虚拟机镜像文件作为原始虚拟机镜像文件,判断所述原始虚拟机镜像文件的第三哈希值与所述第二哈希值,与从云环境中读取的第三用户签名和所述第二用户签名是否都相同,如果是,则进入步骤304。
[0105]在实际应用中,步骤303具体实施时,具体可以包括:
[0106]步骤Dl:从云环境中读取第三用户签名;
[0107]提取出第二哈希值和第二用户签名之后,可以从云环境中读取第三用户签名。
[0108]步骤D2:判断所述第三用户签名与所述第二用户签名是否相同,如果否,则进入步骤D3;如果是,则终止流程;
[0109]判断第三用户签名和第二用户签名是否相同,如果不同则终止导入流程。
[0110]步骤D3:将删除了所述虚拟机镜像签名的目标虚拟机镜像文件作为原始虚拟机镜像文件,计算所述原始虚拟机镜像文件的第三哈希值。
[0111]如果用户签名相同,说明虚拟机镜像文件属于同一个用户,则根据当前去掉虚拟机镜像签名的目标虚拟机镜像文件计算第三哈希值。
[0112]步骤D4:判断所述第三哈希值与所述第二哈希值是否相同。如果是,进入步骤304,如果否,则终止流程。
[0113]接着比较计算得到的第三哈希值与提取出的第二哈希值是否相同,如果不同则认为虚拟机镜像已经遭到破坏或篡改,也会终止导入流程。
[0114]步骤304:将所述原始虚拟机镜像文件导入至云环境中。
[0115]而只有当用户签名和哈希值均正确时,才会将去掉虚拟机镜像签名的原始虚拟机镜像文件导入到云环境中,从而确保原始虚拟机镜像文件只能由其所属用户使用,有效防止虚拟机镜像被恶意传输或拷贝出当前云环境,在其他云环境之上被导入运行的现象。
[0116]可见,在本申请实施例中,可以实现对云环境中的虚拟机镜像文件进行安全防护,保证只能有虚拟机镜像文件的所属用户和云环境能够运行使用,避免泄露用户相关的机密信息,并且防止云环境下不经检查就导入带有恶意脚本的虚拟机镜像文件对云环境造成的巨大破坏,从而提高了虚拟机镜像文件和云环境的安全性。并且本申请实施例也无需现有技术中复杂的加解密算法,从而节约了导入虚拟机镜像文件的时间,提高了虚拟机镜像文件的导入效率,进一步的,也降低了云计算平台系统的复杂性,提升了用户使用体验。
[0117]对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0118]与上述本申请一种自动生成课件的配置文件的方法实施例所提供的方法相对应,参见图4,本申请还提供了一种虚拟机镜像文件的导出装置实施例,在本实施例中,该装置可以包括:
[0119]获取原始文件模块401,用于从云环境中获取原始虚拟机镜像文件。
[0120]生成镜像签名模块402,用于基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名。
[0121]其中,所述生成镜像签名模块402,具体可以包括:
[0122]计算子模块,用于采用哈希算法计算所述原始虚拟机镜像文件的第一哈希值;获取子模块,用于从所述云环境中获取所述原始虚拟机镜像文件的第一用户签名;和,加密子模块,用于将所述第一哈希值和第一用户签名通过非对称加密算法加密,以得到虚拟机镜像签名。
[0123]插入镜像签名模块403,用于将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,以得到目标虚拟机镜像文件。
[0124]其中,插入镜像签名模块403具体可以包括:
[0125]生成随机数子模块,用于采用随机算法生成一个随机数,所述随机数为:大于零且小于所述原始虚拟机镜像文件的字节数的整数;和,插入子模块,用于将所述虚拟机镜像签名插入至所述随机数表示的、所述原始虚拟机镜像文件中的目标位置。
[0126]保存模块404,用于保存插入所述虚拟机镜像签名的目标位置信息。
[0127]其中,所述保存模块404,具体可以包括:
[0128]查找子模块,用于在所述原始虚拟机镜像文件中查找最后一个字节;和,保存子模块,用于在所述最后一个字节处保存插入所述虚拟机镜像签名的目标位置信息。
[0129]在本申请实施例中,基于用户签名和哈希值来生成虚拟机镜像签名,并且基于随机码动态生成虚拟机镜像签名的插入位置,从而实现对云环境中的虚拟机镜像文件进行安全防护,保证只能有虚拟机镜像文件的所属用户和云环境能够运行使用,提高了虚拟机镜像文件和云环境的安全性,也无需现有技术中复杂的加解密算法,从而节约了导出虚拟机镜像文件的时间,提高了虚拟机镜像文件的导出效率,进一步的,也降低了云计算平台系统的复杂性,提升了用户使用体验。
[0130]与上述本申请一种自动生成课件的配置文件的方法实施例所提供的方法相对应,参见图5,本申请还提供了一种虚拟机镜像文件的导入装置实施例,在本实施例中,该装置可以包括:
[0131]获取模块501,用于获取待导入的目标虚拟机镜像文件。
[0132]解析模块502,用于参考预先保存的、插入虚拟机镜像签名的目标位置信息,从所述目标虚拟机镜像文件中解析出虚拟机镜像签名。
[0133]提取模块503,用于从所述虚拟机镜像签名中提取第二哈希值和第二用户签名。
[0134]其中,提取模块503具体可以包括:
[0135]获取子模块,用于获取对所述第二哈希值和第二用户签名采用非对称算法加密算法进行加密时对应的解密密钥;和,解密子模块,用于利用所述解密密钥对所述虚拟机镜像签名进行解密,以得到所述第二哈希值和第二用户签名。
[0136]判断模块504,用于将删除了所述虚拟机镜像签名的目标虚拟机镜像文件作为原始虚拟机镜像文件,判断所述原始虚拟机镜像文件的第三哈希值与所述第二哈希值,与从云环境中读取的第三用户签名和所述第二用户签名是否都相同。
[0137]其中,所述判断模块504具体可以包括:
[0138]读取子模块,用于从云环境中读取第三用户签名;判断子模块,用于判断所述第三用户签名与所述第二用户签名是否相同;计算子模块,用于在所述第一判断子模块的结果为否的情况下,计算所述原始虚拟机镜像文件的第三哈希值;和,第二判断子模块,用于判断所述第三哈希值与所述第二哈希值是否相同。
[0139]导入模块505,用于在所述判断模块的结果为是的情况下,将所述原始虚拟机镜像文件导入至云环境中。
[0140]在本申请实施例中,可以实现对云环境中的虚拟机镜像文件进行安全防护,保证只能有虚拟机镜像文件的所属用户和云环境能够运行使用,避免泄露用户相关的机密信息,并且防止云环境下不经检查就导入带有恶意脚本的虚拟机镜像文件对云环境造成的巨大破坏,从而提高了虚拟机镜像文件和云环境的安全性。并且本申请实施例也无需现有技术中复杂的加解密算法,从而节约了导入虚拟机镜像文件的时间,提高了虚拟机镜像文件的导入效率,进一步的,也降低了云计算平台系统的复杂性,提升了用户使用体验。
[0141]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0142]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0143]以上对本申请所提供的虚拟机镜像文件的导出方法及装置、虚拟机镜像文件的导入方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种虚拟机镜像文件的导出方法,其特征在于,该方法包括: 从云环境中获取原始虚拟机镜像文件; 基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名;将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,以得到目标虚拟机镜像文件,并保存插入所述虚拟机镜像签名的目标位置信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名,包括: 采用哈希算法计算所述原始虚拟机镜像文件的第一哈希值; 从所述云环境中获取所述原始虚拟机镜像文件的第一用户签名; 将所述第一哈希值和第一用户签名通过非对称加密算法加密,以得到虚拟机镜像签名。
3.根据权利要求1所述的方法,其特征在于,所述将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,包括: 采用随机算法生成一个随机数,所述随机数为:大于零且小于所述原始虚拟机镜像文件的字节数的整数; 将所述虚拟机镜像签名插入至所述随机数表示的、所述原始虚拟机镜像文件中的目标位置信息。
4.一种虚拟机镜像文件的导入方法,其特征在于,包括: 获取待导入的目标虚拟机镜像文件; 参考预先保存的、插入虚拟机镜像签名的目标位置信息,从所述目标虚拟机镜像文件中解析出虚拟机镜像签名; 从所述虚拟机镜像签名中提取第二哈希值和第二用户签名; 将删除了所述虚拟机镜像签名的目标虚拟机镜像文件作为原始虚拟机镜像文件,判断所述原始虚拟机镜像文件的第三哈希值与所述第二哈希值,与从云环境中读取的第三用户签名和所述第二用户签名是否都相同; 如果是,则将所述原始虚拟机镜像文件导入至云环境中。
5.根据权利要求4所述的方法,其特征在于,所述判断所述原始虚拟机镜像文件的第三哈希值与所述第二哈希值,与从云环境中读取的第三用户签名和所述第二用户签名是否分别相同,包括: 从云环境中读取第三用户签名; 判断所述第三用户签名与所述第二用户签名是否相同,如果否,则计算所述原始虚拟机镜像文件的第三哈希值,如果是,则终止流程; 判断所述第三哈希值与所述第二哈希值是否相同。
6.根据权利要求4所述的方法,其特征在于,所述从所述虚拟机镜像签名中提取第二哈希值和第二用户签名,包括: 获取对所述第二哈希值和第二用户签名采用非对称算法加密算法进行加密时对应的解密密钥; 利用所述解密密钥对所述虚拟机镜像签名进行解密,以得到所述第二哈希值和第二用户签名。
7.—种虚拟机镜像文件的导出装置,其特征在于,包括: 获取原始文件模块,用于从云环境中获取原始虚拟机镜像文件; 生成镜像签名模块,用于基于所述原始虚拟机镜像文件的第一用户签名和第一哈希值,生成虚拟机镜像签名; 插入镜像签名模块,用于将所述虚拟机镜像签名插入至所述原始虚拟机镜像文件中的目标位置,以得到目标虚拟机镜像文件; 保存模块,用于保存插入所述虚拟机镜像签名的目标位置信息。
8.根据权利要求7所述的装置,其特征在于,所述生成镜像签名模块,包括: 计算子模块,用于采用哈希算法计算所述原始虚拟机镜像文件的第一哈希值; 获取子模块,用于从所述云环境中获取所述原始虚拟机镜像文件的第一用户签名; 加密子模块,用于将所述第一哈希值和第一用户签名通过非对称加密算法加密,以得到虚拟机镜像签名。
9.根据权利要求7所述的装置,其特征在于,插入镜像签名模块包括: 生成随机数子模块,用于采用随机算法生成一个随机数,所述随机数为:大于零且小于所述原始虚拟机镜像文件的字节数的整数; 插入子模块,用于将所述虚拟机镜像签名插入至所述随机数表示的、所述原始虚拟机镜像文件中的目标位置信息。
10.一种虚拟机镜像文件的导入装置,其特征在于,包括: 获取模块,用于获取待导入的目标虚拟机镜像文件; 解析模块,用于参考预先保存的、插入虚拟机镜像签名的目标位置信息,从所述目标虚拟机镜像文件中解析出虚拟机镜像签名; 提取模块,用于从所述虚拟机镜像签名中提取第二哈希值和第二用户签名; 判断模块,用于将删除了所述虚拟机镜像签名的目标虚拟机镜像文件作为原始虚拟机镜像文件,判断所述原始虚拟机镜像文件的第三哈希值与所述第二哈希值,与从云环境中读取的第三用户签名和所述第二用户签名是否都相同; 导入模块,用于在所述判断模块的结果为是的情况下,将所述原始虚拟机镜像文件导入至云环境中。
11.根据权利要求10所述的装置,其特征在于,所述判断模块包括: 读取子模块,用于从云环境中读取第三用户签名; 判断子模块,用于判断所述第三用户签名与所述第二用户签名是否相同; 计算子模块,用于在所述第一判断子模块的结果为否的情况下,计算所述原始虚拟机镜像文件的第三哈希值; 第二判断子模块,用于判断所述第三哈希值与所述第二哈希值是否相同。
12.根据权利要求10所述的装置,其特征在于,所述提取模块包括: 获取子模块,用于获取对所述第二哈希值和第二用户签名采用非对称算法加密算法进行加密时对应的解密密钥; 解密子模块,用于利用所述解密密钥对所述虚拟机镜像签名进行解密,以得到所述第二哈希值和第二用户签名。
【文档编号】G06F21/62GK104463012SQ201410681681
【公开日】2015年3月25日 申请日期:2014年11月24日 优先权日:2014年11月24日
【发明者】李金宝 申请人:东软集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1