离线状态下对软件实现时间限制的方法技术

技术编号:14521036 阅读:221 留言:0更新日期:2017-02-01 23:59
本发明专利技术提供一种离线状态下对软件实现时间限制的方法,所述软件安装在终端设备中,所述终端设备中设置存储有虚拟时间的安全容器,所述方法包括:在终端设备开机时,所述安全容器启动并计算终端设备的当前主机时间与上次关机时的主机时间之间的第一时间差值,且修改虚拟时间为当前虚拟时间加上所述第一时间差值;在终端设备运行期间,所述安全容器每隔预定时间修改虚拟时间为当前虚拟时间加上所述预定时间;在检测到当前虚拟时间已达到软件的到期时间时禁用软件。通过本发明专利技术的离线状态下对软件实现时间限制的方法,能够校准安全容器内的虚拟时间,并解决用户在离线状态下调整主机时间后对软件使用时间计时出错的问题。

【技术实现步骤摘要】

本专利技术涉及软件保护领域,尤其涉及一种离线状态下对软件实现时间限制的方法
技术介绍
在软件版权保护领域中,对软件的使用进行限时控制是常用的手段,例如软件定期试用、租赁、定期使用许可等模式,即软件只能在某一设定的日期之前被使用。一般的做法是利用软件保护装置,让其按一定规则,根据主机时间校准加密锁内时钟,这些规则为防止恶意篡改,不允许锁内时钟往更早的时间校准。但是,假设是这样一种情形,用户不使用类似加密锁的软件保护装置,而且可能需要离线使用,这样对于限制时间就会有很大的困难。在此种情况下,用户可以随意调整主机时间,限制时间的机制就可以很轻松的被绕过。
技术实现思路
本专利技术提供了一种离线状态下对软件实现时间限制的方法,用来解决离线状态下,用户随意调整主机时间进行绕过限制时间机制或者用户对主机时间的无意中的调整使得软件使用时间计时出错的问题。为了解决上述问题,本专利技术提供了一种离线状态下对软件实现时间限制的方法,所述软件安装在终端设备中,所述终端设备中设置存储有虚拟时间的安全容器,所述方法包括:在终端设备开机时,所述安全容器启动并计算终端设备的当前主机时间与上次关机时的主机时间之间的第一时间差值,且修改虚拟时间为当前虚拟时间加上所述第一时间差值;在终端设备运行期间,所述安全容器每隔预定时间修改虚拟时间为当前虚拟时间加上所述预定时间;在检测到当前虚拟时间已达到软件的到期时间时禁用软件。优选地,所述方法还包括:所述软件激活时,对安全容器内的虚拟时间进行初始化。优选地,对安全容器内的虚拟时间进行初始化的具体过程包括:S1,安全容器发送请求包到服务器端,所述请求包包括虚拟时间和所述终端设备的主机时间;S2,服务器端接收所述请求包并发送校准包到安全容器,所述校准包包括服务器时间以及所述请求包中的虚拟时间和主机时间;S3,安全容器校验所述校准包的合法性,如果合法,则执行S4,否则返回错误信息;S4,安全容器将当前虚拟时间与所述请求包中的虚拟时间之间的第二时间差值以及当前主机时间与所述请求包中的主机时间之间的第三时间差值进行比较,如果两者之差处于预定阈值内,执行S5,否则返回错误信息;S5,安全容器将虚拟时间初始化为:当前主机时间-所述校准包中的主机时间+所述校准包的服务器时间。优选地,所述安全容器生成随机数并将该随机数保存在所述安全容器内,所述请求包和所述校准包还包括该随机数,所述安全容器利用该随机数校验所述校准包的合法性。优选地,所述请求包和所述校准包还包括硬件指纹,所述安全容器保存所述硬件指纹并利用该硬件指纹校验所述校准包的合法性。优选地,所述请求包和所述校准包还包括随机数和硬件指纹,所述安全容器保存所述随机数和硬件指纹并利用该随机数和硬件指纹校验所述校准包的合法性。优选地,所述安全容器将随机数和/或硬件指纹保存在其内部EEPROM中。优选地,安全容器和服务器端分别持有相互匹配的公钥和私钥,所述服务器利用所述私钥签发所述校准包,所述安全容器利用所述公钥校验所述校准包的合法性。优选地,服务器端的所述私钥预存在加密设备中。优选地,所述安全容器为虚拟磁盘。与现有技术相比,本专利技术的有益效果在于:本专利技术的离线状态下对软件实现时间限制的方法,能够校准安全容器内的虚拟时间,并在离线状态下解决用户随意调整主机时间进行绕过限制时间机制或者对主机时间的无意调整使得软件使用时间计时出错的问题。附图说明图1是本专利技术的离线状态下对软件实现时间限制的方法的流程图;图2是本专利技术的离线状态下对软件实现时间限制的方法的对安全容器内的虚拟时间进行初始化的具体过程的流程图;图3是本专利技术的离线状态下对软件实现时间限制的方法的对安全容器内的虚拟时间进行初始化的具体过程的一个实施例的流程图;图4是本专利技术的离线状态下对软件实现时间限制的方法的对安全容器内的虚拟时间进行初始化的具体过程的另一个实施例的流程图;图5是本专利技术的离线状态下对软件实现时间限制的方法的对安全容器内的虚拟时间进行初始化的具体过程的又一个实施例的流程图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步详细描述,但不作为对本专利技术的限定。图1示出了本专利技术的离线状态下对软件实现时间限制的方法的流程图。如图1所示,在本专利技术的离线状态下对软件实现时间限制的方法中,软件安装在终端设备中,终端设备中设置存储有虚拟时间的安全容器。该方法包括:在终端设备开机时,所述安全容器启动并计算终端设备的当前主机时间与上次关机时的主机时间之间的第一时间差值,且修改虚拟时间为当前虚拟时间加上第一时间差值;在终端设备运行期间,安全容器每隔预定时间修改虚拟时间为当前虚拟时间加上预定时间;在检测到当前虚拟时间已达到软件的到期时间时禁用软件。其中,在终端设备(例如计算机)运行期间,安全容器可以从终端设备的CPU采集计算机的运行时间,并将安全容器内的虚拟时间修改为当前虚拟时间加上计算机的运行时间。例如,安全容器内初始储存的主机时间pc_time=2016/8/2120:05,虚拟时间vclock_time=2016/8/2120:05。如果终端设备运行20分钟后,用户将主机时间调整为第二天的时间即2016/8/2220:25,则安全容器内储存的主机时间变为pc_time=2016/8/2220:25,虚拟时间vclock_time=2016/8/2120:25。调整主机时间之后,用户将计算机关机,经过12个小时后,用户将计算机再次开机。此时主机时间为2016/8/2308:25,安全容器启动后,开始计算主机时间的变化值,即从上一次关机时的主机时间pc_time=2016/8/2220:25与当前的主机时间2016/8/2308:25之间的差值12小时,并将虚拟时间修改为加上这12小时的差值,得到修改后的虚拟时间为vclock_time=2016/8/2208:25。可以看到,即使用户将主机时间修改为错误的时间,安全容器仍然能确保其内的虚拟时间是正确的。通过上述方法,在离线状态中,即使用户更改主机时间,安全容器内的虚拟时间始终为准确的时间,从而保证了限制时间的机制。在实施例中,软件激活时,可以对安全容器内的虚拟时间进行初始化,从而虚拟时间被校准为准确的时间,保证了离线时的虚拟时间的准确性。图2是本专利技术的离线状态下对软件实现时间限制的方法的对安全容器内的虚拟时间进行初始化的具体过程的流程图。在本专利技术一个实施例中,如图2所示,可以对安全容器内的虚拟时间进行如下初始化过程:S1,安全容器发送请求包到服务器端,请求包包括虚拟时间和终端设备的主机时间;在步骤S1中,安全容器可以生成请求包,并发送给服务器端,请求包中可以包括安全容器内的虚拟时间和终端设备的主机时间。请求包由专用的安全容器生成,能够有效确保请求包中所包含数据信息的合法性,提高请求包的安全性。S2,服务器端接收请求包并发送校准包到安全容器,校准包包括服务器时间以及请求包中的虚拟时间和主机时间;步骤S2中的服务器端安装有为安全容器提供软件保护相关服务的软件,该软件保护相关服务包括对安全容器的虚拟时间进行校准等。S3,安全容器校验校准包的合法性,如果合法,则执行S4,否则返回错误信息;步骤S3中,安全容器可以通过多种方式校验校准包的合法性,本文档来自技高网...

