保护软件的方法、装置和系统.pdf

上传人:00062****4422 文档编号:1024712 上传时间:2018-03-26 格式:PDF 页数:28 大小:1.34MB
返回 下载 相关 举报
摘要
申请专利号:

CN200910088379.5

申请日:

2009.07.02

公开号:

CN101587523A

公开日:

2009.11.25

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 21/00变更事项:专利权人变更前权利人:飞天诚信科技股份有限公司变更后权利人:北京坚石诚信科技有限公司变更事项:地址变更前权利人:100085 北京市海淀区学清路9号汇智大厦B座17层变更后权利人:100085 北京市海淀区学清路9号汇智大厦B楼205室登记生效日:20141203|||授权|||实质审查的生效|||公开

IPC分类号:

G06F21/00; G06F21/22

主分类号:

G06F21/00

申请人:

北京飞天诚信科技有限公司

发明人:

陆 舟; 于华章

地址:

100191北京市海淀区学院路40号研7楼5层

优先权:

专利代理机构:

北京三高永信知识产权代理有限责任公司

代理人:

何文彬

PDF下载: PDF下载
内容摘要

本发明公开了一种保护软件的方法、装置和系统,属于信息安全领域。所述方法包括:安全设备与终端设备建立连接;所述安全设备接收所述服务指令,判断所述安全设备内部的实时钟是否已经被激活;读取所述实时钟的当前时间,并判断所述当前时间是否有效;如果是,则所述安全设备执行所述服务指令并返回执行结果给所述终端设备;如果不是,则所述安全设备返回错误结果给所述终端设备。为受保护软件提供了更安全的服务;同时还延长了安全设备的使用寿命。

权利要求书

1、  一种保护软件的方法,其特征在于,所述方法包括:
安全设备与终端设备建立连接,所述安全设备中包括时间的限制信息;
所述终端设备中的受保护软件向所述安全设备发送预先约定的服务指令;
所述安全设备接收所述服务指令,判断所述安全设备内部的实时钟是否已经被激活;
当所述判断结果为未激活时,所述安全设备激活所述实时钟,读取所述实时钟的当前时间,并判断所述当前时间是否有效;如果是,则所述安全设备执行所述服务指令并返回执行结果给所述终端设备;如果不是,则所述安全设备返回错误结果给所述终端设备;
当所述判断结果为已激活时,所述安全设备读取所述实时钟的当前时间,并判断所述当前时间是否有效;如果是,则所述安全设备执行所述服务指令并返回执行结果给所述终端设备;如果不是,则所述安全设备返回错误结果给所述终端设备。

2、
  如权利要求1所述的方法,其特征在于,所述受保护软件向所述安全设备发送预先约定的服务指令,具体包括:
所述终端设备对所述服务指令进行加密,并将所述加密后的服务指令发送给所述安全设备;
相应的,所述方法还包括:
所述安全设备对接收到的所述加密后的服务指令进行解密。

3、
  如权利要求1所述的方法,其特征在于,所述方法还包括:
所述安全设备对所述执行结果或所述错误结果进行加密,并将加密后的指令返回给所述终端设备;
相应的,所述方法还包括:
所述终端设备对接收到的所述加密后的执行结果或错误结果进行解密。

4、
  如权利要求2或3所述的方法,其特征在于,所述加密使用的算法为对称加密算法,所述解密使用的算法为相应于所述加密使用的算法的对称解密算法。

5、
  如权利要求1或3所述的方法,其特征在于,所述错误结果具体为所述安全设备已过期的提示信息或报错信息或随机结果。

6、
  如权利要求1所述的方法,其特征在于,所述判断所述安全设备内部的实时钟是否已经被激活,具体包括:
所述安全设备判断所述实时钟的激活标识位是否为激活标志;
当所述激活标识位为激活标志时,所述实时钟已激活;
当所述激活标识位为非激活标志时,所述实时钟未激活。

7、
  如权利要求1所述的方法,其特征在于,所述安全设备激活所述实时钟,具体包括:
所述安全设备将所述实时钟的时钟芯片与电池连接;
所述电池开始为所述实时钟供电,所述实时钟开始计时;
将所述实时钟的激活标识位修改为激活标志;
将所述实时钟的时间状态值设置为所述实时钟的起始时间。

8、
  如权利要求1所述的方法,其特征在于,所述安全设备激活所述实时钟,具体包括:
所述安全设备控制所述实时钟的时钟振荡器使其开始工作;
并将所述实时钟的使能脚使能,所述实时钟开始计时;
将所述实时钟的激活标识位修改为激活标志;
将所述实时钟的时间状态值设置为所述实时钟的起始时间。

9、
  如权利要求7或8所述的方法,其特征在于,所述安全设备激活所述实时钟之后,所述方法还包括:
所述安全设备根据所述起始时间和所述时间的限制信息设置截止时间。

10、
  如权利要求9所述的方法,其特征在于,所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、以及所述截止时间;
判断所述实时钟的当前时间是否已超过所述截止时间;
如果是,则当前时间为无效;
如果否,则当前时间为有效。

