CN101651675B - 通过认证码对客户端进行验证的方法和系统 - Google Patents

通过认证码对客户端进行验证的方法和系统 Download PDF

Info

Publication number
CN101651675B
CN101651675B CN200910090578.XA CN200910090578A CN101651675B CN 101651675 B CN101651675 B CN 101651675B CN 200910090578 A CN200910090578 A CN 200910090578A CN 101651675 B CN101651675 B CN 101651675B
Authority
CN
China
Prior art keywords
information
server
median
safety device
factor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910090578.XA
Other languages
English (en)
Other versions
CN101651675A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN200910090578.XA priority Critical patent/CN101651675B/zh
Publication of CN101651675A publication Critical patent/CN101651675A/zh
Application granted granted Critical
Publication of CN101651675B publication Critical patent/CN101651675B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种通过认证码对客户端进行验证的方法和系统,属于信息安全领域。所述方法包括:客户端向第一服务器发出服务请求,将第一信息通过第一服务器发送给第二服务器,第二服务器生成第二信息,通过第一服务器返给客户端提供给用户;安全装置接收用户输入的第一信息和第二信息,生成第三信息给用户;客户端接收用户输入的第三信息,通过第一服务器发给第二服务器,第二服务器收到后,用与安全装置生成第三信息相同的方法生成认证码,比对认证码与第三信息进行验证,返回结果给第一服务器。所述系统包括:客户端、安全装置、第一服务器和第二服务器。本发明极大地提高了交易过程中的安全性。

Description

