一种在线解锁的实现方法及装置与流程

文档序号:12278201阅读:392来源:国知局
一种在线解锁的实现方法及装置与流程

本发明涉及电子产品领域,尤其涉及一种在线解锁的实现方法及装置。



背景技术:

智能密钥设备是一种带有处理器和存储器的小型硬件装置,它可通过计算机的数据通讯接口与计算机连接。智能密钥设备通过内置的单片机或智能卡芯片完成密钥的生成以及密钥的安全存储,其中可预置加密算法功能,且与密钥相关的运算完全在智能密钥设备内部运行,使得智能密钥设备具有抗攻击的特性,安全性极高。

现有技术中,智能密钥设备(USB Key)一般是通过校验用户输入的PIN码(personal identification number,个人识别码)正确与否来验证该用户的身份是否合法。具体的校验过程包括:智能密钥设备与计算机相连,用户通过计算机向智能密钥设备输入PIN码,智能密钥设备自动校验该PIN码的正确性。当用户输入的PIN码校验正确时,允许该用户操作智能密钥设备;当用户输入的PIN码校验错误、且错误的次数达到了预先设定的最大值时,智能密钥设备将该用户的PIN码锁定,用户将无法再使用该智能密钥设备,用户需要将该智能密钥设备拿给管理员对PIN码进行解锁。现有技术中,管理员对PIN码进行解锁一般通过手动输入sopin(管理员密码)来实现,工作量太大;而且每次解码使用的sopin都相同,存在安全隐患。



技术实现要素:

本发明的目的是为了克服现有技术的不足,提供一种在线解锁的实现方法及装置。

本发明提供了一种在线解锁的实现方法,包括:

步骤S1:当装置接收到用户输入的用户信息时,判断所述用户信息是否正确,是则执行步骤S2,否则结束;

步骤S2:所述装置获取智能密钥设备的序列号,并判断所述智能密钥设备的序列号是否与所述用户信息匹配,是则执行步骤S3,否则结束;

步骤S3:所述装置根据所述智能密钥设备的序列号获取对应的管理员密码;

步骤S4:所述装置使用所述管理员密码对所述智能密钥设备进行解锁操作。

其中,所述步骤S1包括:当所述装置接收到用户输入的用户信息时,判断所述用户信息是否与保存的用户信息匹配,是则执行步骤S2,否则结束。

其中,所述装置获取智能密钥设备的序列号与判断所述智能密钥设备的序列号是否与所述用户信息匹配之间包括:所述装置判断是否获取到所述智能密钥设备的序列号,是则继续,否则结束。

其中,所述装置获取智能密钥设备的序列号,具体为:所述装置通过第一接口获取所述智能密钥设备的序列号。

其中,所述装置判断是否获取到所述智能密钥设备的序列号,具体为:所述装置判断所述第一接口的返回值是否为预设值,是则获取到所述智能密钥设备的序列号,否则未获取到所述智能密钥设备的序列号。

其中,所述步骤S1之前包括:当装置接收到解锁触发信息时,弹出解锁页面并等待用户输入用户信息,执行步骤S1。

其中,所述步骤S4中如解锁成功则还包括:重新设置个人识别码并通知用户。

其中,所述步骤S4包括:所述装置将所述管理员密码作为参数调用第二接口进行验证,如验证成功则调用第三接口重新设置所述智能密钥设备的个人识别码,并判断所述第三接口是否返回真值,是则解锁成功,否则解锁失败,结束,如验证失败则解锁失败,结束。

其中,所述装置包括客户端程序和后台服务器,所述步骤S3包括:所述客户端程序根据所述智能密钥设备的序列号从后台服务器中获取对应的管理员密码。

其中,所述装置为客户端程序,所述步骤S3包括:所述客户端程序根据所述智能密钥设备的序列号计算得到管理员密码。

其中,所述装置包括客户端程序和后台服务器,所述步骤S3包括:

步骤S3-1:所述客户端程序根据所述智能密钥设备的序列号从后台服务器中获取加密后的随机数;

步骤S3-2:所述客户端程序使用客户端私钥对所述加密后的随机数进行解密得到随机数,将所述智能密钥设备的序列号与所述随机数进行拼接,对拼接结果进行哈希运算得到管理员密码。

其中,所述步骤S4之前包括:所述客户端程序从所述智能密钥设备中获取随机串;

