一种USBKey设备及其实现验证的方法

文档序号:6464397阅读:196来源:国知局
专利名称:一种USB Key设备及其实现验证的方法
技术领域
本发明涉及信息安全技术领域,特别涉及一种USB Key设备及其实现验 证的方法。
背景技术
随着互联网的发展,用户在进行网上通信和交易时,其信息安全日益受 到了网上黑客、网络监控设备、病毒及其它形式的威胁。这些威胁带来的各 种损失已经成为使用成本的重要组成部分。实现电子商务的关4建是要保证商 务活动过程中系统的安全性和可信性。为了建立通信双方的安全和信任关系, 涉及网络通信的各方必须通过某种形式的身份认证机制来证明它们的身份。 目前身份认证机制有三种形式用户名加口令的方式、生物特征识别技术(包 括指紋、声音、手迹、虹膜等)、基于USBKey的身份认证方式。
USB Key是一种USB接口的小巧的硬件设备,形装与常见的U盘类似, 内部内置了 CPU、存储器、芯片操作系统(COS),可以存储用户的密钥或 数字证书,利用USBKey内置的密码算法实现对用户身份的认证。
USB Key通常采用非对称密钥加密的认证模式,它利用USB Key内置的 公钥算法实现对用户身份的认证。USB Key可进行电子邮件加密、数字签名、 安全证书、安全网络登录和访问应用安全套接字协议层(SSL, Secure Socket Layer,)协议的安全网络,为使用者提供身份认证、身份识别和信息加密服 务。由于用户私钥保存在USB Key的密码锁中,理论上使用任何方式都无法 读取,因此保证了用户认证的安全性。随着互联网电子商务的不断普及,USB Key以其所具有的安全可靠、便于携带、使用方便等诸多优点正在被越来越 多的用户所认识和使用,应用已经十分广泛。
由于USBKey本身作为密钥存储器,其自身的硬件结构决定了用户只 能通过厂商编程接口访问数据,这就保证了保存在USB Key中的数字证书无 法被复制,并且每一个USB Key都带有PIN码保护,这样USB Key的硬件 和PIN码构成了可以使用证书的两个必要因子。如果用户PIN码被泄漏,只 要保存好USB Key的硬件就可以保护自己的证书不被盗用,如果用户的USB
Key丟失,获得者由于不知道该硬件的PIN码,也无法盗用用户存在USB Key 中的证书。
但是USB Key的硬件和PIN码却不能抵御重放攻击。重放攻击是指在用 户计算机一侧,黑客或木马程序截获用户在使用USB Key时,在电脑客户端 输入的PIN码消息。当判断出USBKey插在电脑上时,黑客或木马程序不需 要破译PIN码消息,只需要重新发送截获的口令,就可以在用户不知道的情 况下,用截获的PIN码调用USBKey,进行不法操作,损坏用户利益。
图1为现有的USBKey在正常使用时被盗用的示意图。
步骤101,用户需要通过客户端执行网上银行转账,网上银行要进行用 户身份认证;
步骤102,用户输入PIN码,使用USBKey进行身份认证;
步骤103,根据用户USBKey身份认证消息,通过认证,转账成功。
与此同时,黑客或木马程序也在进行不法操作
步骤101',黑客或木马程序监听用户键盘输入获得PIN码;
步骤102',冒用用户PIN码,成功通过USB Key认证;
步骤103',调用USBKey进行身份认证,调用私钥签名转账消息,并通 过网上银行认证,黑客或木马程序转账成功,用户蒙受损失。
现有的USB Key通过PIN码和USB硬件——软硬件相结合的认证模式, 很好地解决了安全性与易用性之间的矛盾;但是,网络黑客或者木马程序在 一种情况下是仍然可以访问并且盗用用户USBKey:黑客或木马程序截获用 户在PC客户端输入的PIN码,判断出USBKey插在电脑上,就可以在用户 不知道的情况下,用截获的PIN码调用USBKey,并用其中的私钥签署订单 或者进行网上交易,让不法分子有机可乘。
由此可见,现有解决技术存在的缺点是,黑客或木马程序通过入侵用户 的电脑,不用需要破解USBKey,而是通过截获用户的PIN码,在USB Key 插在电脑上时,将消息重发,偷用用户的私钥,从而造成用户损失。减少这 种可能的一个办法是在不用USBKey时候及时从电脑上取下来,但这种办法 并没有从根本解决上述问题。

