CN105046115A - 检测软件运行时间被篡改的方法及装置 - Google Patents

检测软件运行时间被篡改的方法及装置 Download PDF

Info

Publication number
CN105046115A
CN105046115A CN201510587006.8A CN201510587006A CN105046115A CN 105046115 A CN105046115 A CN 105046115A CN 201510587006 A CN201510587006 A CN 201510587006A CN 105046115 A CN105046115 A CN 105046115A
Authority
CN
China
Prior art keywords
time
software
reference time
current time
running software
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.)
Pending
Application number
CN201510587006.8A
Other languages
English (en)
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 Senseshield Technology Co Ltd
Original Assignee
Beijing Senseshield Technology 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 Beijing Senseshield Technology Co Ltd filed Critical Beijing Senseshield Technology Co Ltd
Priority to CN201510587006.8A priority Critical patent/CN105046115A/zh
Publication of CN105046115A publication Critical patent/CN105046115A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

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

Abstract

本发明公开了一种检测软件运行时间被篡改的方法及装置,涉及信息技术领域,在软件运行时间被篡改时能够及时被发现,进而进行软件运行限制相关的操作,保证软件版权保护的安全性和可靠性。主要方法包括:获取软件运行的参考时间和当前时间,所述软件运行的参考时间为所述软件运行的历史时间;判断所述当前时间是否超过所述参考时间;若所述当前时间没有超过所述参考时间,则确定软件运行的时间被篡改;若所述当前时间超过所述参考时间,则确定软件运行的时间没有被篡改。本发明主要用于软件运行的控制过程中。

Description

