一种盗版加密锁的识别方法和装置转让专利

申请号 : CN201210299632.3

文献号 : CN102855422B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陆舟于华章

申请人 : 飞天诚信科技股份有限公司

摘要 :

本发明公开一种盗版加密锁的识别方法和装置,该方法包括:识别装置判断是否有加密锁与主机连接,从检测列表中获取预置数据,所述检测列表中的数据量大于所述加密锁存储区的容量,识别装置得到第一输入数据和第一输出数据,将第一输入数据发送给加密锁,接收第五输出数据,比较所述第五输出数据与所述第一输出数据是否相同,是则输出所述加密锁为正版的信息,否则输出所述加密锁为盗版的信息。本发明中,检测列表中的数据大于加密锁存储区的容量,在识别过程中,正版加密锁可以根据自身的加密算法返回一个正确的输出数据,盗版加密锁由于没有正确的加密算法,会返回错误的数据,从而识别装置能识别出盗版加密锁,提升了对加密锁的保护强度。

权利要求 :

1.一种盗版加密锁的识别方法,其特征在于,所述方法包括:步骤S1:识别装置判断是否有符合要求的加密锁与主机连接,是则执行步骤S2,否则输出无加密锁连接的信息,结束;

步骤S2:所述识别装置按照预设规则从检测列表中获取预置数据,所述检测列表由加密装置生成,并预先存储在所述识别装置中,所述检测列表中的数据量大于所述加密锁存储区的容量;

步骤S3:所述识别装置根据所述预置数据得到第一输入数据和第一输出数据;

步骤S4:所述识别装置将所述第一输入数据发送给所述加密锁;

步骤S5:所述识别装置接收加密锁发送的第五输出数据;

步骤S6:所述识别装置比较所述第五输出数据与所述第一输出数据是否相同,是则输出所述加密锁为正版的信息,否则输出所述加密锁为盗版的信息,结束。

2.根据权利要求1所述的方法,其特征在于,所述步骤S6具体包括:步骤S6-1:所述识别装置比较所述第五输出数据与所述第一输出数据是否相同,是则执行步骤S6-2,否则,执行步骤S6-3;

步骤S6-2:所述识别装置对当前检测次数进行计算,判断当前检测次数是否达到预置检测次数,是则执行步骤S6-4,否则执行步骤S2;

步骤S6-3:所述识别装置返回加密锁为盗版的信息,结束;

步骤S6-4:所述识别装置将当前检测次数恢复为初始值,返回加密锁为正版的信息。

3.根据权利要求2所述的方法,其特征在于,所述步骤S6-1和所述步骤S6-2的顺序可调换;在步骤S5中所述识别装置接收到多个第五输出数据;

步骤S6-1’:所述识别装置对当前检测次数进行计算,判断当前检测次数是否达到所述预置检测次数,是则执行步骤S6-2’,否则执行步骤S2;

步骤S6-2’:所述识别装置分别比较所有接收到的所述第五输出数据和与其对应的所述第一输出数据是否均相同,是则执行步骤S6-4,如至少有一个所述第五输出数据与所述第一输出数据不同则执行步骤S6-3。

4.根据权利要求1所述的方法,其特征在于,所述步骤S3替换为:步骤S3’:所述识别装置对所述预置数据进行解密,得到所述第一输入数据和所述第一输出数据。

5.根据权利要求1所述的方法,其特征在于,所述步骤S3和所述步骤S6替换为:步骤S3”:所述识别装置根据所述预置数据得到所述第一输入数据和第二输出数据;

步骤S6”:所述识别装置按照预置变化算法对所述第五输出数据进行计算,得到第六输出数据,比较所述第六输出数据与所述第二输出数据是否相同,是则输出所述加密锁为正版的信息,否则输出所述加密锁为盗版的信息,结束。

6.根据权利要求5所述的方法,其特征在于,所述步骤S6”具体包括:步骤S6”-1:所述识别装置按照所述预置变化算法对所述第五输出数据进行计算,得到第六输出数据,所述识别装置比较所述第六输出数据与所述第二输出数据是否相同,是则执行步骤S6”-2,否则,执行步骤S6”-3;

步骤S6”-2:所述识别装置对当前检测次数进行计算,判断当前检测次数是否达到所述预置检测次数,是则执行步骤S6”-4,否则执行步骤S2;

步骤S6”-3:所述识别装置返回加密锁为盗版的信息,结束;

步骤S6”-4:所述识别装置将当前检测次数恢复为初始值,返回加密锁为正版的信息。

7.根据权利要求6所述的方法,其特征在于,所述步骤S6”-1和所述步骤S6”-2顺序可调换,在步骤S5中所述识别装置接收到多个第五输出数据;

步骤S6”-1’:所述识别装置对当前检测次数进行计算,判断当前检测次数是否达到所述预置检测次数,是则执行步骤S6”-2’,否则执行步骤S2;

步骤S6”-2’:所述识别装置分别比较所有接收到的所述第六输出数据和与其对应的所述第二输出数据是否均相同,是则执行步骤S6”-4,如至少有一个所述第六输出数据与所述第二输出数据不同则执行步骤S6”-3。

8.根据权利要求5所述的方法,其特征在于,所述步骤S3替换为:步骤S3”’:所述识别装置对所述预置数据进行解密,得到所述第一输入数据和所述第二输出数据。

9.根据权利要求1所述的方法,其特征在于,所述步骤S1包括:步骤S11:所述识别装置接收到所述主机调用所述加密锁的命令后,判断是否有加密锁与所述主机连接,若有,则执行步骤S12,否则,所述识别装置输出无加密锁连接的信息;

步骤S12:所述识别装置依次从所述加密锁中获取VID和PID;