发明内容
本发明实施例提供一种USB Key设备及其实现验证的方法,以解决现有 USB Key存在的安全隐患。
一种USBKey设备,包括卡操作系统COS,用于接收安全验证操作指 示,调用USB Key内的CPU和存储器执行认证操作,所述USB Key还包括 提示输入单元,用于提示输入USB Key的PIN码和针对当前操作的附加验证 码;
所述卡操作系统cos,用于在接收到所述安全验证操作指示时,触发提 示输入单元,接收并验证所述PIN码和附加验证码,在验证通过时,执行所 述安全验证操作指示所指示的安全验证操作。
其中,所述针对当前操作的附加验证码为动态口令;所述提示输入单元 包括
动态口令生成单元,用于接收到来自所述卡操作系统的触发通知后,生 成针对当前操作的动态口令,将所述动态口令传送给显示单元; 显示单元,用于将所述动态口令显示给用户。
其中,所述针对当前操作的附加验证码为生物特征识别码;所述提示输 入单元包括
生物特征识别码采集单元,用于接收来自所述卡操作系统的触发通知, 采集生物特征识别码,将所采集到的生物特征识别码传送给卡操作系统。 其中,所述生物特征识别码包括指紋、声音、手迹和/或虹膜。 一种应用USB Key实现-验^E的方法,包括
接收安全验证操作指示,提示输入USB Key的PIN码和针对当前操作的 附加验证码;
验证接收到的所述PIN码和附加验证码,若验证通过,则执行所述安全 验证操作指示所指示的安全验证操作。
其中,所述针对当前操作的附加验证码为动态口令;所述接收到安全验 证操作指示后,进一步包括生成针对当前操作的动态口令,并显示给用户;
所述验证接收到的所述PIN码和附加验证码的步骤包括先验证来自客 户端的所述PIN码是否准确,若准确,再验证来自客户端的所述附加-验证码
与USB Key收到安全验证操作指示后所生成的动态口令是否一致,若一致, 则验证通过;或者,
所述验证接收到的所述PIN码和附加验证码的步骤包括先验证来自客 户端的所述附加验证码与USB Key收到安全^r证梯:作指示后所生成的动态 口令是否一致,若一致,再验证来自客户端的所述PIN码是否准确,若准确, 若准确则—险证通过;或者,
所述验证接收到的所述PIN码和附加验证码的步骤包括验证来自客户 端的所述PIN码和所述附加验证码的组合,与已保存的PIN码和USB Key 收到安全验证操作指示后所生成的动态口令所形成的组合是否一致,若一致, 则-验证通过。
其中,所述针对当前操作的附加验证码为生物特征识别码; 所述验证接收到的所述PIN码和附加验证码的步骤包括先验证来自客 户端的所述PIN码是否准确,若准确,再验证通过USBKey接收到的生物特 征识别码与预先保存的生物特征识别码是否相同,若相同,则通过-睑证;或 者,
所述验证接收到的所述PIN码和附加验证码的步骤包括先验证通过 USB Key接收到的生物特征识别码与预先保存的生物特征识别码是否相同, 若相同,再验证来自客户端的所述PIN码是否准确,若准确,则验证通过; 或者,
所述验证接收到的所述PIN码和附加-验证码的步骤包括验证所述PIN 码和所述生物特征识别码,与已保存的PIN码和生物特征识别码所形成的组 合是否一致,若一致,则验证通过。
其中,所述生物特征识别码包括指紋、声音、手迹和/或虹膜。
其中,若验证未通过,则进一步包括
判断是否超过已设置的验证次数阈值,若超过,则结束本次操作,否贝'J, 再次接收所述PIN码和附加验证码,重新执行所述-险证操作。
其中,当所述附加验证码为动态口令时,所述再次接收到的动态口令与 前一次接收到的动态口令相同或不同。
由于本发明提供了 PIN码和附加验证码双重因子的USBKey保护策略,
确保用户在使用USB Key时,不会被木马程序或黑客在用户不知道的情况下 调用USBKey进行签名或身份认证。避免了重放攻击和冒充操作,保证了用 户的利益不受到威胁,创造了良好的互联网通信和交易环境,有效防止了在 交互操作存在漏洞。可见,本发明所提供的USBKey及其实行验证的方法与 传统技术相比具有更好的安全性,使用也方便、简单,而且仍然保持高效可 靠,具有明显的优势。