11、
  如权利要求9所述的方法,其特征在于,所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的起始时间、当前时间、以及所述时间的限制信息中设定的时间长度;
计算所述当前时间与所述起始时间的差值;
判断所述差值是否小于所述时间限制信息中设定的时间长度;
如果是,则当前时间为有效;
如果否,则当前时间为无效。

12、
  如权利要求1所述的方法,其特征在于,所述安全设备激活所述实时钟,具体包括:
所述安全设备开启所述实时钟的时间保护功能;
并将所述实时钟的激活标识位修改为激活标志。

13、
  如权利要求12所述的方法,其特征在于,所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、所述时间的限制信息中设定的截止使用日期;
判断所述实时钟的当前时间是否超过所述时间的限制信息中设定的截止使用日期;
如果是,则当前时间为无效;
如果否,则当前时间为有效。

14、
  如权利要求12所述的方法,其特征在于,所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、所述时间的限制信息中设定的使用时间区间;
判断所述实时钟的当前时间是否在所述时间的限制信息中设定的使用时间区间内;
如果是,则当前时间为有效;
如果否,则当前时间为无效。

15、
  一种保护软件的装置,其特征在于,所述装置包括:
连接模块,用于与终端设备建立连接;
接收模块,用于接收所述终端设备中的受保护软件发送的预先约定的服务指令;
激活判断模块,用于判断所述安全设备内部的实时钟是否已经被激活;
激活模块,用于当所述激活判断模块的判断结果为未激活时,激活所述实时钟;
读取模块,用于读取所述实时钟的当前时间;
有效判断模块,用于判断所述当前时间是否有效;
发送模块,用于当所述有效判断模块的判断结果为是时,发送所述服务指令的执行结果给所述终端设备;当所述有效判断模块的判断结果为否时,发送错误结果给所述终端设备;

16、
  如权利要求15所述的装置,其特征在于,所述装置还包括:
解密模块,用于当所述接收模块接收到的服务指令为加密的服务指令时,使用预先约定的解密算法对所述加密的服务指令进行解密。

17、
  如权利要求15所述的装置,其特征在于,所述装置还包括:
加密模块,用于对所述执行结果或所述错误结果进行加密;
相应的,所述发送模块具体用于:
将所述加密后的执行结果或错误结果返回给所述终端设备。

18、
  如权利要求15或17所述的装置,其特征在于,所述错误结果具体为所述安全设备已过期的提示信息或报错信息或随机结果。

19、
  如权利要求15所述的装置,其特征在于,所述激活判断模块具体用于判断所述实时钟的激活标识位是否为激活标志;
当所述激活标识位为激活标志时,所述实时钟已激活;
当所述激活标识位为非激活标志时,所述实时钟未激活。

20、
  如权利要求15所述的装置,其特征在于,所述激活模块具体包括:
连接单元,用于将所述实时钟的时钟芯片与电池连接;
计时单元,用于所述电池开始为所述实时钟供电,所述实时钟开始计时;
修改单元,用于将所述实时钟的激活标识位修改为激活标志;
设置单元,用于将所述实时钟的时间状态值设置为所述实时钟的起始时间。

21、
  如权利要求15所述的装置,其特征在于,所述激活模块具体包括:
控制单元,用于控制所述实时钟的时钟振荡器使其开始工作;
计时单元,用于将所述实时钟的使能脚使能,所述实时钟开始计时;
修改单元,用于将所述实时钟的激活标识位修改为激活标志;
设置单元,用于将所述实时钟的时间状态值设置为所述实时钟的起始时间。

22、
  如权利要求20或21所述的装置,其特征在于,所述设置单元还用于根据所述起始时间和所述时间的限制信息设置截止时间。

23、
  如权利要求22所述的装置,其特征在于,所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、以及所述截止时间;
判断单元,用于判断所述实时钟的当前时间是否已超过所述截止时间;
如果是,则所述判断单元的结果为当前时间为无效;
如果否,则所述判断单元的结果为当前时间为有效。

24、
  如权利要求20或21所述的装置,其特征在于,所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的起始时间、当前时间、以及时间的限制信息中设定的时间长度;
计算单元,用于计算所述实时钟的当前时间与所述实时钟的起始时间的差值;
判断单元,用于判断所述差值是否处于所述时间的限制信息中的设定的时间长度内;
如果是,则所述判断单元的结果为当前时间为有效;
如果否,则所述判断单元的结果为当前时间为无效。

25、
  如权利要求15所述的装置,其特征在于,所述激活模块具体包括:
开启单元,用于开启所述实时钟的时间保护功能;
修改单元,用于将所述实时钟的激活标识位修改为激活标志。

26、
  如权利要求25所述的装置,其特征在于,所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、所述时间的限制信息中设定的截止使用日期;
判断单元,用于判断所述实时钟的当前时间是否超过所述时间的限制信息中设定的截止时间截止使用日期;
如果是,则所述判断单元的结果为当前时间为无效;
如果否,则所述判断单元的结果为当前时间为有效。