步骤S13:所述识别装置比较所述VID和所述PID与预先存储在所述识别装置中的VID和PID是否相同,是则执行步骤S14,否则,所述识别装置输出所述加密锁错误的信息,结束;

步骤S14:所述识别装置从所述加密锁中读取用户编码;

步骤S15:所述识别装置比较所述用户编码与预先存储在所述识别装置中的用户编码是否相同,是则执行步骤S2,否则,所述识别装置输出加密锁错误的信息,结束。

10.根据权利要求1所述的方法,其特征在于,产生所述检测列表中的数据具体包括:所述加密装置按照与正版加密锁对应的算法对所述第一输入数据进行计算,得到第一输出数据,按照预置变化算法对所述第一输出数据进行计算,得到第二输出数据。

11.根据权利要求1所述的方法,其特征在于,所述步骤S2中预设规则为随机抽取或依次获取。

12.根据权利要求1所述的方法,其特征在于,所述步骤S1之后、步骤S4之前,还包括所述识别装置判断所述加密锁是否合法,是则继续,否则报错,结束。

13.根据权利要求12所述的方法,其特征在于,所述识别装置判断所述加密锁是否合法具体包括:所述识别装置从所述加密锁中获取用户密码,并判断所述用户密码与所述识别装置中存储的用户密码是否一致,是则合法,否则不合法。

14.根据权利要求10所述的方法,其特征在于,所述正版加密锁对应的算法包括加密算法和可获得唯一输出数据的算法。

15.一种盗版加密锁的识别装置,其特征在于,包括第一判断模块、存储模块、获取模块、发送模块、接收模块、第二判断模块和输出模块;

所述第一判断模块,用于判断是否有符合要求的加密锁与主机连接;

所述存储模块,用于存储加密装置生成的检测列表,所述检测列表中数据量大于所述加密锁存储区的容量;

所述获取模块,用于从所述检测列表中获取预置数据,并根据所述预置数据得到第一输入数据和第一输出数据;

所述发送模块,用于将所述第一输入数据发送给所述加密锁;

所述接收模块,用于接收所述加密锁发送的第五输出数据,所述加密锁根据第一输入数据计算得到所述第五输出数据;

所述第二判断模块,用于判断所述第五输出数据与所述第一输出数据是否相同;

所述输出模块,用于输出加密锁错误的信息、无加密锁连接的信息、所述加密锁为正版的信息和所述加密锁为盗版的信息。

16.根据权利要求15所述的装置,其特征在于,所述第一判断模块具体包括:第一判断单元,第一获取单元,第二判断单元,第二获取单元和第三判断单元;

所述第一判断单元,用于判断是否有加密锁与所述主机连接;

所述第一获取单元,用于从所述加密锁中获取VID和PID;

所述第二判断单元,用于判断所述VID和所述PID与预先存储在所述识别装置中的VID和PID是否相同;

所述第二获取单元,用于从所述加密锁中获取用户编码;

所述第三判断单元,用于判断所述用户编码与预先存储在所述识别装置中的用户编码是否相同。

17.根据权利要求15所述的装置,其特征在于,所述识别装置还包括验证模块和、解密模块和计算模块;

所述验证模块,用于验证所述加密锁是否合法;

所述解密模块,用于对所述预置数据进行解密,得到所述第一输入数据和所述第一输出数据,或得到所述第一输入数据和第二输出数据;

所述计算模块,用于按照预置化算法对所述第五输出数据进行计算,得到第六输出数据;

所述第二判断模块还用于判断所述第六输出数据与所述第二输出数据是否相同。

18.根据权利要求17所述的装置,其特征在于,所述验证模块包括:第三获取单元和第四判断单元;

所述第三获取单元,用于从所述加密锁中获取用户密码;

所述第四判断单元,用于判断所述用户密码与识别装置中存储的用户密码是否相同。

19.根据权利要求15或17所述的装置,其特征在于,所述第二判断模块具体包括:第一比较单元,第一计算单元和第二比较单元;

所述第一比较单元,用于比较所述第五输出数据与所述第一输出数据是否相同,或用于比较所述第六输出数据与所述第二输出数据是否相同;

所述第一计算单元,用于对当前检测次数进行计算;

所述第二比较单元,用于判断当前检测次数是否达到所述预置检测次数。

20.根据权利要求19所述的装置,其特征在于,所述输出模块包括:第二计算单元和第一输出单元;

所述第二计算单元,用于将当前检测次数恢复为初始值;

所述第一输出单元,用于输出加密锁错误的信息、无加密锁连接的信息、所述加密锁为正版的信息和所述加密锁为盗版的信息。

21.根据权利要求19所述的装置,其特征在于,所述第一比较单元还用于分别比较所有接收到的所述第五输出数据与对应的所述第一输出数据是否均相同,或用于分别比较所有接收到的所述第六输出数据与对应的所述第二输出数据是否均相同。

说明书 :

一种盗版加密锁的识别方法和装置

技术领域

[0001] 本发明涉及加密锁领域,尤其涉及一种盗版加密锁的识别方法和装置。

背景技术

[0002] 加密锁是一种插在计算机上的软硬件结合的加密产品,具有软件保护功能的工具,其目的是通过对软件与数据的保护防止软件被非法使用。软件开发者可以通过接口函数和加密锁进行数据交换,即对加密锁进行读写。加密锁内置单片机电路,使得加密锁具有判断、分析的处理能力,增强了主动的反解密能力。但由于开发人员未能正确使用加密锁,可能会使破解者通过一些跟踪调试手段,模拟出盗版的加密锁,破解者使用盗版加密锁就可以运行加密的软件,使用户数据存在安全隐患。

发明内容