通过认证码对客户端进行验证的方法和系统
技术领域
本发明涉及信息安全领域,特别涉及通过认证码对客户端进行验证的方法和系统。
背景技术
随着计算机技术的高速发展,越来越多的用户习惯利用网络的便捷和丰富的资源来完成各项工作。这在一定程度上节约了时间,提高了办事效率,促进了互联网的进一步发展和完善。但是,随着高科技手段的不断发展,网络在给人们带来便利和娱乐的同时,也存在着极大的安全隐患。其中以不法分子利用网络的开放性和恶意攻击给接入互联网的计算机带来的威胁最为引人关注。
动态密码也称一次性密码(One-time Password),它指用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次。动态密码认证方式一般采用一种称之为动态令牌的专用硬件(动态令牌也可以是软件形式的,如手机的java程序),它内置于运行专门密码算法的密码生成芯片,根据当前时间或使用次数生成当前密码并输出。认证服务器采用相同的算法计算当前的有效密码。用户通过将自定义的静态密码、时间/事件等因素输入动态令牌,由动态令牌结合内置共享密钥来生成动态密码,生成动态密码后,用户在客户端通过网络将用户个人信息和当前动态密码传输至认证服务系统,如果认证服务系统密码验证通过,则用户即可登录。由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件,所以只要密码验证通过,系统就可以认为该用户的身份是可靠的。由于用户每次使用的密码都不相同,所以即使黑客截获了一次密码,也无法利用这个密码来仿冒合法用户的身份。动态密码认证方式有效地提高了客户端用户的安全性,并迅速在国内的网上银行、电话银行、网络游戏等等许多行业获得了广泛的应用。
智能密钥装置是一种带有处理器和存储器的小型硬件装置,主要用于身份认证、软件保护等领域。它通过计算机的数据通讯接口与计算机连接,并具有密钥生成功能,可安全存储密钥,预置加密算法。智能密钥装置与密钥相关的运算完全在装置内部运行,且智能密钥装置具有抗攻击的特性,安全性极高。USBKey是一种USB接口的智能密钥装置,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书。
现有技术中,智能密钥装置已被广泛应用于网络安全领域。由于其内部具有运算功能,是一个独立和封闭的运算环境,因此能够在很大程度上确保数据处理及存储的安全性。然而,智能密钥装置却无法保证数据在交互通道以外进行传输的安全性,网络恶意分子极易利用智能密钥装置的这一弱点,进行非法活动。主要表现在目前的计算机并不是孤立的计算机,几乎都会介入互联网,使得个人计算机成为一个相对开放的计算机环境,一旦用户的计算机被植入了木马程序,当用户在这台计算机上使用智能密钥设备时,网络黑客很容易窃取用户通过计算机向智能密钥装置发送的操作命令及操作数据,在用户毫不知情的情况下篡改命令及数据,随心所欲地利用智能密钥装置来执行各项非法操作,这样做的后果极有可能给智能密钥装置的合法用户造成巨大经济损失或精神损失。例如,网络银行用户在进行汇款操作时,如果他将智能密钥装置接入一台被植入了木马程序的PC中,在该用户忙于其他事物暂时离开的时间里,如果智能密钥装置没有及时与PC断开连接,网络黑客很容易利用木马程序盗取该用户发送的汇款信息及汇款数据,并将其非法篡改,当上述用户返回后继续执行汇款操作时,其汇款信息已不再是原有数据,一旦该用户继续使用智能密钥装置对经过篡改后的数据进行签名并发送,就易使网络黑客的非法交易得手,这样做的结果将给上述用户带来难以估量的损失。
发明内容
为了解决现有技术中存在的问题,本发明实施例提供了通过认证码对客户端进行验证的方法和系统。所述技术方案如下:
一种通过认证码对客户端进行验证的方法,所述方法包括:
客户端向第一服务器发出服务请求,并将用户输入的第一信息通过所述第一服务器发送给第二服务器,所述第二服务器内预先注册有安全装置的信息;
所述第二服务器收到所述第一信息后,根据预设的算法生成第二信息,并通过所述第一服务器将所述第二信息返回给所述客户端,所述客户端将所述第二信息提供给所述用户;
所述安全装置接收所述用户输入的所述第一信息和第二信息,根据所述第一信息和第二信息生成中间值,并根据所述安全装置存储的密钥种子对所述中间值进行处理后生成第三信息提供给所述用户;
所述客户端接收所述用户输入的所述第三信息,通过所述第一服务器将所述第三信息发送给所述第二服务器;
所述第二服务器收到所述第三信息后,根据所述第一信息和第二信息生成中间值,并根据所述第二服务器存储的密钥种子对所述中间值进行处理后生成认证码,比对所述认证码与第三信息是否相同进行验证,并返回验证结果给所述第一服务器。
根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置对所述第一信息和第二信息进行组合,生成中间值。
所述将用户输入的第一信息通过所述第一服务器发送给第二服务器,具体包括:
所述客户端将所述用户输入的第一信息发送给所述第一服务器;
所述第一服务器采用预设的哈希算法,对所述第一信息进行压缩,将压缩后的第一信息发送给所述第二服务器;
相应地,所述根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置采用与所述第一服务器相同的哈希算法,对所述第一信息进行压缩后,与所述第二信息组合,生成中间值。
所述预设的哈希算法具体为:SHA1摘要算法。
所述第二服务器收到所述第一信息后,根据预设的算法生成第二信息,具体包括:
所述第二服务器收到所述第一信息后,根据预设的算法和所述第一信息,生成第二信息。
对所述中间值进行处理后生成第三信息提供给所述用户,具体包括:
所述安全装置根据预设的加密算法加密所述中间值,生成密文信息;
根据预设的压缩算法压缩所述密文信息,生成第三信息提供给所述用户。
所述预设的加密算法具体为:SHA1算法、SHA256算法和DES算法中的至少一种。
所述预设的压缩算法具体为:掩码压缩和自定义算法压缩中的至少一种。
根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置根据动态因子、所述第一信息和第二信息生成中间值,然后更新动态因子;
或者,所述安全装置更新动态因子,然后根据所述更新后的动态因子、所述第一信息和第二信息生成中间值;
相应地,所述用与所述安全装置生成第三信息相同的方法生成认证码,进一步地还包括:
所述第二服务器按照与所述安全装置相同的方式更新动态因子。
所述动态因子具体为:时间因子或事件因子。
所述更新动态因子,具体包括:
获取当前国际标准时间,将所述当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将所述当前事件因子加或减指定值后的结果,作为更新后的事件因子。
用与所述安全装置生成第三信息相同的方法生成认证码,比对所述认证码与第三信息是否相同进行验证,具体包括:
用与所述安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,比对所述验证窗口内是否有与所述第三信息相同的认证码进行验证,如果是,则验证成功,否则,验证失败;
相应地,所述第二服务器按照与所述安全装置相同的方式更新动态因子,具体包括:
当比对所述验证窗口内有与所述第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与所述安全装置相同的方式更新所述当前动态因子。
所述安全装置的信息具体包括:所述安全装置的序列号和对应的密钥种子。
所述第一信息包括:付款方账号、付款方密码、收款方账号、交易金额、交易时间和交易货币类型。
一种通过认证码对客户端进行验证的方法,所述方法包括:
客户端向第一服务器发出服务请求,所述第一服务器将所述服务请求转发给第二服务器,所述第二服务器内预先注册有安全装置的信息;
所述第二服务器收到所述服务请求后,根据预设的算法生成第二信息,并通过所述第一服务器将所述第二信息返回给所述客户端,所述客户端将所述第二信息提供给所述用户;
所述安全装置接收所述用户输入的第一信息和所述第二信息,根据所述第一信息和第二信息生成中间值,并根据所述安全装置存储的密钥种子对所述中间值进行处理后生成第三信息提供给所述用户;
所述客户端接收所述用户输入的所述第三信息和第一信息,通过所述第一服务器将所述第三信息和第一信息发送给所述第二服务器;
所述第二服务器收到所述第三信息和第一信息后,根据所述第一信息和第二信息生成中间值,并根据所述第二服务器存储的密钥种子对所述中间值进行处理后生成认证码,通过比对所述认证码与第三信息是否相同来进行验证,并返回验证结果给所述第一服务器。
根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置对所述第一信息和第二信息进行组合,生成中间值。
所述根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置采用预设的哈希算法,对所述第一信息进行压缩后,与所述第二信息组合,生成中间值;
相应地,所述通过所述第一服务器将所述第三信息和第一信息发送给所述第二服务器,具体包括:
所述客户端将所述第三信息和第一信息发送给所述第一服务器;
所述第一服务器采用与所述安全装置相同的哈希算法,对所述第一信息进行压缩,将所述第三信息和压缩后的第一信息发送给所述第二服务器。
所述预设的哈希算法具体为:SHA1摘要算法。
对所述中间值进行处理后生成第三信息提供给所述用户,具体包括:
所述安全装置根据预设的加密算法加密所述中间值,生成密文信息;
根据预设的压缩算法压缩所述密文信息,生成第三信息提供给所述用户。
所述预设的加密算法具体为:SHA1算法、SHA256算法和DES算法中的至少一种。
所述预设的压缩算法具体为:掩码压缩和自定义算法压缩中的至少一种。
根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置根据动态因子、所述第一信息和第二信息生成中间值,然后更新动态因子;
或者,所述安全装置更新动态因子,然后根据所述更新后的动态因子、所述第一信息和第二信息生成中间值;
相应地,所述用与所述安全装置生成第三信息相同的方法生成认证码,进一步地还包括:
所述第二服务器按照与所述安全装置相同的方式更新动态因子。
所述动态因子具体为:时间因子或事件因子。
所述更新动态因子,具体包括:
获取当前国际标准时间,将所述当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将所述当前事件因子加或减指定值后的结果,作为更新后的事件因子。
用与所述安全装置生成第三信息相同的方法生成认证码,比对所述认证码与第三信息是否相同进行验证,具体包括:
用与所述安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,比对所述验证窗口内是否有与所述第三信息相同的认证码进行验证,如果是,则验证成功,否则,验证失败;
相应地,所述第二服务器按照与所述安全装置相同的方式更新动态因子,具体包括:
当比对所述验证窗口内有与所述第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与所述安全装置相同的方式更新所述当前动态因子。
所述安全装置的信息具体包括:所述安全装置的序列号和对应的密钥种子。
所述第一信息包括:付款方账号、付款方密码、收款方账号、交易金额、交易时间和交易货币类型。
一种通过认证码对客户端进行验证的系统,所述系统包括:客户端、安全装置、第一服务器和第二服务器;
所述客户端包括:
第一通信模块,用于向所述第一服务器发出服务请求,并将用户输入的第一信息发送给所述第一服务器,接收所述第一服务器返回的第二信息,在用户输入第三信息后将其发送给所述第一服务器,接收所述第一服务器返回的交易结果;
输出模块,用于将所述第一通信模块收到的所述第二信息提供给所述用户;
输入模块,用于接收所述用户输入的第一信息和第三信息;
所述安全装置包括:
输入模块,用于接收所述用户输入的所述第一信息和第二信息;
第三信息生成模块,用于根据所述第一信息和第二信息生成中间值,并根据所述安全装置存储的密钥种子对所述中间值进行处理后生成第三信息;
输出模块,用于将所述第三信息提供给所述用户;
所述第一服务器包括:
第二通信模块,用于接收所述客户端发来的服务请求并转发给所述第二服务器,接收所述客户端发来的第一信息并转发给所述第二服务器,接收所述客户端发来的第三信息并转发给所述第二服务器,接收所述第二服务器返回的验证结果;
所述第二服务器包括:
存储模块,用于存储所述安全装置的信息;
第三通信模块,用于接收所述第一服务器发来的第一信息,将所述第二信息返回给所述第一服务器,接收所述第一服务器发来的第三信息,返回验证结果给所述第一服务器;
第二信息生成模块,用于在所述第三通信模块收到所述第一信息后,根据预设的算法生成所述第二信息;
认证模块,用于根据所述第一信息和第二信息生成中间值,并根据所述第二服务器存储的密钥种子对所述中间值进行处理后生成认证码,比对所述认证码与第三信息是否相同进行验证。
所述安全装置的第三信息生成模块具体包括:
第一生成单元,用于对所述第一信息和第二信息进行组合,生成中间值,对所述中间值进行处理后生成第三信息。
所述第一服务器还包括:
压缩模块,用于采用预设的哈希算法,对所述第二通信模块收到的第一信息进行压缩,将压缩后的第一信息通过所述第二通信模块发送给所述第二服务器;
相应地,所述安全装置的第三信息生成模块具体包括:
第二生成单元,用于采用与所述第一服务器相同的哈希算法,对所述第一信息进行压缩后,与所述第二信息组合,生成中间值,对所述中间值进行处理生成第三信息。
所述第二服务器的第二信息生成模块具体包括:
第二信息生成单元,用于在所述第三通信模块收到所述第一信息后,根据预设的算法和所述第一信息,生成第二信息。
所述安全装置的第三信息生成模块具体包括:
第一中间值生成单元,用于根据所述第一信息和第二信息生成中间值;
加密单元,用于根据预设的加密算法加密所述中间值,生成密文信息;
压缩单元,用于根据预设的压缩算法压缩所述密文信息,生成第三信息。
所述安全装置的第三信息生成模块具体包括:
第二中间值生成单元,用于根据动态因子、所述第一信息和第二信息生成中间值,然后更新动态因子,或者,先更新动态因子,然后根据所述更新后的动态因子、所述第一信息和第二信息生成中间值;
第三生成单元,用于对所述中间值进行处理生成第三信息;
相应地,所述第二服务器的认证模块还包括:
更新单元,用于按照与所述安全装置相同的方式更新动态因子。
所述动态因子具体为:时间因子或事件因子。
所述第二中间值生成单元和更新单元均按以下方式更新动态因子:
获取当前国际标准时间,将所述当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将所述当前事件因子加或减指定值后的结果,作为更新后的事件因子。
所述第二服务器的认证模块具体包括:
认证单元,用于根据所述第一信息和第二信息,用与所述安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,比对所述验证窗口内是否有与所述第三信息相同的认证码进行验证,如果是,则验证成功,否则,验证失败;
相应地,所述更新单元具体用于当比对所述验证窗口内有与所述第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与所述安全装置相同的方式更新所述当前动态因子。
一种通过认证码对客户端进行验证的系统,所述系统包括:客户端、安全装置、第一服务器和第二服务器;
所述客户端包括:
第一通信模块,用于向第一服务器发出服务请求,接收所述第一服务器返回的第二信息,将用户输入的第三信息和第一信息发送给所述第一服务器,接收所述第一服务器返回的交易结果;
输出模块,用于将所述第一通信模块收到的第二信息提供给所述用户;
输入模块,用于接收所述用户输入的所述第三信息和第一信息,通过所述第一服务器将所述第三信息和第一信息发送给所述第二服务器;
所述安全装置包括:
输入模块,用于接收所述用户输入的第一信息和第二信息;
第三信息生成模块,用于根据所述第一信息和第二信息生成中间值,并根据所述安全装置存储的密钥种子对所述中间值进行处理后生成第三信息;
输出模块,用于将所述第三信息提供给所述用户;
所述第一服务器包括:
第二通信模块,用于接收所述客户端发来的所述服务请求,转发给所述第二服务器,接收所述第二服务器返回的所述第二信息,转发给所述客户端,接收所述客户端发来的第三信息和第一信息,转发给所述第二服务器,接收所述第二服务器返回的验证结果;
所述第二服务器包括:
存储模块,用于存储所述安全装置的信息;
第三通信模块,用于接收所述第一服务器发来的所述服务请求,将所述第二信息返回给所述第一服务器,接收所述第一服务器发来的第一信息和第三信息,返回验证结果给所述第一服务器,
第二信息生成模块,用于在所述第三通信模块收到所述服务请求后,根据预设的算法生成第二信息;
认证模块,用于根据所述第一信息和第二信息生成中间值,并根据所述第二服务器存储的密钥种子对所述中间值进行处理后生成认证码,比对所述认证码与第三信息是否相同进行验证。
所述安全装置的第三信息生成模块具体包括:
第一生成单元,用于对所述第一信息和第二信息进行组合,生成中间值,对所述中间值进行处理生成第三信息。
所述安全装置的第三信息生成模块具体包括:
第二生成单元,用于采用预设的哈希算法,对所述第一信息进行压缩后,与所述第二信息组合,生成中间值,对所述中间值进行处理生成第三信息;
相应地,所述第一服务器还包括:
压缩模块,用于采用与所述安全装置相同的哈希算法,对所述第二通信模块收到的第一信息进行压缩,并通过所述第二通信模块将所述压缩后的第一信息发送给所述第二服务器。
所述安全装置的第三信息生成模块具体包括:
第一中间值生成单元,用于根据所述第一信息和第二信息生成中间值;
加密单元,用于根据预设的加密算法加密所述中间值,生成密文信息;
压缩单元,用于根据预设的压缩算法压缩所述密文信息,生成第三信息。
所述安全装置的第三信息生成模块具体包括:
第二中间值生成单元,用于根据动态因子、所述第一信息和第二信息生成中间值,然后更新动态因子,或者,先更新动态因子,然后根据所述更新后的动态因子、所述第一信息和第二信息生成中间值;
第三生成单元,用于对所述中间值进行处理生成第三信息;
相应地,所述第二服务器的认证模块还包括:
更新单元,用于按照与所述安全装置相同的方式更新动态因子。
所述动态因子具体为:时间因子或事件因子。
所述第二中间值生成单元和更新单元均按以下方式更新动态因子:
获取当前国际标准时间,将所述当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将所述当前事件因子加或减指定值后的结果,作为更新后的事件因子。
所述第二服务器的认证模块具体包括:
认证单元,用于根据所述第一信息和第二信息,用与所述安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,比对所述验证窗口内是否有与所述第三信息相同的认证码进行验证,如果是,则验证成功,否则,验证失败;
相应地,所述更新单元具体用于当比对所述验证窗口内有与所述第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与所述安全装置相同的方式更新所述当前动态因子。
由于本发明实施例中的安全装置的信息是预先注册到交易系统的第二服务器中的,并且该安全装置生成的第三信息是根据用户输入的第一信息生成的,使得用户在使用安全装置进行交易时,即使该第三信息被非法截获,也无法更改第一信息,例如账号、金额等,能够有效防止冒用,极大地提高了交易过程中的安全性。
附图说明
图1是本发明实施例1提供的提高网络交易安全性的方法流程图;
图2是本发明实施例2提供的提高网络交易安全性的方法流程图;
图3是本发明实施例3提供的提高网络交易安全性的系统结构图;
图4是本发明实施例4提供的提高网络交易安全性的系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本实施例提供了一种提高网络交易安全性的方法,包括:
客户端向第一服务器发出服务请求,并将用户输入的第一信息通过第一服务器发送给第二服务器,第二服务器内预先注册有安全装置的信息;
第二服务器收到第一信息后,根据预设的算法生成第二信息,并通过第一服务器将第二信息返回给客户端,客户端将第二信息提供给用户;
安全装置接收用户输入的第一信息和第二信息,根据第一信息和第二信息生成中间值,并对中间值进行处理后生成第三信息提供给用户;
客户端接收用户输入的第三信息,通过第一服务器将第三信息发送给第二服务器;
第二服务器收到第三信息后,根据第一信息和第二信息,用与安全装置生成第三信息相同的方法生成认证码,比对认证码与第三信息是否相同进行验证,并返回验证结果给第一服务器,第一服务器在验证结果为成功时执行交易,返回交易结果给客户端。
本发明实施例涉及的第一服务器可以是应用服务器,如用户电子银行网站、用户网络支付平台等等。
本发明实施例涉及的第二服务器可以是认证服务器,包括但不限于:OTP认证服务器。
本发明实施例涉及的安全装置包括但不限于:动态令牌。
下面以付款方请求应用服务器进行转账交易为例具体说明。参见图1,上述方法具体包括:
步骤101:付款方通过客户端上显示的网上银行的交易页面,向应用服务器提交转账请求;
其中,客户端可以为PC机,或者ATM机等,在本实施例中具体为PC机。
本实施例中的转账请求也可以替换为结账请求、缴费请求等。
步骤102:应用服务器接收到来自PC机的转账请求后,通过PC机提示付款方输入第一信息,在本实施例中该第一信息具体为交易信息;
步骤103:付款方根据该提示信息,在PC机上输入交易信息;
其中,付款方输入的交易信息包括:付款方账号、付款方密码、收款方账号、交易金额、交易时间和交易货币类型等。
其中,付款方可以根据交易页面上的提示信息,通过键盘来完成交易信息的输入,输入的交易信息具体可以参见表1所示的例子。
表1
付款方账号 6227000011750112318
付款方密码 123456
动态令牌序列号 1901000605115
收款方账号 6227000011750112123
转账金额 1896.58
货币类型 人民币
转账时间 20090716
步骤104:PC机将交易信息通过应用服务器发送给认证服务器,在本实施例中,认证服务器具体为OTP认证服务器;
其中,应用服务器可以直接将交易信息发送给OTP认证服务器,也可以采用预设的哈希算法,如SHA1摘要算法,先对交易信息进行压缩处理,以减少认证服务器的运算负荷,然后再将压缩后的交易信息转发给OTP认证服务器。
本发明实施例中,认证服务器内预先注册有安全装置的信息,该安全装置的信息包括但不限于:安全装置的序列号和与该序列号对应的密钥种子,该序列号和密钥种子是认证服务器给安全装置分配的,均是唯一的,且该安全装置内部也存储有该序列号和密钥种子。
例如,OTP认证服务器给动态令牌分配的密钥种子为二进制随机密钥,用十六进制字符串表示为:“5EBF23BE289DC145D2939366F1664D6CDFC61151”,给动态令牌分配的序列号为“1901000605115”。
步骤105:OTP认证服务器收到来自应用服务器的交易信息后,根据预设的算法生成第二信息,本实施例中,具体为挑战值,该值可以是任意六位的随机数,例如654321;
其中,OTP认证服务器可以不根据收到的交易信息生成挑战值,也可以根据收到的交易信息生成挑战值。
步骤106:OTP认证服务器通过应用服务器将生成的挑战值发送给PC机;
步骤107:PC机收到该挑战值后,提供该挑战值给付款方;
例如,PC机以语音提示或屏幕显示等方式告知付款方该挑战值为654321。
步骤108:付款方将PC机提供的挑战值输入到安全装置中,在本实施例中,具体为动态令牌,同时将上述交易信息也输入到动态令牌中;
步骤109:动态令牌接收到上述挑战值和交易信息后,根据该挑战值和交易信息生成中间值,对该中间值进行处理生成第三信息,将该第三信息提供给付款方,通常是显示给付款方;
具体地,动态令牌可以直接将交易信息和挑战值进行组合,生成中间值;
如果步骤104中应用服务器对交易信息进行压缩,则本步骤中动态令牌也先采用相同的哈希算法,如SHA1摘要算法,对交易信息进行压缩处理,然后再将压缩后的交易信息与挑战值进行组合生成中间值。
上述两种方式中涉及到的组合包括但不限于:串行连接。
本实施例中,该第三信息具体为动态口令。
其中,对中间值进行处理生成动态口令的过程具体如下:
动态令牌采用预设的加密算法加密中间值,得到第一密文信息,然后,采用预设的压缩算法对该第一密文信息进行压缩,生成动态口令。
所述预设的加密算法包括但不限于:SHA1算法、SHA256算法和DES算法中的至少一种。
所述预设的压缩算法包括但不限于:掩码压缩和自定义算法压缩中的至少一种。
本发明实施例中的安全装置在生成中间值时,可以根据动态因子来生成,具体包括两种方式:
1)先根据动态因子、第一信息和第二信息生成中间值,然后更新动态因子;
2)先更新动态因子,然后根据更新后的动态因子、第一信息和第二信息生成中间值。
上述两种方式中涉及到的动态因子包括:时间因子或事件因子。
本实施例中,以时间因子举例说明动态令牌生成动态口令的过程。动态令牌收到的交易信息为表1中的数据,挑战值为654321,且动态令牌存储有二进制密钥种子K,用十六进制字符串表示为:“5EBF23BE289DC145D2939366F1664D6CDFC61151”,则生成动态口令的过程如下:
a)、获取当前的国际标准时间(精确到分钟),比如“2009-7-1609:30:00”,作为时间因子;
b)、动态令牌将时间因子“2009-7-1609:30:00”、挑战值“654321”以及表1中的交易信息按顺序组合起来,组合后得到数据F:“20090716093065432162270000117501123186227000011750112123189658”;
c)、动态令牌采用SHA1算法对上述密钥种子K和组合后得到的数据F进行运算,得到20字节的二进制结果,该结果用十六进制字符串表示为:“5A83152391B06745E0901AA4AF315CC320565162”;
d)、动态令牌取上述十六进制运算结果的前四个字节“5A831523”,对十进制1000000求余得到十进制的结果“540067”,将该结果作为动态口令。
步骤110:付款方将动态令牌生成的动态口令输入到PC机;
步骤111:PC机收到该动态口令后,通过应用服务器将该动态口令发送给OTP认证服务器;
步骤112:OTP认证服务器收到该动态口令后,根据已收到的交易信息和已生成的挑战值,用与动态令牌生成动态口令相同的方法生成认证码,通过比对该认证码与收到的动态口令是否相同进行验证,具体地,如果认证码与动态口令一致,则验证成功,如果不一致,则验证失败;
如果动态令牌直接将交易信息和挑战值进行组合,生成中间值,然后对中间值进行处理生成动态口令,则OTP认证服务器也直接将交易信息和挑战值进行组合,生成中间值,然后对中间值进行处理生成认证码;
如果动态令牌先采用哈希算法对交易信息进行压缩,然后与挑战值进行组合生成中间值,再对中间值进行处理生成动态口令,则OTP认证服务器也先采用哈希算法对交易信息进行压缩,然后与挑战值进行组合生成中间值,再对中间值进行处理生成认证码。
上述两种方式中涉及的对中间值进行处理生成认证码的过程,与步骤109中动态令牌对中间值进行处理生成动态口令的过程相同,此处不再赘述。
与步骤109中动态令牌根据时间因子生成动态口令的例子相对应,下面举例说明OTP认证服务器生成认证码进行验证的过程,该OTP认证服务器内存储有付款方预先注册的动态令牌的密钥种子K,用十六进制字符串表示为“5EBF23BE289DC145D2939366F1664D6CDFC61151”,验证过程具体如下:
a)、OTP认证服务器获取当前的国际标准时间(精确到分钟),比如2009-7-1609:30:00,作为时间因子;
b)、OTP认证服务器将时间因子“2009-7-1609:30:00”、挑战值“654321”以及表1中的交易信息按顺序组合起来,组合后得到数据F:“20090716093065432162270000117501123186227000011750112123189658”;
c)、OTP认证服务器采用SHA1算法对存储的密钥种子K和组合后得到的数据F进行运算,得到20字节的二进制结果,用十六进制字符串表示为:“5A83152391B06745E0901AA4AF315CC320565162”;
d)、OTP认证服务器取上述十六进制运算结果的前四个字节“5A831523”,对十进制1000000求余得到十进制的结果“540067”,将该结果作为认证码;
e)、OTP认证服务器将得到的认证码与收到的动态口令进行比对,如果相同,则验证成功,如果不同,则验证失败。
在本实施例中,如果动态令牌根据动态因子生成中间值并更新动态因子,则OTP认证服务器在用与动态令牌生成动态口令相同的方法生成认证码的同时,还按照与动态令牌相同的方式更新动态因子,从而保证动态令牌与认证服务器同步。例如,动态令牌先更新动态因子,再生成动态口令,则OTP认证服务器也先更新动态因子,再生成认证码;或者,动态令牌先生成动态口令,再更新动态因子,则OTP认证服务器也先生成认证码,再更新动态因子。
无论是动态令牌还是OTP认证服务器,更新动态因子均可以具体如下:
获取当前国际标准时间,将当前国际标准时间加或减指定值后的结果,作为更新后的时间因子,该指定的值可以根据需要进行设置及修改,如设置为30秒、60秒等等;
或者,获取当前事件因子,将当前事件因子加或减指定值后的结果,作为更新后的事件因子,该指定的值可以根据需要进行设置及修改,如设置为1次、2次等等。
本实施例中,动态令牌的时钟频率与OTP认证服务器的时钟频率是保持同步的,优选的,动态令牌每60秒产生一个动态口令,OTP认证服务器每隔60秒产生一个认证码。
步骤113:OTP认证服务器将比对验证的结果发送给应用服务器;
步骤114:应用服务器接收到验证结果后进行判断,如果验证结果为成功,则执行转账基本操作,即从付款方转账到收款方,交易成功;如果验证结果为失败,则不执行交易,交易失败;
步骤115:应用服务器返回交易的结果给PC机,该交易结果为交易成功或交易失败;
步骤116:PC机将交易的结果提供给付款方,当前转账流程结束,付款方可以根据PC机提供的交易结果继续进行其他交易或停止交易。
在本发明实施例中,第一服务器和第二服务器也可以集成到一个设备中,如应用服务器与OTP认证服务器集成为一个服务器。
进一步地,在本发明实施例中,为了防止由于操作上的延时而导致动态令牌进行了动态因子的更新,而不与OTP认证服务器中的动态因子同步,还可以提供一个容错的范围,即OTP认证服务器采用验证窗口进行验证的方式,具体如下:
OTP认证服务器用与动态令牌生成动态口令相同的方法生成多个认证码作为验证窗口,通过比对验证窗口内是否有与动态口令相同的认证码来进行验证,如果有一个认证码与动态口令相同,则验证成功,如果所有认证码均与动态口令不同,则验证失败;
相应地,当比对验证窗口内有与动态口令相同的认证码时,OTP认证服务器将比对成功的认证码对应的动态因子作为当前动态因子,按照与动态令牌相同的方式更新该当前动态因子。
例如,在动态令牌内部中每60秒产生一个6位的动态口令,当前时间为“09:30:00”,生成的动态口令为“540067”,则下一个动态口令的生成时间是“09:31:00”。OTP认证服务器的当前时间为“09:30:00”,在该时间的基础上分别减少以及增加指定的值,如60秒,则得到其他6个时间因子“09:27:00”、“09:28:00”、“09:29:00”、“09:31:00”、“09:32:00”、“09:33:00”,OTP认证服务器根据当前时间因子和其他6个时间因子分别生成7个认证码,按照时间的顺序分别为:“540064”、“540065”、“540066”、“540067”、“540068”、“540069”、“540070”,OTP认证服务器将收到的动态口令与该7个认证码进行对比,如果该动态口令与上述7个认证码中的某一个认证码相同,则本次验证通过,允许进行交易,且根据当前匹配的认证码确定对应的时间因子,更新该时间因子,用于下次验证,如当前匹配的认证码是“540067”,对应的动态因子是“09:30:00”,则将其更新为“09:31:00”;如果7个认证码中没有与该动态口令相同的认证码,则本次验证失败,不允许进行交易。
实施例2
本实施例提供了一种提高网络交易安全性的方法,包括:
客户端向第一服务器发出服务请求,第一服务器将服务请求转发给第二服务器,第二服务器内预先注册有安全装置的信息;
第二服务器收到服务请求后,根据预设的算法生成第二信息,并通过第一服务器将第二信息返回给客户端,客户端将第二信息提供给用户;
安全装置接收用户输入的第一信息和第二信息,根据第一信息和第二信息生成中间值,并对中间值进行处理后生成第三信息提供给用户;
客户端接收用户输入的第三信息和第一信息,通过第一服务器将第三信息和第一信息发送给第二服务器;
第二服务器收到第三信息和第一信息后,根据第一信息和第二信息,用与安全装置生成第三信息相同的方法生成认证码,通过比对认证码与第三信息是否相同来进行验证,并返回验证结果给第一服务器,第一服务器在验证结果为成功时执行交易,返回交易结果给客户端。
本实施例提供的上述方法与实施例1中的方法类似,区别在于:客户端将交易信息发送给认证服务器的时间顺序不一样。实施例1中,客户端在发起服务请求时输入交易信息,然后安全装置生成动态口令,客户端通过应用服务器将动态口令发送给认证服务器;而实施例2中,安全装置先生成动态口令,然后客户端通过应用服务器将交易信息和动态口令一起发送给认证服务器。除上述区别外,本实施例中的其他步骤均与实施例1中的步骤相同,因此,不再详细叙述,下面以上述区别为重点,说明本实施例提供的上述方法的流程。
参见图2,本实施例提供的上述方法,具体包括:
步骤201:付款方通过客户端上显示的网上银行的交易页面,向应用服务器提交转账请求,在本实施例中,客户端具体为PC机;
步骤202:应用服务器接收到来自PC机的转账请求后,将该转账请求转发给认证服务器,在本实施例中,具体为OTP认证服务器;
步骤203:OTP认证服务器收到来自应用服务器的转账请求后,根据预设的算法生成第二信息,本实施例中,具体为挑战值,该值可以是任意六位的随机数,例如654321;
步骤204:OTP认证服务器通过应用服务器将生成的挑战值发送给PC机;
步骤205:PC机收到该挑战值后,提供该挑战值给付款方,在本实施例中,具体为显示给付款方;
步骤206:付款方根据PC机上显示的挑战值,将该挑战值和第一信息输入到安全装置中,在本实施例中,安全装置具体为动态令牌,第一信息具体为交易信息;
步骤207:动态令牌接收到上述挑战值和交易信息后,根据该挑战值和交易信息生成中间值,对该中间值进行处理生成第三信息,将该第三信息提供给付款方,通常是显示给付款方;
在本实施例中,该第三信息具体为动态口令。
步骤208:付款方将交易信息和动态令牌生成的动态口令输入到PC机;
步骤209:PC机收到该交易信息和动态口令后,通过应用服务器将该交易信息和动态口令发送给OTP认证服务器;
步骤210:OTP认证服务器收到该交易信息和动态口令后,根据该交易信息和已生成的挑战值,用与动态令牌生成动态口令相同的方法生成认证码,通过比对该认证码与收到的动态口令是否相同来进行验证,具体地,如果认证码与动态口令一致,则验证成功,如果不一致,则验证失败;
步骤211:OTP认证服务器将比对验证的结果发送给应用服务器;
步骤212:应用服务器接收到验证结果后进行判断,如果验证结果为成功,则执行转账基本操作,即从付款方转账到收款方,交易成功;如果验证结果为失败,则不执行交易,交易失败;
步骤213:应用服务器返回交易的结果给PC机,该交易结果为交易成功或交易失败;
步骤214:PC机将交易的结果提供给付款方,当前转账流程结束,付款方可以根据PC机提供的交易结果继续进行其他交易或停止交易。
实施例3
参见图3,本实施例提供了一种提高网络交易安全性的系统,包括:客户端1、安全装置2、第一服务器3和第二服务器4;
客户端1包括:
第一通信模块11,用于向第一服务器发出服务请求,并将用户输入的第一信息发送给第一服务器,接收第一服务器返回的第二信息,在用户输入第三信息后将其发送给第一服务器,接收第一服务器返回的交易结果;
输出模块12,用于将第一通信模块收到的第二信息提供给用户;
输入模块13,用于接收用户输入的第一信息和第三信息;
安全装置2包括:
输入模块21,用于接收用户输入的第一信息和第二信息;
第三信息生成模块22,用于根据第一信息和第二信息生成中间值,并对中间值进行处理后生成第三信息;
输出模块23,用于将第三信息提供给用户;
第一服务器3包括:
第二通信模块31,用于接收客户端发来的服务请求并转发给第二服务器4,接收客户端发来的第一信息并转发给第二服务器,接收客户端发来的第三信息并转发给第二服务器,接收第二服务器返回的验证结果,返回交易结果给客户端;
交易模块32,用于在验证结果为成功时执行交易,在验证结果为失败时不执行交易;
第二服务器4包括:
存储模块41,用于存储安全装置的信息;
第三通信模块42,用于接收第一服务器发来的第一信息,将第二信息返回给第一服务器,接收第一服务器发来的第三信息,返回验证结果给第一服务器;
第二信息生成模块43,用于在第三通信模块收到第一信息后,根据预设的算法生成第二信息;
认证模块44,用于根据第一信息和第二信息,用与安全装置生成第三信息相同的方法生成认证码,通过比对认证码与第三信息是否相同来进行验证。
其中,安全装置2的第三信息生成模块22具体包括:
第一生成单元,用于对第一信息和第二信息进行组合,生成中间值,对中间值进行处理后生成第三信息。
本实施例中,进一步地,第一服务器3还包括:
压缩模块,用于采用预设的哈希算法,对第二通信模块收到的第一信息进行压缩,将压缩后的第一信息通过第二通信模块发送给第二服务器;
相应地,第三信息生成模块22具体包括:
第二生成单元,用于采用与第一服务器相同的哈希算法,对第一信息进行压缩后,与第二信息组合,生成中间值,对中间值进行处理生成第三信息。
本实施例中,第二服务器4的第二信息生成模块43具体包括:
第二信息生成单元,用于在第三通信模块收到第一信息后,根据预设的算法和第一信息,生成第二信息。
本实施例中,安全装置2的第三信息生成模块22具体包括:
第一中间值生成单元,用于根据第一信息和第二信息生成中间值;
加密单元,用于根据预设的加密算法加密中间值,生成密文信息;
压缩单元,用于根据预设的压缩算法压缩密文信息,生成第三信息。
本实施例中,安全装置2的第三信息生成模块22具体包括:
第二中间值生成单元,用于根据动态因子、第一信息和第二信息生成中间值,然后更新动态因子,或者,先更新动态因子,然后根据更新后的动态因子、第一信息和第二信息生成中间值;
第三生成单元,用于对中间值进行处理生成第三信息;
相应地,第二服务器4的认证模块44还包括:
更新单元,用于按照与安全装置相同的方式更新动态因子。
本实施例中涉及的动态因子具体为:时间因子或事件因子。
本实施例中,上述第二中间值生成单元和更新单元均按以下方式更新动态因子:
获取当前国际标准时间,将当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将当前事件因子加或减指定值后的结果,作为更新后的事件因子。
本实施例中,第二服务器4的认证模块44具体包括:
认证单元,用于根据第一信息和第二信息,用与安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,通过比对验证窗口内是否有与第三信息相同的认证码来进行验证,如果是,则验证成功,否则,验证失败;
相应地,更新单元具体用于当比对验证窗口内有与第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与安全装置相同的方式更新当前动态因子。
本实施例中,具体地,第一服务器为应用服务器,第二服务器为认证服务器,第一信息为交易信息,第二信息为挑战值,第三信息为动态口令,第一服务器和第二服务器可以集成于一个设备中。
实施例4
参见图4,本实施例提供了一种提高网络交易安全性的系统,包括:客户端5、安全装置6、第一服务器7和第二服务器8;
客户端5包括:
第一通信模块51,用于向第一服务器发出服务请求,接收第一服务器返回的第二信息,将用户输入的第三信息和第一信息发送给第一服务器,接收第一服务器返回的交易结果;
输出模块52,用于将第一通信模块收到的第二信息提供给用户;
输入模块53,用于接收用户输入的第三信息和第一信息,通过第一服务器将第三信息和第一信息发送给第二服务器;
安全装置6包括:
输入模块61,用于接收用户输入的第一信息和第二信息;
第三信息生成模块62,用于根据第一信息和第二信息生成中间值,并对中间值进行处理后生成第三信息;
输出模块63,用于将第三信息提供给用户;
第一服务器7包括:
第二通信模块71,用于接收客户端发来的服务请求,转发给第二服务器,接收第二服务器返回的第二信息,转发给客户端,接收客户端发来的第三信息和第一信息,转发给第二服务器,接收第二服务器返回的验证结果,返回交易结果给客户端;
交易模块72,用于在验证结果为成功时执行交易,在验证结果为失败时不执行交易;
第二服务器8包括:
存储模块81,用于存储安全装置的信息;
第三通信模块82,用于接收第一服务器发来的服务请求,将第二信息返回给第一服务器,接收第一服务器发来的第一信息和第三信息,返回验证结果给第一服务器,
第二信息生成模块83,用于在第三通信模块收到服务请求后,根据预设的算法生成第二信息;
认证模块84,用于根据第一信息和第二信息,用与安全装置生成第三信息相同的方法生成认证码,通过比对认证码与第三信息是否相同来进行验证。
其中,安全装置6的第三信息生成模块62具体包括:
第一生成单元,用于对第一信息和第二信息进行组合,生成中间值,对中间值进行处理生成第三信息。
本实施例中,安全装置6的第三信息生成模块62具体包括:
第二生成单元,用于采用预设的哈希算法,对第一信息进行压缩后,与第二信息组合,生成中间值,对中间值进行处理生成第三信息;
相应地,第一服务器7还包括:
压缩模块,用于采用与安全装置相同的哈希算法,对第二通信模块收到的第一信息进行压缩,并通过第二通信模块将压缩后的第一信息发送给第二服务器。
本实施例中,安全装置6的第三信息生成模块62具体包括:
第一中间值生成单元,用于根据第一信息和第二信息生成中间值;
加密单元,用于根据预设的加密算法加密中间值,生成密文信息;
压缩单元,用于根据预设的压缩算法压缩密文信息,生成第三信息。
本实施例中,安全装置6的第三信息生成模块62具体包括:
第二中间值生成单元,用于根据动态因子、第一信息和第二信息生成中间值,然后更新动态因子,或者,先更新动态因子,然后根据更新后的动态因子、第一信息和第二信息生成中间值;
第三生成单元,用于对中间值进行处理生成第三信息;
相应地,第二服务器4的认证模块44还包括:
更新单元,用于按照与安全装置相同的方式更新动态因子。
本实施例中涉及的动态因子具体为:时间因子或事件因子。
本实施例中,上述第二中间值生成单元和更新单元均按以下方式更新动态因子:
获取当前国际标准时间,将当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将当前事件因子加或减指定值后的结果,作为更新后的事件因子。
本实施例中,第二服务器8的认证模块84具体包括:
认证单元,用于根据第一信息和第二信息,用与安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,比对验证窗口内是否有与第三信息相同的认证码进行验证,如果是,则验证成功,否则,验证失败;
相应地,上述更新单元具体用于当比对验证窗口内有与第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与安全装置相同的方式更新当前动态因子。
本实施例中,具体地,第一服务器为应用服务器,第二服务器为认证服务器,第一信息为交易信息,第二信息为挑战值,第三信息为动态口令,第一服务器和第二服务器可以集成于一个设备中。
由于本发明实施例中的安全装置的信息是预先注册到交易系统的认证服务器中的,并且该安全装置生成的动态口令是根据交易信息生成的,使得用户在使用安全装置进行交易时,即使该动态口令被非法截获,也无法更改交易信息,例如账号、金额等,能够有效防止冒用,极大地提高了交易过程中的安全性。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (44)

