软件保护装置中实时时间的远程校准方法

文档序号:6542034阅读:230来源:国知局
软件保护装置中实时时间的远程校准方法
【专利摘要】本发明提供一种软件保护装置中实时时间的远程校准方法。包括:1)客户端获取软件保护装置内随机数、时间及其Mac,同时软件保护装置内EEPROM存储随机数和装置内时间;2)客户端获取主机时间并与步骤1中数据合并为数据包,并把数据包发送给服务器;3)服务器比较主机时间与服务器时间,如果差值在允许范围内,则计算主机时间与装置内时间之差,重新组合数据包;4)服务器校验数据包,校验成功则对随机数、装置内时间及步骤3中计算的时间差计算Mac,将Mac与数据包中数据组合成校准码,并发给客户端;5)客户端将校准码发送给软件保护装置;6)软件保护装置根据校准码校准装置内时间。本发明不依赖于本地主机时间,可获得可信的、较为精确的实时时间。
【专利说明】软件保护装置中实时时间的远程校准方法
【技术领域】
[0001]本发明涉及计算机安全领域,特别涉及一种软件保护装置中实时时间的远程校准方法。
【背景技术】
[0002]在软件版权保护领域,对软件的使用进行限时控制是常用的方法,例如软件定期试用、租凭、定期使用许可等模式,即软件只能在某一设定的日期之前被使用,这要求软件保护装置必须能够获得当前的实时时间,以便对软件的运行进行控制。
[0003]软件保护装置是一种通过计算机接口(包括但不限于并口或者USB接口 )连接到计算机主机上的硬件设备。该设备内部具有非易失性存储空间可供读写,通常还具有单片机或者微处理控制芯片等计算处理单元。软件开发者可以通过接口函数和软件保护装置进行数据交换(即对软件保护装置进行读写),来检查软件保护装置是否插在接口上;或者直接用软件保护装置附带的工具进行加密。这样,软件开发者可以在软件中设置多处软件锁,利用软件保护装置作为钥匙来打开这些锁;如果没插软件保护装置或软件保护装置不对应,软件将不能正常执行。
[0004]此外,软件保护装置内部包含特定的功能,例如一部分存储空间、一些密码算法或者一些用户自定义的算法或者功能。在软件发行之前,软件开发者修改自己的软件代码,使得软件在运行过程中需要使用到软件保护装置内部的一些功能,这样软件离开软件保护装置之后就会无法运行,而软件保护装置作为一种硬件设备复制的难度较大,从而起到防止盗版软件非法传播的作用。
[0005]当前市场上主要的软件保护装置包括:美国SafeNet公司的Sentinel Superpro>以色列Aladdin公司的Hasp HL、中国北京深思洛克软件股份有限公司的精锐系列、德国W1-Bu公司的WIBU-Key等。所有这些软件保护装置都提供了内置的存储空间、私有或公开的密码算法,当软件运行过程中可以调用这些功能来检验是否属于正版。这些软件保护装置采用了智能卡芯片作为硬件的基础,而且支持用户将自己定义的功能写入到软件保护装置内部,甚至可以直接将软件的部分功能移植到软件保护装置内部完成,从而大大提高了软件被盗版的难度,通常称这种将自己定义的功能或者软件的部分功能移植到软件保护装置内部的技术为代码移植。本发明人现在对应网站为http://www.sense, com.cn/,其中详细公开了本发明人开发的软件保护装置的具体参数性能和工作原理。
[0006]目前,获得实时时间的有效方法包括:
第一种是给软件保护装置附加电池,利用软件保护装置内部处理器时钟频率累加计时。但由于软件保护装置在不工作时处理器时钟处于运行状态,耗电量高,装置的有效工作期受电池容量的限制;同时,计时误差会累积,长时间使用会产生较大偏差;另外电池的使用也会增加成本。
[0007]第二种是附加实时时钟芯片进行计时,软件保护装置在工作时从实时时钟芯片中读取时间信息,实时时钟芯片功耗低、计时精确,可以解决第一种方法的部分缺陷,但其使用时间仍受电池容量的限制,成本则更高。
[0008]第三种是软件保护装置在每次上电时,利用内部处理器时钟频率从上次记录的时间开始累计计时,并定期写入非易失存储器中。但由于只能在上电时开始计时,因此必须使用本地主机的时间来校准。该方法最大的问题是软件破解者很容易调整主机时间,或者篡改向软件保护装置发送的时间信息。虽然该方法可以对从主机取得的时间进行一定的判断,例如将其与装置内的计时信息进行比对,只有在主机时间晚于装置时间时才被认为有效,但这种判断的有效性很差。软件破解者可以记录每次下电时间,在下一次软件保护装置工作时传入该事件之后的一个很接近的时间,使得软件保护装置实际上只是在累计上电时间,而无法得到真正的实时时间。例如一个试用期为30天的软件,假设软件平均每天使用时间为2小时,破解者利用上述手段可以获得长达约一年的使用期(24小时*30天/2小时=360天)。因此该方法无法提供有效的软件限时保护。
[0009]第四种是给软件保护装置附加时钟芯片和电池,无论软件保护装置是否上电工作,时钟芯片始终在计时。当软件保护装置下电时,由电池为时钟芯片供电。因此时钟芯片能够正常计时的时间由电池容量决定。如果电池电量耗尽使得时钟芯片停止计时,或者电量不足影响时钟芯片的计时精度,软件保护装置都无法获得实时时间以实施对受保护软件的使用控制。此外,外界环境干扰(如强烈电磁辐射)也会引起时钟芯片功能异常,导致计时出错。另外,软件破解者有可能会给时钟芯片放电,或通过芯片的信号管脚发送命令以改变芯片内的计时信息,从而获得超出软件使用期限的使用授权。
[0010]如果软件保护装置内的实时时钟早于实时时间,将使得软件的限时使用控制失效,损害了软件商的利益;如果晚于实时时间,软件将会在有效期内被禁止使用,损害了使用者的利益。软件商只能采取更换软件保护装置或重新设置实时时钟的方法,这无疑将增加软件商的物理和管理成本。
[0011]MAC (Message Authentication Code,消息认证码)是基于密钥和消息摘要所获得的一个值,用来验证消息的完整性和真实性(即合法性)。具体来说,它是利用密钥来生成一个固定长度的端数据块,并将该数据块附加在消息之后,通信中,消息和MAC —起被发给接收方,接收方利用收到的信息及密钥进行计算,若得到新的MAC值和接收到的值相等,则认为:
1)接收到的信息未被篡改:因为攻击者没有密钥,故篡改信息之后,得不到对应的MAC值(消息完整性保护);
2)接收到的信息来自真正的发送方:攻击者没有密钥,不能生成MAC值(保证信息的合法性)。
[0012]MAC算法(带密钥的hash函数)是含有密钥散列函数算法,兼容了 MD和SHA算法的特性,并在此基础上增加了密钥。MAC中消息的散列值由只有通信双方知道的秘密密钥来控制。
[0013]通常有基于HASH函数的MAC(被称为HMAC)以及基于分组密码的MAC(通常称之为 CMAC)。