检测软件运行时间被篡改的方法及装置
技术领域
本发明涉及信息技术领域,特别是涉及一种检测软件运行时间被篡改的方法及装置。
背景技术
随着计算机技术的发展,软件行业也在不断发展并已经深入到了各行各业当中。软件在使用的过程中,如何实施版权的保护,防止软件被盗用,具有很重要的意义。在软件版权保护领域,通常采用限时控制方式实现对软件版权的保护,该限时控制方式即为允许软件只能在某一设定的日期之前被使用,例如软件定期试用、租赁,定期使用许可等方式。要实现软件运行时间的监控,需要获取软件实时运行时间,以便对软件的使用期限进行监控。
目前,获取软件实时运行时间的方式一般是给软件保护装置附加时钟芯片和电池,该方式为软件保护装置在工作时从实时时钟芯片中读取时间信息;当软件保护装置下电时,由电池为时钟芯片供电,这样可以实现无论软件保护装置是否上电工作,实时时钟始终在计时。
通过附加时钟芯片和电池的方式虽然能够精确计时,但仍存在问题:当破解者通过给时钟芯片放电,或通过芯片的信号管脚发送命令以改变芯片内部的计时信息时,便可以获得超出软件使用期限的使用授权。面对该种问题,虽然采用点胶把时钟芯片的管脚封包住的方式,在很大程度上防止了时钟芯片内部时钟信息的被篡改,但是时钟芯片的管脚上封包的点胶容易被剥离开,在被剥离后,破解者能够直接通过管脚引线来修改时钟芯片内部信息,获取超出软件使用期限的使用授权,该种情况没有相关的检测方法检测该软件运行时间被篡改,导致对软件版权保护的安全性和可靠性较低。
发明内容
有鉴于此,本发明实施例提供一种检测软件运行时间被篡改的方法及装置,主要目的是在软件运行时间被篡改时能够及时被发现,进而进行软件运行限制相关的操作,保证软件版权保护的安全性和可靠性。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明实施例提供了一种检测软件运行时间被篡改的方法,所述方法包括:
获取软件运行的参考时间和当前时间,所述软件运行的参考时间为所述软件运行的历史时间;
判断所述当前时间是否超过所述参考时间;
若所述当前时间没有超过所述参考时间,则确定软件运行的时间被篡改;
若所述当前时间超过所述参考时间,则确定软件运行的时间没有被篡改。
另一方面,本发明实施例提供了另一种检测软件运行时间被篡改的装置,所述装置包括:
获取单元,用于获取软件运行的参考时间和当前时间,所述软件运行的参考时间为所述软件运行的历史时间;
判断单元,用于判断所述当前时间是否超过所述参考时间;
第一确定单元,用于在判定所述当前时间没有超过所述参考时间时,确定软件运行的时间被篡改;
所述第一确定单元还用于,在判定所述当前时间超过所述参考时间时,确定软件运行的时间没有被篡改。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明实施例提供的一种检测软件运行时间被篡改的方法及装置,通过比较软件运行的当前时间和参考时间(软件运行的历史时间),确定软件运行的时间是否被篡改;由于软件在使用的时候,不论是上电运行还是不运行,其时钟都是一刻不停的在计时的,那就导致软件运行的当前时间一定是超过软件运行的历史时间的,若检测到软件运行的当前时间没有超过软件运行的历史时间,则可以肯定的确认软件运行的时间是被篡改了,进而根据该检测结果可以提示相关软件维护人员进行软件运行限制相关的操作,保证软件版权保护的安全性和可靠性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种检测软件运行时间被篡改的方法流程图;
图2为本发明实施例提供的另一种检测软件运行时间被篡改的方法流程图;
图3为本发明实施例提供的一种检测软件运行时间被篡改的装置的组成框图;
图4为本发明实施例提供的另一种检测软件运行时间被篡改的装置的组成框图;
图5为本发明实施例提供的另一种检测软件运行时间被篡改的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种检测软件运行时间被篡改的方法,如图1所示,所述方法包括:
101、获取软件运行的参考时间和当前时间,所述软件运行的参考时间为所述软件运行的历史时间。
其中,所述参考时间和当前时间可以是时间点,也可以是时间长度,具体的本发明实施例对此不进行限制。其中,软件当前运行的时间为软件当前运行的累计时间长度时,即软件激活的时间点与软件当前运行时间点之间的差值,如,软件从激活起共使用了28天;也可以为软件当前运行所达到的时间点,如软件当前运行的时间点为2015年7月31日;也可以具体到分钟,或者是秒,或者更精细的时间,具体实施时可以根据需求设置,本发明实施例不做限定。参考时间如当前时间设置,只是该参考时间为软件运行的历史时间,此处将不再赘述。
当前时间可以从时钟模块读取,该时钟模块可以设置在软件保护装置内,也可以设置在其他位置,具体的本发明实施例对此不进行限制,本发明实施例为了时钟模块的安全性,优选设置在软件保护装置内。
软件保护装置是一种通过计算机接口,包括但不限于并口或者USB(UniversalSerialBus,串行总线)连接到计算机主机上的硬件设备。软件保护装置内部包含特定的功能,例如一部分存储空间、一些密码算法或者一些用户自定义的算法或者功能。在软件发行之前,软件开发者修改自己的软件代码,使得软件在运行过程中需要使用到软件保护装置内部的一些功能,这样软件离开软件保护装置之后就会无法运行,而软件保护装置作为一种硬件设备复制的难度较大,从而起到防止盗版软件非法传播的作用。软件保护装置具体可以为加密锁。软件保护装置通常包括有主控模块与时钟模块两部分,主控模块通过串行总线方式,如IIC(Inter-IntegratedCircuit,集成电路总线)、SPI(SerialPeripheralInterface,串行外设接口)等与时钟模块连接。串行总线是连接外部设备的一个串口总线标准,能够实现主控模块与时钟模块直接交换数据。当设置在软件保护装置内时,该时钟模块具体可以为软件保护装置内附加的时钟芯片和电池。
对于本发明实施例,步骤101获取软件运行的当前时间具体可以为:通过串行总线从时钟模块中获取软件当前运行的时间;或者通过调用时间函数从时钟模块中获取软件当前运行的时间信息。本发明优选通过串行总线从时钟模块中获取。
参考时间可以存储在软件保护装置中的时钟模块或者主控模块中,具体的本发明实施例对此不进行限制;参考时间具体可以存储在时钟模块的随机存取存储器(RandomAccessMemory,RAM)中,也可以存储在主控模块的存储区中,例如闪存(flash)存储区,本发明实施例不做限定。相应的在获取参考时间时,可以从软件保护装置内的主控模块获取,也可以从软件保护装置内的时钟模块获取,本发明实施例不做限定。
102、判断所述当前时间是否超过所述参考时间。
需要说明的是,因为不论激活的软件使用还是不使用,软件使用的期限都是一刻不停的往前计时,随着软件的不断运行和使用,软件的运行时间会越来越大,越来越接近软件的使用期限,所以软件运行的当前时间只能超过历史时间,不可能小于历史时间,若没有超过历史时间,那么也可断定当前时间一定是被篡改了。
参考时间具体可以为软件历史运行的累计时间长度,其以上次记录为参考,例如2015年7月1日发布一个新的软件,试用期为30天,在进行软件版权保护时,从软件最开始激活使用开始算起,第一次记录2015年7月4号记录的时间长度为3天,即该参考时间为3天,第二次记录为2015年7月16日记录的时间长度为15天,即该参考时间为15天。若获取软件运行的当前时间2015年7月18日对应的时间长度为14天,将当前时间长度和参考时间长度进行比较,当前时间长度为14天没有超过15天,可以判断该当前时间一定是被篡改了,软件当前运行的时间为非法时间,可以将该软件运行的时间被篡改的信息输出给相关人员,提示进行相关操作,防止相关软件继续被篡改。该相关操作可以为但不局限于终止运行所述软件。通过及进行相关操作,能够保证对软件版权保护的安全性和可靠性,从而能够提升对软件版权保护的安全性和可靠性,有效地保障软件开发商的利益。
若获取软件运行的当前时间长度为16天,16天超过了历史时间长度14天,则判断软件当前运行的时间正常,即用户是正常使用软件,没有对软件当前运行的时间进行篡改,此时继续运行所述软件。
当软件运行的参考时间和当前时间为时间点时,具体的应用场景可以如下所示,但不限于此,包括:假设软件的使用终止期限为2015年7月1日,参考时间为2015年6月20日,获取软件当前运行的时间信息为2015年6月19日,检测到软件当前运行的时间信息2015年6月19日没有超过参考时间2015年6月20日,则判定软件当前运行的时间信息被篡改,可以将该软件运行的时间被篡改的信息输出给相关人员,提示进行相关操作,防止相关软件继续被篡改;该相关操作可以为但不局限于终止运行所述软件。通过及进行相关操作,能够保证对软件版权保护的安全性和可靠性,从而能够提升对软件版权保护的安全性和可靠性,有效地保障软件开发商利益。
103、若所述当前时间超过所述参考时间,则确定软件运行的时间没有被篡改。
104、若所述当前时间没有超过所述参考时间,则确定软件运行的时间被篡改。
本发明实施例中,通过比较软件运行的当前时间和参考时间(软件运行的历史时间),确定软件运行的时间是否被篡改;由于软件在使用的时候,不论是上电运行还是不运行,其时钟都是一刻不停的在计时的,那就导致软件运行的当前时间一定是超过软件运行的历史时间的,若检测到软件运行的当前时间没有超过软件运行的历史时间,则可以肯定的确认软件运行的时间是被篡改了,进而根据该检测结果可以提示相关软件维护人员进行软件运行限制相关的操作,保证软件版权保护的安全性和可靠性。
本发明实施例提供了另一种检测软件运行时间被篡改的方法,如图2所示,所述方法包括:
201、获取软件运行的参考时间和当前时间,所述软件运行的参考时间为所述软件运行的历史时间。
202、判断所述当前时间是否超过所述参考时间。若所述当前时间没有超过所述参考时间,则执行205;若所述当前时间超过所述参考时间,则执行203。
203、确定软件运行的时间没有被篡改,并执行204。
204、将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间。
如前所示,为了增加参考时间的安全性,在将当前时间进行存储作为下一次检测的参考时间时,也可以对该当前时间进行加密,并将加密之后的当前时间和加密密钥进行存储。其中,在具体当前时间进行加密时,可以使用非对称加密算法对当前时间(即更新后的参考时间)进行加密;也可以使用对称加密算法对更新后的参考时间进行加密,具体实施时本发明实施例不做限定。其中,非对称加密算法可以为RSA算法、DSA算法(DigitalSignatureAlgorithm,数字签名算法)、ECC(EllipticCurveCryptosystem,椭圆曲线密码体制)算法、Diffie-Hellman算法,本发明实施例不做限定。例如,使用非对称加密算法对更新后的参考时间进行加密的过程具体可以为:将更新后的参考时间中读入一个字符串,再对该字符串进行哈希运算,然后获取更新后的参考时间的哈希值,使用RSA算法对哈希值进行加密。对称加密算法可以为DES(DataEncryptionStandard,数据加密标准)、3DES(TripleDES,三重数据加密算法)、也可以为AES(AdvancedEncryptionStandard,高级数据加密标准)、和Blowfish算法,本发明实施例不做限定。通过对更新后的参考时间进行加密,能够避免参考时间被恶意使用,从而能够保证参考时间的安全性。加密后的参考时间可以存储在时钟模块的RAM中,也可以存储在主控模块的存储区中,例如flash存储区,本发明实施例不做限定。参考时间的加密密钥存放于主控模块内部,从而使得外界无法获取加密密钥。本发明实施例,通过将加密密钥存放于主控模块内部,能够保证参考时间的安全性。当获取参考时间时,从主控模块内部获取加密的参考时间和加密秘钥,利用该加密秘钥对相应的加密的参考时间进行解密获取参考时间。
在对参考时间进行更新时,可以设置为周期性的更新,也可以根据具体操作记录进行更新,具体的本发明实施例对此不进行限制。本发明实施例以设定更新周期为例进行具体说明,具体为:在将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间之前,还包括如下的操作:
1、计算所述参考时间和当前时间之间的时间差。
2、确定所述时间差是否大于或等于预设时间差,所述预设时间差为参考时间更新周期;其中,预设时间差可以根据用户的需求进行设置,也可以根据系统默认模式进行设置,本发明实施例不做限定。
3、若确定所述时间差大于或等于所述预设时间差,则将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间。
4、若确定所述时间差小于所述预设时间差,则不更新参考时间。
例如,预设时间差可以设置为5分钟、1小时或1天等。若预设时间差为6分钟,获取的软件的当前运行时间为2015年7月1日18点30分,参考时间为2015年7月1日18点20分,软件的当前运行时间与所述参考时间之间的差值10分钟大于预设时间差6分钟,则将参考时间更新为2015年7月1日18点30分,并将更新的参考时间2015年7月1日18点30分作为下次判断的参考时间。
205、确定软件运行的时间被篡改,并执行206。
206、输出相关提示信息,提示相关人员进行软件限制运行的相关操作。
基于以上描述,本发明实施例的整体应用场景可以如下所示,但不限于此,包括:假设软件的使用终止期限为2015年8月1日,参考时间为2015年7月29日,预设时间差为1天,通过串行总线从加密锁的时钟模块中获取软件运行的当前时间。
若获取软件运行的当前时间为2015年7月31日;判断软件运行的当前时间2015年7月31日超过参考时间2015年7月29日,说明软件运行的当前时间2015年7月31日正常,即用户是正常使用软件,没有对软件运行的时间进行篡改,此时继续运行所述软件。同时判断软件当前运行的时间信息2015年7月31日与参考时间2015年7月29日之间的差值2天大于预设时间差1天,可以将软件运行的当前时间2015年7月31日作为新的参考时间,并将更新的参考时间2015年7月31日作为下次判断的参考时间。将新的参考时间2015年7月31日通过DES算法进行加密,并将加密后的参考时间2015年7月31日放入时钟模块的RAM或者主控模块的flash存储区进行存储,将加密密钥存放于主控模块内部。
当再次从加密锁的时钟模块中获取的软件运行的当前时间为2015年7月28日时,首先从主控模块提取所述加密后的参考时间2015年7月31日和所述加密密钥;通过所述加密密钥对所述加密后的参考时间2015年7月31日进行解密;然后检测软件运行的当前时间2015年7月28日是否超过所述解密后的参考时间2015年7月31日。此时,判定软件运行的当前时间2015年7月28日没有超过参考时间2015年7月31日,则确定软件运行的当前时间被篡改,说明软件盗版者修改了软件保护装置中时钟芯片内部时间信息,软件当前运行的时间为非法时间,输出软件运行时间被篡改的提示信息。
本发明实施例中,通过比较软件运行的当前时间和参考时间(软件运行的历史时间),确定软件运行的时间是否被篡改;由于软件在使用的时候,不论是上电运行还是不运行,其时钟都是一刻不停的在计时的,那就导致软件运行的当前时间一定是超过软件运行的历史时间的,若检测到软件运行的当前时间没有超过软件运行的历史时间,则可以肯定的确认软件运行的时间是被篡改了,进而根据该检测结果可以提示相关软件维护人员进行软件运行限制相关的操作,保证软件版权保护的安全性和可靠性。
并且,本发明实施例中,通过串行总线从预置时钟模块中获取软件当前运行的时间信息,能够保证主控模块获取软件当前运行的时间的安全性。
另外,在进行参考时间的更新时,通过设置预设时间差并根该预设时间差更新参考时间,能够避免将不必要的软件当前运行时间更新为参考时间,从而能够提升参考时间的规律性。
进一步的,在存储参考时间时,将参考时间进行加密,并将加密密钥存放于主控模块内部,能够避免软件破解者获取加密密钥,保证了参考时间的安全性,进而提高了软件使用的安全性。
本发明实施例提供了一种检测软件运行时间被篡改的装置,如图3所示,所述装置包括:
获取单元31,用于获取软件运行的参考时间和当前时间,所述软件运行的参考时间为所述软件运行的历史时间;其中,所述参考时间和当前时间为时间点或者时间长度。
所述获取单元31具体包括:第一获取模块,用于通过串行总线从时钟模块中获取软件当前运行的时间;
第二获取模块,用于获取存储在时钟模块或者主控模块中的加密参考时间以及存储在主控模块中的加密密钥,并使用所述加密密钥对所述加密参考时间进行解密获取所述参考时间。
判断单元32,用于判断所述当前时间是否超过所述参考时间。
第一确定单元33,用于在判定所述当前时间没有超过所述参考时间时,确定软件运行的时间被篡改。
所述第一确定单元33还用于,在判定所述当前时间超过所述参考时间时,确定软件运行的时间没有被篡改。
进一步的,如图4所示,该装置还包括:
存储单元34,用于当确定软件运行的时间没有被篡改之后,将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间。
进一步的,如图5所示,该装置还包括:
计算单元35,用于计算所述参考时间和当前时间之间的时间差;
第二确定单元36,用于确定所述时间差是否大于或等于预设时间差,所述预设时间差为参考时间更新周期;
所述存储单元34还用于,在确定所述时间差大于或等于所述预设时间差时,将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间。
具体的,所述存储单元34在进行存储时包括:
加密模块,用于在将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间之前,对所述当前时间进行加密。
存储模块,用于将加密后的当前时间和加密密钥进行存储,以将所述当前时间作为下一次检测的参考时间。
需要说明的是,本发明实施例中各组成单元及功能模块的相关描述,可以参考方法实施例中的对应描述,本发明实施例此处将不再赘述。
本发明实施例中,通过比较软件运行的当前时间和参考时间(软件运行的历史时间),确定软件运行的时间是否被篡改;由于软件在使用的时候,不论是上电运行还是不运行,其时钟都是一刻不停的在计时的,那就导致软件运行的当前时间一定是超过软件运行的历史时间的,若检测到软件运行的当前时间没有超过软件运行的历史时间,则可以肯定的确认软件运行的时间是被篡改了,进而根据该检测结果可以提示相关软件维护人员进行软件运行限制相关的操作,保证软件版权保护的安全性和可靠性。
并且,本发明实施例中,通过串行总线从预置时钟模块中获取软件当前运行的时间信息,能够保证主控模块获取软件当前运行的时间的安全性。
另外,在进行参考时间的更新时,通过设置预设时间差并根该预设时间差更新参考时间,能够避免将不必要的软件当前运行时间更新为参考时间,从而能够提升参考时间的规律性。
进一步的,在存储参考时间时,将参考时间进行加密,并将加密密钥存放于主控模块内部,能够避免软件破解者获取加密密钥,保证了参考时间的安全性,进而提高了软件使用的安全性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种检测软件运行时间被篡改的方法,其特征在于,包括:
获取软件运行的参考时间和当前时间,所述软件运行的参考时间为所述软件运行的历史时间;
判断所述当前时间是否超过所述参考时间;
若所述当前时间没有超过所述参考时间,则确定软件运行的时间被篡改;
若所述当前时间超过所述参考时间,则确定软件运行的时间没有被篡改。
2.根据权利要求1所述的方法,其特征在于,当确定软件运行的时间没有被篡改之后,还包括:
将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间。
3.根据权利要求2所述的方法,其特征在于,在将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间之前,还包括:
计算所述参考时间和当前时间之间的时间差;
确定所述时间差是否大于或等于预设时间差,所述预设时间差为参考时间更新周期;
若确定所述时间差大于或等于所述预设时间差,则执行所述将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间。
4.根据权利要求3所述的方法,其特征在于,将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间包括:
对所述当前时间进行加密;
将加密后的当前时间和加密密钥进行存储,以将所述当前时间作为下一次检测的参考时间。
5.根据权利要求1所述的方法,其特征在于,获取软件运行的参考时间和当前时间包括:
通过串行总线从时钟模块中获取软件当前运行的时间;
获取存储在时钟模块或者主控模块中的加密参考时间以及存储在主控模块中的加密密钥,并使用所述加密密钥对所述加密参考时间进行解密获取所述参考时间。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述参考时间和当前时间为时间点或者时间长度。
7.一种检测软件运行时间被篡改的装置,其特征在于,包括:
获取单元,用于获取软件运行的参考时间和当前时间,所述软件运行的参考时间为所述软件运行的历史时间;
判断单元,用于判断所述当前时间是否超过所述参考时间;
第一确定单元,用于在判定所述当前时间没有超过所述参考时间时,确定软件运行的时间被篡改;
所述第一确定单元还用于,在判定所述当前时间超过所述参考时间时,确定软件运行的时间没有被篡改。
8.根据权利要求7所述的装置,其特征在于,还包括:
存储单元,用于当确定软件运行的时间没有被篡改之后,将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间。
9.根据权利要求8所述的装置,其特征在于,还包括:
计算单元,用于计算所述参考时间和当前时间之间的时间差;
第二确定单元,用于确定所述时间差是否大于或等于预设时间差,所述预设时间差为参考时间更新周期;
所述存储单元还用于,在确定所述时间差大于或等于所述预设时间差时,将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间。
10.根据权利要求9所述的装置,其特征在于,所述存储单元包括:
加密模块,用于在将所述当前时间进行存储,并将所述当前时间作为下一次检测的参考时间之前,对所述当前时间进行加密;
存储模块,用于将加密后的当前时间和加密密钥进行存储,以将所述当前时间作为下一次检测的参考时间。
11.根据权利要求7所述的装置,其特征在于,所述获取单元包括:
第一获取模块,用于通过串行总线从时钟模块中获取软件当前运行的时间;
第二获取模块,用于获取存储在时钟模块或者主控模块中的加密参考时间以及存储在主控模块中的加密密钥,并使用所述加密密钥对所述加密参考时间进行解密获取所述参考时间。
12.根据权利要求7-11中任一项所述的装置,其特征在于,所述参考时间和当前时间为时间点或者时间长度。
CN201510587006.8A 2015-09-15 2015-09-15 检测软件运行时间被篡改的方法及装置 Pending CN105046115A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510587006.8A CN105046115A (zh) 2015-09-15 2015-09-15 检测软件运行时间被篡改的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510587006.8A CN105046115A (zh) 2015-09-15 2015-09-15 检测软件运行时间被篡改的方法及装置