1.一种通过认证码对客户端进行验证的方法,其特征在于,所述方法包括:
客户端向第一服务器发出服务请求,并将用户输入的第一信息通过所述第一服务器发送给第二服务器,所述第二服务器内预先注册有安全装置的信息;
所述第二服务器收到所述第一信息后,根据预设的算法生成第二信息,并通过所述第一服务器将所述第二信息返回给所述客户端,所述客户端将所述第二信息提供给所述用户;
所述安全装置接收所述用户输入的所述第一信息和第二信息,根据所述第一信息和第二信息生成中间值,并根据所述安全装置存储的密钥种子对所述中间值进行处理后生成第三信息提供给所述用户;
所述客户端接收所述用户输入的所述第三信息,通过所述第一服务器将所述第三信息发送给所述第二服务器;
所述第二服务器收到所述第三信息后,根据所述第一信息和第二信息生成中间值,并根据所述第二服务器存储的密钥种子对所述中间值进行处理后生成认证码,比对所述认证码与第三信息是否相同进行验证,并返回验证结果给所述第一服务器。
2.根据权利要求1所述的方法,其特征在于,根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置对所述第一信息和第二信息进行组合,生成中间值。
3.根据权利要求1所述的方法,其特征在于,所述将用户输入的第一信息通过所述第一服务器发送给第二服务器,具体包括:
所述客户端将所述用户输入的第一信息发送给所述第一服务器;
所述第一服务器采用预设的哈希算法,对所述第一信息进行压缩,将压缩后的第一信息发送给所述第二服务器;
相应地,所述根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置采用与所述第一服务器相同的哈希算法,对所述第一信息进行压缩后,与所述第二信息组合,生成中间值。
4.根据权利要求3所述的方法,其特征在于,所述预设的哈希算法具体为:SHA1摘要算法。
5.根据权利要求1所述的方法,其特征在于,所述第二服务器收到所述第一信息后,根据预设的算法生成第二信息,具体包括:
所述第二服务器收到所述第一信息后,根据预设的算法和所述第一信息,生成第二信息。
6.根据权利要求1所述的方法,其特征在于,对所述中间值进行处理后生成第三信息提供给所述用户,具体包括:
所述安全装置根据预设的加密算法加密所述中间值,生成密文信息;
根据预设的压缩算法压缩所述密文信息,生成第三信息提供给所述用户。
7.根据权利要求6所述的方法,其特征在于,所述预设的加密算法具体为:SHA1算法、SHA256算法和DES算法中的至少一种。
8.根据权利要求6所述的方法,其特征在于,所述预设的压缩算法具体为:掩码压缩和自定义算法压缩中的至少一种。
9.根据权利要求1所述的方法,其特征在于,根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置根据动态因子、所述第一信息和第二信息生成中间值,然后更新动态因子;
或者,所述安全装置更新动态因子,然后根据所述更新后的动态因子、所述第一信息和第二信息生成中间值;
相应地,用与所述安全装置生成第三信息相同的方法生成认证码,进一步地还包括:
所述第二服务器按照与所述安全装置相同的方式更新动态因子。
10.根据权利要求9所述的方法,其特征在于,所述动态因子具体为:时间因子或事件因子。
11.根据权利要求10所述的方法,其特征在于,所述更新动态因子,具体包括:
获取当前国际标准时间,将所述当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将所述当前事件因子加或减指定值后的结果,作为更新后的事件因子。
12.根据权利要求9所述的方法,其特征在于,用与所述安全装置生成第三信息相同的方法生成认证码,比对所述认证码与第三信息是否相同进行验证,具体包括:
用与所述安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,通过比对所述验证窗口内是否有与所述第三信息相同的认证码来进行验证,如果是,则验证成功,否则,验证失败;
相应地,所述第二服务器按照与所述安全装置相同的方式更新动态因子,具体包括:
当比对所述验证窗口内有与所述第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与所述安全装置相同的方式更新所述当前动态因子。
13.根据权利要求1至12中任一权利要求所述的方法,其特征在于,所述安全装置的信息具体包括:所述安全装置的序列号和对应的密钥种子。
14.根据权利要求1至12中任一权利要求所述的方法,其特征在于,所述第一信息包括:付款方账号、付款方密码、收款方账号、交易金额、交易时间和交易货币类型。
15.一种通过认证码对客户端进行验证的方法,其特征在于,所述方法包括:
客户端向第一服务器发出服务请求,所述第一服务器将所述服务请求转发给第二服务器,所述第二服务器内预先注册有安全装置的信息;
所述第二服务器收到所述服务请求后,根据预设的算法生成第二信息,并通过所述第一服务器将所述第二信息返回给所述客户端,所述客户端将所述第二信息提供给用户;
所述安全装置接收所述用户输入的第一信息和所述第二信息,根据所述第一信息和第二信息生成中间值,并根据所述安全装置存储的密钥种子对所述中间值进行处理后生成第三信息提供给所述用户;
所述客户端接收所述用户输入的所述第三信息和第一信息,通过所述第一服务器将所述第三信息和第一信息发送给所述第二服务器;
所述第二服务器收到所述第三信息和第一信息后,根据所述第一信息和第二信息生成中间值,并根据所述第二服务器存储的密钥种子对所述中间值进行处理后生成认证码,通过比对所述认证码与第三信息是否相同来进行验证,并返回验证结果给所述第一服务器。
16.根据权利要求15所述的方法,其特征在于,根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置对所述第一信息和第二信息进行组合,生成中间值。
17.根据权利要求15所述的方法,其特征在于,所述根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置采用预设的哈希算法,对所述第一信息进行压缩后,与所述第二信息组合,生成中间值;
相应地,所述通过所述第一服务器将所述第三信息和第一信息发送给所述第二服务器,具体包括:
所述客户端将所述第三信息和第一信息发送给所述第一服务器;
所述第一服务器采用与所述安全装置相同的哈希算法,对所述第一信息进行压缩,将所述第三信息和压缩后的第一信息发送给所述第二服务器。
18.根据权利要求17所述的方法,其特征在于,所述预设的哈希算法具体为:SHA1摘要算法。
19.根据权利要求15所述的方法,其特征在于,对所述中间值进行处理后生成第三信息提供给所述用户,具体包括:
所述安全装置根据预设的加密算法加密所述中间值,生成密文信息;
根据预设的压缩算法压缩所述密文信息,生成第三信息提供给所述用户。
20.根据权利要求19所述的方法,其特征在于,所述预设的加密算法具体为:SHA1算法、SHA256算法和DES算法中的至少一种。
21.根据权利要求19所述的方法,其特征在于,所述预设的压缩算法具体为:掩码压缩和自定义算法压缩中的至少一种。
22.根据权利要求15所述的方法,其特征在于,根据所述第一信息和第二信息生成中间值,具体包括:
所述安全装置根据动态因子、所述第一信息和第二信息生成中间值,然后更新动态因子;
或者,所述安全装置更新动态因子,然后根据所述更新后的动态因子、所述第一信息和第二信息生成中间值;
相应地,用与所述安全装置生成第三信息相同的方法生成认证码,进一步地还包括:
所述第二服务器按照与所述安全装置相同的方式更新动态因子。
23.根据权利要求22所述的方法,其特征在于,所述动态因子具体为:时间因子或事件因子。
24.根据权利要求23所述的方法,其特征在于,所述更新动态因子,具体包括:
获取当前国际标准时间,将所述当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将所述当前事件因子加或减指定值后的结果,作为更新后的事件因子。
25.根据权利要求22所述的方法,其特征在于,用与所述安全装置生成第三信息相同的方法生成认证码,比对所述认证码与第三信息是否相同进行验证,具体包括:
用与所述安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,比对所述验证窗口内是否有与所述第三信息相同的认证码进行验证,如果是,则验证成功,否则,验证失败;
相应地,所述第二服务器按照与所述安全装置相同的方式更新动态因子,具体包括:
当比对所述验证窗口内有与所述第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与所述安全装置相同的方式更新所述当前动态因子。
26.根据权利要求15至25中任一权利要求所述的方法,其特征在于,所述安全装置的信息具体包括:所述安全装置的序列号和对应的密钥种子。
27.根据权利要求15至25中任一权利要求所述的方法,其特征在于,所述第一信息包括:付款方账号、付款方密码、收款方账号、交易金额、交易时间和交易货币类型。
28.一种通过认证码对客户端进行验证的系统,其特征在于,所述系统包括:客户端、安全装置、第一服务器和第二服务器;
所述客户端包括:
第一通信模块,用于向所述第一服务器发出服务请求,并将用户输入的第一信息发送给所述第一服务器,接收所述第一服务器返回的第二信息,在用户输入第三信息后将其发送给所述第一服务器,接收所述第一服务器返回的交易结果;
输出模块,用于将所述第一通信模块收到的所述第二信息提供给所述用户;
输入模块,用于接收所述用户输入的第一信息和第三信息;
所述安全装置包括:
输入模块,用于接收所述用户输入的所述第一信息和第二信息;
第三信息生成模块,用于根据所述第一信息和第二信息生成中间值,并根据所述安全装置存储的密钥种子对所述中间值进行处理后生成第三信息;
输出模块,用于将所述第三信息提供给所述用户;
所述第一服务器包括:
第二通信模块,用于接收所述客户端发来的服务请求并转发给所述第二服务器,接收所述客户端发来的第一信息并转发给所述第二服务器,接收所述客户端发来的第三信息并转发给所述第二服务器,接收所述第二服务器返回的验证结果;
所述第二服务器包括:
存储模块,用于存储所述安全装置的信息;
第三通信模块,用于接收所述第一服务器发来的第一信息,将所述第二信息返回给所述第一服务器,接收所述第一服务器发来的第三信息,返回验证结果给所述第一服务器;
第二信息生成模块,用于在所述第三通信模块收到所述第一信息后,根据预设的算法生成所述第二信息;
认证模块,用于根据所述第一信息和第二信息生成中间值,并根据所述第二服务器存储的密钥种子对所述中间值进行处理后生成认证码,比对所述认证码与第三信息是否相同进行验证。
29.根据权利要求28所述的系统,其特征在于,所述安全装置的第三信息生成模块具体包括:
第一生成单元,用于对所述第一信息和第二信息进行组合,生成中间值,对所述中间值进行处理后生成第三信息。
30.根据权利要求28所述的系统,其特征在于,所述第一服务器还包括:
压缩模块,用于采用预设的哈希算法,对所述第二通信模块收到的第一信息进行压缩,将压缩后的第一信息通过所述第二通信模块发送给所述第二服务器;
相应地,所述安全装置的第三信息生成模块具体包括:
第二生成单元,用于采用与所述第一服务器相同的哈希算法,对所述第一信息进行压缩后,与所述第二信息组合,生成中间值,对所述中间值进行处理生成第三信息。
31.根据权利要求28所述的系统,其特征在于,所述第二服务器的第二信息生成模块具体包括:
第二信息生成单元,用于在所述第三通信模块收到所述第一信息后,根据预设的算法和所述第一信息,生成第二信息。
32.根据权利要求28所述的系统,其特征在于,所述安全装置的第三信息生成模块具体包括:
第一中间值生成单元,用于根据所述第一信息和第二信息生成中间值;
加密单元,用于根据预设的加密算法加密所述中间值,生成密文信息;
压缩单元,用于根据预设的压缩算法压缩所述密文信息,生成第三信息。
33.根据权利要求28所述的系统,其特征在于,所述安全装置的第三信息生成模块具体包括:
第二中间值生成单元,用于根据动态因子、所述第一信息和第二信息生成中间值,然后更新动态因子,或者,先更新动态因子,然后根据所述更新后的动态因子、所述第一信息和第二信息生成中间值;
第三生成单元,用于对所述中间值进行处理生成第三信息;
相应地,所述第二服务器的认证模块还包括:
更新单元,用于按照与所述安全装置相同的方式更新动态因子。
34.根据权利要求33所述的系统,其特征在于,所述动态因子具体为:时间因子或事件因子。
35.根据权利要求34所述的系统,其特征在于,所述第二中间值生成单元和更新单元均按以下方式更新动态因子:
获取当前国际标准时间,将所述当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将所述当前事件因子加或减指定值后的结果,作为更新后的事件因子。
36.根据权利要求33所述的系统,其特征在于,所述第二服务器的认证模块具体包括:
认证单元,用于根据所述第一信息和第二信息,用与所述安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,比对所述验证窗口内是否有与所述第三信息相同的认证码进行验证,如果是,则验证成功,否则,验证失败;
相应地,所述更新单元具体用于当比对所述验证窗口内有与所述第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与所述安全装置相同的方式更新所述当前动态因子。
37.一种通过认证码对客户端进行验证的系统,其特征在于,所述系统包括:客户端、安全装置、第一服务器和第二服务器;
所述客户端包括:
第一通信模块,用于向第一服务器发出服务请求,接收所述第一服务器返回的第二信息,将用户输入的第三信息和第一信息发送给所述第一服务器,接收所述第一服务器返回的交易结果;
输出模块,用于将所述第一通信模块收到的第二信息提供给所述用户;
输入模块,用于接收所述用户输入的所述第三信息和第一信息,通过所述第一服务器将所述第三信息和第一信息发送给所述第二服务器;
所述安全装置包括:
输入模块,用于接收所述用户输入的第一信息和第二信息;
第三信息生成模块,用于根据所述第一信息和第二信息生成中间值,并根据所述安全装置存储的密钥种子对所述中间值进行处理后生成第三信息;
输出模块,用于将所述第三信息提供给所述用户;
所述第一服务器包括:
第二通信模块,用于接收所述客户端发来的所述服务请求,转发给所述第二服务器,接收所述第二服务器返回的所述第二信息,转发给所述客户端,接收所述客户端发来的第三信息和第一信息,转发给所述第二服务器,接收所述第二服务器返回的验证结果;
所述第二服务器包括:
存储模块,用于存储所述安全装置的信息;
第三通信模块,用于接收所述第一服务器发来的所述服务请求,将所述第二信息返回给所述第一服务器,接收所述第一服务器发来的第一信息和第三信息,返回验证结果给所述第一服务器,
第二信息生成模块,用于在所述第三通信模块收到所述服务请求后,根据预设的算法生成第二信息;
认证模块,用于根据所述第一信息和第二信息生成中间值,并根据所述第二服务器存储的密钥种子对所述中间值进行处理后生成认证码,比对所述认证码与第三信息是否相同进行验证。
38.根据权利要求37所述的系统,其特征在于,所述安全装置的第三信息生成模块具体包括:
第一生成单元,用于对所述第一信息和第二信息进行组合,生成中间值,对所述中间值进行处理生成第三信息。
39.根据权利要求37所述的系统,其特征在于,所述安全装置的第三信息生成模块具体包括:
第二生成单元,用于采用预设的哈希算法,对所述第一信息进行压缩后,与所述第二信息组合,生成中间值,对所述中间值进行处理生成第三信息;
相应地,所述第一服务器还包括:
压缩模块,用于采用与所述安全装置相同的哈希算法,对所述第二通信模块收到的第一信息进行压缩,并通过所述第二通信模块将所述压缩后的第一信息发送给所述第二服务器。
40.根据权利要求37所述的系统,其特征在于,所述安全装置的第三信息生成模块具体包括:
第一中间值生成单元,用于根据所述第一信息和第二信息生成中间值;
加密单元,用于根据预设的加密算法加密所述中间值,生成密文信息;
压缩单元,用于根据预设的压缩算法压缩所述密文信息,生成第三信息。
41.根据权利要求37所述的系统,其特征在于,所述安全装置的第三信息生成模块具体包括:
第二中间值生成单元,用于根据动态因子、所述第一信息和第二信息生成中间值,然后更新动态因子,或者,先更新动态因子,然后根据所述更新后的动态因子、所述第一信息和第二信息生成中间值;
第三生成单元,用于对所述中间值进行处理生成第三信息;
相应地,所述第二服务器的认证模块还包括:
更新单元,用于按照与所述安全装置相同的方式更新动态因子。
42.根据权利要求41所述的系统,其特征在于,所述动态因子具体为:时间因子或事件因子。
43.根据权利要求42所述的系统,其特征在于,所述第二中间值生成单元和更新单元均按以下方式更新动态因子:
获取当前国际标准时间,将所述当前国际标准时间加或减指定值后的结果,作为更新后的时间因子;
或者,获取当前事件因子,将所述当前事件因子加或减指定值后的结果,作为更新后的事件因子。
44.根据权利要求41所述的系统,其特征在于,所述第二服务器的认证模块具体包括:
认证单元,用于根据所述第一信息和第二信息,用与所述安全装置生成第三信息相同的方法生成多个认证码作为验证窗口,比对所述验证窗口内是否有与所述第三信息相同的认证码进行验证,如果是,则验证成功,否则,验证失败;
相应地,所述更新单元具体用于当比对所述验证窗口内有与所述第三信息相同的认证码时,将比对成功的认证码对应的动态因子作为当前动态因子,按照与所述安全装置相同的方式更新所述当前动态因子。
CN200910090578.XA 2009-08-27 2009-08-27 通过认证码对客户端进行验证的方法和系统 Active CN101651675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910090578.XA CN101651675B (zh) 2009-08-27 2009-08-27 通过认证码对客户端进行验证的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910090578.XA CN101651675B (zh) 2009-08-27 2009-08-27 通过认证码对客户端进行验证的方法和系统