【发明内容】

[0014]有鉴于此,本发明提供了一种软件保护装置中实时时间的远程校准方法。[0015]本发明提供一种软件保护装置中实时时间校准的方法,所述方法步骤包括:
1.客户端获取软件保护装置中的随机数、装置内时间及其消息认证码Mac,同时,软件保护装置内部保存当前装置内时间和随机数信息;
2.客户端获取主机时间,与步骤I中获取的数据即随机数、装置内时间及其Mac合并为数据包,并将数据包发送给服务器;
3.服务器接收客户端发送的数据包,比较其中的主机时间与服务器端时间,如果差值在允许范围内,则执行步骤4 ;
4.服务器计算数据包中存储的主机时间和软件保护装置内部时间的时间差,重新组合数据包;重新组合就是在原有数据包中增加本步骤所计算出的时间差,组合方式例如:可以将本步骤计算出的时间差添加在原数据包的末尾位置(当然也可以是其他位置);
5.服务器对重新组合后的数据包进行校验,如果校验成功,则执行步骤6,否则,返回错误信息;
6.服务器用重新组合后的数据包中的随机数、装置内时间、步骤4中计算出的时间差计算Mac,组合成校准码;
7.服务器将校准码发送给客户端;
8.客户端将校准码发送到软件保护装置,软件保护装置获取校准码,校准装置内时间。
[0016]根据本发明的一个方面,所述步骤8中软件保护装置校准装置内时间具体过程包括:
81:软件保护装置比较校准码中的随机数和装置内时间是否与软件保护装置内部存储的随机数和装置内时间一致,如果一致,则执行步骤82,如果不一致,则不能校准;
82:比较校验码中的装置内时间和当前软件保护装置内时间,如果差值未超出允许范围,则执行步骤83,如果差值超出允许范围,则不能校准;
83:校验校准码中的Mac,校验成功,则执行步骤84,校验失败,则不能校准;
84:软件保护装置修改装置内的当前时间为:装置内当前时间+校准码中的时间差值(即装置内当前时间加上校准码中的时间差值);
85:校准完成后,清除软件保护装置中保存的随机数和装置内时间,防止校准码重用。
[0017]根据本发明的一个方面,所述软件保护装置包括但不限于加密锁。
[0018]根据本发明的一个方面,步骤I中所述Mac是对随机数和装置内时间进行计算得出的。根据本发明的一个实施方式,所述算法包括但不限于aes-cmac、des-cmac和Hmac。
[0019]根据本发明的一个方面,所述步骤I中在软件保护装置内部EEPROM中保存当前的装置内时间和随机数。
[0020]根据本发明的一个方面,所述客户端获取随机数、装置内时间及Mac的同时还可以获取其他标识信息,如设备信息等。设备信息例如设备ID。
[0021]根据本发明的一个方面,步骤3中所述允许范围指服务器端预设的允许的时间范围,当时间差值在这个时间范围内时,表明时间具有可靠性,可以进行下一步的操作;如果差值不在这个时间范围,则表明时间差距太大,不具备可靠性或参考性。
[0022]根据本发明的一个方面,所述步骤4中数据包中存储的主机时间和软件保护装置内部时间的时间差具体为:时间差=主机时间-装置内部时间(即主机时间减去装置内部时间)。[0023]根据本发明的一个方面,步骤5中所述服务器校验数据包,具体校验过程为:服务器对数据包中的随机数和装置内时间计算Mac,将计算得出的Mac与数据包中的Mac进行比较,如果一致,则校验成功,否则,返回错误。
[0024]上述方法步骤中的数据包可以是各项信息的随意组合,本发明中对于数据包中各项信息的前后顺序及其组合格式没有要求,可以自行定义。根据本发明的一个实施方式,数据包的格式可以通过下划线、“ I ”分割线等方式进行分割。
[0025]上述方法步骤中的校准码为随机数、装置内时间、“主机时间与装置内时间差值”以及用数据包中的随机数、装置内时间、“主机时间与装置内时间差值”所计算出的Mac的组合。本发明中对于校准码中各项信息的前后顺序及其组合格式没有特殊要求,可以自行定义。
[0026]根据本发明的一个方面,所述客户端与服务器进行数据交互时,还可以对传输的数据进行加密处理,接收方接收到之后再进行解密。根据本发明的一个方面,所述加密方法包括但不限于对称或非对称加密算法。
[0027]根据本发明的一个方面,计算Mac的密钥预先自行定义(说明:关于密钥的自行定义可以由服务提供商(即
【发明者】公司)进行,也可以由开发商自行定义)。所述密钥可以通过特定标识信息和预设的秘密数据进行加密或签名计算得到。根据本发明的一个实施方式,所述特定标识数据包括开发者ID等其他标识信息;所述加密或签名计算包括SHA1、SHA256.MD5 等。
[0028]根据本发明的一个方面,所述软件保护装置和服务器均分别存储有计算Mac的相同密钥。
[0029]根据本发明的一个方面,所述客户端包括预先提供的可以与软件保护装置进行交互的软件工具,可以获取软件保护装置内的数据,也可以向软件保护装置发送数据。
[0030]通过本发明提供的方法,有效弥补了现有技术中主机时间不可信的缺点,使用本发明所提供的方法可以不依赖于本地主机时间,可以获得可信的、较为精确的实时时间,为软件开发者提供了日期限制等软件保护方案。
【专利附图】

