http://www.h3c.com.cn/About_H3C/Company_Publication/IP_Lh/2013/01/Home/Catalog/201303/777791_30008_0.htm

由于虚拟机的硬件信息可以随意修改,使得虚拟机可能具有相同的硬件信息,在传统的应用软件License认证方式中会导致License认证漏洞。本专利提供了一种有效的解决方法。

文/王宏财

目前,云计算的概念已经被大家广为接受,数据中心三大组成部分——计算、网络和存储都在向虚拟化方向发展。其中,服务器一虚多的技术是云计算的核心技术之一。传统服务器由于服务器性能和网络通信端口的不匹配导致服务器计算性能的闲置浪费。虚拟软件是一种能够将一台物理服务器虚拟化成若干台逻辑服务器的软件,各逻辑服务器为运行在物理服务器上的虚拟机,各虚拟机上均具备CPU、内存、硬盘、主板、网卡等硬件环境,对于虚拟机上运行的应用软件,在虚拟机上运行与在物理服务器上运行没有差别。

传统的应用软件License认证过程为:应用软件在注册过程中,将所在设备的硬件信息发送给License文件生成设备,由其生成包含有该硬件信息的License文件,并将该License文件保存在应用软件中;注册过程结束之后,应用软件在认证过程中,首先获取应用软件当前所处设备的硬件信息,并通过比较License文件中记录的硬件信息与当前获得的硬件信息是否相同,从而确定License认证成功或者失败。

但是,由于虚拟机的硬件信息可以随意进行修改和克隆,多台虚拟机可能会具有相同的硬件信息,因此如果将传统的License认证方式应用在虚拟机上时,会导致License认证漏洞。例如,在某应用场景下,虚拟机1和虚拟机2具有相同的硬件信息,应用软件本应该运行在虚拟机1上,License文件中记录虚拟机1的硬件信息;但是在虚拟机2上认证该应用软件时,由于获取的虚拟机2的硬件信息与虚拟机1相同,因此,通过比较License文件中记录的硬件信息(虚拟机1的硬件信息)与应用软件当前所处设备的硬件信息(虚拟机2的硬件信息),会得出License认证成功的结果,但显然这一License认证结果并不符合实际情况。

为了解决该问题,本专利通过结合虚拟机所在物理服务器的信息来实现应用软件的License认证。具体如下:

1、在虚拟机上注册应用软件时,获取该应用软件当前所运行虚拟机的硬件信息,并获得该应用软件当前所运行虚拟机所在物理服务器的硬件信息和其在物理服务器上的唯一标识。

2、将虚拟机的硬件信息、虚拟机所在物理服务器的硬件信息和虚拟机在物理服务器上的唯一标识发送给License文件生成设备,License文件生成设备根据前述信息生成License文件,并将该License文件保存在应用软件中。

3、注册应用软件成功之后,在虚拟机上认证该应用软件时,获得该应用软件当前所运行虚拟机的硬件信息,并比较License文件中记录的虚拟机的硬件信息与获得的虚拟机的硬件信息;如果相同,则进一步获取应用软件当前所运行虚拟机所在物理服务器的硬件信息和该虚拟机在物理服务器上的唯一标识,与License文件中记录的相关信息进行比较,如果相同,确定License认证成功,否则,License认证失败。

当虚拟机发生克隆时,尽管虚拟机上的硬件信息未发生变化,但由于虚拟机在物理服务器上的唯一标识会发生变化,因此通过本发明技术,可以有效地解决虚拟机克隆过程中的License认证漏洞。

专利点评:

本发明通过在License文件中记录虚拟机所在物理服务器的硬件信息和虚拟机在物理服务器上的唯一识别标识,并利用License文件中记录的这些信息进行License认证,巧妙地利用了虚拟机在物理服务器上的唯一标识会随着虚拟机而发生变化的特点,从而避免了传统的License认证方式应用在虚拟机上时的认证失效。另外,本发明只需要多收集两个信息参数,不需要对现有网络进行任何改造,具有较高的应用价值。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