Publications (2)

Publication Number Publication Date
CN101651675A CN101651675A (zh) 2010-02-17
CN101651675B true CN101651675B (zh) 2015-09-23

Family

ID=41673784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910090578.XA Active CN101651675B (zh) 2009-08-27 2009-08-27 通过认证码对客户端进行验证的方法和系统

Country Status (1)

Country Link
CN (1) CN101651675B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010033231B4 (de) 2010-08-03 2013-08-22 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur manipulationssicheren Bereitstellung eines Schlüssel-Zertifikates
DE102010033232A1 (de) * 2010-08-03 2012-02-09 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Bereitstellen eines Einmalpasswortes
CN102542503A (zh) * 2010-12-09 2012-07-04 同方股份有限公司 一种移动通信终端实现银行安全交易的系统及方法
CN102170437A (zh) * 2011-04-19 2011-08-31 上海众人网络安全技术有限公司 基于挑战口令令牌实现钓鱼网站识别的系统及方法
CN102307094A (zh) * 2011-04-27 2012-01-04 上海动联信息技术有限公司 一种动态口令签名方法
CN102202300B (zh) * 2011-06-14 2016-01-20 上海众人网络安全技术有限公司 一种基于双通道的动态密码认证系统及方法
CN102222390B (zh) * 2011-06-30 2012-10-31 飞天诚信科技股份有限公司 一种多功能智能密钥装置及其工作方法
FR2978891B1 (fr) * 2011-08-05 2013-08-09 Banque Accord Procede, serveur et systeme d'authentification d'une personne
CN102752311B (zh) * 2012-07-16 2016-04-06 天地融科技股份有限公司 一种认证方法、系统和装置
CN102769624B (zh) * 2012-07-24 2016-01-20 天地融科技股份有限公司 一种动态口令生成系统、装置及方法
TW201419185A (zh) * 2012-11-08 2014-05-16 Chien-Kang Yang 行動裝置、付款交易系統及付款交易方法
CN104063793B (zh) * 2013-03-19 2017-04-12 乐点卡数位科技股份有限公司 利用身份代码于不同服务器间进行安全交易的方法
CN103208151B (zh) * 2013-04-03 2016-08-03 天地融科技股份有限公司 处理操作请求的方法及系统
CN103220280A (zh) * 2013-04-03 2013-07-24 天地融科技股份有限公司 动态口令牌、动态口令牌数据传输方法及系统
CN103366278B (zh) * 2013-06-04 2016-11-23 天地融科技股份有限公司 处理操作请求的方法及系统
CN103427996B (zh) * 2013-08-09 2016-04-06 天地融科技股份有限公司 一种动态口令牌身份的验证方法及系统
CN103491090A (zh) * 2013-09-23 2014-01-01 金蝶软件(中国)有限公司 一种安全认证方法、设备及系统
CN104077690B (zh) * 2014-06-24 2020-08-28 北京安讯奔科技有限责任公司 一次性密码生成的方法、装置及认证方法、认证系统
CN105337938A (zh) * 2014-07-28 2016-02-17 阿里巴巴集团控股有限公司 一种合法性验证方法及装置
CN104168116B (zh) * 2014-08-19 2019-06-04 天地(常州)自动化股份有限公司 一种数据库身份验证方法及系统
CN104767617A (zh) * 2015-03-06 2015-07-08 北京石盾科技有限公司 一种信息处理方法、系统和相关设备
CN106789076B (zh) * 2016-12-28 2020-01-14 Tcl集团股份有限公司 服务器与智能设备的交互方法及装置
CN109583181B (zh) * 2018-11-29 2020-07-03 新华三技术有限公司 一种认证方法、装置及机器可读存储介质
CN110070363B (zh) * 2019-03-13 2021-08-06 咪咕文化科技有限公司 区块链网络中的账户管理方法、验证方法及终端设备
CN112242994B (zh) * 2020-09-07 2021-10-08 深圳数字电视国家工程实验室股份有限公司 一种实体间的位置检查方法和数字内容保护系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937498A (zh) * 2006-10-09 2007-03-28 网之易信息技术(北京)有限公司 一种动态密码认证方法、系统及装置
CN101339677A (zh) * 2008-08-28 2009-01-07 北京飞天诚信科技有限公司 安全授权的方法和系统
CN101500011A (zh) * 2009-03-13 2009-08-05 北京华大智宝电子系统有限公司 实现动态口令安全保护的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937498A (zh) * 2006-10-09 2007-03-28 网之易信息技术(北京)有限公司 一种动态密码认证方法、系统及装置
CN101339677A (zh) * 2008-08-28 2009-01-07 北京飞天诚信科技有限公司 安全授权的方法和系统
CN101500011A (zh) * 2009-03-13 2009-08-05 北京华大智宝电子系统有限公司 实现动态口令安全保护的方法及系统

