由于虚拟机的硬件信息可以随意修改,使得虚拟机可能具有相同的硬件信息,在传统的应用软件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认证方式应用在虚拟机 上时的认证失效。另外,本发明只需要多收集两个信息参数,不需要对现有网络进行任何改造,具有较高的应用价值。

一种针对虚拟机的应用软件License认证方法的更多相关文章

  1. 深入了解三种针对文件(JSON、XML与INI)的配置源

    深入了解三种针对文件(JSON.XML与INI)的配置源 物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonCon ...

  2. [工控安全]“祝融”—一种针对PLC控制系统的欺骗攻击病毒

    “祝融”作为一种针对传统PLC控制系统的欺骗攻击病毒,所述的典型的PLC控制系统通常包括两部分: 用于组态.编程.监视.控制的工程师站(通常是PC设备) PLC控制器(通常如西门子.施耐德.三菱等厂家 ...

  3. java JAXB + STAX(是一种针对XML的流式拉分析API)读取xml

    JDK1.5需要添加jar包,1.6以后就不需要了<dependency> <groupId>stax</groupId> <artifactId>st ...

  4. 转载:一种云环境下SaaS软件部署方法及装置与流程

    转载:http://www.xjishu.com/zhuanli/55/201710103925.html 本发明涉及云计算技术领域,特别是涉及一种云环境下SaaS软件部署方法及装置. 背景技术: 随 ...

  5. jvm入门及理解(五)——运行时数据区(虚拟机栈)和本地方法接口

    一.虚拟机栈背景 由于跨平台性的设计,java的指令都是根据栈来设计的.不同平台CPU架构不同,所以不能设计为基于寄存器的. 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要 ...

  6. 把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进)

    #把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进) ##背景 项目中经常需要把JSON数据填充到页面表单,一开始我使用easyui自带的form load方法,觉得效率很低,经 ...

  7. 基于Qt有限状态机的一种实现方式和完善的人工智能方法

    基于Qt有限状态机的一种实现方式和完善的人工智能方法 人工智能在今年是一个非常火的方向,当然了.不不过今年,它一直火了非常多年,有关人工智能的一些算法层出不穷.人工智能在非常多领域都有应用,就拿我熟悉 ...

  8. 一种快速查询多点DS18B20温度的方法(转)

    源:http://hi.baidu.com/james_xiao/item/79b961c90623093e45941623 一种快速查询多点DS18B20温度的方法 引言      为了满足实时性要 ...

  9. Hyper-V与VirtualBox或VMware虚拟机软件冲突的解决方法(VirtualBox只能创建32位虚拟机)

    Hyper-V与VirtualBox或VMware虚拟机软件冲突的解决方法 Hyper-V是微软的虚拟化软件,功能类似VirtualBox.VMware,可以用来创建虚拟机. 虚拟化软件都是基于CPU ...

随机推荐

  1. ural 1586. Threeprime Numbers

    这道题看着别人的代码写的. #include <cstdio> #include <cstring> #define m 1000000009 using namespace ...

  2. GO不支持数组通过函数参数更改,有点不一样

    package main import "fmt" func modify(array []int) { array[] = fmt.Println("In modify ...

  3. Codeforces 479E Riding in a Lift

    http://codeforces.com/problemset/problem/432/D 题目大意: 给出一栋n层的楼,初始在a层,b层不能去,每次走的距离必须小于当前位置到b的距离,问用电梯来回 ...

  4. Katana 还是Owin ? 本地自承载

    使用Owin 将Web项目脱离 IIS确实很特别..... 由此 ,可以衍生出,一个新的通信渠道,本地Server的自承载. 1 Node.js 2 Python 3 Ruby 4 Owin (C#- ...

  5. 56个PHP开发常用代码

    2016/02/14 6203 4    在编写代码的时候有个神奇的工具总是好的!下面这里收集了 50+ PHP 代码片段,可以帮助你开发 PHP 项目. 这些 PHP 片段对于 PHP 初学者也非常 ...

  6. python linecache标准库基础学习

    #python标准库基础之:linecacge:高效读取文本文件#说明与作用"""可以从文件或者导入python模块获取文件,维护一个结果缓存,从而可以更高效地从相同文件 ...

  7. [Cycle.js] Customizing effects from the main function

    How can we show one string on the DOM, and a completely different string on Console log? This lesson ...

  8. ORACLE查看数据文件-控制文件-日志文件-表空间信息

    1.查看当前数据库中的所有用户:select username from dba_users; 2.查看当前会话登录的用户:show user或select username from user_us ...

  9. docke 网络配置2

    一,docker 的bridge模式是和vmware中的nat模式类似的,但是如果想要弄成和vmwae中的bridge怎么办呢? 说明,bridge模式获取的Ip是与宿主机的ip是出于同一个网段的. ...

  10. 阿里云主机SSD实例磁盘测试及IO调度算法调整

    测试背景及环境说明 阿里云ECS 主机配置: 4C8G root@zabbix-master:~# grep -i "model name" /proc/cpuinfo model ...