所述步骤S4包括:所述客户端程序使用所述管理员密码对所述随机串进行加密,将加密结果作为参数调用第二接口进行验证,如验证成功则调用第三接口重新设置所述智能密钥设备的个人识别码,并判断所述第三接口是否返回真值,是则解锁成功,否则解锁失败,结束,如验证失败则解锁失败,结束。

其中,所述步骤S3-1具体为:所述客户端程序将所述智能密钥设备的序列号发送给所述后台服务器;所述后台服务器根据所述智能密钥设备的序列号获取对应的随机数,使用客户端公钥对所述随机数进行加密得到所述加密后的随机数并将所述加密后的随机数发送给所述客户端程序。

其中,所述步骤S4中如解锁成功还包括:

步骤A1:所述客户端程序将所述智能密钥设备的序列号和所述管理员密码进行拼接,对拼接结果进行哈希运算得到新随机数;

步骤A2:所述客户端程序将所述序列号和所述新随机数进行拼接,对拼接结果进行哈希运算得到新的管理员密码;

步骤A3:所述客户端程序根据所述新的管理员密码进行修改管理员密码操作,并判断是否成功,是则给后台服务器发送修改管理员密码操作成功信息,结束,否则结束。

其中,所述方法还包括:所述后台服务器接收到修改管理员密码操作成功信息后,将所述智能密钥设备的序列号与保存的所述随机数进行拼接,并对拼接结果做哈希运算得到第一哈希值,对所述智能密钥设备的序列号与所述第一哈希值进行拼接后的拼接结果做哈希运算得到第二哈希值,并用所述第二哈希值替换保存的所述随机数。

其中,所述客户端程序给所述后台服务器发送修改管理员密码操作成功信息之前包括:所述客户端程序生成第一数据并用后台服务器公钥对所述第一数据进行加密,将加密结果发送给所述后台服务器;所述后台服务器接收到所述加密结果后用后台服务器私钥对所述加密结果进行解密,如解密成功则用解密结果替换保存的所述随机数,如解密失败给所述客户端程序返回解密失败信息,结束。

本发明又提供了一种在线解锁的实现装置,包括:

接收模块,用于接收用户输入的用户信息;

第一判断模块,用于判断所述接收模块接收到的用户信息是否正确,以及用于判断结果为是时触发获取判断模块;

所述获取判断模块,用于获取智能密钥设备的序列号,并判断所述智能密钥设备的序列号是否与所述用户信息匹配,以及用于判断结果为是时触发第一获取模块;

所述第一获取模块,用于根据所述智能密钥设备的序列号获取对应的管理员密码;

解锁模块,用于使用所述管理员密码对所述智能密钥设备进行解锁操作。

其中,所述第一判断模块具体用于判断所述用户信息是否与保存的用户信息匹配,以及用于判断结果为是时触发获取判断模块。

其中,所述装置还包括第二判断模块,用于判断所述获取判断模块是否获取到所述智能密钥设备的序列号。

其中,所述获取判断模块具体包括:

第一获取单元,用于通过第一接口获取所述智能密钥设备的序列号;

第一判断单元,用于判断所述智能密钥设备的序列号是否与所述用户信息匹配,以及用于判断结果为是时触发所述第一获取模块。

其中,所述第二判断模块具体用于判断所述第一接口的返回值是否为预设值,是则获取到所述智能密钥设备的序列号,否则未获取到所述智能密钥设备的序列号。

其中,所述接收模块,还用于接收解锁触发信息,以及接收到所述解锁触发信息时弹出解锁页面并等待用户输入用户信息。

其中,所述装置还包括:设置模块,用于在所述解锁模块解锁成功之后,重新设置个人识别码并通知用户。

其中,所述解锁模块具体用于将所述管理员密码作为参数调用第二接口进行验证,如验证成功则调用第三接口重新设置所述智能密钥设备的个人识别码,并判断所述第三接口是否返回真值,是则解锁成功,否则解锁失败,如验证失败则解锁失败。

其中,所述装置包括客户端程序和后台服务器,所述客户端程序包括所述接收模块、第一判断模块、获取判断模块、第一获取模块和解锁模块,所述后台服务器用于存储与智能密钥设备一一对应的管理员密码;

所述第一获取模块具体用于根据所述智能密钥设备的序列号从所述后台服务器中获取对应的管理员密码。