[0003] 本发明的目的是为了克服现有技术的不足,提供一种盗版加密锁的识别方法和装置,提升了对加密锁的保护强度。
[0004] 本发明提供的一种盗版加密锁的识别方法,包括:
[0005] 步骤S1:识别装置判断是否有符合要求的加密锁与主机连接,是则执行步骤S2,否则输出无加密锁连接的信息,结束;
[0006] 步骤S2:所述识别装置按照预设规则从检测列表中获取预置数据,所述检测列表由加密装置生成,并预先存储在所述识别装置中,所述检测列表中的数据量大于所述加密锁存储区的容量;
[0007] 步骤S3:所述识别装置根据所述预置数据得到第一输入数据和第一输出数据;
[0008] 步骤S4:所述识别装置将所述第一输入数据发送给所述加密锁;
[0009] 步骤S5:所述识别装置接收加密锁发送的第五输出数据;
[0010] 步骤S6:所述识别装置比较所述第五输出数据与所述第一输出数据是否相同,是则输出所述加密锁为正版的信息,否则输出所述加密锁为盗版的信息,结束。
[0011] 所述步骤S6具体包括:
[0012] 步骤S6-1:所述识别装置比较所述第五输出数据与所述第一输出数据是否相同,是则执行步骤S6-2,否则,执行步骤S6-3;
[0013] 步骤S6-2:所述识别装置对当前检测次数进行计算,判断当前检测次数是否达到预置检测次数,是则执行步骤S6-4,否则执行步骤S2;
[0014] 步骤S6-3:所述识别装置返回加密锁为盗版的信息,结束;
[0015] 步骤S6-4:所述识别装置将当前检测次数恢复为初始值,返回加密锁为正版的信息。
[0016] 所述步骤S6-1和所述步骤S6-2的顺序可调换;在步骤S5中所述识别装置接收到多个第五输出数据;
[0017] 步骤S6-1’:所述识别装置对当前检测次数进行计算,判断当前检测次数是否达到所述预置检测次数,是则执行步骤S6-2’,否则执行步骤S2;
[0018] 步骤S6-2’:所述识别装置分别比较所有接收到的所述第五输出数据和与其对应的所述第一输出数据是否均相同,是则执行步骤S6-4,如至少有一个所述第五输出数据与所述第一输出数据不同则执行步骤S6-3。
[0019] 所述步骤S3替换为:
[0020] 步骤S3’:所述识别装置对所述预置数据进行解密,得到所述第一输入数据和所述第一输出数据。
[0021] 所述步骤S3和所述步骤S6替换为:
[0022] 步骤S3”:所述识别装置根据所述预置数据得到所述第一输入数据和第二输出数据;
[0023] 步骤S6”:所述识别装置按照预置变化算法对所述第五输出数据进行计算,得到第六输出数据,比较所述第六输出数据与所述第二输出数据是否相同,是则输出所述加密锁为正版的信息,否则输出所述加密锁为盗版的信息,结束。
[0024] 所述步骤S6”具体包括:
[0025] 步骤S6”-1:所述识别装置按照所述预置变化算法对所述第五输出数据进行计算,得到第六输出数据,所述识别装置比较所述第六输出数据与所述第二输出数据是否相同,是则执行步骤S6”-2,否则,执行步骤S6”-3;
[0026] 步骤S6”-2:所述识别装置对当前检测次数进行计算,判断当前检测次数是否达到所述预置检测次数,是则执行步骤S6”-4,否则执行步骤S2;
[0027] 步骤S6”-3:所述识别装置返回加密锁为盗版的信息,结束;
[0028] 步骤S6”-4:所述识别装置将当前检测次数恢复为初始值,返回加密锁为正版的信息。
[0029] 所述步骤S6”-1和所述步骤S6”-2顺序可调换,在步骤S5中所述识别装置接收到多个第五输出数据;
[0030] 步骤S6”-1’:所述识别装置对当前检测次数进行计算,判断当前检测次数是否达到所述预置检测次数,是则执行步骤S6”-2’,否则执行步骤S2;
[0031] 步骤S6”-2’:所述识别装置分别比较所有接收到的所述第六输出数据和与其对应的所述第二输出数据是否均相同,是则执行步骤S6”-4,如至少有一个所述第六输出数据与所述第二输出数据不同则执行步骤S6”-3。
[0032] 所述步骤S3替换为:
[0033] 步骤S3”’:所述识别装置对所述预置数据进行解密,得到所述第一输入数据和所述第二输出数据。
[0034] 所述步骤S1包括:
[0035] 步骤S11:所述识别装置接收到所述主机调用所述加密锁的命令后,判断是否有加密锁与所述主机连接,若有,则执行步骤S12,否则,所述识别装置输出无加密锁连接的信息;
[0036] 步骤S12:所述识别装置依次从所述加密锁中获取VID和PID;
[0037] 步骤S13:所述识别装置比较所述VID和所述PID与预先存储在所述识别装置中的VID和PID是否相同,是则执行步骤S14,否则,所述识别装置输出所述加密锁错误的信息,结束;
[0038] 步骤S14:所述识别装置从所述加密锁中读取用户编码;
[0039] 步骤S15:所述识别装置比较所述用户编码与预先存储在所述识别装置中的用户编码是否相同,是则执行步骤S2,否则,所述识别装置输出加密锁错误的信息,结束。
[0040] 产生所述检测列表中的数据具体包括:所述加密装置按照与正版加密锁对应的算法对所述第一输入数据进行计算,得到第一输出数据,按照预置变化算法对所述第一输出数据进行计算,得到所述第二输出数据。
[0041] 所述步骤S2中预设规则为随机抽取或依次获取。
[0042] 所述步骤S1之后、步骤S4之前,还包括所述识别装置判断所述加密锁是否合法,是则继续,否则报错,结束。
[0043] 所述识别装置判断所述加密锁是否合法具体包括:所述识别装置从所述加密锁中获取用户密码,并判断所述用户密码与所述识别装置中存储的用户密码是否一致,是则合法,否则不合法。
[0044] 所述正版加密锁对应的算法包括加密算法和可获得唯一输出数据的算法。
[0045] 本发明提供一种盗版加密锁的识别装置,包括第一判断模块、存储模块、获取模块、发送模块、接收模块、第二判断模块和输出模块;
[0046] 所述第一判断模块,用于判断是否有符合要求的加密锁与主机连接;
[0047] 所述存储模块,用于存储加密装置生成的检测列表,所述检测列表中数据量大于所述加密锁存储区的容量;
[0048] 所述获取模块,用于从所述检测列表中获取预置数据,并根据所述预置数据得到第一输入数据和第一输出数据;
[0049] 所述发送模块,用于将所述第一输入数据发送给所述加密锁;
[0050] 所述接收模块,用于接收所述加密锁发送的第五输出数据,所述加密锁根据第一输入数据计算得到所述第五输出数据;
[0051] 所述第二判断模块,用于判断所述第五输出数据与所述第一输出数据是否相同;
[0052] 所述输出模块,用于输出加密锁错误的信息、无加密锁连接的信息、所述加密锁为正版的信息和所述加密锁为盗版的信息。
[0053] 所述第一判断模块具体包括:第一判断单元,第一读取单元,第二判断单元,第二读取单元和第三判断单元;
[0054] 所述第一判断单元,用于判断是否有加密锁与所述主机连接;
[0055] 所述第一获取单元,用于从所述加密锁中获取VID和PID;
[0056] 所述第二判断单元,用于判断所述VID和所述PID与预先存储在所述识别装置中的VID和PID是否相同;
[0057] 所述第二获取单元,用于从所述加密锁中获取用户编码;
[0058] 所述第三判断单元,用于判断所述用户编码与预先存储在所述识别装置中的用户编码是否相同。
[0059] 所述识别装置还包括验证模块和、解密模块和计算模块;
[0060] 所述验证模块,用于验证所述加密锁是否合法;
[0061] 所述解密模块,用于对所述预置数据进行解密,得到所述第一输入数据和所述第一输出数据,或得到所述第一输入数据和第二输出数据;
[0062] 所述计算模块,用于按照预置化算法对所述第五输出数据进行计算,得到第六输出数据;
[0063] 所述第二判断模块还用于判断所述第六输出数据与所述第二输出数据是否相同。
[0064] 所述验证模块包括:第三获取单元和第四判断单元;
[0065] 所述第三获取单元,用于从所述加密锁中获取用户密码;
[0066] 所述第四判断单元,用于判断所述用户密码与识别装置中存储的用户密码是否相同。
[0067] 所述第二判断模块具体包括:第一比较单元,第一计算单元和第二比较单元;
[0068] 所述第一比较单元,用于比较所述第五输出数据与所述第一输出数据是否相同,或用于比较所述第六输出数据与所述第二输出数据是否相同;
[0069] 所述第一计算单元,用于对当前检测次数进行计算;
[0070] 所述第二比较单元,用于判断当前检测次数是否达到所述预置检测次数。
[0071] 所述输出模块包括:第二计算单元和第一输出单元;
[0072] 所述第二计算单元,用于将当前检测次数恢复为初始值;
[0073] 所述第一输出单元,用于输出加密锁错误的信息、无加密锁连接的信息、所述加密锁为正版的信息和所述加密锁为盗版的信息。
[0074] 所述第一比较单元还用于分别比较所有接收到的所述第五输出数据与对应的所述第一输出数据是否均相同,或用于分别比较所有接收到的所述第六输出数据与对应的所述第二输出数据是否均相同。
[0075] 本发明与现有技术相比,具有以下优点:
[0076] 识别装置中预先存有一个检测列表,且检测列表中的数据大于加密锁存储区的容量,在识别过程中,正版加密锁可以根据自身的加密算法给识别装置返回一个正确的输出数据,盗版加密锁由于没有正确的加密算法,会给识别装置返回错误的数据,从而识别装置能识别出盗版加密锁,提升了对加密锁的保护强度。

