由于虚拟机的硬件信息可以随意修改,使得虚拟机可能具有相同的硬件信息,在传统的应用软件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. cf Ping-Pong (Easy Version)

    http://codeforces.com/contest/320/problem/B 这道题看了很长时间没看懂, 就是个dfs: #include <cstdio> #include & ...

  2. 单例模式 - OK

    单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点. 一.单例模式 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象.一个最好的办法就是,让 ...

  3. android ListView用法介绍

    ListView在Android开发中是比较常用的组件,它是以列表的形式展示内容,并且还可以处理用户的选择与点击等操作: LIstView显示数据一般需要三方面: (1)ListView组件:用来展示 ...

  4. NOI2013 树的计数

    题目:http://uoj.ac/problem/122 85%做法: 动态规划. 首先重编号,BFS序变成1...n,然后DFS序相应重编号. 记pos[i]为i号点在DFS中的位置,即pos[d[ ...

  5. [原创]Web前端开发——让ie 7 8支持表单的placeholder属性

    今天在写页面的时候,测试低版本浏览器时,发现input写的placeholder显示的是空白,所以特意写了一个普遍试用的方法来让低版本浏览器支持这个属性. 博主建了一个技术共享qq群:,因为目前人数还 ...

  6. 正则表达式获取URL参数

    使用到的正则表达式: [^\?&]?参数名=[^&]+ document.location.getURLPara = function (name) { var reg = new R ...

  7. C语言--返回局部变量的地址

    我们可能会经常写出这样的代码: int  add(int  a , int  b) { return  a + b; } 当然,这是合理的写法,使函数的返回值为 int ,所以,调用函数后会返回一个i ...

  8. 如何将XML转换成XSD(XML Schema)文件

    将xml装换为xsd,先决条件是已经安装了Visual Stutio 1) 输入cmd在运行窗口 2) 将xsd的路径加入到path变量 set path=%path%;C:\Program File ...

  9. VCS仿真生成vpd文件(verilog)

    VCS仿真生成vpd文件(verilog) 一.环境与文件 Linux平台  csh环境 VCS 64bit 代码文件请参考<一个简单的Verilog计数器模型> 二.开始仿真 1.com ...

  10. 英文长单词断行 word-break VS word-wrap

    你真的了解word-wrap和word-break的区别吗? 这两个东西是什么,我相信至今还有很多人搞不清,只会死记硬背的写一个word-wrap:break-word;word-break:brea ...