其中,所述装置为客户端程序,所述第一获取模块具体用于根据所述智能密钥设备的序列号计算得到管理员密码。

其中,所述装置包括客户端程序和后台服务器,所述客户端程序包括所述接收模块、第一判断模块、获取判断模块、第一获取模块和解锁模块,,所述后台服务器用于对随机数进行加密得到加密后的随机数;

所述第一获取模块包括:

第二获取单元,用于根据所述智能密钥设备的序列号从所述后台服务器中获取加密后的随机数;

解密拼接单元,用于使用客户端私钥对所述加密后的随机数进行解密得到随机数,将所述智能密钥设备的序列号与所述随机数进行拼接,对拼接结果进行哈希运算得到管理员密码。

其中,所述客户端程序还包括:第二获取模块,用于从所述智能密钥设备中获取随机串;

所述解锁模块包括:

加密单元,用于使用所述管理员密码对所述随机串进行加密得到加密结果;

验证单元,用于将加密结果作为参数调用第二接口进行验证,如验证成功则调用第三接口重新设置所述智能密钥设备的个人识别码,并判断所述第三接口是否返回真值,是则解锁成功,否则解锁失败,如验证失败则解锁失败。

其中,所述第二获取单元具体用于将所述智能密钥设备的序列号发送给所述后台服务器;

所述后台服务器具体用于根据所述智能密钥设备的序列号获取对应的随机数,使用客户端公钥对所述随机数进行加密得到所述加密后的随机数并将所述加密后的随机数发送给所述客户端程序。

其中,所述客户端程序还包括:

第一拼接哈希模块,用于将所述智能密钥设备的序列号和所述管理员密码进行拼接,对拼接结果进行哈希运算得到新随机数;

第二拼接哈希模块,用于将所述序列号和所述新随机数进行拼接,对拼接结果进行哈希运算得到新的管理员密码;

修改判断模块,用于根据所述新的管理员密码进行修改管理员密码操作,并判断是否成功,以及用于判断结果为是时给所述后台服务器发送修改管理员密码操作成功信息;

所述后台服务器还用于接收所述修改判断模块发送的修改管理员密码操作成功信息。

其中,所述后台服务器还用于在接收到修改管理员密码操作成功信息后,将所述智能密钥设备的序列号与保存的所述随机数进行拼接,并对拼接结果做哈希运算得到第一哈希值,对所述智能密钥设备的序列号与所述第一哈希值进行拼接后的拼接结果做哈希运算得到第二哈希值,并用所述第二哈希值替换保存的所述随机数。

其中,所述客户端程序还包括:生成加密模块,用于生成第一数据并用后台服务器公钥对所述第一数据进行加密得到加密结果,将所述加密结果发送给所述后台服务器;所述后台服务器还用于接收所述加密结果,并使用后台服务器私钥对所述加密结果进行解密,如解密成功则用解密结果替换保存的所述随机数,如解密失败给所述装置返回解密失败信息。

本发明与现有技术相比,具有以下优点:

本发明的方法适用于用户的智能密钥设备被锁死或者忘记个人识别码的情形,当用户访问网站提交资料,插入需要解锁的智能密钥设备,装置从智能密钥设备中获取智能密钥设备的序列号,根据智能密钥设备的序列号计算管理员密码,然后再使用管理员密码进行解锁,安全方便。

附图说明

图1为本发明实施例一提供的一种在线解锁的实现方法流程图;

图2为本发明实施例二提供的一种在线解锁的实现方法流程图;

图3为本发明实施例三提供的一种在线解锁的实现方法流程图;

图4为本发明实施例四提供的一种在线解锁的实现方法流程图;

图5为本发明实施例五提供的一种在线解锁的实现装置方框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例一提供一种在线解锁的实现方法,如图1所示,包括:

步骤S1:当装置接收到用户输入的用户信息时,判断用户信息是否正确,是则执行步骤S2,否则结束;

在本实施例中,步骤S1之前包括:当装置接收到解锁触发信息时,弹出解锁页面并等待用户输入用户信息,执行步骤S1;

具体的,判断用户信息是否正确,包括:判断用户信息是否与保存的用户信息匹配,是则执行步骤S2,否则结束;

步骤S2:装置获取智能密钥设备的序列号,并判断智能密钥设备的序列号是否与用户信息匹配,是则执行步骤S3,否则结束;