27、
  如权利要求25所述的装置,其特征在于,所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、所述时间的限制信息中设定的使用时间区间;
判断单元,用于判断所述实时钟的当前时间是否在所述时间的限制信息中设定的使用时间区间内;
如果是,则当前时间为有效;
如果否,则当前时间为无效。

28、
  一种保护软件的系统,其特征在于,所述系统包括:安全设备和终端设备;
所述安全设备包括:
连接模块,用于与所述终端设备建立连接;
接收模块,用于接收所述终端设备中的受保护软件发送的预先约定的服务指令;
激活判断模块,用于判断所述安全设备内部的实时钟是否已经被激活;
激活模块,用于当所述激活判断模块的判断结果为未激活时,激活所述实时钟;
读取模块,用于读取所述实时钟的当前时间;
有效判断模块,用于判断所述当前时间是否有效;
发送模块,用于当所述有效判断模块的判断结果为是时,发送所述服务指令的执行结果给所述终端设备;当所述有效判断模块的判断结果为否时,发送错误结果给所述终端设备;
所述终端设备包括:
接口模块,用于与所述终端设备的连接模块建立连接;
发送模块,用于向所述安全设备发送预先约定的服务指令;
接收模块,用于接收所述安全设备发送的执行结果或错误结果。

29、
  如权利要求28所述的系统,其特征在于,所述终端设备还包括:
加密模块,用于对所述服务指令进行加密;
相应的,所述终端设备的发送模块具体用于:
向所述安全设备发送加密后的服务指令。

30、
  如权利要求28所述的系统,其特征在于,所述终端设备还包括:
解密模块,用于当所述终端设备的接收模块接收到的是加密后的执行结果或错误结果时,对所述加密后的执行结果或错误结果进行解密。

31、
  如权利要求28或30所述的系统,其特征在于,所述错误结果具体为所述安全设备已过期的提示信息或报错信息或随机结果。

说明书