Publications (1)

Publication Number Publication Date
CN105046115A true CN105046115A (zh) 2015-11-11

Family

ID=54452655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510587006.8A Pending CN105046115A (zh) 2015-09-15 2015-09-15 检测软件运行时间被篡改的方法及装置

Country Status (1)

Country Link
CN (1) CN105046115A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808980A (zh) * 2016-03-07 2016-07-27 深圳市新产业生物医学工程股份有限公司 非法使用软件的检测方法和装置
CN107403078A (zh) * 2017-06-27 2017-11-28 深圳市元征科技股份有限公司 一种应用的限定使用方法及终端
CN114626067A (zh) * 2021-06-25 2022-06-14 江苏航天龙梦信息技术有限公司 一种临时固件管控方法
TWI814641B (zh) * 2022-11-16 2023-09-01 碩壹資訊股份有限公司 能在離線狀態下防止系統時間被篡改之資料處理系統

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131679A1 (en) * 2010-04-28 2012-05-24 Zhou Lu Method for protecting software based on clock of security device and security device thereof
CN103718186A (zh) * 2013-09-05 2014-04-09 华为技术有限公司 存储系统及数据操作请求处理方法
CN104700023A (zh) * 2013-12-04 2015-06-10 中国移动通信集团辽宁有限公司 一种计算机系统时间防篡改方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131679A1 (en) * 2010-04-28 2012-05-24 Zhou Lu Method for protecting software based on clock of security device and security device thereof
CN103718186A (zh) * 2013-09-05 2014-04-09 华为技术有限公司 存储系统及数据操作请求处理方法
CN104700023A (zh) * 2013-12-04 2015-06-10 中国移动通信集团辽宁有限公司 一种计算机系统时间防篡改方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808980A (zh) * 2016-03-07 2016-07-27 深圳市新产业生物医学工程股份有限公司 非法使用软件的检测方法和装置
CN105808980B (zh) * 2016-03-07 2019-06-11 深圳市新产业生物医学工程股份有限公司 非法使用软件的检测方法和装置
CN107403078A (zh) * 2017-06-27 2017-11-28 深圳市元征科技股份有限公司 一种应用的限定使用方法及终端
CN114626067A (zh) * 2021-06-25 2022-06-14 江苏航天龙梦信息技术有限公司 一种临时固件管控方法
TWI814641B (zh) * 2022-11-16 2023-09-01 碩壹資訊股份有限公司 能在離線狀態下防止系統時間被篡改之資料處理系統