具体的,在本实施例中,装置获取智能密钥设备的序列号与判断智能密钥设备的序列号是否与用户信息匹配之间包括:装置判断是否获取到智能密钥设备的序列号,是则判断智能密钥设备的序列号是否与用户信息匹配,否则结束;

在本实施例中,装置获取智能密钥设备的序列号,判断是否获取到智能密钥设备的序列号,具体为:装置通过第一接口来获取智能密钥设备的序列号,并判断第一接口的返回值是否为预设值,是则获取到智能密钥设备的序列号,否则未获取到智能密钥设备的序列号;

步骤S3:装置根据智能密钥设备的序列号获取对应的管理员密码;

在本实施例中,装置可以为客户端程序,还可以包括后台服务器,则步骤S3有多种实现方式,本发明实施例以下述几种方式进行详述;

(1)装置包括客户端程序和后台服务器,客户端程序根据智能密钥设备的序列号从后台服务器中获取对应的管理员密码;

(2)装置为客户端程序,客户端程序根据智能密钥设备的序列号计算得到管理员密码;

(3)装置包括客户端程序和后台服务器,客户端程序根据智能密钥设备的序列号从后台服务器中获取加密后的随机数;使用客户端私钥对加密后的随机数进行解密得到随机数,将智能密钥设备的序列号与随机数进行拼接,对拼接结果进行哈希运算得到管理员密码;

客户端程序根据智能密钥设备的序列号从后台服务器中获取加密后的随机数,具体为:客户端程序将智能密钥设备的序列号发送给后台服务器;后台服务器根据智能密钥设备的序列号获取对应的随机数,使用客户端公钥对随机数进行加密得到加密后的随机数并将加密后的随机数发送给客户端程序;

步骤S4:装置使用管理员密码对智能密钥设备进行解锁操作。

在本实施例中,解锁操作的结果有解锁成功和解锁失败,如解锁成功则本实施例方法还包括:装置重新设置个人识别码并通知用户,如解锁失败则结束;

优选的,步骤S4包括:所述装置将所述管理员密码作为参数调用第二接口进行验证,如验证成功则调用第三接口重新设置所述智能密钥设备的个人识别码,并判断所述第三接口是否返回真值,是则解锁成功,否则解锁失败,结束,如验证失败则解锁失败,结束。

为提高解锁的安全性,在步骤S4之前包括:装置从智能密钥设备中获取随机串;步骤S4包括:装置使用管理员密码对随机串进行加密,将加密结果作为参数调用第二接口进行验证,如验证成功则调用第三接口重新设置智能密钥设备的个人识别码,并判断第三接口是否返回真值,是则解锁成功,否则解锁失败,结束,如验证失败则解锁失败,结束。

在本实施例中,在步骤S4中如解锁成功则还包括:

步骤A1:客户端程序将智能密钥设备的序列号和管理员密码进行拼接,对拼接结果进行哈希运算得到新随机数;

步骤A2:客户端程序将序列号和新随机数进行拼接,对拼接结果进行哈希运算得到新的管理员密码;

步骤A3:客户端程序根据新的管理员密码进行修改管理员密码操作,并判断是否成功,是则给后台服务器发送修改管理员密码操作成功信息,结束,否则结束。

后台服务器在接收到修改管理员密码操作成功信息后,会对保存的随机数进行更新,可以通过以下两种方法来实现;

(一)后台服务器接收到修改管理员密码操作成功信息后,将智能密钥设备的序列号与保存的随机数进行拼接,并对拼接结果做哈希运算得到第一哈希值,对智能密钥设备的序列号与第一哈希值进行拼接后的拼接结果做哈希运算得到第二哈希值,并用第二哈希值替换保存的随机数。

(二)装置给后台服务器发送修改管理员密码操作成功信息之前包括:装置生成第一数据并用后台服务器公钥对第一数据进行加密,将加密结果发送给后台服务器;后台服务器接收到加密结果后用后台服务器私钥对加密结果进行解密,如解密成功则用解密结果替换保存的随机数,如解密失败给装置返回解密失败信息,结束。

实施例二

本发明实施例二提供一种在线解锁的实现方法,本实施例中的装置包括客户端程序和后台服务器,如图2所示,该方法包括:

步骤101:当客户端程序接收到解锁触发信息时,弹出解锁页面并等待用户输入用户信息;