保护软件的方法、装置和系统
技术领域
本发明涉及信息安全领域,特别涉及一种保护软件的方法、装置和系统。
背景技术
现有技术中,最流行的对软件的使用权进行保护的方法是使用加密锁这种加密工具。加密锁采用的是高强度智能卡芯片和先进的密码学技术,并且具有一定的运算和存储能力,同时难以被破解和复制,在高强度软件保护中具有广泛的应用。
利用加密锁对软件进行加密保护是现有的软件保护的主流方法,通过在计算机的通信接口插上一个加密锁,并配合特定的软件进行保护,使用户的软件离开加密锁就无法运行,从而实现软件产品的保护。
在实现本发明的过程中,发明人发现现有技术存在以下缺点:
加密锁的时间限制、日期限制功能是很普遍的,而且对软件试用期的使用控制也很方便,但是在现有技术中加密锁无法记录其开始使用的起始日期,并且也不能限制其被使用的起始时间和截止时间,并且现有的加密锁电池使用存在浪费。
发明内容
为了使加密锁具有限制其使用的起始时间和截止时间的功能,本发明实施例提供了一种保护软件的方法、装置和系统。所述技术方案如下:
一种保护软件的方法,所述方法包括:
安全设备与终端设备建立连接,所述安全设备中包括时间的限制信息;
所述终端设备中的受保护软件向所述安全设备发送预先约定的服务指令;
所述安全设备接收所述服务指令,判断所述安全设备内部的实时钟是否已经被激活;
当所述判断结果为未激活时,所述安全设备激活所述实时钟,读取所述实时钟的当前时间,并判断所述当前时间是否有效;如果是,则所述安全设备执行所述服务指令并返回执行结果给所述终端设备;如果不是,则所述安全设备返回错误结果给所述终端设备;
当所述判断结果为已激活时,所述安全设备读取所述实时钟的当前时间,并判断所述当前时间是否有效;如果是,则所述安全设备执行所述服务指令并返回执行结果给所述终端设备;如果不是,则所述安全设备返回错误结果给所述终端设备。
所述受保护软件向所述安全设备发送预先约定的服务指令,具体包括:
所述终端设备对所述服务指令进行加密,并将所述加密后的服务指令发送给所述安全设备;
相应的,所述方法还包括:
所述安全设备对接收到的所述加密后的服务指令进行解密。
所述方法还包括:
所述安全设备对所述执行结果或所述错误结果进行加密,并将加密后的执行结果或错误结果返回给所述终端设备;
相应的,所述方法还包括:
所述终端设备对接收到的所述加密后的执行结果或错误结果进行解密。
所述加密使用的算法为对称加密算法,所述解密使用的算法为相应于所述加密使用的算法的对称解密算法。
所述错误结果具体为所述安全设备已过期的提示信息或报错信息或随机结果。
所述判断所述安全设备内部的实时钟是否已经被激活,具体包括:
所述安全设备判断所述实时钟的激活标识位是否激活标志;
当所述激活标识位为激活标志时,所述实时钟已激活;
当所述激活标识位为非激活标志时,所述实时钟未激活。
所述安全设备激活所述实时钟,具体包括:
所述安全设备将所述实时钟的时钟芯片与电池连接;
所述电池开始为所述实时钟供电,所述实时钟开始计时;
将所述实时钟的激活标识位修改为激活标志;
将所述实时钟的时间状态值设置为所述实时钟的起始时间。
所述安全设备激活所述实时钟,具体包括:
所述安全设备控制所述实时钟的时钟振荡器使其开始工作;
并将所述实时钟的使能脚使能,所述实时钟开始计时;
将所述实时钟的激活标识位修改为激活标志;
将所述实时钟的时间状态值设置为所述实时钟的起始时间。
所述安全设备激活所述实时钟之后,所述方法还包括:
所述安全设备根据所述起始时间和所述时间的限制信息设置截止时间。
所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、以及所述截止时间;
判断所述实时钟的当前时间是否已超过所述截止时间;
如果是,则当前时间为无效;
如果否,则当前时间为有效。
所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的起始时间、当前时间、以及所述时间的限制信息中设定的时间长度;
计算所述当前时间与所述起始时间的差值;
判断所述差值是否小于所述时间限制信息中设定的时间长度;
如果是,则当前时间为有效;
如果否,则当前时间为无效。
所述安全设备激活所述实时钟,具体包括:
所述安全设备开启所述实时钟的时间保护功能;
并将所述实时钟的激活标识位修改为激活标志。
所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、所述时间的限制信息中设定的截止使用日期;
判断所述实时钟的当前时间是否超过所述时间的限制信息中设定的截止使用日期;
如果是,则当前时间为无效;
如果否,则当前时间为有效。
所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、所述时间的限制信息中设定的使用时间区间;
判断所述实时钟的当前时间是否在所述时间的限制信息中设定的使用时间区间内;
如果是,则当前时间为有效;
如果否,则当前时间为无效。
一种保护软件的装置,所述装置包括:
连接模块,用于与终端设备建立连接;
接收模块,用于接收所述终端设备中的受保护软件发送的预先约定的服务指令;
激活判断模块,用于判断所述安全设备内部的实时钟是否已经被激活;
激活模块,用于当所述激活判断模块的判断结果为未激活时,激活所述实时钟;
读取模块,用于读取所述实时钟的当前时间;
有效判断模块,用于判断所述当前时间是否有效;
发送模块,用于当所述有效判断模块的判断结果为是时,发送所述服务指令的执行结果给所述终端设备;当所述有效判断模块的判断结果为否时,发送错误结果给所述终端设备;
所述装置还包括:
解密模块,用于当所述接收模块接收到的服务指令为加密的服务指令时,使用预先约定的解密算法对所述加密的服务指令进行解密。
所述装置还包括:
加密模块,用于对所述执行结果或所述错误结果进行加密;
相应的,所述发送模块具体用于:
将所述加密后的执行结果或错误结果返回给所述终端设备。
所述错误结果具体为所述安全设备已过期的提示信息或报错信息或随机结果。
所述激活判断模块具体用于判断所述实时钟的激活标识位是否激活标志;
当所述激活标识位为激活标志时,所述实时钟已激活;
当所述激活标识位为非激活标志时,所述实时钟未激活。
所述激活模块具体包括:
连接单元,用于将所述实时钟的时钟芯片与电池连接;
计时单元,用于所述电池开始为所述实时钟供电,所述实时钟开始计时;
修改单元,用于将所述实时钟的激活标识位修改为激活标志;
设置单元,用于将所述实时钟的时间状态值设置为所述实时钟的起始时间。
所述激活模块具体包括:
控制单元,用于控制所述实时钟的时钟振荡器使其开始工作;
计时单元,用于将所述实时钟的使能脚使能,所述实时钟开始计时;
修改单元,用于将所述实时钟的激活标识位修改为激活标志;
设置单元,用于将所述实时钟的时间状态值设置为所述实时钟的起始时间。
所述设置单元,还用于根据所述起始时间和所述时间的限制信息设置截止时间。
所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、以及所述截止时间;
判断单元,用于判断所述实时钟的当前时间是否已超过所述截止时间;
如果是,则所述判断单元的结果为当前时间为无效;
如果否,则所述判断单元的结果为当前时间为有效。
所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的起始时间、当前时间、以及时间的限制信息中设定的时间长度;
计算单元,用于计算所述实时钟的当前时间与所述实时钟的起始时间的差值;
判断单元,用于判断所述差值是否处于所述时间的限制信息中设定的时间长度内;
如果是,则所述判断单元的结果为当前时间为有效;
如果否,则所述判断单元的结果为当前时间为无效。
所述激活模块具体包括:
开启单元,用于开启所述实时钟的时间保护功能;
修改单元,用于将所述实时钟的激活标识位修改为激活标志。
所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、所述时间的限制信息中设定的截止使用日期;
判断单元,用于判断所述实时钟的当前时间是否超过所述时间的限制信息中设定的截止使用日期;
如果是,则所述判断单元的结果为当前时间为无效;
如果否,则所述判断单元的结果为当前时间为有效。
所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、所述时间的限制信息中设定的指定的使用时间区间;
判断单元,用于判断所述实时钟的当前时间是否在所述时间的限制信息中设定的指定的使用时间区间内;
如果是,则当前时间为有效;
如果否,则当前时间为无效。
一种保护软件的系统,所述系统包括:安全设备和终端设备;
所述安全设备包括:
连接模块,用于与所述终端设备建立连接;
接收模块,用于接收所述终端设备中的受保护软件发送的预先约定的服务指令;
激活判断模块,用于判断所述安全设备内部的实时钟是否已经被激活;
激活模块,用于当所述激活判断模块的判断结果为未激活时,激活所述实时钟;
读取模块,用于读取所述实时钟的当前时间;
有效判断模块,用于判断所述当前时间是否有效;
发送模块,用于当所述有效判断模块的判断结果为是时,发送所述服务指令的执行结果给所述终端设备;当所述有效判断模块的判断结果为否时,发送错误结果给所述终端设备;
所述终端设备包括:
接口模块,用于与所述终端设备的连接模块建立连接;
发送模块,用于向所述安全设备发送预先约定的服务指令;
接收模块,用于接收所述安全设备发送的执行结果或错误结果。
所述终端设备还包括:
加密模块,用于对所述服务指令进行加密;
相应的,所述终端设备的发送模块具体用于:
向所述安全设备发送加密后的服务指令。
所述终端设备还包括:
解密模块,用于当所述终端设备的接收模块接收到的是加密后的执行结果或错误结果时,对所述加密后的执行结果或错误结果进行解密。
所述错误结果具体为所述安全设备已过期的提示信息或报错信息或随机结果。
本发明实施例提供的技术方案带来的有益效果是:
通过安全设备中携带时间的限制信息,并根据时间的限制信息限制安全设备的使用时间,使得安全设备更加方便地与时间、日期等功能进行绑定,限制了受保护软件使用安全设备的周期,为受保护软件提供了更安全的服务;同时还延长了安全设备的使用寿命。
附图说明
图1是本发明实施例1中提供的保护软件的方法流程图;
图2是本发明实施例2中提供的保护软件的方法流程图;
图3是本发明实施例3中提供的保护软件的装置结构示意图;
图4是本发明实施例4中提供的保护软件的系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本实施例提供了一种保护软件的方法,参见图1,该方法包括:
步骤101:安全设备与终端设备建立连接;
本实施例中的安全设备以加密锁为例进行说明,其中,加密锁包含一个由电池供电的实时钟,该加密锁在出厂时实时钟不工作,即实时钟不计时,只有在接收到终端设备发送的服务指令后实时钟才开始进行计时。并且,在该加密锁出厂之前,还可以设置一个或多个关于时间的限制信息,该时间的限制信息用于加密锁在出厂后的使用中对受保护的软件实施时间保护功能。这种对受保护软件实施的时间保护功能在加密锁出厂之前是处于未激活的状态,只有当加密锁与终端设备建立连接之后,加密锁接收到终端设备发送的服务指令时才会被激活。其中,服务指令为加密锁在出厂时与被保护软件之间预先约定好的。
在本实施例中,时间的限制信息可以为限制受保护软件使用该安全设备的时间长度(如10小时)。
终端设备可以为计算机、有源读卡器、射频读卡器以及所有能够使用上述加密锁的设备。
步骤102:终端设备中的受保护软件向安全设备发送服务指令;
其中,受保护软件是指对部分或全部功能的使用进行修改或加密保护的软件,并且在受保护软件启动应用保护功能时,受保护软件可以自动或手动地向安全设备发送服务指令。
服务指令为安全设备与终端设备之间预先约定的指令,可以是预先约定的多条服务指令中的任意一条。例如,服务指令可以为计算机与加密锁的通讯指令,如APDU指令80 10 00 00 00,也可以是程序启动指令和/或功能算法指令等。
进一步的,终端设备中的受保护软件向还可以向安全设备发送加密后的服务指令;其中,终端设备对服务指令进行加密可以但不限于采用以下加密算法,如AES(Advanced Encryption Standard,高级加密标准)算法、DES(DataEncryption Standard,数据加密标准)算法等。
步骤103:安全设备接收到终端设备发送的服务指令,判断安全设备内的实时钟是否被激活,即已经开始计时;
如果否,则执行步骤104;
如果是,则执行步骤105;
其中,如果安全设备接收到的是加密后的服务指令,则安全设备按照预先约定的解密算法对加密后的服务指令进行解密。解密的算法可以但不限于:AES算法或DES算法等。
在本步骤103中,判断实时钟是否已经开始计时的方法具体可以包括:
判断实时钟的激活标识位是否为激活标志;
当激活标识位为非激活标志时,表示时钟芯片与电池断开,实时钟没有开始计时;
当激活标识位为激活标志时,表示时钟芯片与电池已连接,实时钟已经开始计时。
步骤104:安全设备激活内部实时钟使其开始计时,并将实时钟中的时间状态值设置为实时钟的起始时间;
这里需要说明的是,本发明实施例中安全设备的实时钟省略了与终端设备的时钟进行同步的工作,安全设备可以按照实时钟本身进行计时。
在实时钟被激活开始计数之前,实时钟处于不工作的状态,实时钟内部会存储着一个时间值,本实施例将其称为时间状态值。当实时钟被激活开始计数时,安全设备将该时间状态值设置为实时钟的起始时间。
本实施例还可以包括:安全设备读取内部预先设置的限制受保护软件使用该安全设备的时间长度(如10小时),并判断实时钟保存的时间状态值是否为0,若为0,则安全设备将读取得到的时间长度(如10小时)设置为实时钟的截止时间,若不为0,则安全设备将实时钟保存的时间状态值加上读取得到的限制受保护软件使用该安全设备的时间长度(如10小时)后得到的时间设置为受保护软件使用该实时钟的截止时间。
其中,当判断得出实时钟保存的时间状态值不为0时,还可以进行如下操作:安全设备将实时钟保存的时间状态值清0,并将读取得到的时间长度设置为实时钟的截止时间。
具体的,本实施例中,安全设备激活其内部实时钟的操作具体可以概括为以下几种情况:
(1)当实时钟的时钟芯片与电池处于断开状态时;
安全设备将实时钟的时钟芯片与电池连接;
电池开始给实时钟供电,即实时钟开始计时;
同时将实时钟的激活标识位改为激活标志。
(2)当实时钟的时钟芯片与电池处于连接状态时;
安全设备控制实时钟的时钟振荡器使其开始工作;
实时钟的使能脚被使能,实时钟开始计时;
同时将实时钟的激活标识位改为激活标志。
步骤105:安全设备读取实时钟的当前时间,判断当前时间是否为有效时间;
如果是,则执行服务指令并将执行结果返回给终端设备;
如果不,则将错误结果返回给终端设备。
其中,安全设备返回给终端设备的执行结果和/或错误结果可以是加密的,安全设备所采用的加密算法可以但不限于包括AES算法或DES算法;
并且,错误结果具体可以但不限于为安全设备已过期的提示信息或报错信息或随机结果。
判断当前时间是否为有效时间的方法具体可以为:
安全设备计算当前时间和起始时间的差值,并将得到的差值与其自身预置的限制受保护软件使用该安全设备的时间长度相比较,判断得到的差值是否已经超过其自身预置的限制受保护软件使用该安全设备的时间长度,如果超过,则当前时间为无效;如果未超过,则当前时间为有效。
例如,安全设备的实时钟当前时间为6点25分,起始时间是0点;而其自身预置的限制受保护软件使用该安全设备的时间长度为10小时,当前时间与起始时间的差值未超过时间长度10小时,因此当前时间有效;
或者,
安全设备读取此时实时钟的当前时间和截止时间,并判断读取得到的当前时间是否在截止时间之前,若不是,则当前时间为无效;若是,则当前时间为有效;
例如,若安全设备的实时钟当前时间为10点45分,而截止时间为10点,当前时间在截止时间之前,因此当前时间有效。
需要说明的是,当安全设备中的实时钟被激活后,只有当受保护软件主动停止应用或已到达应用时间,实时钟才会停止工作,如果强制其停止工作,该安全设备将被损坏,并向终端设备返回安全设备已坏的信息。
本发明实施例通过安全设备中保存时间的限制信息,并根据时间的限制信息限制安全设备的使用时间,使得安全设备更加方便地与时间、日期等功能进行绑定,限制了受保护软件使用安全设备的周期,为受保护软件提供了更安全的服务;同时还延长了安全设备的使用寿命。
实施例2
本实施例提供了一种保护软件的方法,参见图2,该方法包括:
步骤201:安全设备与终端设备建立连接;
本实施例中的安全设备以加密锁为例进行说明,其中,加密锁包含一个由电池供电的实时钟,该实时钟在加密锁出场即已进行校对,使得实时钟的时间和日期准确、可信;并且,在该加密锁出厂之前,还可以设置一个或多个关于时间的限制信息,该时间的限制信息用于加密锁在出厂后的使用中对受保护的软件实施时间保护功能。这种对受保护的软件实施时间保护功能在加密锁出厂之前是处于未激活的状态,只有当加密锁与终端设备建立连接之后,加密锁接收到终端设备发送的服务指令时才会被激活。其中,服务指令为加密锁在出厂之前厂家与终端设备的厂家之间预先约定好的。
在本实施例中,时间的限制信息可以为限制受保护软件只能在截止日期之前(如2010年12月31日之前)使用该加密锁;或者,时间的限制信息可以为限制受保护软件只能在指定的时间区间内(如一天当中的8:00a.m——5:00p.m)使用该加密锁。
终端设备可以为计算机、有源读卡器、射频读卡器以及所有能够使用上述加密锁的设备。
步骤202:终端设备中的受保护软件向安全设备发送服务指令;
其中,受保护软件是指对部分或全部功能的使用进行修改或加密保护的软件,并且在受保护软件启动应用保护功能时,受保护软件可以自动或手动地向安全设备发送服务指令。
服务指令为安全设备与终端设备之间预先约定的指令,可以是预先约定的多条服务指令中的任意一条。例如,服务指令可以为计算机与加密锁的通讯指令,如APDU指令80 10 00 00 00,也可以是程序启动指令和/或功能算法指令等。
进一步的,终端设备中的受保护软件向还可以向安全设备发送加密后的服务指令;其中,终端设备对服务指令进行加密可以但不限于采用以下加密算法,如AES算法、DES算法等。
步骤203:安全设备接收到终端设备发送的服务指令,判断安全设备内的实时钟是否被激活,即实时钟是否已经开启时间保护功能;
如果否,则执行步骤204;
如果是,则执行步骤205;
其中,如果安全设备接收到的是加密后的服务指令,则安全设备按照预先约定的解密算法对加密后的服务指令进行解密。解密的算法可以但不限于:AES算法或DES算法等。
需要说明的是,安全设备还可以通过接收到的服务指令,将自身的实时钟的当前时间与终端设备的时钟进行校准操作。
在本步骤203中,判断实时钟是否已经开启时间保护功能的方法具体可以包括:
判断实时钟的激活标识位是否为激活标志;
当激活标识位为非激活标志时,表示实时钟没有开启时间保护功能;
当激活标识位为激活标志时,表示实时钟已经开启时间保护功能。
步骤204:安全设备激活内部实时钟使其开启时间保护功能,并将实时钟的激活标识位改为激活标志;
需要说明的是,当安全设备中的实时钟被激活后,只有当受保护软件主动停止应用或已到达应用时间,实时钟才会停止工作,如果强制其停止工作,该安全设备将被损坏,并向终端设备返回安全设备已坏的信息。
步骤205:安全设备读取实时钟的当前时间,判断当前时间是否为有效时间;
如果是,则执行服务指令并将执行结果返回给终端设备;
如果不,则将错误结果返回给终端设备。
其中,安全设备返回给终端设备的执行结果和/或错误结果可以是加密的,安全设备所采用的加密算法可以但不限于包括AES算法或DES算法;
并且,错误结果具体可以但不限于为安全设备已过期的提示信息或报错信息或随机结果。
判断当前时间是否为有效时间的方法可以包括以下几种:
(1)当时间的限制信息为限制受保护软件只能在截止日期之前使用该安全设备时;
安全设备读取实时钟的当前时间和时间的限制信息中的截止使用日期;
判断实时钟的当前时间是否已超过截止使用日期;
如果是,则当前时间为无效时间;
如果否,则当前时间为有效时间。
例如,实时钟的当前时间为2009年6月23日,时间的限制信息中的截止使用日期为2010年12月31日,则实时钟的当前时间未超过截止使用日期,当前时间有效。
(2)当时间的限制信息为限制受保护软件只能在指定的时间区间内使用该安全设备时;
安全设备读取实时钟的当前时间、时间的限制信息中的起始时间和截止时间;
判断实时钟的当前时间是否处于时间的限制信息中的起始时间和截止时间之间;
如果是,则当前时间为有效时间;
如果否,则当前时间为无效时间。
例如,实时钟的当前时间为6:00a.m,时间的限制信息中的起始时间和截止时间分别为:8:00a.m和5:00p.m,则实时钟的当前时间未处于时间的限制信息中的起始时间和截止时间,当前时间无效。
本发明实施例通过安全设备中保存时间的限制信息,并根据时间的限制信息限制安全设备的使用时间,使得安全设备更加方便地与时间、日期等功能进行绑定,限制了受保护软件使用安全设备的周期,为受保护软件提供了更安全的服务;同时还延长了安全设备的使用寿命。
实施例3
本实施例提供了一种保护软件的装置,参见图3,该装置包括:
连接模块301,用于与终端设备建立连接;
接收模块302,用于接收终端设备中的受保护软件发送的预先约定的服务指令;
激活判断模块303,用于判断安全设备内部的实时钟是否已经被激活;
激活模块304,用于当激活判断模块的判断结果为未激活时,激活实时钟;
读取模块305,用于读取实时钟的当前时间;
有效判断模块306,用于判断当前时间是否有效;
发送模块307,用于当有效判断模块的判断结果为是时,发送服务指令的执行结果给终端设备;当有效判断模块的判断结果为否时,发送错误结果给终端设备,其中错误结果具体可以但不限于为安全设备已过期的提示信息或报错信息或随机结果;
进一步的,该装置还可以包括:
解密模块,用于当接收模块302接收到的服务指令为加密的服务指令时,使用预先约定的解密算法对加密的服务指令进行解密。
进一步的,该装置还可以包括:
加密模块,用于对执行结果或错误结果进行加密;
相应的,发送模块307具体用于:
将加密后的执行结果或错误结果返回给终端设备。
激活判断模块303具体用于判断实时钟的激活标识位是否激活标志;
当激活标识位为激活标志时,实时钟已激活;
当激活标识位为非激活标志时,实时钟未激活。
一种实施方式下,激活模块304具体包括:
连接单元,用于将实时钟的时钟芯片与电池连接;
计时单元,用于电池开始为实时钟供电,实时钟开始计时;
修改单元,用于将实时钟的激活标识位修改为激活标志;
设置单元,用于将实时钟的时间状态值设置为实时钟的起始时间。
另一种实施方式下,激活模块304具体包括:
控制单元,用于控制实时钟的时钟振荡器使其开始工作;
计时单元,用于将实时钟的使能脚使能,实时钟开始计时;
修改单元,用于将实时钟的激活标识位修改为激活标志;
设置单元,用于将实时钟的时间状态值设置为实时钟的起始时间。
设置单元,还用于根据时间状态值和时间的限制信息设置截止时间。
再一种实施方式下,激活模块304具体包括:
开启单元,用于开启实时钟的时间保护功能;
修改单元,用于将实时钟的激活标识位修改为激活标志。
一种实施方式下,有效判断模块306具体包括:
读取单元,用于读取实时钟的当前时间、以及截止时间;
判断单元,用于判断实时钟的当前时间是否已超过截止时间;
如果是,则判断单元的结果为当前时间为无效;
如果否,则判断单元的结果为当前时间为有效。
另一种实施方式下,有效判断模块306具体包括:
读取单元,用于读取实时钟的起始时间、当前时间、以及时间的限制信息中设定的时间长度;
计算单元,用于计算当前时间与起始时间之间的差值;
判断单元,用于判断差值是否小于时间的限制信息中设定的时间长度;
如果是,则判断单元的结果为当前时间为有效;
如果否,则判断单元的结果为当前时间为无效。
再一种实施方式下,有效判断模块306具体包括:
读取单元,用于读取实时钟的当前时间、时间的限制信息中设定的截止使用日期;
判断单元,用于判断实时钟的当前时间是否已超过时间的限制信息中设定的截止使用日期;
如果是,则判断单元的结果为当前时间为无效;
如果否,则判断单元的结果为当前时间为有效。
又一种实施方式下,有效判断模块306具体包括:
读取单元,用于读取实时钟的当前时间、时间的限制信息中设定的使用时间区间;
判断单元,用于判断所述实时钟的当前时间是否在所述时间的限制信息中设定的使用时间区间内;
如果是,则当前时间为有效;
如果否,则当前时间为无效。
本发明实施例通过安全设备中保存时间的限制信息,并根据时间的限制信息限制安全设备的使用时间,使得安全设备更加方便地与时间、日期等功能进行绑定,限制了受保护软件使用安全设备的周期,为受保护软件提供了更安全的服务;同时还延长了安全设备的使用寿命。
实施例4
本实施例提供了一种保护软件的系统,参见图4,该系统包括:安全设备401和终端设备402;
其中,安全设备401具体可以参见实施例2中保护软件的装置,在本实施例中不予以重复赘述。
参见图,终端设备402包括:
接口模块,用于与终端设备的连接模块建立连接;
发送模块,用于向安全设备发送预先约定的服务指令;
接收模块,用于接收安全设备发送的执行结果或错误结果,其中错误结果具体可以但不限于为安全设备已过期的提示信息或报错信息或随机结果。
进一步的,终端设备402还包括:
加密模块,用于对服务指令进行加密;
相应的,终端设备402的发送模块还用于:
向安全设备发送加密后的服务指令。
进一步的,终端设备402还包括:
解密模块,用于当终端设备的接收模块接收到的是加密后的执行结果或错误结果时,对加密后的执行结果或错误结果进行解密。
本发明实施例通过安全设备中保存时间的限制信息,并根据时间的限制信息限制安全设备的使用时间,使得安全设备更加方便地与时间、日期等功能进行绑定,限制了受保护软件使用安全设备的周期,为受保护软件提供了更安全的服务;同时还延长了安全设备的使用寿命。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

保护软件的方法、装置和系统.pdf_第1页
第1页 / 共28页
保护软件的方法、装置和系统.pdf_第2页
第2页 / 共28页
保护软件的方法、装置和系统.pdf_第3页
第3页 / 共28页
点击查看更多>>
资源描述

《保护软件的方法、装置和系统.pdf》由会员分享,可在线阅读,更多相关《保护软件的方法、装置和系统.pdf(28页珍藏版)》请在专利查询网上搜索。

本发明公开了一种保护软件的方法、装置和系统,属于信息安全领域。所述方法包括:安全设备与终端设备建立连接;所述安全设备接收所述服务指令,判断所述安全设备内部的实时钟是否已经被激活;读取所述实时钟的当前时间,并判断所述当前时间是否有效;如果是,则所述安全设备执行所述服务指令并返回执行结果给所述终端设备;如果不是,则所述安全设备返回错误结果给所述终端设备。为受保护软件提供了更安全的服务;同时还延长了安全。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1