图l是现有的USBKey在正常使用时被盗用的示意图2是根据本发明实施例的USB Key的系统结构示意图3是根据本发明实施例的USB Key在正常使用时防止被攻击的示意
图4是根据本发明实施例的应用USB Key实现-睑证的处理流程图。
具体实施例方式
为使本发明的目的、技术方案和效果更加清楚,下面结合附图及具体实 施例对本发明再做详细说明。
本发明提供的USBKey设备包括卡操作系统(COS),用于接收安全 验证操作指示,调用USB Key内的CPU和存储器执行认证操作,所述USB Key 还包括提示输入单元,用于提示输入USBKey的PIN码和针对当前操:作的附 加验证码;所述卡操作系统,用于在接收到所述安全验证操作指示时,触发 提示输入单元,接收并验证所述PIN码和附加验证码,在验证通过时,执行 所述安全验证操作指示所指示的安全验证操作。
由于本发明提供了PIN码和附加验证码双重因子的USB Key保护策略,确 保用户在使用USB Key时,不会被木马程序或黑客在用户不知道的情况下调 用USB Key进行签名或身份认证。避免了传统USB Key存在的安全隐患,保 证了用户的利益不受到威胁,创造良好的互联网通信和交易环境,有效防止 在交互操作存在漏洞,解决了 USB Key在上述场景中使用遇到的问题。
图2所示为根据本发明实施例的USB Key的系统结构示意图。
该USB Key包括以下部分USB KEY CPU 201 、卡操作系统(COS )202、 存储卡203,以及提示输入单元204。
USB Key CPU 201 ,用于实现公钥基础设施(PKI)体系中使用的数据 摘要、数据加解密和签名的各种算法,加解密运算在USBKey内进行,保证 了密钥不会出现在计算机内存中,从而杜绝了用户密钥被黑客或木马程序截 取的可能性。
USBKey存储卡203,是安全数据存储空间,用于存储用户的私钥和数字 证书,对该存储空间的读写操作必须通过程序实现,用户无法直接读取,其 中用户私钥是不可导出的,杜绝了复制用户凄t字i正书或身^分信息的可能性。 该USB Key存储卡203可以是EEPROM或Flash。
以上两部分的功能和现有^t支术是相同的。
卡操作系统(COS) 202,控制USBKey和外界的通信,根据用户操作指 令调用USBKeyCPU执行安全验证操作如签名、加密、解密及身份认证操作 等,其关键是,当卡操作系统202在接收到所述安全验证操作指示时,触发提 示输入单元204,接收并验证所述PIN码和附加验证码,在验证通过时,执行 所述安全验证操作指示所指示的安全验证操作。
提示输入单元204,用于提示输入USB Key的PIN码和针对当前操作的附 力口验证码。
根据附加验证码的不同,提示输入单元204的结构也不尽相同。 如果附加—验证码为动态口令;则所述提示输入单元包括 动态口令生成单元,用于接收到来自所述卡操作系统的触发通知后,生 成针对当前操作的动态口令,将所述动态口令传送给显示单元;动态口令生 成单元可以运行专门的密码算法,在这里,并不限制产生动态口令的算法; 显示单元,用于将所述动态口令显示给用户。 如果附加验证码为生物特征识别码;则所述提示输入单元包括 生物特征识别码釆集单元,用于接收来自所述卡操作系统的触发通知, 采集生物特征识别码,将所采集到的生物特征识别码传送给卡才喿作系统。上 述生物特征识别码包括但不限于指紋、声音、手迹和/或虹膜。
这种情况下,存储卡中已经存储了用于比对的生物特征识别码。
本发明提供的应用USB Key实现验证的方法,包括USB Key接收安全 验证操作指示,提示输入USBKey的PIN码和针对当前操作的附加验证码;验 证接收到的所述PIN码和附加验证码,若验证通过,则执行所述安全验证操 作指示所指示的安全验证操作。由于本发明提供了 PIN码和附加验证码双重 因子的USB Key保护策略,确保用户在使用USB Key时,不会被木马程序或 黑客在用户不知道的情况下调用USB Key进行签名或身份认证。避免了传统 USB Key存在的安全隐患,保证了用户的利益不受到威胁,创造良好的互联 网通信和交易环境,有效防止在交互操作存在漏洞,解决了USBKey在上述 场景中使用遇到的问题。
为叙述方便,以下以附加验证码为动态口令为例,对本发明进行详细说明。
示意i。 J 、^、 、 一、 、
步骤301,用户需要通过客户端执行网上银行转账,网上银行要进行用户 身份认证;
步骤302,操作触发USB Key上显示动态口令a;
步骤3(B,客户端提示用户输入口令,用户输入PIN码和动态口令a;
步骤304,卡操作系统-睑证用户输入PIN码和动态口令a通过后,同意用 户操作,用户根据USBKey身份认证消息,通过认证,转账成功。
步骤301',黑客或木马程序监听用户键盘输入获得PIN码和动态口令a;
步骤302',冒用用户用截获的PIN码加动态口令a,访问USBKey进行身 份认证;
步骤303',新的操作访问触发动态口令密码生成芯片生成新的密码,此 时USB上显示动态口令b,卡才喿作系统比较黑客或木马程序输入的"PIN码十 动态口令a"和当前的"PIN码+动态口令b",马全证不通过,冒用不成功。
参见图4,其是根据本发明实施例的应用USB Key实现验证的处理流程图。
步骤401,用户启用USBKey。
步骤402,所述USBKey接收安全验证操作指示,如签名、加密、解密及
身份认证操作等指示。
步骤403,生成针对当前操作的动态口令,并显示给用户。
步骤404,接收用户通过客户端输入的PIN码和动态口令;
步骤405,对接收到的PIN码和动态口令进行验证,若通过验证,则执行
步骤406,否则,执行步骤407。
这里,具体的验证方式可以是以下几种方式之一,但并不限于此
a、 先验证来自客户端的所述PIN码是否准确,若准确,再验证来自客户 端的所述附加验证码与USB Key收到安全验证操作指示后所生成的动态口令 是否一致,若一致,则验^t通过;
b、 先验证来自客户端的所述附加验证码与USB Key收到安全验证操作指 示后所生成的动态口令是否一致,若一致,再验证来自客户端的所述PIN码 是否准确,若准确,若准确则验^t通过;
c、 验证来自客户端的所述PIN码和所述附加验证码的组合,与已保存的 PIN码和USB Key收到安全验证4喿作指示后所生成的动态口令所形成的组合 是否一致,若一致,则验证通过。
步骤406,执行所述安全验证操作指示所指示的安全验证操作,如签名、 加密、解密及身份认证操作等,结束。
步骤407,判断是否超过已设置的验证次数阈值,若超过,则结束本次操 作,否则,重新执行步骤404,即接收用户通过客户端重新输入的PIN码和动 态口令。可以理解,本实施例中用户通过客户端重新输入的动态口令和前一 次输入的动态口令相同。
需要说明的是,对于图4中的步骤407还存在一种可能的实现方案当未 超过已设置的验证次数阈值时,可重新执行步骤403,即USBKey重新生成针 对当前操作的动态口令,并显示给用户,此时,用户通过客户端重新输入的 动态口令和前一次输入的动态口令不相同。也就是说,每次验证所应用的动 态口令和前一次的动态口令都不同,从而更好的保护了 USB Key的安全。
步骤407是可选步骤,可避免由于用户误输入而导致的验证失败。
可见,本发明实施例中当外部(客户端或者木马程序)请求USB Key进 行签名或身份认证时,就会触发动态口令生成单元生成动态口令并显示在 USB显示屏上,同时客户端弹出对话框要求用户输入此时的动态口令,验证 成功后,才进行下一步的签名或认证操作,解除了重放攻击的安全隐患。当 一次安全验证操作后,下一次的动态口令将自动改变,这样即使木马程序或 黑客截取了上一次的验证消息(PIN码和上一次的动态口令),也是无法调 用USB Key的。
由于本发明实施例中引入的动态口令通过USB Key显示,用户使用时候 方便读取,易于输入,因而相对传统USBKey未给用户带来新的使用门槛。 特别是动态口令的随机性、动态性和唯一性,有效防止了黑客或木马程序对 用户USBKey的猜测攻击、字典式攻击和穷举法攻击。
再有一种可能的实现方式是,针对当前操作的附加验证码为生物特征识 别码,其处理流程与图4类似,不同之处在于
i、 由于是生物特征识别码,因而不需要上述步骤403;
ii、 在步骤404中是接收用户通过客户端输入的PIN码,以及通过USBKey 输入的生物特征识别码,验证接收到的所述PIN码和附加验证码的步骤可以 是以下几种方式之一,但并不限于此
先验证来自客户端的所述PIN码是否准确,若准确,再验证通过USB Key 接收到的生物特征识别码与预先保存的生物特征识别码是否相同,若相同, 则通过验证;或者,
先-险证通过USB Key接收到的生物特征识别码与预先保存的生物特征识 别码是否相同,若相同,再验证来自客户端的所述PIN码是否准确,若准确, 则—验证通过;或者,
一验证所述PIN码和所述生物特征识别码,与已保存的PIN码和生物特征识 别码所形成的组合是否一致,若一致,则验证通过。
同样的,上述生物特征识别码包括但不限于指紋、声音、手迹和/或虹膜。
本发明实施例中当外部(客户端或者木马程序)请求USB Key进行签名 或身份认证时,就会触发生物特征识别码采集单元采集生物特征识别码,验 证成功后,才进行下一步的签名或认证操作,解除了重放攻击的安全隐患。 当 一次安全验证操作后,下一次的操作同样需要用户通过USB Key输入生物 特征识别码,这样即使木马程序或黑客截取了上一次的验证消息,也是无法 调用USB Key的。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均 包含在本发明的保护范围内。
权利要求
1、一种USB Key设备,包括卡操作系统COS,用于接收安全验证操作指示,调用USB Key内的CPU和存储器执行认证操作,其特征在于,所述USB Key还包括提示输入单元,用于提示输入USB Key的PIN码和针对当前操作的附加验证码;所述卡操作系统COS,用于在接收到所述安全验证操作指示时,触发提示输入单元,接收并验证所述PIN码和附加验证码,在验证通过时,执行所述安全验证操作指示所指示的安全验证操作。
2、 根据权利要求1所述的USB Key,其特征在于,所述针对当前操作 的附加—验证码为动态口令;所述提示输入单元包括动态口令生成单元,用于接收到来自所述卡操作系统的触发通知后,生 成针对当前操作的动态口令,将所述动态口令传送给显示单元; 显示单元,用于将所述动态口令显示给用户。
3、 根据权利要求1所述的USB Key,其特征在于,所述针对当前操作 的附加—验证码为生物特征识别码;所述提示输入单元包括生物特征识别码采集单元,用于接收来自所述卡操作系统的触发通知, 采集生物特征识别码,将所采集到的生物特征识别码传送给卡操作系统。
4、 根据权利要求3所述的USB Key,其特征在于,所述生物特征识别 码包括指紋、声音、手迹和/或虹膜。
5、 一种应用USBKey实现验证的方法,其特征在于,包括 接收安全验证操作指示,提示输入USB Key的PIN码和针对当前操作的附加—验i正码;验证接收到的所述PIN码和附加验证码,若验证通过,则执行所述安全 验证操作指示所指示的安全验证操作。
6、 根据权利要求5所述的方法,其特征在于,所述针对当前操作的附加 验证码为动态口令;所述接收到安全验证操作指示后,进一步包括生成针 对当前操作的动态口令,并显示给用户;所述验证接收到的所述PIN码和附加验证码的步骤包括先验证来自客 户端的所述PIN码是否准确,若准确,再验证来自客户端的所述附加验证码与USB Key收到安全验证操作指示后所生成的动态口令是否一致,若一致, 则验证通过;或者,所述验证接收到的所述PIN码和附加验证码的步骤包括先验证来自客 户端的所述附加验证码与USB Key收到安全验证操作指示后所生成的动态 口令是否一致,若一致,再验证来自客户端的所述PIN码是否准确,若准确, 若准确则验证通过;或者,所述验证接收到的所述PIN码和附加验证码的步骤包括验证来自客户 端的所述PIN码和所述附加验证码的组合,与已保存的PIN码和USB Key 收到安全验证操作指示后所生成的动态口令所形成的组合是否一致,若一致, 则验证通过。
7、 根据权利要求5所述的方法,其特征在于,所述针对当前操作的附加 - 险证码为生物特征识别码;所述〗b正接收到的所述PIN码和附加验证码的步骤包括先验证来自客户 端的所述PIN码是否准确,若准确,再验证通过USB Key接收到的生物特征 识别码与预先保存的生物特征识别码是否相同,若相同,则通过验证;或者,所述验证接收到的所述PIN码和附加验证码的步骤包括先验证通过 USB Key接收到的生物特征识别码与预先保存的生物特征识别码是否相同, 若相同,再验证来自客户端的所述PIN码是否准确,若准确,则验证通过;或者,所述验证接收到的所述PIN码和附加验证码的步骤包括验证所述PIN 码和所述生物特征识别码,与已保存的PIN码和生物特征识别码所形成的组 合是否一致,若一致,则-验证通过。
8、 才艮据权利要求7所述的方法,其特征在于,所述生物特征识别码包括 指紋、声音、手迹和/或虹膜。
9、 根据权利要求5所述的方法,其特征在于,若验证未通过,则进一步 包括判断是否超过已设置的验证次数阈值,若超过,则结束本次操作,否贝'J, 再次接收所述PIN码和附加3全证码,重新执行所述-验证纟喿作。
10、根据权利要求9所述的方法,其特征在于,当所述附加验证码为动 态口令时,所述再次接收到的动态口令与前一次接收到的动态口令相同或不同。
全文摘要
本发明公开了一种USB Key设备及其实现验证的方法,所述USB Key设备包括卡操作系统,用于接收安全验证操作指示,调用USB Key内的CPU和存储器执行认证操作,所述USB Key还包括提示输入单元,用于提示输入USB Key的PIN码和针对当前操作的附加验证码;所述卡操作系统,用于在接收到所述安全验证操作指示时,触发提示输入单元,接收并验证所述PIN码和附加验证码,在验证通过时,执行所述安全验证操作指示所指示的安全验证操作。本发明所提供的USB Key及其实行验证的方法与传统技术相比具有更好的安全性,使用也方便、简单,而且仍然保持高效可靠,具有明显的优势。
文档编号G06K19/067GK101350723SQ20081011536
公开日2009年1月21日 申请日期2008年6月20日 优先权日2008年6月20日
发明者刘海龙, 张海松, 鄂海红 申请人:北京天威诚信电子商务服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1