在本实施例中,用户信息包括用户名和密码;例如,用户名是zhangsan,密码是Abcd1234;

步骤102:当客户端程序接收到用户输入的用户信息时,判断用户信息是否正确,是则执行步骤103,否则结束;

具体的,步骤102包括:客户端程序判断接收到的用户信息是否与保存的用户信息匹配,是则执行步骤103,否则结束;

例如,本实施例中保存的用户信息为:用户名zhangsan,密码ABCD1234,则步骤102中判断为否则结束;如保存的用户信息为:zhangsan,密码是Abcd1234,则步骤102中判断为是则执行步骤103;

步骤103:客户端程序获取智能密钥设备的序列号;

具体的,在本实施例中,客户端程序通过调用P11(PKCS11,密码令牌接口标准)的第一接口(C_GetTokenInfo)获取插入的智能密钥设备的序列号;

例如,在本实施例中,客户端程序获取到的智能密钥设备的序列号为0653114714150A13,其对应的用户信息为:用户名zhangsan,密码ABCD1234;

步骤104:客户端程序判断是否获取到智能密钥设备的序列号,是则执行步骤105,否则结束;

在本实施例中,客户端程序判断P11的第一接口的返回值是否为真值(true),是则获取到智能密钥设备的序列号,否则未获取到智能密钥设备的序列号;

例如,本实施例中获取到智能密钥设备的序列号为0653114714150A13;

步骤105:客户端程序判断获取到智能密钥设备的序列号是否与接收到的用户信息匹配,是则执行步骤106,否则结束;

例如,在本实施例中智能密钥设备的序列号为0653114714150A13,其对应的用户信息为:用户名zhangsan,密码ABCD1234,步骤105判断为是则执行步骤106;

步骤106:客户端程序根据智能密钥设备的序列号从后台服务器中获取对应的管理员密码;

例如,本实施例中智能密钥设备的序列号0653114714150A13所对应的管理员密码为f048842c72383783;

步骤107:客户端程序使用管理员密码对智能密钥设备进行解锁操作,并判断解锁是否成功,是则解锁成功,重新设置个人识别码并通知用户,否则解锁失败,结束;

在本实施例中,步骤107包括:客户端程序将管理员密码作为参数调用P11的第二接口(C_Login)进行验证,如验证成功则调用p11的第三接口(C_InitPIN)重新设置智能密钥设备的pin码,并判断p11的第三接口是否返回true,是则解锁成功,重新设置个人识别码并通知用户,否则解锁失败,如验证失败则解锁失败,结束;

例如,在本实施例中,重新设置的个人识别码为06d49632,并可以通过邮件或短信的方式通知用户重新设置后的个人识别码;

步骤107判断为是时还可以包括:客户端程序弹出对话框,提示用户重新输入个人识别码。

实施例三

本发明实施例三提供一种在线解锁的实现方法,本实施例中的装置为客户端程序,如图3所示,包括:

步骤201:当装置接收到解锁触发信息时,弹出解锁页面并等待用户输入用户信息;

在本实施例中,用户信息包括用户名和密码;例如,用户名是zhangsan,密码是Abcd1234;

步骤202:当装置接收到用户输入的用户信息时,判断用户信息是否正确,是则执行步骤203,否则结束;

具体的,步骤202包括:装置判断接收到的用户信息是否与保存的用户信息匹配,是则执行步骤203,否则结束;

例如,本实施例中保存的用户信息为:用户名zhangsan,密码ABCD1234,则步骤202中判断为否则结束;如保存的用户信息为:zhangsan,密码是Abcd1234,则步骤202中判断为是则执行步骤203;

步骤203:装置获取智能密钥设备的序列号;

具体的,在本实施例中,装置通过调用P11的第一接口(C_GetTokenInfo)获取插入在装置上的智能密钥设备的序列号;

例如,本实施例中获取到智能密钥设备的序列号为0653114714150A13,对应的用户信息为:用户名是zhangsan,密码是Abcd1234;

步骤204:装置判断是否获取到智能密钥设备的序列号,是则执行步骤205,否则结束;

在本实施例中,装置判断P11的第一接口的返回值是否为true,是则获取到智能密钥设备的序列号,否则未获取到智能密钥设备的序列号;

步骤205:装置判断获取到智能密钥设备的序列号是否与接收到的用户信息匹配,是则执行步骤206,否则结束;