【技术保护点】
一种离线状态下对软件实现时间限制的方法,所述软件安装在终端设备中,其特征在于,所述终端设备中设置存储有虚拟时间的安全容器,所述方法包括:在终端设备开机时,所述安全容器启动并计算终端设备的当前主机时间与上次关机时的主机时间之间的第一时间差值,且修改虚拟时间为当前虚拟时间加上所述第一时间差值;在终端设备运行期间,所述安全容器每隔预定时间修改虚拟时间为当前虚拟时间加上所述预定时间;在检测到当前虚拟时间已达到软件的到期时间时禁用软件。

【技术特征摘要】
1.一种离线状态下对软件实现时间限制的方法,所述软件安装在终端设备中,其特征在于,所述终端设备中设置存储有虚拟时间的安全容器,所述方法包括:在终端设备开机时,所述安全容器启动并计算终端设备的当前主机时间与上次关机时的主机时间之间的第一时间差值,且修改虚拟时间为当前虚拟时间加上所述第一时间差值;在终端设备运行期间,所述安全容器每隔预定时间修改虚拟时间为当前虚拟时间加上所述预定时间;在检测到当前虚拟时间已达到软件的到期时间时禁用软件。2.根据权利要求1所述的方法,其特征在于,还包括:所述软件激活时,对安全容器内的虚拟时间进行初始化。3.根据权利要求2所述的方法,其特征在于,对安全容器内的虚拟时间进行初始化的具体过程包括:S1,安全容器发送请求包到服务器端,所述请求包包括虚拟时间和所述终端设备的主机时间;S2,服务器端接收所述请求包并发送校准包到安全容器,所述校准包包括服务器时间以及所述请求包中的虚拟时间和主机时间;S3,安全容器校验所述校准包的合法性,如果合法,则执行S4,否则返回错误信息;S4,安全容器将当前虚拟时间与所述请求包中的虚拟时间之间的第二时间差值以及当前主机时间与所述请求包中的主机时间之间的第三时间差值进行比较,如果两者之差处于预定阈值内,...

【专利技术属性】
技术研发人员:孙吉平姚玮斌
申请(专利权)人:北京深思数盾科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1