由于虚拟机的硬件信息可以随意修改,使得虚拟机可能具有相同的硬件信息,在传统的应用软件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. 自制单片机之六……串行I2C总线E2PROM AT24CXXX的应用

    这一篇介绍I2C存储器的使用.主要是介绍AT24CXX系列器件,它分为两类,主要是通过被存储容量地址来分的,一类是AT24C02-AT24C16,它的存储容量从256字节到2048字节.另一类是AT2 ...

  2. 《iPhone高级编程—使用Mono Touch和.NET/C#》

    第1章 C#开发人员基于MonoTouch进行iPhone开发概述 1 1.1 产品对比 2 1.1.1 .NET Framework 2 1.1.2 Mono 2 1.1.3 MonoTouch 3 ...

  3. Android Content Provider简介

    Content Provider是Android的四大组件之一,与Activity和Service相同,使用之前需要注册: Android系统中存在大量的应用,当不同的应用程序之间需要共享数据时,可以 ...

  4. JVM基础和调优(一)

    最近的项目中,出现了内存和性能的问题,需要优化,所以趁着这个机会,把自己关于java虚拟机的东整理一下,不对的地方,欢迎指出. 数据类型,因为在java的优化的过程中,检测到的数据类型一般比较的基础, ...

  5. Mac下配置phpredis扩展

    最近把开发环境从windows转到Mac下,所有的环境都要重新来配置.由于Mac是基于unix系统的不太熟悉,所以遇到了很多问题. 安装phpredis扩展: 首先,大家先下载phpredis的扩展包 ...

  6. 【公告】CSDN个人空间将于2014年4月20日全新改版上线

    尊敬的用户:   你们好!           CSDN个人空间将在2014年4月20日全新改版上线!        CSDN个人空间是2008年8月推出的服务,致力于给广大用户提供在线技术分享和资料 ...

  7. 为人们服务的asp.net 验证控件

    ASP.NET是微软推出的WEB开发工具,他有很强大的功能,今天看视频讲到验证控件这一部分,真的感受到了微软全心全意为人民服务了.越来越佩服微软了,人家都设计出来了,咱们一定要会用才可以啊,不然太…. ...

  8. 【Linux】linux经常使用基本命令

    Linux中很多经常使用命令是必须掌握的,这里将我学linux入门时学的一些经常使用的基本命令分享给大家一下,希望能够帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题. 1.显 ...

  9. Linux基础知识(二)

    1. 请回答,32位和64位有什么区别呢?什么时候安装32位的,又什么时候安装64位操作系统呢?如何查看系统是32位的还是64位的? 所谓的32位.64位指的是CPU的GPRs(General-Pur ...

  10. CodeManage 源代码管理器v2.0发布

    下载地址 欢迎大家提出宝贵的意见和bug