一种禁止虚拟机使用软件的许可证验证方法

文档序号:6638158阅读:2211来源:国知局
一种禁止虚拟机使用软件的许可证验证方法
【专利摘要】本发明涉及云计算【技术领域】,特别是指一种禁止虚拟机使用软件的许可证验证方法。本发明首先在生成许可证时,把硬盘序列号以及许可证开始生效到失效的间隔天数写入到许可证内;当软件首次运行时,读取硬盘当时的累计通电时间;在每次软件运行时,查询运行时硬盘的累计通电时间;如果查询的结果为空,表示软件当时在虚拟机中运行,验证不通过,软件自动退出;计算运行时硬盘的累计通电时间与初次运行时硬盘的累计通电时间的差值,如果大于许可证的间隔天数的话,那么表示许可证已经到期,验证不通过,软件自动退出;否则软件进入正常运行状态。本发明解决了虚拟机使用软件的许可问题;可以用于虚拟机软件使用的管理。
【专利说明】-种禁止虚拟机使用软件的许可证验证方法

【技术领域】
[0001] 本发明设及云计算【技术领域】,特别是指一种禁止虚拟机使用软件的许可证验证方 法。

【背景技术】
[0002] 在云计算环境下,越来越多的公司开始使用虚拟化数据中屯、和云服务。目前有部 分商业软件为了保证软件用户体验或者防止被大量复制而绕开付费机制,一般都采取措施 控制软件在虚拟机上安装和使用。目前商业软件采用的方式有两类,第一类通过采集用户 使用计算机上硬件的特征码生成许可证,如网卡物理地址、硬盘序列号等,在软件使用时进 行信息的采集,两个特征对比判断一致后,最后通过对比许可证有效期限与当前的日期后 验证许可证的有效性。第二类通过查询操作系统注册表的信息来判定计算机是否为虚拟 机,该种方法一般只适用于Windows操作系统。
[0003] 上述常用方法存在W下的弊端:
[0004] 1、硬件特征码可W进行修改,网卡物理地址和硬盘序列号等在虚拟机生成时可W 进行配置,并不是物理机的专属,虚拟机的硬件特征码也可W配置成与物理机类似,容易被 绕过。
[0005] 2、注册表也可W通过启动后修改而绕过限制,注册表的硬件信息虽然在虚拟机操 作系统重启后是重新读取的,但是在启动完成W后可W进行修改,去掉虚拟机的信息,从而 绕开验证的机制。
[0006] 3、可W通过修改操作系统的时间绕开验证。


【发明内容】

[0007] 本发明解决的技术问题在于提供一种禁止虚拟机使用软件的许可证验证方法,既 保证软件用户体验,又可防止软件被大量复制而绕开付费机制。
[000引本发明解决上述技术问题的技术方案是:
[0009] 所述的方法包括如下步骤:
[0010] 步骤1 ;生成许可证时,将硬盘序列号W及许可证开始生效到失效的间隔天数写 入到许可证;
[0011] 步骤2 ;软件首次运行时,调用操作系统的接口读取硬盘当时的累计通电时间;此 后,每次软件运行时,从许可证中读取硬盘序列号及间隔天数,并根据硬盘序列号查询运行 时硬盘的累计通电时间;
[0012] 步骤3 ;如果查询的结果为空,表示软件当时在虚拟机中运行,验证不通过,软件 自动退出;如果查询结果不为空,则计算运行时硬盘的累计通电时间与初次运行时硬盘的 累计通电时间的差值,如果大于许可证的间隔天数,表示许可证已经到期,验证不通过,软 件自动退出;否则软件进入正常运行状态。
[0013] 所述硬盘的累计通电时间在虚拟机中不能获取,可W作为辨识虚拟机与物理机的 特征。
[0014] 所述硬盘的累计通电时间在物理机中是一个随时间递增的值,可W作为计算物理 机已运行时间的一种手段。
[0015] 本发明能带来如下有益的效果:
[0016] 1、本发明的方法的硬盘的累计通电时间在虚拟机中不能获取,可W作为辨识虚拟 机与物理机的特征;
[0017] 2、本发明的方法通过读取硬盘累计通电时间来验证使用期限,此时间不可修改, 使用期限的验证不能被绕开。

【专利附图】

【附图说明】
[001引下面结合附图对本发明进一步说明:
[0019] 图1是本发明的流程图;
[0020] 图2是本发明根据硬盘使用时间进行验证的流程图。

【具体实施方式】
[0021] 本发明的实施方式有多种,该里W Linux下的ipt油les为例说明其中一种实现方 法,流程图如图1所示,具体实施过程如下:
[0022] 1、证书生成
[0023] 支持将添加磁盘序列号和使用时间长短(天数)的编码:
[0024] 例如;"Server, di skid = Z2F0RGFF"和"License. useDays = 30"
[0025] 其中Server. diskId从配置文件读取,而License. useDays可W根据当前系统日 期和到期时间算出来。
[0026] 代码实现:
[0027] String content = fileUtil. readProperties(propertyPath);
[002引 增加 License. useDays = **** -行内容。
[0029] 2、验证过程如图2所示
[0030] 1)获取磁盘序列号W及可使用天数
[0031] private boolean licenseVerifyO throws lOException, Exception
[0032]

【权利要求】
1. 一种禁止虚拟机使用软件的许可证验证方法,其特征在于:所述的方法包括如下步 骤: 步骤1:生成许可证时,将硬盘序列号以及许可证开始生效到失效的间隔天数写入到 许可证; 步骤2 :软件首次运行时,调用操作系统的接口读取硬盘当时的累计通电时间;此后, 每次软件运行时,从许可证中读取硬盘序列号及间隔天数,并根据硬盘序列号查询运行时 硬盘的累计通电时间; 步骤3 :如果查询的结果为空,表示软件当时在虚拟机中运行,验证不通过,软件自动 退出;如果查询结果不为空,则计算运行时硬盘的累计通电时间与初次运行时硬盘的累计 通电时间的差值,如果大于许可证的间隔天数,表示许可证已经到期,验证不通过,软件自 动退出;否则软件进入正常运行状态。
2. 根据权利要求1所述的禁止虚拟机使用软件的许可证验证方法,其特征在于:所述 硬盘的累计通电时间在虚拟机中不能获取,可以作为辨识虚拟机与物理机的特征。
3. 根据权利要求1或2所述的禁止虚拟机使用软件的许可证验证方法,其特征在于: 所述硬盘的累计通电时间在物理机中是一个随时间递增的值,可以作为计算物理机已运行 时间的一种手段。
【文档编号】G06F21/12GK104504308SQ201410758184
【公开日】2015年4月8日 申请日期:2014年12月11日 优先权日:2014年12月11日
【发明者】张能强, 杨松, 莫展鹏, 季统凯 申请人:国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1