Similar Documents

Publication Publication Date Title
US7082539B1 (en) Information processing apparatus
CN100449558C (zh) 休眠保护
CN101419652B (zh) 一种软硬件结合的保护程序的方法
US7577852B2 (en) Microprocessor, a node terminal, a computer system and a program execution proving method
TWI581183B (zh) 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法
WO2010134192A1 (ja) 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法
US9571289B2 (en) Methods and systems for glitch-resistant cryptographic signing
CN110149209B (zh) 物联网设备及其提高数据传输安全性的方法和装置
CN108959978A (zh) 设备中密钥的生成与获取方法及装置
CN110008659B (zh) 软件许可的离线管理方法、装置、计算机设备及存储介质
CN106503494A (zh) 一种带有片上闪存微控制器的固件保护单元及保护方法
CN105046115A (zh) 检测软件运行时间被篡改的方法及装置
CN111177693B (zh) 一种验证终端根证书的方法、装置、设备和介质
CN105184196B (zh) 电子系统信息安全保护系统及方法
JP2005063079A (ja) メモリカード装置、権利管理システムおよび時間管理方法
CN105229652A (zh) 检测针对软件应用的利用
CN111783078A (zh) Android平台安全芯片控制系统
CN111160879A (zh) 一种硬件钱包及其安全性提升方法和装置
CN103824005A (zh) 一种内嵌可配置ip核的防复制系统及防复制方法
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
CN102236761A (zh) 一种软件防盗版中注册码生成方法
CN110932853B (zh) 一种基于可信模块的密钥管理装置和密钥管理方法
CN110727546A (zh) 汽车数据备份方法及装置
US20150262084A1 (en) Methods for defending static and dynamic reverse engineering of software license control and devices thereof
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Applicant after: BEIJING SHENSI SHUDUN SCIENCE & TECHNOLOGY CO., LTD.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Applicant before: Beijing Shensi Shudun Technology Co., Ltd.

COR Change of bibliographic data
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151111