例如,在本实施例中智能密钥设备的序列号为0653114714150A13,其对应的用户信息为:用户名zhangsan,密码ABCD1234,步骤205判断为是则执行步骤206;

步骤206:装置根据智能密钥设备的序列号计算管理员密码;

例如,在本实施例中,智能密钥设备的序列号为653114714150A13,对其进行哈希运算得到的管理员密码为de476c4349720330;

步骤207:装置使用管理员密码对智能密钥设备进行解锁操作,并判断解锁是否成功,是则解锁成功,重新设置个人识别码并通知用户,否则解锁失败,结束;

在本实施例中,步骤207包括:装置将管理员密码作为参数调用P11的第二接口(C_Login)进行验证,如验证成功则调用p11的第三接口(C_InitPIN)重新设置智能密钥设备的pin码,并判断p11的第三接口是否返回true,是则解锁成功,重新设置个人识别码并通知用户,否则解锁失败,结束,如验证失败则解锁失败,结束;

例如,在本实施例中,重新设置的个人识别码为06d49632,并可以通过邮件或短信的方式通知用户重新设置后的个人识别码;

步骤207判断为是时还可以包括:装置弹出对话框,提示用户重新输入个人识别码。

实施例四

本发明实施例四提供一种在线解锁的实现方法,本实施例中的装置包括客户端程序和后台服务器,如图4所示,该方法包括:

步骤301:当客户端程序接收到解锁触发信息时,弹出解锁页面并等待用户输入用户信息;

在本实施例中,用户信息包括用户名和密码;例如,用户名是zhangsan,密码是Abcd1234;

步骤302:当客户端程序接收到用户输入的用户信息时,判断用户信息是否正确,是则执行步骤303,否则结束;

具体的,步骤302包括:客户端程序判断接收到的用户信息是否与保存的用户信息匹配,是则执行步骤303,否则结束;

例如,本实施例中保存的用户信息为:用户名zhangsan,密码ABCD1234,则步骤302中判断为否则结束;如保存的用户信息为:zhangsan,密码是Abcd1234,则步骤302中判断为是则执行步骤303;

步骤303:客户端程序获取智能密钥设备的序列号;

具体的,在本实施例中,客户端程序通过调用P11的第一接口(C_GetTokenInfo)获取插入智能密钥设备的序列号;

步骤304:客户端程序判断是否获取到智能密钥设备的序列号,是则执行步骤305,否则结束;

在本实施例中,客户端程序判断P11的第一接口的返回值是否为true,是则获取到智能密钥设备的序列号,否则未获取到智能密钥设备的序列号;

例如,本实施例中获取到智能密钥设备的序列号为0653114714150A13;

步骤305:客户端程序判断获取到智能密钥设备的序列号是否与接收到的用户信息匹配,是则执行步骤306,否则结束;

步骤306:客户端程序根据智能密钥设备的序列号从后台服务器中获取加密后的随机数;

具体的,在本实施例中,步骤306包括:客户端程序将智能密钥设备的序列号发送给后台服务器;后台服务器根据智能密钥设备的序列号获取对应的随机数,使用客户端公钥对获取的随机数进行加密得到加密后的随机数,并将该加密后的随机数发送给客户端程序;

例如,后台服务器获取到的随机数为986DE47418B778F8,进行加密得到的加密后的随机数为:E5 06 20 8D D1 B6 67 37 B4 F1 70 A7 6A CD E3 27 1C CE D4 F0 88 AF 89 1E C5 35 DD 7B BC DE 2A 73 73 B5 2C 5D 33 78 20 22 10 AE 07 6E DD 93 C5 55 58 76 5D 6C E7 2E 46 E8 33 0A 0B 6B F0 9E 68 0D CB 61 4C C8 29 7A 9C 8A 3D 35 69 08 CE C6 81 6B 52 8C AB 3B C8 57 F3 5C 82 AA EC 1E B0 30 35 CC BE 61 84 CF E3 49 29 41 43 46 67 AF 2E FF 00 33 10 DF DB B3 97 8B 10 45 FE CE 55 39 61 65 1F 35;

步骤307:客户端程序使用客户端私钥对加密后的随机数进行解密得到随机数,将智能密钥设备的序列号与随机数进行拼接,对拼接结果进行哈希运算得到管理员密码;