【附图说明】
[0031]图1为本发明的软件保护装置中实时时间的远程校准方法的流程示意图。
[0032]图2为本发明的软件保护装置中实时时间的远程校准方法实施例1的基本流程图。
[0033]图3为本发明的软件保护装置中实时时间的远程校准方法实施例2的基本流程图。
[0034]图4为本发明的软件保护装置内部时间校准方法流程图。
[0035]图5为本发明的客户端的功能框图。
【具体实施方式】
[0036]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
[0037]图1为本发明的软件保护装置中实时时间的远程校准方法的流程示意图。[0038]如图1所示,该方法包括如下步骤:
步骤1:客户端获取软件保护装置中的随机数、装置内时间及其消息认证码Mac,并且在软件保护装置内部保存当前装置内时间和随机数信息;
步骤2:客户端获取主机时间,与步骤I中获取的数据即随机数、装置内时间及其Mac合并为数据包,并将数据包发送给服务器;
步骤3:服务器接收客户端发送的数据包,比较数据包中的主机时间与服务器端时间之差是否在允许范围内,如果允许,则执行步骤4 ;如果不允许,则返回错误信息; 步骤4:服务器计算数据包中主机时间和软件保护装置内部时间的时间差,重新组合数据包重新组合就是在原有数据包中增加本步骤所计算出的时间差;
步骤5:服务器对重新组合后的数据包进行校验,如果校验成功,则执行步骤6,否则,返回错误信息;
步骤6:服务器用重新组合后的数据包中的随机数、装置内时间、步骤4中计算出的时间差计算Mac,组合成校准码;
步骤7:服务器将校准码发送给客户端;
步骤8:客户端将校准码发送到软件保护装置;
步骤9:软件保护装置获取校准码,校准装置内的实时时间。
[0039]实施例1
图2为本发明的软件保护装置中实时时间的远程校准方法实施例1的基本流程图。
[0040]参见图2,本实施例中,所述软件保护装置为加密锁,加密锁由最终用户使用,因此,本实施例中将加密锁称之为用户锁。本实施例中,计算Mac的密钥由开发者ID和发明人预设的秘密数据进行MD5计算得到:
Key=MD5 (开发者ID |秘密数据)。
[0041](说明:本发明中所有提及的“I”并不存在,本发明中使用本意是为了便于描述。“ I ”无实际意义,表示的仅仅为拼接关系,即开发者ID和秘密数据拼接起来,例如开发者ID为:123,秘密数据为:456,拼接起来就是123456。使用时会根据字节数进行读取。)
上述计算Mac的密钥Key分别保存于用户锁和服务器端。
[0042]根据本发明的一个实施方式,一种软件保护装置中实时时间的远程校准方法,具体步骤包括:
1、客户端获取用户锁内随机数RND、时间LockTime及其Mac,同时,在锁内EEPROM中保存当时的锁内时间LockTime_EEPROM和随机数RND_EEPR0M。
[0043]其中,所述Mac是对RND | LockTime计算aes-cmac得到的;此处的计算属常规公知计算方式,本发明不再赘述。
[0044]2、客户端获取PC主机时间PCTime,与步骤I中的数据即随机数RND、时间LockTime及其Mac合并为数据包,并将数据包发送给服务器。根据本发明的一个实施方式,所述数据包格式为:
RND I LockTime|Mac|PCTime。
[0045]3、服务器端比较PCTime与服务器端时间,如果其差值在允许范围内,则计算PCTime 与 LockTime 之差 Diff:
Diff=PCTime-LockTime,重新组合数据包:RND I LockTime I Mac I Diff。
[0046]4、服务器端校验数据包,对随机数、锁内时间计算Mac,并与数据包中的Mac做比较,如果一致,则校验成功,执行步骤5,否则,返回错误。
[0047]5、服务器对RND | LockTime | Diff计算Mac,组合成校准码,并将校准码发送给客户端。根据本发明的一个实施方式,所述校准码格式为:
RND I LockTime I Diff I Mac。
[0048]6、客户端接收校准码并将校准码发送给用户锁,用户锁校准锁内时间。
[0049]图4为本发明的软件保护装置内部实时时间校准的方法流程图。
[0050]参见图4,根据本发明的一个实施方式,所述用户锁校准锁内时间的方法,步骤包括:
61.用户锁比较校准码中的RND和LockTime是否与锁内保存的RND_EEPR0M和LockTime_EEPROM 一致,如果一致,则执行步骤62,否则,不能校准;
62.比较LockTime与当前锁内时间LockTime2,如果差值没有超出允许范围,则执行步骤63,如果差值超出允许范围,则不能校准;
63.校验校准码中的Mac,如果校验成功,则执行步骤64,如果校验失败,则不能校准;根据本发明的一个方式,所述校验Mac方式与步骤4中相同;
64.修改当前锁内时间LockTime3 为:LockTime3+Diff;
65.校准完成后,清除锁内保存的RND_EEPR0M和LockTime_EEPROM,防止校准码重用。
[0051]本实施例中,具有远程校准用户锁时钟的能力,在开发者要求校准的情况下,可以通过提供的远程校准服务完成校准工作而不需要开发者再做额外的工作。
[0052]实施例2
图3为本发明的软件保护装置中实时时间的远程校准方法实施例2的基本流程图。
[0053]本实施例中,所述软件保护装置为加密锁,加密锁由最终用户使用,因此,本实施例中将加密锁称之为用户锁。另外,在本实施例中,还具有控制锁,所述控制锁预先提供给开发者,控制锁用于校验服务器端数据包和生成校准码。
[0054]本实施例中,计算Mac的密钥由开发者ID和发明人预设的秘密数据进行SHAl计算得到:
Key=SHAl (开发者ID |秘密数据)。
[0055]上述计算Mac的密钥Key分别保存于用户锁和控制锁中。
[0056]根据本发明的实施例,一种软件保护装置中实时时间的远程校准方法,具体步骤包括:
1.客户端通过AdjustTime命令从用户锁中至少获取随机数RND、锁内时间LockTime及其Mac,其格式为=RNDlLockTime I Mac;同时,在用户锁内EEPROM中保存当前的锁内时间LockTime_EEPROM 和随机数 RND_EEPR0M;
其中,Mac是对RND | LockTime计算des-cmac得到的。
[0057]2.客户端获取主机时间PCTime,与步骤I中数据合并为数据包,并将数据包发送给服务器。数据包格式为:RND I LockTime I Mac I PCTime。
[0058]3.服务器比较PCTime和服务器端时间,如果差值在允许的范围内,则服务器计算PCTime 与 LockTime 之差 Diff:Diff=PCTime-LockTimej
重新组合成新的数据包:
RND I LockTime I Mac I Diff,
将组合的数据包发送给控制锁;
如果不在允许的范围内,则返回错误信息。
[0059]4.控制锁校验服务器端数据包,对随机数、锁内时间计算Mac,并与数据包中Mac进行对比,如果一致,则表明校验成功,执行步骤5,否则,返回错误信息。
[0060]5.控制锁对RND I LockTime I Diff计算Mac,组合成校准码,并将校准码返回给服务器,校准码格式为:RND I LockTime | Diff | Mac。
[0061]6.服务器端将校准码发送给客户端。
[0062]7.客户端通过AdjustTime命令,将校准码发送到用户锁,用户锁校准锁内时间。
[0063]图4为本发明的软件保护装置内部实时时间校准的方法流程图。
[0064]参见图4,根 据本发明的一个实施方式,所述用户校准锁内时间的方法包括:
用户锁比较校准码中的RND和LockTime是否与锁内保存的RND_EEPR0M和LockTime_EEPROM 一致,如果一致,则执行下一个步骤,否则,不能校准;
比较LockTime与当前锁内时间LockTime2,如果差值没有超出允许范围,则执行下一个步骤,如果差值超出允许范围,则不能校准;
校验校准码中的Mac,如果校验成功,则执行下一个步骤,校验失败,则不能校准;
修改当前锁内时间LockTime3为:LockTime3+Diff;
校准完成后,清除锁内保存的RND_EEPR0M和LockTime_EEPROM,防止校准码重用。
[0065]本实施例中,校验服务器数据包和生成校准码的工作由开发者控制锁来完成,当开发者需要自己校准其用户锁时,通过发明人提供的控制锁,可以轻易实现校准用户锁的功能。
图5为本发明所述的客户端的功能框图。
[0066]参见图5,本发明所述的客户端包括采集模块和信息处理模块,其中,所述采集模块,用于获取软件保护装置内的随机数、装置内时间及Mac,还用于获取主机时间。
[0067]所述信息处理模块,用于将获取到的主机时间以及采集模块中获取到的软件保护装置内的随机数、装置内时间及Mac合并为数据包,并把数据包发送给服务器,还用于接收服务器端发送的校准码信息,并将校准码信息发送给软件保护装置。
[0068]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种软件保护装置中实时时间校准的方法,所述方法步骤包括: (1)客户端获取软件保护装置中的随机数、装置内时间及其消息认证码Mac,同时,软件保护装置内部保存当前装置内时间和随机数信息; (2)客户端获取主机时间,与步骤(1)中获取的数据即随机数、装置内时间及其Mac合并为数据包,并将数据包发送给服务器; (3)服务器接收客户端发送的数据包,比较其中的主机时间与服务器端时间,如果差值在允许范围内,则执行步骤(4); (4)服务器计算数据包中存储的主机时间和软件保护装置内部时间的时间差,重新组合数据包; (5 )服务器对重新组 合后的数据包进行校验,如果校验成功,则执行步骤(6 ),否则,返回错误信息; (6 )服务器用重新组合后的数据包中的随机数、装置内时间、步骤(4 )中计算出的时间差计算Mac,组合成校准码; (7)服务器将校准码发送给客户端; (8)客户端将校准码发送到软件保护装置,软件保护装置获取校准码,校准装置内时间。
2.如权利要求1所述的方法,其中步骤(8)中软件保护装置校准装置内时间的具体过程包括: 81:软件保护装置比较校准码中的随机数和装置内时间是否与软件保护装置内部存储的随机数和装置内时间一致,如果一致,则执行步骤82,如果不一致,则不能校准; 82:比较校准码中的装置内时间和当前软件保护装置内时间,如果差值未超出允许范围,则执行步骤83,如果差值超出允许范围,则不能校准; 83:校验校准码中的Mac,校验成功,则执行步骤84,校验失败,则不能校准;84:软件保护装置修改装置内的当前时间为:装置内当前时间加上校准码中的时间差值; 85:校准完成后,清除软件保护装置中保存的随机数和装置内时间,防止校准码重用。
3.如权利要求1或2所述的方法,所述软件保护装置包括但不限于加密锁。
4.如权利要求1-3之一所述的方法,其中步骤(1)中所述Mac是对随机数和装置内时间进行计算得出的。
5.如权利要求4所述的方法,其中进行计算的算法包括但不限于aes-cmac、des-cmac和 Hmac ο
6.如权利要求1-5之一所述的方法,其中所述步骤(1)中在软件保护装置内部EEPROM中保存当前的装置内时间和随机数。
7.如权利要求1-6之一所述的方法,其中所述客户端获取随机数、装置内时间及Mac的同时还可以获取其他标识信息。
8.如权利要求7所述的方法,其中其他标识信息为设备信息。
9.如权利要求8所述的方法,其中设备信息包括设备ID。
10.如权利要求1-9之一所述的方法,其中步骤(3)中所述允许范围指服务器端预设的允许的时间范围,当时间差值在这个时间范围内时,表明时间具有可靠性,可以进行下一步的操作;如果差值不在这个时间范围,则表明时间差距太大,不具备可靠性或参考性。
11.如权利要求1-10之一所述的方法,其中所述步骤(4)中数据包中存储的主机时间和软件保护装置内部时间的时间差具体为:时间差=主机时间-装置内部时间。
12.如权利要求1-11之一所述的方法,其中步骤(5)中所述服务器校验数据包,具体校验过程为:服务器对数据包中的随机数和装置内时间计算Mac,将计算得出的Mac与数据包中的Mac进行比较,如果一致,则校验成功,否则,返回错误。
13.如权利要求1-12之一所述的方法,其中上述方法步骤中的数据包可以是各项信息的随意组合。
14.如权利要求1-13之一所述的方法,其中上述方法步骤中的校准码为随机数、装置内时间、“主机时间与装置内时间差值”以及用数据包中的随机数、装置内时间、“主机时间与装置内时间差值”所计算出的Mac的组合。
15.如权利要求1-14之一所述的方法,其中所述客户端与服务器进行数据交互时,还可以对传输的数据进行 加密处理,接收方接收到之后再进行解密。
16.如权利要求15所述的方法,其中加密方法包括但不限于对称或非对称加密算法。
17.如权利要求1-16之一所述的方法,其中计算Mac的密钥预先自行定义。
18.如权利要求17所述的方法,其中所述密钥可以通过特定标识信息和预设的秘密数据进行加密或签名计算得到。
19.如权利要求18所述的方法,其中所述特定标识信息包括开发者ID等其他标识信息;所述加密或签名计算包括SHA1、SHA256、MD5等。
20.如权利要求1-19之一所述的方法,其中所述软件保护装置和服务器均分别存储有计算Mac的相同密钥。
21.如权利要求1-20之一所述的方法,其中所述客户端包括预先提供的可以与软件保护装置进行交互的软件工具,可以获取软件保护装置内的数据,也可以向软件保护装置发送数据。
【文档编号】G06F21/12GK103927462SQ201410118825
【公开日】2014年7月16日 申请日期:2014年3月27日 优先权日:2014年3月27日
【发明者】孙吉平, 韩勇 申请人:北京深思数盾科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1