附图说明

[0077] 图1是本发明实施例1提供的一种盗版加密锁的识别方法的流程图;
[0078] 图2是本发明实施例2提供的一种盗版加密锁的识别方法的流程图;
[0079] 图3是本发明实施例3提供的一种盗版加密锁的识别方法的流程图;
[0080] 图4是本发明实施例4提供的一种盗版加密锁的识别装置的方框示意图。

具体实施方式

[0081] 为更近一步阐述本发明为达成预订目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据发明提出的一种盗版加密锁的识别方法和装置,其具体实施方式,说明如下。
[0082] 实施例1
[0083] 本发明的实施例1提供一种盗版加密锁的识别方法,本实施例的识别装置设置在主机中,识别装置通过主机与加密锁进行通信,如图1所示,本方法包括:
[0084] 步骤101:识别装置接收到调用加密锁的命令,判断是否有加密锁与主机连接,是则执行步骤103,否则,执行步骤102;
[0085] 步骤102:识别装置输出无加密锁连接的信息,结束;
[0086] 步骤103:识别装置依次从加密锁中获取其VID(vendor identity,运营商代码编码)和PID(product identity,产品编码);
[0087] 步骤104:识别装置比较获取到的VID和PID与预先存储的VID和PID是否相同,是则执行步骤105,否则执行步骤107;
[0088] 步骤105:识别装置从与存储的VID和PID对应的加密锁中读取加密锁标识信息;
[0089] 本实施例中,加密锁标识信息包括UID(user identity,用户编码)或客户标识;
[0090] 步骤106:识别装置比较读取的加密锁标识信息与预先存储的加密锁标识信息是否相同,是则执行步骤108,否则执行步骤107;
[0091] 步骤107:识别装置输出加密锁错误信息,结束;
[0092] 步骤108:识别装置从检测列表中获取预置数据;
[0093] 优选地,本实施例中,识别装置随机地从检测列表中获取预置数据;
[0094] 本实施例中,检测列表预先由加密装置生成,并存储在识别装置中,检测列表中的数据量大于所述加密锁存储区的容量,优选地,本实施例中,检测列表中的数据量为所述加密锁存储区容量的100倍;检测列表中存储有加密后的数据,包括:第二输入数据和第二输出数据;具体地,产生第二输入数据和第二输出数据的方法是:加密装置按照第一运算法则对第一输入数据进行计算,得到第一输出数据,再按照第二运算法则对第一输入数据和第一输出数据进行加密,得到第二输入数据和第二输出数据,将第二输入数据和第二输出数据对应存储在检测列表中;
[0095] 本实施例中,第一运算法则为正版加密锁的算法;
[0096] 优选地,本实施例中第一运算法则为与用户标识信息对应的正版加密锁的算法;
[0097] 本实施例中,第二运算法则为对称密钥加密算法和非对称密钥加密算法,加密算法包括:DES、3DES、AES、RSA和ECC等;优选地,本实施例中使用3DES算法对检验列表中的数据进行加密;
[0098] 具体地,本实施例中,第一输入数据包括:1234567890ABCDEF1234567890A BCDEF、12345678123456781234567812345678、11223344556677889900AABBCC DDEEFF和FEDCBA09
87654321FEDCBA0987654321,正版加密锁的算法为DES,即使用DES算法对第一输入数据进行计算,密钥为:1122334455667788,得到第一输出数据,如下表所示:
[0099]
[0100]
[0101] 再使用3DES算法对第一输入数据和第一输出数据进行加密,得到第二输入数据和第二输出数据,密钥为:11223344556677889900AABBCCDDEEFF,将第二输入数据和第二输出数据对应存储在检测列表中,如下表所示:
[0102]
[0103] 步骤109:识别装置对获取的预置数据进行解密,得到第一输入数据和第一输出数据;
[0104] 具体的,在本实施例中,识别装置获取的预置数据为:第二输入数据1B3606F30B1015071B3606F30B101507和第二输出数据974622F00725BCC3974622F00725BCC
3,识别装置对该组数据进行解密,得到第一输入数据1234567890ABCDEF1234567890ABCDEF和第一输出数据80B152BBAB64EAFF80B152BB AB64EAFF;
[0105] 步骤110:识别装置将第一输入数据发送给加密锁;
[0106] 本实施例中,识别装置将第一输入数据1234567890ABCDEF1234567890AB CDEF发送给加密锁;
[0107] 本实施例中,加密锁接收到识别装置发送的第一输入数据,则按照内置的算法对第一输入数据进行计算生成第三输出数据,并将第三输出数据传送回识别装置;
[0108] 具 体地,在 本 实 施 例 中,加 密锁 使 用DES 算 法对 第 一 输 入 数 据1234567890ABCDEF1234567890ABCDEF进行计算,密钥为:1122334455667788,生成第三输出数据80B152BBAB64EAFF80B152BBAB64EAFF,并将第三输出数据传送回识别装置;
[0109] 本实施例中,在该步骤前,还包括:识别装置验证加密锁的合法性,如合法则继续,如不合法则报错结束,验证加密锁的合法性具体为:识别装置从加密锁中获取PIN并判断获取的PIN与识别装置中的PIN是否一致,是则合法,否则不合法,本实施例的识别装置中的PIN是用户输入的或预先存储的;
[0110] 步骤111:识别装置接收加密锁发送的第三输出数据;
[0111] 该步骤还包括,当加密锁在预置检测时间内未接收到加密锁发送的第三输出数据时,执行步骤113;本实施例中,预置检测时间为10秒;
[0112] 本实施例中,识别装置在预置检测时间内接收到的第三输出数据为80B152BBAB64EAFF80B152BBAB64EAFF;
[0113] 步骤112:识别装置比较第三输出数据与第一输出数据是否相同,是则执行步骤114,否则,执行步骤113;
[0114] 本实施例中,第三输出数据为80B152BBAB64EAFF80B152BBAB64EAFF,第一输出数据为80B152BBAB64EAFF80B152BBAB64EAFF;
[0115] 步骤113:识别装置返回加密锁为盗版的信息,并停止服务;
[0116] 步骤114:识别装置返回加密锁为正版的信息。
[0117] 本实施例中,也可以对第一输出数据按照第二运算法则进行计算,得到第二输出数据,则步骤111中识别装置接收到第三输出数据后,按照变化算法对第三输出数据进行计算,得到第四输出数据,步骤112中比较第四输出数据与第二输出数据是否相同,并根据比较结果返回相应信息;本实施例中,也可以不对检测列表进行加密,则步骤108中识别装置从检测列表中获取到第一输入数据和第一输出数据或获取到第一输入数据和第二输出数据,直接执行步骤110:识别装置将第一输入数据发送给加密锁。
[0118] 实施例2
[0119] 本发明的实施例2提供一种盗版加密锁的识别方法,本实施例的识别装置设置在主机中,识别装置通过主机与加密锁进行通信,如图2所示,本方法包括:
[0120] 步骤201:识别装置接收到调用加密锁的命令,判断是否有加密锁与主机连接,是则执行步骤203,否则,执行步骤202;
[0121] 步骤202:识别装置输出无加密锁连接的信息,结束;
[0122] 步骤203:识别装置依次从加密锁中获取其VID(vendor identity,运营商代码编码)和PID(product identity,产品编码);
[0123] 步骤204:识别装置比较获取到的VID和PID与预先存储的VID和PID是否相同,是则执行步骤205,否则执行步骤207;
[0124] 步骤205:识别装置从与存储的VID和PID对应的加密锁中读取加密锁标识信息;
[0125] 本实施例中,加密锁标识信息包括UID(user identity,用户编码)或客户标识;
[0126] 步骤206:识别装置比较读取的加密锁标识信息与预先存储的加密锁标识信息是否相同,是则执行步骤208,否则执行步骤207;
[0127] 步骤207:识别装置输出加密锁错误信息,结束;
[0128] 步骤208:识别装置从检测列表中获取预置数据;
[0129] 优选地,本实施例中,识别装置随机地从检测列表中获取预置数据;除此之外,识别装置也可以依次从检测列表中获取预置数据,具体地,在循环检测过程中,识别装置获取上次检测时获取的预置数据之后的数据;
[0130] 本实施例中,检测列表预先由加密装置生成,并存储在识别装置中,检测列表中的数据量大于所述加密锁存储区的容量,优选地,本实施例中,检测列表中的数据量为所述加密锁存储区容量的100倍;检测列表中存储有加密后的数据,包括:第二输入数据和第三输出数据;具体地,产生第二输入数据和第三输出数据的方法是:加密装置按照第一运算法则对第一输入数据进行计算,得到第一输出数据,按照第二运算法则对第一输出数据做单向变换,得到第二输出数据,再按照第三运算法则对第一输入数据和第二输出数据进行加密,得到第二输入数据和第三输出数据,将第二输入数据和第三输出数据对应存储在检测列表中;
[0131] 本实施例中,第一运算法则为正版加密锁的算法;
[0132] 优选地,本实施例中第一运算法则为与用户标识信息对应的正版加密锁的算法;
[0133] 本实施例中,第二运算法则为单向变换,如摘要算法等;优选地,本实施例中,第二运算法则为MD5算法;
[0134] 本实施例中,第三运算法则为对称密钥加密算法和非对称密钥加密算法,加密算法包括:DES、3DES、AES、RSA和ECC等;优选地,本实施例中使用3DES算法对检验列表中的数据进行加密;
[0135] 具体地,本实施例中,第一输入数据包括:1234567890ABCDEF1234567890A BCDEF、12345678123456781234567812345678、11223344556677889900AABBCC DDEEFF和FEDCBA09
87654321FEDCBA0987654321,正版加密锁的算法为DES,即使用DES算法对第一输入数据进行计算,密钥为:1122334455667788,得到第一输出数据然后使用MD5算法对第一输出数据作单向变换,得到第二输出数据,如下表所示:
[0136]
[0137]
[0138] 再使用3DES算法对第一输入数据和第二输出数据进行加密,得到第二输入数据和第三输出数据,密钥为:11223344556677889900AABBCCDDEEFF,将第二输入数据和第三输出数据对应存储在检测列表中,如下表所示:
[0139]
[0140] 步骤209:识别装置对获取的预置数据进行解密,得到第一输入数据和第二输出数据;
[0141] 具体的,在本实施例中,识别装置获取的预置数据为:第二输入数据1C04C8D866790D061C04C8D866790D06和第三输出数据0C2AD91D799FFDD6021BE506DAEAD40B,识别装置对该组数据进行解密,得到第一输入数据12345678123456781234567812345678和第二输出数据885B8830B2C63C07282602DFAE43C474;
[0142] 步骤210:识别装置将第一输入数据发送给加密锁;
[0143] 本实施例中,识别装置将第一输入数据12345678123456781234567812345678发送给加密锁;
[0144] 本实施例中,加密锁接收到识别装置发送的第一输入数据,则按照内置的算法对第一输入数据进行计算生成第四输出数据,并将第四输出数据传送回识别装置;
[0145] 具 体地,在 本 实 施 例 中,加 密锁 使 用DES 算 法对 第 一 输 入 数 据12345678123456781234567812345678进行计算,密钥为:1122334455667788,生成第四输出数据DD1681F0D761A242DD1681F0D761A242,并将第四输出数据传送回识别装置;
[0146] 本实施例中,在该步骤前,还包括:识别装置验证加密锁的合法性,如合法则继续,如不合法则报错结束,验证加密锁的合法性具体为:识别装置从加密锁中获取PIN并判断获取的PIN与识别装置中的PIN是否一致,是则合法,否则不合法,本实施例的识别装置中的PIN是用户输入的或预先存储的;
[0147] 步骤211:识别装置接收加密锁返回的第四输出数据;
[0148] 该步骤还包括,当加密锁在预置检测时间内未接收到加密锁发送的第四输出数据时,执行步骤215;本实施例中,预置检测时间为5秒;
[0149] 本实施例中,识别装置在预置检测时间内接收到的第四输出数据为DD1681F0D761A242DD1681F0D761A242;
[0150] 步骤212:识别装置按照第二运算法则对第四输出数据进行计算,得到第五输出数据;
[0151] 本实施例中,识别装置用MD5算法对第四输出数据进行计算,得到第五输出数据885B8830B2C63C07282602DFAE43C474;
[0152] 步骤213:识别装置比较第五输出数据与第二输出数据是否相同,是则执行步骤214,否则,执行步骤215;
[0153] 本实施例中,第五输出数据为885B8830B2C63C07282602DFAE43C474,第二输出数据为885B8830B2C63C07282602DFAE43C474;
[0154] 步骤214:识别装置对当前检测次数进行计算,判断当前检测次数是否达到预置检测次数,是则执行步骤216,否则执行步骤208;
[0155] 例如,本实施例中的当前检测次数初始值为0,设置预置检测次数为4,每检测一次识别装置对当前检测次数加1,直至当前检测次数为4;
[0156] 步骤215:识别装置返回加密锁为盗版的信息,并停止服务;
[0157] 步骤216:识别装置将当前检测次数恢复为初始值,返回加密锁为正版的信息;
[0158] 本实施例中,也可以不对第一输出数据按照第二运算法则进行计算,则步骤211中识别装置接收到第四输出数据后,直接比较第四输出数据与第一输出数据是否相同,并根据比较结果返回相应信息;本实施例中,也可以不对检测列表进行加密,则步骤208中识别装置从检测列表中获取到第一输入数据和第一输出数据或获取到第一输入数据和第二输出数据,直接执行步骤210:识别装置将第一输入数据发送给加密锁。
[0159] 实施例3
[0160] 本发明的实施例3提供一种盗版加密锁的识别方法,本实施例的识别装置设置在主机中,识别装置通过主机与加密锁进行通信,如图3所示,本方法包括:
[0161] 步骤301:识别装置接收到调用加密锁的命令,判断是否有加密锁与主机连接,是则执行步骤303,否则,执行步骤302;
[0162] 步骤302:识别装置输出无加密锁连接的信息,结束;
[0163] 步骤303:识别装置依次从加密锁中获取其VID(vendor identity,运营商代码编码)和PID(product identity,产品编码);
[0164] 步骤304:识别装置比较获取到的VID和PID与预先存储的VID和PID是否相同,是则执行步骤305,否则执行步骤307;
[0165] 步骤305:识别装置从与存储的VID和PID对应的加密锁中读取加密锁标识信息;
[0166] 本实施例中,加密锁标识信息包括UID(user identity,用户编码)或客户标识;
[0167] 步骤306:识别装置比较读取的加密锁标识信息与预先存储的加密锁标识信息是否相同,是则执行步骤308,否则执行步骤307;
[0168] 步骤307:识别装置输出加密锁错误信息,结束;
[0169] 步骤308:识别装置从检测列表中获取预置数据;
[0170] 优选地,本实施例中,识别装置随机地从检测列表中获取预置数据;除此之外,识别装置也可以依次从检测列表中获取预置数据,具体地,在循环检测过程中,识别装置获取上次检测时获取的预置数据之后的数据;
[0171] 本实施例中,检测列表预先由加密装置生成,并存储在识别装置中,检测列表中的数据量大于所述加密锁存储区的容量,优选地,本实施例中,检测列表中的数据量为所述加密锁存储区容量的100倍;检测列表中存储有加密后的数据,包括:第二输入数据和第三输出数据;具体地,产生第二输入数据和第三输出数据的方法是:加密装置按照第一运算法则对第一输入数据进行计算,得到第一输出数据,按照第二运算法则对第一输出数据做单向变换,得到第二输出数据,再按照第三运算法则对第一输入数据和第二输出数据进行加密,得到第二输入数据和第三输出数据,将第二输入数据和第三输出数据对应存储在检测列表中;
[0172] 本实施例中,第一运算法则为正版加密锁的算法;
[0173] 优选地,本实施例中第一运算法则为与用户标识信息对应的正版加密锁的算法;
[0174] 本实施例中,第二运算法则为单向变换,如摘要算法等;优选地,本实施例中,第二运算法则为MD5算法;
[0175] 本实施例中,第三运算法则为对称密钥加密算法和非对称密钥加密算法,加密算法包括:DES、3DES、AES、RSA和ECC等;优选地,本实施例中使用3DES算法对检验列表中的数据进行加密;
[0176] 具体地,本实施例中,第一输入数据包括:1234567890ABCDEF1234567890A BCDEF、12345678123456781234567812345678、11223344556677889900AABBCC DDEEFF和FEDCBA09
87654321FEDCBA0987654321,正版加密锁的算法为DES,即使用DES算法对第一输入数据进行计算,密钥为:1122334455667788,得到第一输出数据然后使用MD5算法对第一输出数据作单向变换,得到第二输出数据,如下表所示:
[0177]
[0178] 再使用3DES算法对第一输入数据和第二输出数据进行加密,得到第二输入数据和第三输出数据,密钥为:11223344556677889900AABBCCDDEEFF,将第二输入数据和第三输出数据对应存储在检测列表中,如下表所示:
[0179]
[0180] 步骤309:识别装置对获取的预置数据进行解密,得到第一输入数据和第二输出数据;
[0181] 具体的,在本实施例中,识别装置获取的预置数据为:第二输入数据ED0AC87C52A8A551C7C29D70B3716684和第三输出数据2E8323C02EFC3E1176ABDC4E7085DE92,识别装置对该组数据进行解密,得到第一输入数据11223344556677889900AABBCCDDEEFF和第二输出数据DDC1DC706F7F71190401509044A55682;
[0182] 在本实施例中,如果识别装置依次从检测列表中获取预置数据,则再次获取预置数据时,识别装置获取到的预置数据为:第二输入数据4462E4C96A4FF4C54462E4C96A4FF4C5和第三输出数据02F2A36D0C30DE5FFB89372973FF59A F;
[0183] 步骤310:识别装置将第一输入数据发送给加密锁;
[0184] 本实施例中,识别装置将第一输入数据11223344556677889900AABBCCDD EEFF发送给加密锁;
[0185] 本实施例中,加密锁接收到识别装置发送的第一输入数据,则按照内置的算法对第一输入数据进行计算生成第四输出数据,并将第四输出数据传送回识别装置;
[0186] 具 体地,在 本 实 施 例 中,加 密锁 使 用DES 算 法对 第 一 输 入 数 据11223344556677889900AABBCCDDEEFF进行计算,密钥为:1122334455667788,生成第四输出数据CD09BC4876AC0F2BB7163C1897EF4700,并将第四输出数据传送回识别装置;
[0187] 本实施例中,在该步骤前,还包括:识别装置验证加密锁的合法性,如合法则继续,如不合法则报错结束,验证加密锁的合法性具体为:识别装置从加密锁中获取PIN并判断获取的PIN与识别装置中的PIN是否一致,是则合法,否则不合法,本实施例的识别装置中的PIN是用户输入的或预先存储的;
[0188] 步骤311:识别装置接收加密锁返回的第四输出数据;
[0189] 该步骤还包括,当加密锁在预置检测时间内未接收到加密锁发送的第四输出数据时,执行步骤315,否则继续;本实施例中,预置检测时间为10秒;
[0190] 本实施例中,识别装置在预置检测时间内接收到的第四输出数据为CD09BC4876AC0F2BB7163C1897EF4700;
[0191] 步骤312:识别装置按照第二运算法则对第四输出数据进行计算,得到第五输出数据;
[0192] 本实施例中,识别装置用MD5算法对第四输出数据进行计算,得到第五输出数据DDC1DC706F7F71190401509044A55682;
[0193] 步骤313:识别装置对当前检测次数进行计算,判断当前检测次数是否达到预置检测次数,是则执行步骤314,否则,执行步骤308;
[0194] 例如,本实施例中的当前检测次数初始值为4,设置预置检测次数为0,每检测一次识别装置对当前检测次数减1,直至当前检测次数为0;
[0195] 步骤314:所述识别装置分别比较所有接收到的所述第五输出数据和与其对应的所述第二输出数据是否均相同,是则执行步骤316,至少有一个所述第五输出数据与所述第二输出数据不同则执行步骤315;
[0196] 步骤315:识别装置返回加密锁为盗版的信息,结束;
[0197] 步骤316:识别装置将当前检测次数恢复为初始值,返回加密锁为正版的信息;
[0198] 本实施例中,也可以不对第一输出数据按照第二运算法则进行计算,则步骤311中识别装置接收到第四输出数据后,直接执行步骤313,且步骤314中比较所有接收到的第四输出数据与第一输出数据是否相同,并根据比较结果返回相应信息;本实施例中,也可以不对检测列表进行加密,则步骤308中识别装置从检测列表中获取到第一输入数据和第一输出数据或获取到第一输入数据和第二输出数据,直接执行步骤310:识别装置将第一输入数据发送给加密锁。
[0199] 实施例4
[0200] 本发明的实施例4提供一种盗版加密锁的识别装置,如图4所示,包括:第一判断模块40、存储模块41、获取模块42、发送模块43、接收模块44、第二判断模块45和输出模块46;
[0201] 第一判断模块40,用于判断是否有符合要求的加密锁与主机连接;
[0202] 第一判断模块40具体包括:第一判断单元401,第一读取单元402,第二判断单元403,第二读取单元404和第三判断单元405;
[0203] 第一判断单元401,用于判断是否有加密锁与主机连接;
[0204] 第一获取单元402,用于从加密锁中获取VID和PID;
[0205] 第二判断单元403,用于判断VID和PID与预先存储在识别装置中的VID和PID是否相同;
[0206] 所述第二获取单元404,用于从加密锁中获取用户编码;
[0207] 所述第三判断单元405,用于判断用户编码与预先存储在识别装置中的用户编码是否相同;
[0208] 存储模块41,用于存储加密装置生成的检测列表,检测列表中数据量大于加密锁存储区的容量;
[0209] 获取模块42,用于从检测列表中获取预置数据,并根据所述预置数据得到第一输入数据和第一输出数据;
[0210] 发送模块43,用于将第一输入数据发送给加密锁;
[0211] 接收模块44,用于接收加密锁根据第一输入数据计算得到的第五输出数据;
[0212] 第二判断模块45,用于判断第五输出数据与第一输出数据是否相同;
[0213] 输出模块46,用于输出加密锁错误的信息、无加密锁连接的信息、加密锁为正版的信息和加密锁为盗版的信息。
[0214] 识别装置还包括验证模块47、解密模块48和计算模块49;
[0215] 验证模块47,用于验证加密锁是否的合法;
[0216] 验证模块47具体包括:第三获取单元471和第四判断单元472;
[0217] 第三获取单元471,用于从加密锁中获取用户密码;
[0218] 第四判断单元472,用于判断用户密码与识别装置中存储的用户密码是否相同;
[0219] 解密模块48,用于对预置数据进行解密,得到第一输入数据和第一输出数据,或得到第一输入数据和第二输出数据;
[0220] 计算模块49,用于按照变化算法对第五输出数据进行计算,得到第六输出数据;
[0221] 第二判断模块45,还用于判断第六输出数据与第二输出数据是否相同。
[0222] 第二判断模块45具体包括:第一比较单元451,第一计算单元452和第二比较单元453;
[0223] 第一比较单元451,用于所述第五输出数据与第一输出数据是否相同,或用于比较第六输出数据与第二输出数据是否相同;
[0224] 第一计算单元452,用于对当前检测次数进行计算;
[0225] 第二比较单元453,用于判断当前检测次数是否达到预置检测次数。
[0226] 输出模块46具体包括:第二计算单元461和第一输出单元462;
[0227] 第二计算单元461,用于将当前检测次数恢复为初始值;
[0228] 第一输出单元462,用于输出加密锁错误的信息、无加密锁连接的信息、加密锁为正版的信息和加密锁为盗版的信息。
[0229] 第一比较单元451还用于分别比较所有接收到的第五输出数据与对应的第一输出数据是否均相同,或用于分别比较所有接收到的第六输出数据与对应的第二输出数据是否均相同。
[0230] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。