例如,在本实施例中,解密得到的随机数为:986DE47418B778F8,序列号与随机数的拼接结果为:0653114714150A13986DE47418B778F8,对该拼接结果进行哈希运算得到的管理员密码为7018600ef3548af4;

步骤308:客户端程序使用管理员密码对智能密钥设备进行解锁操作,并判断解锁是否成功,是则执行步骤309,否则结束;

在本实施例中,步骤308包括:客户端程序将sopin作为参数调用P11的第二接口(C_Login)进行验证,如验证成功则调用p11的第三接口(C_InitPIN)重新设置个人识别码,并判断p11的第三接口是否返回true,是则执行步骤309,否则结束,如验证失败则结束;

例如,在本实施例中,重新设置的个人识别码为:06d49632;

步骤308判断为是时还可以包括:客户端程序弹出对话框,提示用户重新输入个人识别码;

步骤309:客户端程序将智能密钥设备的序列号和管理员密码进行拼接,对拼接结果进行哈希运算得到新随机数;

例如,在本实施例中,序列号和管理员密码的拼接结果为0653114714150A137018600ef3548af4;对该拼接结果进行哈希运算得到新随机数为fa5f055e350bd4ac;

步骤310:客户端程序将序列号和新随机数进行拼接,对拼接结果进行哈希运算得到新的管理员密码;

例如,在本实施例中,序列号和新随机数的拼接结果为0653114714150A13fa5f055e350bd4ac;对该拼接结果进行哈希运算得到新的管理员密码为f3a6321f486b5bfe;

步骤311:客户端程序根据新的管理员密码进行修改管理员密码操作,并判断是否成功,是则执行步骤312,否则结束;

在本实施例中,步骤311具体为:客户端程序将新的管理员密码作为参数调用P11的第四接口(C_SetPIN)进行修改管理员密码,如接口返回true则操作成功,否则操作失败;

步骤312:客户端程序给后台服务器发送修改管理员密码操作成功信息,结束;

具体的,在本实施例中,后台服务器接收到修改管理员密码操作成功信息后,后台服务器将智能密钥设备的序列号与保存的随机数进行拼接,并对拼接结果做哈希运算得到第一哈希值,对智能密钥设备的序列号与第一哈希值进行拼接后的拼接结果做哈希运算得到第二哈希值,并用第二哈希值替换保存的随机数。

在本实施例中,客户端程序给后台服务器发送修改管理员密码操作成功信息之前还可以包括:客户端程序生成第一数据并用后台服务器公钥对该第一数据进行加密得到加密结果,然后将加密结果发送给后台服务器;后台服务器接收到加密结果后用后台服务器私钥对其进行解密,如解密成功则用解密结果替换保存的随机数,如解密失败给客户端程序返回解密失败信息,结束;

优选的,在本实施例中,步骤312之后还包括:客户端程序将重新设置的用户识别码通过邮件或短信方式发送给用户。

本实施例中的方法适用于用户的智能密钥设备被锁死或者忘记pin码时,当用户访问网站提交资料,在装置上插入需要解锁的智能密钥设备,客户端程序从后台服务器中获取智能密钥设备的序列号,根据智能密钥设备的序列号计算管理员密码,然后使用管理员密码进行解锁,安全方便。

实施例五

本发明实施例五提供了一种在线解锁的实现装置,如图5所示,包括:

接收模块401,用于接收解锁触发信息,以及接收到解锁触发信息时弹出解锁页面并等待用户输入用户信息;还用于接收用户从解锁页面输入的用户信息;

在本实施例中,用户信息包括用户名和密码;例如,用户名是zhangsan,密码是Abcd1234;

第一判断模块402,用于判断用户信息是否正确,以及用于判断结果为是时触发获取判断模块403;

在本实施例中,第一判断模块402具体用于判断用户信息是否与保存的用户信息匹配,以及用于判断结果为是时触发获取判断模块403;

获取判断模块403,用于获取智能密钥设备的序列号,并判断智能密钥设备的序列号是否与用户信息匹配,以及用于判断结果为是时触发第一获取模块404;

具体的,在本实施例中,获取判断模块403具体包括:

第一获取单元,用于通过P11的第一接口获取智能密钥设备的序列号;

第一判断单元,用于判断智能密钥设备的序列号是否与用户信息匹配,以及用于判断结果为是时触发第一获取模块;

