[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN101587523B - 保护软件的方法和装置 - Google Patents

保护软件的方法和装置 Download PDF

Info

Publication number
CN101587523B
CN101587523B CN200910088379.5A CN200910088379A CN101587523B CN 101587523 B CN101587523 B CN 101587523B CN 200910088379 A CN200910088379 A CN 200910088379A CN 101587523 B CN101587523 B CN 101587523B
Authority
CN
China
Prior art keywords
time
real
clock
current time
time clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910088379.5A
Other languages
English (en)
Other versions
CN101587523A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING JIANSHI CHENGXIN TECHNOLOGIES Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN200910088379.5A priority Critical patent/CN101587523B/zh
Publication of CN101587523A publication Critical patent/CN101587523A/zh
Priority to US12/866,940 priority patent/US8701207B2/en
Priority to PCT/CN2010/074465 priority patent/WO2011000281A1/zh
Application granted granted Critical
Publication of CN101587523B publication Critical patent/CN101587523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Electric Clocks (AREA)

Abstract

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

Description

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

Claims (19)

1.一种保护软件的方法,其特征在于,所述方法包括:
安全设备与终端设备建立连接,所述安全设备中包括时间的限制信息;
所述终端设备中的受保护软件向所述安全设备发送预先约定的服务指令;
所述安全设备接收所述服务指令,判断所述安全设备内部的实时钟是否已经被激活;
当所述判断结果为未激活时,所述安全设备激活所述实时钟,将所述实时钟中的时间状态值设置为所述实时钟的起始时间,并根据所述时间状态值和所述时间的限制信息设置截止时间,读取所述实时钟的当前时间,并判断所述当前时间是否有效;如果是,则所述安全设备执行所述服务指令并返回执行结果给所述终端设备;如果不是,则所述安全设备返回错误结果给所述终端设备;
其中,所述安全设备激活所述实时钟的方法具体包括:
所述安全设备将所述实时钟的时钟芯片与电池连接;所述电池开始为所述实时钟供电,所述实时钟开始计时;将所述实时钟的激活标识位修改为激活标志;将所述实时钟的时间状态值设置为所述实时钟的起始时间;
或者,
所述安全设备控制所述实时钟的时钟振荡器使其开始工作;并将所述实时钟的使能脚使能,所述实时钟开始计时;将所述实时钟的激活标识位修改为激活标志;将所述实时钟的时间状态值设置为所述实时钟的起始时间;
当所述判断结果为已激活时,所述安全设备读取所述实时钟的当前时间,并判断所述当前时间是否有效;如果是,则所述安全设备执行所述服务指令并返回执行结果给所述终端设备;如果不是,则所述安全设备返回错误结果给所述终端设备。
2.如权利要求1所述的方法,其特征在于,所述受保护软件向所述安全设备发送预先约定的服务指令,具体包括:
所述终端设备对所述服务指令进行加密,并将所述加密后的服务指令发送给所述安全设备;
相应的,所述方法还包括:
所述安全设备对接收到的所述加密后的服务指令进行解密。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述安全设备对所述执行结果或所述错误结果进行加密,并将加密后的执行结果或错误结果返回给所述终端设备;
相应的,所述方法还包括:
所述终端设备对接收到的所述加密后的执行结果或错误结果进行解密。
4.如权利要求1或3所述的方法,其特征在于,所述错误结果具体为所述安全设备已过期的提示信息或报错信息或随机结果。
5.如权利要求1所述的方法,其特征在于,所述判断所述安全设备内部的实时钟是否已经被激活,具体包括:
所述安全设备判断所述实时钟的激活标识位是否激活标识;
当所述激活标识位为激活标识时,所述实时钟已激活;
当所述激活标识位为非激活标识时,所述实时钟未激活。
6.如权利要求1所述的方法,其特征在于,所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、以及所述设置的截止时间;
判断所述实时钟的当前时间是否已超过所述截止时间;
如果是,则当前时间为无效;
如果否,则当前时间为有效。
7.如权利要求1所述的方法,其特征在于,所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、所述时间的限制信息以及设置为所述实时钟的起始时间的时间状态值;
计算所述当前时间与所述起始时间的差值;
判断所述差值是否小于所述时间限制信息中设定的时间长度;
如果是,则当前时间为有效;
如果否,则当前时间为无效。
8.如权利要求7所述的方法,其特征在于,所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、所述时间的限制信息中设定的截止使用日期;
判断所述实时钟的当前时间是否超过所述时间的限制信息中设定的截止使用日期;
如果是,则当前时间为无效;
如果否,则当前时间为有效。
9.如权利要求8所述的方法,其特征在于,所述判断所述当前时间是否有效,具体包括:
所述安全设备读取所述实时钟的当前时间、所述时间的限制信息中设定的指定的使用时间区间;
判断所述实时钟的当前时间是否在所述时间的限制信息中设定的指定的使用时间区间内;
如果是,则当前时间为有效;
如果否,则当前时间为无效。
10.一种保护软件的装置,其特征在于,所述装置包括:
连接模块,用于与终端设备建立连接;
接收模块,用于接收所述终端设备中的受保护软件发送的预先约定的服务指令;
激活判断模块,用于判断所述安全设备内部的实时钟是否已经被激活;
激活模块,用于当所述激活判断模块的判断结果为未激活时,激活所述实时钟;
读取模块,用于读取所述实时钟的当前时间;
有效判断模块,用于判断所述当前时间是否有效;
发送模块,用于当所述有效判断模块的判断结果为是时,发送所述服务指令的执行结果给所述终端设备;当所述有效判断模块的判断结果为否时,发送错误结果给所述终端设备;
其中,所述激活模块具体包括:
连接单元,用于将所述实时钟的时钟芯片与电池连接;
计时单元,用于所述电池开始为所述实时钟供电,所述实时钟开始计时;
修改单元,用于将所述实时钟的激活标识位修改为激活标志;
设置单元,用于将所述实时钟的时间状态值设置为所述实时钟的起始时间;
或者,
所述激活模块具体包括:
控制单元,用于控制所述实时钟的时钟振荡器使其开始工作;
计时单元,用于将所述实时钟的使能脚使能,所述实时钟开始计时;
修改单元,用于将所述实时钟的激活标识位修改为激活标志;
设置单元,用于将所述实时钟的时间状态值设置为所述实时钟的起始时间。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
解密模块,用于当所述接收模块接收到的服务指令为加密的服务指令时,使用预先约定的解密算法对所述加密的服务指令进行解密。
12.如权利要求10所述的装置,其特征在于,所述装置还包括:
加密模块,用于对所述执行结果或所述错误结果进行加密;
相应的,所述发送模块具体用于:
将所述加密后的执行结果或错误结果返回给所述终端设备。
13.如权利要求10或12所述的装置,其特征在于,所述错误结果具体为所述安全设备已过期的提示信息或报错信息或随机结果。
14.如权利要求10所述的装置,其特征在于,所述激活判断模块具体用于判断所述实时钟的激活标识位是否激活标识;
当所述激活标识位为激活标识时,所述实时钟已激活;
当所述激活标识位为非激活标识时,所述实时钟未激活。
15.如权利要求10所述的装置,其特征在于,所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、以及预设的时间的限制信息中的截止时间;
判断单元,用于判断所述实时钟的当前时间是否已超过所述截止时间;
如果是,则所述判断单元的结果为当前时间为无效;
如果否,则所述判断单元的结果为当前时间为有效。
16.如权利要求10所述的装置,其特征在于,所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、预置的时间的限制信息中的起始时间和截止时间;
判断单元,用于判断所述实时钟的当前时间是否处于所述时间的限制信息中的起始时间和截止时间之间;
如果是,则所述判断单元的结果为当前时间为有效;
如果否,则所述判断单元的结果为当前时间为无效。
17.如权利要求10所述的装置,其特征在于,所述激活模块还具体:
开启单元,用于开启所述实时钟的时间保护功能;
修改单元,用于将所述实时钟的激活标识位修改为激活标志。
18.如权利要求17所述的装置,其特征在于,所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、所述时间的限制信息;
判断单元,用于判断所述实时钟的当前时间是否超过所述时间的限制信息中设定的截止时间;
如果是,则所述判断单元的结果为当前时间为无效;
如果否,则所述判断单元的结果为当前时间为有效。
19.如权利要求17所述的装置,其特征在于,所述有效判断模块具体包括:
读取单元,用于读取所述实时钟的当前时间、所述时间的限制信息;
判断单元,用于判断所述实时钟的当前时间是否在所述时间的限制信息中设定的指定的使用时间区间内;
如果是,则当前时间为有效;
如果否,则当前时间为无效。
CN200910088379.5A 2009-07-02 2009-07-02 保护软件的方法和装置 Active CN101587523B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200910088379.5A CN101587523B (zh) 2009-07-02 2009-07-02 保护软件的方法和装置
US12/866,940 US8701207B2 (en) 2009-07-02 2010-06-25 Method, device and system for protecting software
PCT/CN2010/074465 WO2011000281A1 (zh) 2009-07-02 2010-06-25 保护软件的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910088379.5A CN101587523B (zh) 2009-07-02 2009-07-02 保护软件的方法和装置

Publications (2)

Publication Number Publication Date
CN101587523A CN101587523A (zh) 2009-11-25
CN101587523B true CN101587523B (zh) 2012-04-18

Family

ID=41371767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910088379.5A Active CN101587523B (zh) 2009-07-02 2009-07-02 保护软件的方法和装置

Country Status (3)

Country Link
US (1) US8701207B2 (zh)
CN (1) CN101587523B (zh)
WO (1) WO2011000281A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587523B (zh) * 2009-07-02 2012-04-18 飞天诚信科技股份有限公司 保护软件的方法和装置
CN101847188A (zh) * 2010-04-28 2010-09-29 北京飞天诚信科技有限公司 一种基于时钟的安全装置的软件保护方法及安全装置
CN102779258A (zh) * 2012-07-06 2012-11-14 苏州阔地网络科技有限公司 一种软件有效期控制方法及系统
CN103186729B (zh) * 2013-03-26 2016-04-06 北京深思数盾科技有限公司 利用加密锁对软件进行保护的方法及加密锁
CN104077500B (zh) * 2013-03-29 2017-06-13 深圳创维数字技术有限公司 一种软件的保护方法及系统
CN103544037B (zh) * 2013-10-29 2016-08-17 飞天诚信科技股份有限公司 一种支持OpenSC的软硬件驱动的实现方法
CN104298898A (zh) * 2014-09-11 2015-01-21 北京深思数盾科技有限公司 一种软件保护方法及装置
CN106611111A (zh) * 2016-12-12 2017-05-03 珠海市魅族科技有限公司 一种终端设备使用控制方法及装置
CN110032831A (zh) * 2018-01-11 2019-07-19 上海有云信息技术有限公司 软件证书的生成方法、装置及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408388B1 (en) * 1993-05-05 2002-06-18 Addison M. Fischer Personal date/time notary device
JPH0721336A (ja) * 1993-07-05 1995-01-24 Mitsubishi Electric Corp 接触型携帯機器及び非接触型携帯機器
US5444780A (en) * 1993-07-22 1995-08-22 International Business Machines Corporation Client/server based secure timekeeping system
JP2606169B2 (ja) * 1994-12-16 1997-04-30 日本電気株式会社 間欠受信機能を有する無線選択呼出受信機
US6473607B1 (en) * 1998-06-01 2002-10-29 Broadcom Corporation Communication device with a self-calibrating sleep timer
US6823456B1 (en) * 1999-08-25 2004-11-23 International Business Machines Corporation System and method for providing trusted services via trusted server agents
AU7593601A (en) * 2000-07-14 2002-01-30 Atabok Inc Controlling and managing digital assets
US6745338B1 (en) * 2000-09-12 2004-06-01 Cypress Semiconductor Corp. System for automatically selecting clock modes based on a state of clock input pin and generating a clock signal with an oscillator thereafter
US6968473B2 (en) * 2001-11-15 2005-11-22 International Business Machines Corporation Method and apparatus for generating a virtual clock in a data processing system
CN100354786C (zh) * 2002-07-09 2007-12-12 富士通株式会社 开放型通用抗攻击cpu及其应用系统
US7493487B2 (en) * 2004-10-15 2009-02-17 Microsoft Corporation Portable computing environment
US8176564B2 (en) * 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US7302594B2 (en) * 2005-03-21 2007-11-27 Microsoft Corporation Query of bios-stored value to determine user intent at return to active state
US8438645B2 (en) * 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8688583B2 (en) * 2005-10-18 2014-04-01 Intertrust Technologies Corporation Digital rights management engine systems and methods
CN100495421C (zh) 2006-03-23 2009-06-03 李岳 一种基于usb设备的认证保护方法
US7765423B2 (en) * 2006-12-21 2010-07-27 Thomson Licensing Implementation of multiple clock interfaces
US8671459B2 (en) * 2007-02-23 2014-03-11 Malcolm H. Nooning, III Prevention of software piracy using unique internal intelligence with every software application copy
CN101241531A (zh) * 2007-07-27 2008-08-13 北京深思洛克数据保护中心 一种控制软件授权使用时间的方法
US8544105B2 (en) * 2007-12-24 2013-09-24 Qualcomm Incorporated Method and apparatus for managing policies for time-based licenses on mobile devices
JP5216873B2 (ja) * 2008-02-19 2013-06-19 インターデイジタル パテント ホールディングス インコーポレイテッド セキュアな信頼された時刻技法のための方法および装置
CN100585610C (zh) * 2008-05-19 2010-01-27 北京深思洛克软件技术股份有限公司 一种带时间阈保护的软件保护装置及其实现方法
CN101587523B (zh) * 2009-07-02 2012-04-18 飞天诚信科技股份有限公司 保护软件的方法和装置

Also Published As

Publication number Publication date
CN101587523A (zh) 2009-11-25
US8701207B2 (en) 2014-04-15
US20110119766A1 (en) 2011-05-19
WO2011000281A1 (zh) 2011-01-06

Similar Documents

Publication Publication Date Title
CN101587523B (zh) 保护软件的方法和装置
CN101847188A (zh) 一种基于时钟的安全装置的软件保护方法及安全装置
CN100590639C (zh) 用于管理多个智能卡会话的系统和方法
CN107995617A (zh) 一种可支持远程安全销毁的固态存储设备设计
US20080011827A1 (en) Automatic management of security information for a security token access device with multiple connections
CA2593901C (en) Automatic management of security information for a security token access device with multiple connections
CN101500232A (zh) 实现动态身份认证的方法及系统
CA2328932A1 (en) Information processing device and method, and program storage medium
KR20150011377A (ko) 전자 인증 클라이언트 시스템 및 프로세싱 방법, 그리고 전자 인증 시스템 및 방법
WO2012019397A1 (zh) 一种射频识别标签识别的方法及系统
CN101815292A (zh) 一种移动终端的数据保护装置及方法
CN101883357A (zh) 一种终端与智能卡之间的相互认证方法、装置及系统
JP2007265321A (ja) 個人認証システム及び個人認証方法
CN104766620A (zh) 一种加密u盘
EP3769183B1 (en) Devices with removable smart cards
CN204423918U (zh) 一种加密u盘
CN201707918U (zh) 微控制器编程系统
CN107070658B (zh) 一种系统加密认证机制的改进方法
CN212322266U (zh) 存储装置、鉴权端及加密存储设备
CN204990547U (zh) 一种用于税控系统的发票开具装置
CN101251885A (zh) 一种保护mcu内软件程序安全的方法及装置
KR100860408B1 (ko) 무선통신을 이용하여 스마트카드와 신호처리를 행하는 방법및 이를 위한 장치
CN108882217A (zh) 一种批量写入蓝牙mac地址的方法及其蓝牙设备
CN204480667U (zh) 无线加密u盘
CN212906398U (zh) 一种智能电子锁

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING JIANSHI CHENGXIN TECHNOLOGIES CO., LTD.

Free format text: FORMER OWNER: FEITIAN TECHNOLOGIES CO., LTD.

Effective date: 20141203

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20141203

Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B building room 205

Patentee after: Beijing Jianshi Chengxin Technologies Co., Ltd.

Address before: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Patentee before: Feitian Technologies Co., Ltd.