专利名称:智能密钥装置及提高网上交易和认证安全性的系统及方法
技术领域:
本发明涉及信息安全领域,特别涉及智能密钥装置以及用于增强互联网上交易、 网上认证系统中智能密钥装置安全性的方法和系统。
背景技术:
互联网网上交易系统和网上认证系统的使用越来越普遍,由于开放式互联网存在诸多不安全因素,使用智能钥匙系统增强网上交易、网上认证系统安全性成为一个普遍的技术路径。智能密钥装置,通常又称为USB Key,是一种基于USB接口的小型硬件设备,设备内置CPU、存储器、芯片操作系统(COS),可以存储用户密钥或者数字证书,并内置相应的密码算法。在使用过程中,利用智能密钥装置内的密码算法实现对用户身份的认证,或者对网上交易数据进行签名等密码操作过程。智能密钥装置中的CPU、存储器、芯片操作系统通常集成为一个安全COS芯片,具备硬件不可复制性等安全特性,保证了密钥系统中密钥、数字证书和密码算法的安全性,从而进一步保证用户认证、交易的安全性。然而目前的智能密钥装置基本上采用PIN码作为授权保护措施,无法抵御重放攻击、网络木马等攻击方式。要提高安全性,最普遍的方法是除PIN码外采用指纹、显示、短信等多因子认证方式。中国专利200810115364. 9采用了在智能密钥装置上显示动态口令的方式,中国专利20081000M15. 7则采用了短信验证的方式, 中国专利200710043441. X提供了采用指纹的方式。所有这些多因子认证方式在不同程度上提高了智能密钥装置抵抗重放攻击和网络木马攻击等攻击方式的能力。但同时由于其采用了多因子的认证方式,需要得到系统侧的支持(短信),或者在智能密钥装置上增加指纹模块或者显示模块等额外的硬件系统,导致系统成本大幅度提升,影响了此类方案的推广。
发明内容
本发明提供一种智能密钥装置解决现有技术为了提高智能密钥装置抵抗重放攻击和网络木马攻击等攻击方式能力而增加硬件系统,导致的系统成本增加的问题。本发明解决上述技术问题的技术方案如下一种智能密钥装置,该装置包括 验证码算法生成单元;
验证码验证单元;和验证码算法管理单元; 其中
所述验证码算法管理单元存储至少一个验证码算法,并通知所述验证码算法生成单元当前的验证码算法;
所述验证码算法生成单元根据当前的验证码算法生成验证码; 所述验证码验证单元判断验证码是否正确。
在上述技术方案的基础上,本发明还可以做如下限定 进一步,该装置还包括
通信处理单元;和命令处理单元, 其中
所述通信处理单元为所述智能密钥装置提供接口通信功能; 所述命令处理单元进行芯片操作系统命令处理。进一步,其中
通信处理单元与命令处理单元、验证码验证单元和验证码算法管理单元连接; 命令处理单元还与验证码验证单元和验证码算法生成单元连接; 验证码算法生成单元与验证码验证单元和验证码算法管理单元连接。进一步,其中所述验证码算法生成单元包括 第一原码生成单元;
验证码原码拼接单元; 验证码算法选择单元; 第一原码输入单元; 验证码生成输入单元;和验证码生成单元。进一步,其中
所述原码生成单元用于生成验证码原码并发送给所述验证码原码拼接单元; 所述验证码原码拼接单元用于将从原码生成单元接收到的验证码原码拼接成完整的验证码原码,并将所述完整的验证码原码分别发送给所述验证码验证单元和所述验证码生成输入单元;
所述第一原码输入单元用于接收原码,并传送给所述验证码生成输入单元; 所述验证码生成输入单元用于将从所述验证码原码拼接单元接收的完整的验证码原码和从所述第一原码输入单元接收的原码进行组合,并发送给所述验证码生成单元;
所述验证码算法选择单元用于根据验证码算法管理单元发送来的指示选择验证码算法,并将选择结果发送给所述验证码算法管理单元;
所述验证码生成单元用于接收验证码生成输入单元输出的组合的结果,根据验证码算法选择单元的指示选择验证码算法,生成最终发送到用户端的验证码原码。进一步,其中所述原码生成单元生成的原码为随机原码,第一原码输入单元接收的原码为非随机原码。进一步,其中
所述第一原码输入单元与所述命令处理单元和所述验证码生成输入单元连接; 所述验证码原码拼接单元与所述验证码验证单元、第一原码生成单元以及验证码生成输入单元连接;
所述验证码算法选择单元与所述验证码算法管理单元和验证码生成单元连接; 所述验证码生成单元还与通信处理单元连接。进一步,其中所述验证码验证单元包括 验证码输入单元; 验证码对比单元; 第二原码输入单元。进一步,其中
所述验证码输入单元用于接收用户输入的验证码并将其发送给验证码对比单元; 所述第二原码输入单元用于接收验证码算法生成单元发送的验证码原码,并对所述验证码原码进行存储和拼接,并发送给验证码对比单元;
所述验证码对比单元用于接收验证码输入单元发送的验证码和第二原码输入单元发送的验证码原码,对其进行对比,并输出对比结果给命令处理单元。进一步,其中
验证码输入单元和验证码对比单元与所述通信处理单元连接; 所述第二原码输入单元与验证码算法生成单元连接, 所述验证码对比单元与所述原码输入单元和验证码输入单元连接, 所述验证码输入单元和所述验证码对比单元还与所述命令处理单元连接。进一步,其中
所述验证码算法管理单元包括 算法存储单元; 算法选择单元; 算法下载单元;和管理单元。进一步,其中
所述管理单元用于算法类型选择和算法下载,通知验证码算法生成单元生成验证码, 进行验证码校验,并根据验证码验证单元的校验结果,判断是否允许算法类型选择和算法下载,所述管理单元还用于控制算法选择单元与算法下载单元;
所述算法存储单元用于存储验证码算法,并通知所述验证码算法生成单元根据当前算法类型选择生成相应验证码;
所述算法下载单元用于在所述管理单元的控制下,通过所述通信处理单元进行验证码算法下载,并将所下载的验证码算法存储在算法存储单元;
所述算法选择单元用于在所述管理单元的控制下,通过所述通信处理单元接收用户输入的算法类型,并通知所述算法存储单元,通过所述算法存储单元通知所述验证码算法生成单元生成验证码实例并将所述验证码实例发回给算法选择单元,并将所述验证码实例通过所述通信处理单元发给用户。进一步,其中,
所述算法存储单元和管理单元与所述验证码算法生成单元连接; 所述管理单元与所述验证码验证单元、算法选择单元、算法下载单元连接; 所述算法下载单元与所述通信处理单元、算法存储单元连接; 所述算法选择单元与所述通信处理单元和算法存储单元连接。进一步,其中所述智能密钥装置还包括与通信处理单元连接的PC通信模块和非PC通信模块。进一步,其中
所述PC通信模块为USB接口, 非PC通信模块为显示模块和/或发生通信模块。进一步,其中所述验证码是非文本属性的非文字验证码。本发明还提供了一种提高网上交易和认证安全性的系统,该系统包括 验证码服务器;
与所述验证码服务器连接的验证码用户界面模块;和如上任一所述,且与所述验证码用户界面连接的智能密钥装置。在上述技术方案的基础上,本发明还可以做如下限定 进一步,其中所述验证码服务器包括
服务器算法存储单元; 服务器网络通信处理单元;和服务器算法管理单元组成, 其中
服务器算法存储单元分别与服务器网络通信处理单元和服务器算法管理单元连接,且服务器网络通信处理单元和服务器算法管理单元以及所述验证码用户界面模块连接。进一步,其中所述验证码用户界面模块包括 用户界面网络通信处理单元;
用户界面本地通信处理单元; 用户界面管理单元; 管理单元输入输出界面; 验证码显示界面;和用户验证码输入界面, 其中
用户界面网络通信处理单元与所述服务器网络通信处理单元、用户界面本地通信处理单元和用户界面管理单元连接;
用户界面本地通信处理单元还分别与所述智能密钥验装置、验证码显示界面、用户验证码输入界面、用户界面管理单元连接;
用户界面管理单元还与管理单元输入输出界面连接。进一步,其中所述用户界面本地通信处理单元与所述智能密钥装置的通信处理单元连接。本发明还提供了一种用于前述的智能密钥装置的验证方法,包括
(A)所述智能密钥装置接收用户命令;
(B)启动验证码算法生成单元,生成验证码,将验证码和验证码原码一块发送给验证码验证单元;
(C)验证码验证单元发送验证码到用户端,等待用户识别,并返回识别结果;
(D)验证码验证单元判断用户是否返回验证码,如果收到,则进入下一步验证码校验过程;如果还未收到,则判断是否超时;当有超时情况发生时,结束命令处理流程;(E)验证码验证单元收到验证码时,将其和验证码原码进行比对;
(F)对比较结果不正确时,直接结束命令处理流程。进一步,该方法还包括
在步骤(A)后,在命令不需要校验的情况下,走正常的命令处理流程,一直到结束。进一步,其中
所述生成验证码为随机生成验证码。进一步,其中
所述生成验证码为随机生成验证码。进一步,其中
步骤(B)在命令需要校验的情况下进行。进一步,其中
步骤(F)中当比对结果正确时,进入正常的命令处理流程。进一步,其中
步骤(B)在命令为更换验证码算法类型命令的情况下进行;
步骤(F)中当比对结果正确时,进入后续验证码算法选择过程,验证码管理单元发送所存储的备选验证码实例到用户端,并等待用户选择结果;如果收到验证码算法新类型,则更换缺省的验证码算法类型;当没有收到新类型时,则将结束命令处理流程, 所述验证方法为一种验证码算法类型选择方法。进一步,其中
步骤(B)在命令为更换验证码算法类型命令的情况下进行;
步骤(F)中当比对结果正确时,进入后续验证码算法更换过程,验证码管理单元等待用户发送新的验证码算法;如果收到新的验证码算法,对验证码算法进行权限验证;如果权限验证通过,则添加新的验证码算法;不通过,则结束命令处理流程, 所述验证方法为一种验证码算法更新方法。进一步,其中
步骤(B)在命令需要校验,但不需要进行交易内容确认的情况下进行;如果命令需要校验,而且需要进行交易内容确认时,则启动验证码算法生成单元,提取交易内容,生成特别验证码原码,并根据所选择的验证码生成算法将交易内容和特别验证码合并生成统一的验证码;
所述验证方法为一种交易内容确认方法。进一步,还包括
验证码验证单元收到特别验证码时,将其和特别验证码原码进行比对; 当比对结果正确时,进入正常的交易命令处理流程;对比较结果不正确时,直接结束交易命令处理流程。进一步,其中
步骤(B)在命令需要校验的情况下进行,还包括 随机生成至少两个验证码原码,并拼接成验证码原码; 根据至少两个验证码原码分别生成相应的至少两个验证码; 将所述验证码、验证码原码一块发送给验证码验证单元;验证码验证单元通过P C通信接口发送其中一个验证码到用户端,通过非P C通信接口发送另外一个验证码到用户端,等待用户识别;
用户从P C通信接口接收到验证码,自行拼接成完整验证码,并通过P C通信接口返回验证码,
所述验证方法为一种非P C通信模块验证方法。进一步,所述验证码是非文本属性的非文字验证码。本发明的有益效果是在智能密钥装置中增加了验证码算法生成单元,验证码验证单元和验证码算法管理单元,可以在验证码校验流程的任意一条命令处理前进行验证码校验,因此,在提高了智能密钥装置抵抗重放攻击和网络木马攻击等攻击方式能力的同时, 无需在智能密钥装置上增加昂贵的指纹模块或者显示模块等硬件,也无需改造系统侧,使用方便,简单,成本低廉。
图1为本发明提供的一种智能密钥装置结构框图; 图2为图1中验证码算法生成单元3结构框图3为图1中验证码验证单元4结构框图4为图1中验证码算法管理单元5结构框图5为本发明提供的一种提高网上交易和认证安全的系统的结构框图6为本发明提供的一种验证码校验方法的流程图7为本发明提供的一种验证码算法类型选择方法的流程图8为本发明提供的一种验证码算法更新方法的流程图9为本发明提供的一种交易内容确认方法的流程图10为本发明提供的一种非P C通信模块验证方法的流程图11为本发明提供的一种图片验证码生成和校验流程图12为本发明提供的一种图片验证码示意图。附图中,各标号所代表的部件列表如下
1、通信处理单元,
2、命令处理单元,
3、验证码算法生成单元,
301、原码生成单元,302、验证码原码拼接单元,303、第一原码输入单元,304、验证码生成输入单元,305、验证码生成单元,306、验证码算法选择单元,
4、验证码验证单元,
401、验证码输入单元,402、验证码对比单元,403、第二原码输入单元,
5、验证码算法管理单元,
501、算法存储单元,502、算法选择单元,503、算法下载单元,504、管理单元,
A、验证码服务器,
Al、服务器算法存储单元,A2、服务器网络通信处理单元,A3、服务器算法管理单元,
B、验证码用户界面模块,
Bi、用户界面网络通信处理单元,B2、用户界面本地通信处理单元,B3、用户界面管理单元,B4、管理单元输入输出界面,B5、验证码显示界面,B6、用户验证码输入界面 C、智能密钥装置。
具体实施例方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。为使本发明的目的、技术方案和效果更加清楚,下面结合附图及具体实例对本发明做详细说明。图1是本发明智能密钥装置的结构框图。如图1所示,智能密钥装置包含通信处理单元1、命令处理单元2、验证码算法生成单元3、验证码验证单元4和验证码算法管理单元5五个部分。通信处理单元1完成智能密钥装置C的接口通信功能,命令处理单元2用于完成常规的COS (卡片操作系统)命令处理。验证码算法生成单元3根据验证码算法管理单元5的指示(如果存在多种算法选择的话),选择当前使用的验证码算法,随机生成验证码原码,其中验证码可以是非文字的验证码。非文字验证码是非文本(字母、数字、文字等) 属性,非文字验证码的具体生成算法本身不属于本发明内容,在专利CN200710161038. 7、 CN200710161039. 1等中都有所描述。验证码验证单元4可以比对贮存在智能密钥装置C内的验证码原码和用户输入的验证码,并判断正确与否。验证码算法管理单元5用于存储验证码算法、并通知验证码算法生成单元3当前的验证码算法。上述智能密钥装置C中,所述通信处理单元1分别与命令处理单元2、验证码验证单元4和验证码算法管理单元5之间进行双向数据交互。所述命令处理单元2和所述验证码验证单元4连接并进行双向通信,所述命令处理单元2和验证码算法生成单元3连接,并向所述验证码算法生成单元3发送命令其生成验证码原码的信息。所述验证码算法生成单元3还分别与验证码验证单元4和验证码算法管理单元5连接。所述验证码算法生成单元3向所述验证码验证单元4发送其所生成的验证码原码。所述验证码算法生成单元3与所述验证码算法管理单元5之间进行双向数据交互。上述智能密钥装置C,结合验证码算法生成单元3和验证码验证单元4,可以在任意一条命令处理前,进行验证码校验过程,以确认当前命令处理的合法性。如图2所示,验证码算法生成单元3包括原码生成单元301、验证码原码拼接单元302、第一原码输入单元303、验证码生成输入单元304、验证码生成单元305和验证码算法选择单元306。其中,第一原码输入单元303与命令处理单元2和验证码生成输入单元304连接。 验证码原码拼接单元302与验证码验证单元4、原码生成单元301以及验证码生成输入单元304连接。验证码算法选择单元306与验证码算法管理单元5和验证码生成单元305连接。验证码生成单元305还与通信处理单元1连接。原码生成单元301 其可以随机生成验证码原码并发送给验证码原码拼接单元 302,验证码原码可以是数字、字母或者各种文字以及文字的编码,且随机原码可以生成多次。验证码原码拼接单元302 当原码生成单元301多次生成原码时,原码通过验证码原码拼接单元302拼接成完整的验证码原码。验证码原码拼接单元302可以将验证码原码通知验证码验证单元4,将验证码原码发送给验证码生成输入单元304。第一原码输入单元303 当需要输入非随机生成原码时,比如交易内容或者其他信息,则通过第一原码输入单元303从外界比如命令处理单元2进行信息输入,并传送给验证码生成输入单元304。验证码生成输入单元304 将从验证码原码拼接单元302接收的随机生成的验证码原码和从第一原码输入单元303接收的非随机生成的原码在验证码生成输入单元304组合成整体,并发送给验证码生成单元305。验证码算法选择单元306 其根据验证码算法管理单元5的指示选择验证码生成单元305所选用的验证码算法,同时可以将选择结果通知验证码算法管理单元5,在需要的情况下,验证码算法选择单元306还可以指示验证码生成单元305随机生成验证码,然后将其发回验证码算法管理单元5。验证码生成单元305 其能接收验证码生成输入单元304组合成的整体结果,根据验证码算法选择单元306的指示选择验证码算法,生成最终发送到用户端的非文字形式的验证码原码,并通过通信处理单元1发送到用户端。如图3所示,验证码验证单元4由如下功能单元组成第二原码输入单元403、验证码输入单元401、验证码对比单元402。其中,验证码输入单元401和验证码对比单元402 与通信处理单元1连接,验证码对比单元402与第二原码输入单元403和验证码输入单元 401连接,且验证码输入单元401和验证码对比单元402还与命令处理单元2连接,第二原码输入单元403还与验证码算法生成单元3连接。第二原码输入单元403 其接收验证码算法生成单元3输入的验证码原码,并发送给验证码对比单元402。根据需要在需要输入多个验证码原码时,其还进行相应的存储和拼接工作。验证码输入单元401 其通过通信处理单元1,接收用户输入的验证码。验证码输入单元401根据需要,可以通过超时等机制确定最大等待时间,并在超时情况发生时,通知用户和命令处理单元2进行处理。验证码对比单元402 其接收验证码输入单元401发送的验证码和第二原码输入单元403发送的验证码原码,对其进行对比,并输出对比结果,通知命令处理单元2和用户进行后续处理。如图4所示,验证码算法管理单元5存储至少一个验证码算法,并通知验证码算法生成单元3当前的验证码算法。验证码算法管理单元5包括算法存储单元501、算法选择单元502、管理单元504、算法下载单元503。其中,算法存储单元501和管理单元504与算法生成单元3连接。管理单元504与验证码验证单元4、算法选择单元502、算法下载单元 503连接。算法下载单元503与通信处理单元1、算法存储单元501连接。算法选择单元 502与通信处理单元1和算法存储单元501连接。管理单元504 其起到算法类型选择和算法下载管理功能,在需要的情况下可以通知验证码算法生成单元3生成随机验证码,进行验证码校验过程,并且根据验证码验证单元4的校验结果,判断是否允许算法类型选择和算法下载。算法选择单元502 其在管理单元504允许的情况下,通过通信处理单元1接收用户输入的算法类型,并通知算法存储单元501。算法选择单元502可以轮询所有的算法类型,通过算法存储单元501,通知验证码算法生成单元3生成所有的验证码实例,发回给算法选择单元502,通过通信处理单元1发给用户。非文字验证码可以是图片验证码,图片验证码是由RGB (R代表红色,G代表绿色,B 代表蓝色)像素点拼成的图片,在图片中包含肉眼可以识别的验证码字符(阿拉伯数字、大小写英文字母、中文文字),所述的验证码字符是由RGB像素点描绘成的,人用肉眼识别图形验证码中的验证码字符。可以对图片验证码进行多种处理,得到不同样式的图片验证码,例如验证码字符可以采用阿拉伯数字、大写英文字母、小写英文字母、中文大写阿拉伯数字(壹、贰、叁)、中文文字;图片验证码中可以包含背景图、噪点、干扰图;每个验证码字符的颜色随机,同一个验证码字符由多种颜色描绘而成;每个验证码字符在图片验证码中的位置随机,每个验证码字符的字体随机;验证码字符采用3D样式、验证码字符粘连在一起;验证码字符可以旋转、扭曲、缩放、进行拖影处理、进行波纹扩散处理;图片验证码的内容可以采用思维转换方式(例如1+1= )、问题方式(例如长城在哪里?)。选择这些处理方式中的一种或多种, 可以自由组合出不同样式的图片验证码,每一种组合方法对应于一种图片验证码生成算法,可以将图片验证码生成算法存储在算法存储单元501。当用户需要生成包含随机阿拉伯数字和随机小写英文字母的图片验证码时,用户通过管理单元504获取算法类型选择的权限,获取权限后,用户通过算法选择单元502选择用户需要的图片验证码生成算法,验证码算法管理单元501将选中的图片验证码生成算法通过通信处理单元1发送到验证码算法选择单元306。原码生成单元301随机生成字符(阿拉伯数字、小写英文字母)并发送给验证码原码拼接单元302,验证码原码拼接单元302将多次生成的字符拼接成字符串。验证码原码拼接单元302将字符串输入第二原码输入单元403,第二原码输入单元403将字符串发送给验证码对比单元402,以便后续和用户输入的字符串作比对。验证码原码拼接单元302同时将字符串发送给验证码生成输入单元304,验证码生成输入单元304将字符串发送给验证码生成单元305,验证码生成单元305根据验证码算法选择单元306的指示选择图形验证码生成算法,生成最终发送到用户端的图片验证码, 并通过通信处理单元1发送到用户端。用户看到图片验证码后,识别图片验证码中的字符串,并将识别的字符串通过通信处理单元1输入验证码输入单元401,验证码输入单元401将用户输入的字符串发给验证码对比单元402,与第二原码输入单元403输入的字符串做对比,并输出对比结果,通知命令处理单元2和用户进行后续处理,图片验证码的生成和校验流程如图11所示。图12为利用所述图片验证码生成算法生成的一张图片验证码,该图片验证码由 RGB像素描绘而成,图片中的验证码字符为“983A052K714C110Y”,验证码字符由阿拉伯数字“983052714110”和大写英文字母“AKCY”组成,每个字符在图片中的位置随机,图片中包含干扰线。算法存储单元501 其用于存储各种验证码算法,并且在需要的情况下,通知所述验证码算法生成单元3根据当前算法类型选择生成相应验证码。算法下载单元503 其在管理单元504允许的情况下,进行算法下载管理。算法下载单元503可以通过通信处理单元1下载新的验证码算法,并存储在算法存储单元501内。为防止误下载或者恶意算法,下载单元可以采用常见的算法完整性校验进行算法合法校验。各种公知的算法合法校验方式都可以采取。如图5所示,该系统包括验证码服务器A、验证码用户界面模块B、智能密钥装置。 其中,验证码用户界面分别于智能密钥装置和验证码服务器A连接。验证码服务器A包括服务器算法存储单元Al、服务器网络通信处理单元A2、服务器算法管理单元A3。其中,服务器算法存储单元Al分别与服务器网络通信处理单元A2和服务器算法管理单元A3连接,且服务器网络通信处理单元A2和服务器算法管理单元A3以及所述验证码用户界面模块B连接。服务器算法存储单元Al可以存储多个验证码算法。服务器算法管理单元A3可以根据和用户界面模块和智能密钥装置C交互的信息进行算法下载的管理。为防止误下载或者恶意算法,验证码算法可以采用常见的算法完整性校验进行算法合法校验。各种公知的算法合法校验方式都可以采取。验证码用户界面模块B包括用户界面网络通信处理单元Bi、用户界面本地通信处理单元B2、用户界面管理单元B3、管理单元输入输出界面B4、验证码显示界面B5和用户验证码输入界面B6。其中,用户界面网络通信处理单元Bl与服务器网络通信处理单元A2、用户界面本地通信处理单元B2和用户界面管理单元B3连接。用户界面本地通信处理单元B2 还分别与智能密钥装置C中的密钥系统通信处理单元1、验证码显示界面B5、用户验证码输入界面B6、用户界面管理单元B3连接。用户界面管理单元B3还与管理单元输入输出界面 B4连接。用户界面网络通信处理单元Bl负责和验证码服务器A进行通信,用户界面本地通信处理单元B2负责和智能密钥装置C进行通信。验证码服务器A可以通过用户界面网络通信处理单元Bl和用户界面本地通信处理单元B2和智能密钥装置C进行通信。用户界面管理单元B3通过管理单元输入输出界面B4和用户进行交互。验证码显示界面B5从用户界面本地通信处理单元B2接收智能密钥装置C发送过来的验证码,显示在用户终端上。用户对验证码识别的结果,可以通过用户验证码输入界面B6输入,并通过用户界面本地通信处理单元B2发送到智能密钥装置C中去进行验证。基于上述智能密钥装置,本发明提供了一种验证码校验方法,其具体的验证码校验流程如图6所示
智能密钥装置C接收用户命令;
如果命令需要校验,则启动验证码算法生成单元3,由验证码算法生成单元3随机生成验证码原码,将所述验证码原码发送给验证码验证单元4 ;
验证码验证单元4发送所述验证码原码到用户端,等待用户识别,并接收用户返回的识别结果;
验证码验证单元4判断用户是否返回识别结果,如果收到,则进入下一步验证码校验过程;如果还未收到,则判断是否超时;当有超时情况发生时,结束命令处理流程; 验证码验证单元4收到用户返回的识别结果时,将其和验证码原码进行比对; 根据对比的结果,决定进入正常的芯片操作系统命令处理流程,或者直接结束命令处
理流程。当结合此流程和智能密钥系统中常用的PIN码输入过程时,意味着用户在输入PIN码时,需要同时输入屏幕上显示的随机验证码,当两者同时正确时,用户PIN码才有效。当结合此流程和智能密钥系统中常用的交易确认环节时,意味这用户在交易确认时,可以收到智能密钥系统通过非文字验证码发回来的交易信息,并对此信息进行确认。从而防止交易被木马欺骗的情况。为防止木马采取OCR等技术,对图片等非文字验证码进行OCR自动识别,从而欺骗验证码验证单元4的验证行为,智能密钥装置可以保存多个验证码生成算法供用户选择, 也可以更新新的验证码生成算法,以提高系统安全性。本发明提供了一种验证码算法类型选择方法和验证码算法更新方法 具体的验证码算法选择流程如图7所示
智能密钥装置C接收用户命令;
如果命令为更换验证码算法类型命令,则启动验证码算法生成单元3,由验证码算法生成单元3随机生成验证码原码,将所述验证码原码发送给验证码验证单元4 ;
验证码验证单元4发送所述验证码原码到用户端,等待用户识别,并接收用户返回的识别结果;
验证码验证单元4判断用户是否返回识别结果,如果收到,则进入下一步验证码校验过程;如果还未收到,则判断是否超时;当有超时情况发生时,结束命令处理流程; 验证码验证单元4收到用户返回的识别结果时,将其和验证码原码进行比对; 若对比结果不正确,则直接结束命令处理流程;
若比对结果正确,则验证码管理单元504发送所存储的备选验证码实例到用户端,并等待接收用户的选择结果;
若收到用户的选择结果,则根据用户的选择结果更换缺省的验证码算法类型;若没有收到用户的选择结果,则结束命令处理流程。选择更新新的验证码生成算法时,具体的验证码算法更新流程如图8所示 智能密钥装置接收用户命令。在命令不属于更换验证码算法类型命令的情况下,走正常的芯片操作系统命令处理流程,一直到结束。如果命令为更换验证码算法类型命令,则启动验证码算法生成单元3,随机生成非文字验证码,将非文字验证码和验证码原码一块发送给验证码验证单元4。验证码验证单元4发送非文字验证码到用户端,等待用户识别,并返回识别结果。验证码验证单元4判断用户是否返回验证码,如果收到,则进入下一步验证码校验过程。如果还没收到,则判断是否超时。当有超时情况发生时,结束命令处理流程。验证码验证单元4收到验证码时,将其和验证码原码进行比对。对比较结果不正确时,直接结束命令处理流程。比对结果正确时,进入后续验证码算法更换过程。验证码管理单元504等待用户发送新的验证码算法。收到新的验证码算法,对验证码算法进行权限验证。权限验证通过,则添加新的验证码算法。不通过,则结束命令处理流程。当采用特别的验证码,比如在验证码中增加交易内容的描述时,本发明不仅可以增强命令授权的安全性,防止误授权,还可以对交易内容进行确认,防止伪造交易等攻击行为。以常用的网银交易为例,验证码中可以包括网银交易信息,比如银行帐号、金额和特别验证码,发送到P C侧用户端,用户收到验证码,通过视觉或者听觉等人为判断方法,确认交易信息有效,同时提取验证码中特别验证码,发送特别验证码回验证码验证单元4进行校验。当校验成功后,允许当前交易正常进行,否则取消当前交易。具体的流程参考交易内容确认方法流程如图9所示 智能密钥装置接收用户命令。在命令不需要校验的情况下,走正常的芯片操作系统命令处理流程,一直到结束。如果命令需要校验,但不需要进行交易内容确认时,则启动验证码算法生成单元 3,随机生成非文字验证码原码,将非文字验证码原码发送给验证码验证单元4 ;验证码验证单元4发送验证码原码到用户端,等待用户识别,并接收用户返回的识别结果;验证码验证单元4判断用户是否返回识别结果,如果收到,则进入下一步验证码校验过程;如果还未收到,则判断是否超时;当有超时情况发生时,结束命令处理流程;验证码验证单元4收到用户返回的识别结果时,将其和验证码原码进行比对;若比对结果正确,则进入正常的芯片操作系统命令处理流程;若比对结果不正确,则直接结束命令处理流程。如果命令需要校验,而且需要进行交易内容确认时,则启动验证码算法生成单元 3,提取交易内容,随机生成特别验证码原码,并根据所选择的验证码生成算法将交易内容和特别验证码原码合并生成统一的非文字验证码。同时将非文字验证码和特别验证码原码一块发送给验证码验证单元4。验证码验证单元4发送非文字验证码到用户端,等待用户识别,并返回识别结果。验证码验证单元4判断用户是否返回特别验证码,如果收到,则进入下一步验证码校验过程。如果还没收到,则判断是否超时。当有超时情况发生时,结束命令处理流程。验证码验证单元4收到特别验证码时,将其和特别验证码原码进行比对。当比对结果正确时,进入正常的交易命令处理流程。对比较结果不正确时,直接结束交易命令处理流程。当智能密钥装置除通过和P C端直接相连的通信模块(通常是USB接口)外,还具备有限的显示、发声等其他通信模块时,可以通过这些非PC通信模块进行验证码的部分或者全部发送,用户通过非P C通信模块收到这些信息,结合P C端收到的验证码信息,拼接成完整的验证码信息,通过P C端通信模块送回到智能密钥装置进行验证码校验。非P C通信模块验证方法的具体流程如图10所示 智能密钥装置接收用户命令。在命令不需要校验的情况下,走正常的芯片操作系统命令处理流程,一直到结束。如果命令需要校验,则启动验证码算法生成单元3。随机生成验证码原码1和验证码原码2,并拼接成验证码原码。根据验证码原码1并生成相应的非文字验证码1。根据验证码原码2生成相应的验证码2。将非文字验证码1、验证码2、验证码原码一块发送给验证码验证单元4。验证码验证单元4通过P C通信接口发送非文字验证码1到用户端,通过非P C 通信接口发送验证码2到用户端,等待用户识别。用户从P C通信接口接收到非文字验证码1,从非P C通信接口接收到验证码2,并自行拼接成完整验证码,并通过P C通信接口返回验证码。验证码验证单元4判断用户是否返回验证码,如果收到,则进入下一步验证码校验过程。如果还没收到,则判断是否超时。当有超时情况发生时,结束命令处理流程。验证码验证单元4收到验证码时,将其和验证码原码进行比对。当比对结果正确时,进入正常的芯片操作系统命令处理流程。对比较结果不正确时,直接结束命令处理流程。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种智能密钥装置,其特征在于,包括 验证码算法生成单元;验证码验证单元;和验证码算法管理单元; 其中所述验证码算法管理单元存储至少一个验证码算法,并通知所述验证码算法生成单元当前的验证码算法;所述验证码算法生成单元根据当前的验证码算法生成验证码; 所述验证码验证单元判断验证码是否正确。
2.根据权利要求1所述的智能密钥装置,其特征在于,还包括 通信处理单元;和命令处理单元, 其中所述通信处理单元为所述智能密钥装置提供接口通信功能; 所述命令处理单元进行芯片操作系统命令处理。
3.根据权利要求2所述的智能密钥装置,其特征在于,其中通信处理单元与命令处理单元、验证码验证单元和验证码算法管理单元连接; 命令处理单元还与验证码验证单元和验证码算法生成单元连接; 验证码算法生成单元与验证码验证单元和验证码算法管理单元连接。
4.根据权利要求2所述的智能密钥装置,其特征在于,其中所述验证码算法生成单元包括第一原码生成单元; 验证码原码拼接单元; 验证码算法选择单元; 第一原码输入单元; 验证码生成输入单元;和验证码生成单元。
5.根据权利要求4所述的智能密钥装置,其特征在于,其中所述原码生成单元用于生成验证码原码并发送给所述验证码原码拼接单元; 所述验证码原码拼接单元用于将从原码生成单元接收到的验证码原码拼接成完整的验证码原码,并将所述完整的验证码原码分别发送给所述验证码验证单元和所述验证码生成输入单元;所述第一原码输入单元用于接收原码,并传送给所述验证码生成输入单元; 所述验证码生成输入单元用于将从所述验证码原码拼接单元接收的完整的验证码原码和从所述第一原码输入单元接收的原码进行组合,并发送给所述验证码生成单元;所述验证码算法选择单元用于根据验证码算法管理单元发送来的指示选择验证码算法,并将选择结果发送给所述验证码算法管理单元;所述验证码生成单元用于接收验证码生成输入单元输出的组合的结果,根据验证码算法选择单元的指示选择验证码算法,生成最终发送到用户端的验证码原码。
6.根据权利要求5所述的智能密钥装置,其特征在于,其中所述原码生成单元生成的原码为随机原码,第一原码输入单元接收的原码为非随机原码。
7.根据权利要求4所述的智能密钥装置,其特征在于,其中所述第一原码输入单元与所述命令处理单元和所述验证码生成输入单元连接; 所述验证码原码拼接单元与所述验证码验证单元、第一原码生成单元以及验证码生成输入单元连接;所述验证码算法选择单元与所述验证码算法管理单元和验证码生成单元连接; 所述验证码生成单元还与通信处理单元连接。
8.根据权利要求2所述的智能密钥装置,其特征在于,其中 所述验证码验证单元包括验证码输入单元; 验证码对比单元; 第二原码输入单元。
9.根据权利要求8所述的智能密钥装置,其特征在于,其中所述验证码输入单元用于接收用户输入的验证码并将其发送给验证码对比单元; 所述第二原码输入单元用于接收验证码算法生成单元发送的验证码原码,并对所述验证码原码进行存储和拼接,并发送给验证码对比单元;所述验证码对比单元用于接收验证码输入单元发送的验证码和第二原码输入单元发送的验证码原码,对其进行对比,并输出对比结果给命令处理单元。
10.根据权利要求8所述的智能密钥装置,其特征在于,其中 验证码输入单元和验证码对比单元与所述通信处理单元连接; 所述第二原码输入单元与验证码算法生成单元连接,所述验证码对比单元与所述原码输入单元和验证码输入单元连接, 所述验证码输入单元和所述验证码对比单元还与所述命令处理单元连接。
11.根据权利要求2所述的智能密钥装置,其特征在于,其中 所述验证码算法管理单元包括算法存储单元; 算法选择单元; 算法下载单元;和管理单元。
12.根据权利要求11所述的智能密钥装置,其特征在于,其中所述管理单元用于算法类型选择和算法下载,通知验证码算法生成单元生成验证码, 进行验证码校验,并根据验证码验证单元的校验结果,判断是否允许算法类型选择和算法下载,所述管理单元还用于控制算法选择单元与算法下载单元;所述算法存储单元用于存储验证码算法,并通知所述验证码算法生成单元根据当前算法类型选择生成相应验证码;所述算法下载单元用于在所述管理单元的控制下,通过所述通信处理单元进行验证码算法下载,并将所下载的验证码算法存储在算法存储单元;所述算法选择单元用于在所述管理单元的控制下,通过所述通信处理单元接收用户输入的算法类型,并通知所述算法存储单元,通过所述算法存储单元通知所述验证码算法生成单元生成验证码实例并将所述验证码实例发回给算法选择单元,并将所述验证码实例通过所述通信处理单元发给用户。
13.根据权利要求11所述的智能密钥装置,其特征在于,其中, 所述算法存储单元和管理单元与所述验证码算法生成单元连接;所述管理单元与所述验证码验证单元、算法选择单元、算法下载单元连接; 所述算法下载单元与所述通信处理单元、算法存储单元连接; 所述算法选择单元与所述通信处理单元和算法存储单元连接。
14.根据权利要求2所述的智能密钥装置,其特征在于,其中所述智能密钥装置还包括与通信处理单元连接的PC通信模块和非PC通信模块。
15.根据权利要求14所述的智能密钥装置,其特征在于,其中 所述PC通信模块为USB接口,非PC通信模块为显示模块和/或发生通信模块。
16.根据权利要求1至15任一项所述的智能密钥装置,其特征在于,其中所述验证码是非文本属性的非文字验证码。
17.一种提高网上交易和认证安全性的系统,其特征在于,包括 验证码服务器;与所述验证码服务器连接的验证码用户界面模块;和如权利要求1至16任一所述,且与所述验证码用户界面连接的智能密钥装置。
18.根据权利要求17所述的系统,其特征在于,其中所述验证码服务器包括 服务器算法存储单元;服务器网络通信处理单元;和服务器算法管理单元组成, 其中服务器算法存储单元分别与服务器网络通信处理单元和服务器算法管理单元连接,且服务器网络通信处理单元和服务器算法管理单元以及所述验证码用户界面模块连接。
19.根据权利要求18所述的系统,其特征在于,其中所述验证码用户界面模块包括 用户界面网络通信处理单元;用户界面本地通信处理单元; 用户界面管理单元; 管理单元输入输出界面; 验证码显示界面;和用户验证码输入界面, 其中用户界面网络通信处理单元与所述服务器网络通信处理单元、用户界面本地通信处理单元和用户界面管理单元连接;用户界面本地通信处理单元还分别与所述智能密钥验装置、验证码显示界面、用户验证码输入界面、用户界面管理单元连接;用户界面管理单元还与管理单元输入输出界面连接。
20.根据权利要求19所述的系统,其特征在于,其中所述用户界面本地通信处理单元与所述智能密钥装置的通信处理单元连接。
21.一种基于如权利要求1所述智能密钥装置的验证方法,其特征在于,包括(A)所述智能密钥装置接收用户命令;(B)启动验证码算法生成单元,生成验证码,将验证码和验证码原码一块发送给验证码验证单元;(C)验证码验证单元发送验证码到用户端,等待用户识别,并返回识别结果;(D)验证码验证单元判断用户是否返回验证码,如果收到,则进入下一步验证码校验过程;如果还未收到,则判断是否超时;当有超时情况发生时,结束命令处理流程;(E)验证码验证单元收到验证码时,将其和验证码原码进行比对;(F)对比较结果不正确时,直接结束命令处理流程。
22.根据权利要求21所述的验证方法,其特征在于,还包括在步骤(A)后,在命令不需要校验的情况下,走正常的命令处理流程,一直到结束。
23.根据权利要求21所述的验证方法,其特征在于,其中 所述生成验证码为随机生成验证码。
24.根据权利要求21所述的验证方法,其特征在于,其中 所述正常的命令处理流程为正常的COS命令处理流程。
25.根据权利要求21所述的验证方法,其特征在于,其中 步骤(B)在命令需要校验的情况下进行。
26.根据权利要求21所述的验证方法,其特征在于,其中 步骤(F)中当比对结果正确时,进入正常的命令处理流程。
27.根据权利要求21所述的验证方法,其特征在于,其中 步骤(B)在命令为更换验证码算法类型命令的情况下进行;步骤(F)中当比对结果正确时,进入后续验证码算法选择过程,验证码管理单元发送所存储的备选验证码实例到用户端,并等待用户选择结果;如果收到验证码算法新类型,则更换缺省的验证码算法类型;当没有收到新类型时,则将结束命令处理流程, 所述验证方法为一种验证码算法类型选择方法。
28.根据权利要求21所述的验证方法,其特征在于,其中 步骤(B)在命令为更换验证码算法类型命令的情况下进行;步骤(F)中当比对结果正确时,进入后续验证码算法更换过程,验证码管理单元等待用户发送新的验证码算法;如果收到新的验证码算法,对验证码算法进行权限验证;如果权限验证通过,则添加新的验证码算法;不通过,则结束命令处理流程, 所述验证方法为一种验证码算法更新方法。
29.根据权利要求21所述的验证方法,其特征在于,其中步骤(B)在命令需要校验,但不需要进行交易内容确认的情况下进行;如果命令需要校验,而且需要进行交易内容确认时,则启动验证码算法生成单元,提取交易内容,生成特别验证码原码,并根据所选择的验证码生成算法将交易内容和特别验证码合并生成统一的验证码;所述验证方法为一种交易内容确认方法。
30.根据权利要求四所述的验证方法,其特征在于,还包括验证码验证单元收到特别验证码时,将其和特别验证码原码进行比对; 当比对结果正确时,进入正常的交易命令处理流程;对比较结果不正确时,直接结束交易命令处理流程。
31.根据权利要求21所述的验证方法,其特征在于,其中 步骤(B)在命令需要校验的情况下进行,还包括随机生成至少两个验证码原码,并拼接成验证码原码; 根据至少两个验证码原码分别生成相应的至少两个验证码; 将所述验证码、验证码原码一块发送给验证码验证单元;验证码验证单元通过P C通信接口发送其中一个验证码到用户端,通过非P C通信接口发送另外一个验证码到用户端,等待用户识别;用户从P C通信接口接收到验证码,自行拼接成完整验证码,并通过P C通信接口返回验证码,所述验证方法为一种非P C通信模块验证方法。
32.根据权利要求21至31任一所述的方法,其特征在于,其特征在于,所述验证码是非文本属性的非文字验证码。
全文摘要
本发明涉及一种智能密钥装置,以及包括此智能密钥装置的一种提高网上交易和认证安全性的系统及相关方法。智能密钥装置由密钥系统通信处理单元、命令处理单元、验证码算法生成单元、验证码验证单元、验证码算法管理单元组成;一种提高网上交易和认证安全性的系统,包括验证码服务器、验证码用户界面模块和智能密钥装置。智能密钥装置内置或者根据用户要求下载验证码算法,并且根据缺省或者用户指示选择当前所使用的验证码算法。在网上交易和认证时,智能密钥装置在执行安全性需求比较高的认证指令、交易指令之前,发送相应认证指令和交易指令相关的验证码到用户界面模块进行确认,从而提高网上交易和认证的安全性。
文档编号G06Q30/00GK102238171SQ20111010404
公开日2011年11月9日 申请日期2011年4月25日 优先权日2010年4月23日
发明者彭波 申请人:国民技术股份有限公司