第一获取模块404,用于根据智能密钥设备的序列号获取对应的管理员密码;

解锁模块405,用于使用管理员密码对智能密钥设备进行解锁操作;

本实施例中的装置还可以包括设置模块,用于在解锁模块405解锁成功后,重新设置个人识别码并通知用户。

在本实施例中,解锁模块405具体用于将管理员密码作为参数调用P11的第二接口进行验证,如验证成功则调用p11的第三接口重新设置智能密钥设备的pin码,并判断p11的第三接口是否返回true,是则解锁成功,否则解锁失败,如验证失败则解锁失败。

本实施例中的装置还包括第二判断模块,用于判断获取判断模块是否获取到智能密钥设备的序列号;第二判断模块具体用于判断P11的第一接口的返回值是否为预设值,是则获取到智能密钥设备的序列号,否则未获取到智能密钥设备的序列号。

本实施例中的装置还包括第三判断模块,用于判断智能密钥设备的序列号是否与用户信息匹配,以及用于判断结果为是时触发第一获取模块404。

在本实施例中,第一获取模块404获取管理员密码包括多种实现方式,本实施例中的装置可以为客户端程序,还可以包括服务器。本实施例中仅以下述三种方式为例进行说明,但不仅限于这些实现方式。

(一)本实施例的装置包括客户端程序和后台服务器,客户端程序包括接收模块、第一判断模块、获取判断模块、第一获取模块和解锁模块,后台服务器用于存储与智能密钥设备一一对应的管理员密码;第一获取模块404具体用于根据智能密钥设备的序列号从后台服务器中获取对应的管理员密码。

(二)本实施例的装置为客户端程序,第一获取模块404具体用于根据智能密钥设备的序列号计算得到管理员密码。

(三)本实施例的装置包括客户端程序和后台服务器,客户端程序包括接收模块、第一判断模块、获取判断模块、第一获取模块和解锁模块,后台服务器用于对随机数进行加密得到加密后的随机数;

第一获取模块404包括:

第二获取单元,用于根据智能密钥设备的序列号从后台服务器中获取加密后的随机数;

在本实施例中,第二获取单元具体用于将智能密钥设备的序列号发送给后台服务器;后台服务器具体用于根据智能密钥设备的序列号获取对应的随机数,使用客户端公钥对随机数进行加密得到加密后的随机数并将该加密后的随机数发送给客户端程序。

解密拼接单元,用于使用客户端私钥对加密后的随机数进行解密得到随机数,将智能密钥设备的序列号与随机数进行拼接,对拼接结果进行哈希运算得到管理员密码。

为使解锁过程更加安全,本实施例客户端程序还可以包括:第二获取模块,用于从智能密钥设备中获取随机串;

解锁模块包括加密单元和验证单元:

加密单元,用于使用管理员密码对随机串进行加密得到加密结果;

验证单元,用于将加密结果作为参数调用第二接口进行验证,如验证成功则调用第三接口重新设置智能密钥设备的个人识别码,并判断第三接口是否返回真值,是则解锁成功,否则解锁失败,如验证失败则解锁失败。

第三种实现方式的客户端程序还包括:

第一拼接哈希模块,用于将智能密钥设备的序列号和管理员密码进行拼接,对拼接结果进行哈希运算得到新随机数;

第二拼接哈希模块,用于将序列号和新随机数进行拼接,对拼接结果进行哈希运算得到新的管理员密码;

修改判断模块,用于根据新的管理员密码进行修改管理员密码操作,并判断是否成功,以及用于判断结果为是时给后台服务器发送修改管理员密码操作成功信息。后台服务器还用于接收修改管理员密码操作成功信息,在接收到修改管理员密码操作成功信息后,将智能密钥设备的序列号与保存的随机数进行拼接,并对拼接结果做哈希运算得到第一哈希值,对智能密钥设备的序列号与第一哈希值进行拼接后的拼接结果做哈希运算得到第二哈希值,并用第二哈希值替换保存的随机数。

本实施例第三种实现方式的客户端程序还可包括:生成加密模块,用于生成第一数据并用后台服务器公钥对第一数据进行加密得到加密结果,将加密结果发送给后台服务器;后台服务器还用于接收加密结果,并使用后台服务器私钥对加密结果进行解密,如解密成功则用解密结果替换保存的随机数,如解密失败给装置返回解密失败信息。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1