Also Published As

Publication number Publication date
CN101651675A (zh) 2010-02-17

Similar Documents

Publication Publication Date Title
CN101651675B (zh) 通过认证码对客户端进行验证的方法和系统
JP7442552B2 (ja) 動的オフチェーンデジタル通貨トランザクション処理
EP3073670B1 (en) A system and a method for personal identification and verification
CN108885670B (zh) 用于交互的验证密码
US8608065B2 (en) Authenticating electronic financial transactions
EP2380308B1 (en) Secure remote authentication through an untrusted network
WO2018223125A1 (en) Methods and systems for ownership verification using blockchain
CA2914956C (en) System and method for encryption
CN110674523A (zh) 一种数字签名结合手写签名确认电子合同签署人的方法
CN101216923A (zh) 提高网上银行交易数据安全性的系统及方法
JP2004519874A (ja) 信頼された認証デジタル署名(tads)システム
CN101770619A (zh) 一种用于网上支付的多因子认证方法和认证系统
CN102118251A (zh) 基于多界面安全智能卡的网上银行远程支付的安全认证方法
CN105162607A (zh) 一种支付账单凭证的认证方法及系统
WO2022078367A1 (zh) 支付密钥的加密和解密方法、支付认证方法及终端设备
CN104657860A (zh) 一种手机银行安全认证方法
CN104301288A (zh) 在线身份认证、在线交易验证、在线验证保护的方法与系统
CN111052671A (zh) 在用于银行业务交易的电子系统中用于用户身份的安全认证的系统
CN105427102A (zh) 基于金融ic卡的认证方法及其相应的设备和系统
CN102609842A (zh) 一种基于硬件签名设备的支付密码装置及其应用方法
JP2007298985A (ja) 銀行カードのコンピュータにおけるpki応用の一つの実現方法
CN102708491A (zh) 基于可信计算的新型USB Key设备及其安全交易方法
CN102739398A (zh) 网银身份认证的方法及装置
CN201947283U (zh) 基于多界面安全智能卡的网上银行远程支付的安全认证装置
CN111695096B (zh) 一种身份验证的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 17th floor, building B, Huizhi building, No.9, Xueqing Road, Haidian District, Beijing 100085

Patentee after: Feitian Technologies Co.,Ltd.

Country or region after: China

Address before: 17th Floor, Building B, Huizhi Building, No. 9 Xueqing Road, Haidian District, Beijing, 100085

Patentee before: Feitian Technologies Co.,Ltd.

Country or region before: China