CN103516525B - 一种动态口令生成方法和*** - Google Patents
一种动态口令生成方法和*** Download PDFInfo
- Publication number
- CN103516525B CN103516525B CN201310499775.3A CN201310499775A CN103516525B CN 103516525 B CN103516525 B CN 103516525B CN 201310499775 A CN201310499775 A CN 201310499775A CN 103516525 B CN103516525 B CN 103516525B
- Authority
- CN
- China
- Prior art keywords
- random number
- encrypted
- pin code
- mobile terminal
- module
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000005540 biological transmission Effects 0.000 claims description 66
- 238000004364 calculation method Methods 0.000 claims description 46
- 238000012795 verification Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 17
- 238000012790 confirmation Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 230000002829 reductive effect Effects 0.000 abstract description 17
- 230000006870 function Effects 0.000 description 48
- 238000005516 engineering process Methods 0.000 description 15
- 238000005336 cracking Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本发明提供一种动态口令生成方法和***,动态口令生成方法包括:移动终端接收后台服务器发送的加密数据包,将加密后的PIN码发送至智能密码设备,智能密码设备验证PIN码合法,开启动态口令生成功能并接收加密数据包,生成本次交易对应的动态口令。本发明借用移动终端的键盘功能,由移动终端通过音频接口发送给智能密码设备,从而完成PIN码的输入,使得智能密码设备无需设置数字键盘,大大缩小了智能密码设备的体积。
Description
技术领域
本发明涉及一种电子技术领域,尤其涉及一种动态口令生成方法和***。
背景技术
随着网络的迅速发展给人们带来的极大便利,人们越来越依赖于网络进行各种活动,例如网络文件的传输、网上银行交易均已逐渐成为人们生活、工作中不可缺少的一部分。由于网络毕竟是一个虚拟的环境,存在着太多不安全的因素,而在网络环境中必然会进行数据交互的网络活动,尤其是像网上银行业务和机密文件的传输这样的网络活动,对网络的安全提出了很高的要求,因此人们开始大力发展网络信息安全技术。
数字签名技术就是一种为了确保用户数据在网络的传输过程中不会被人恶意修改的网络信息安全技术。所谓数字签名技术,就是一种进行身份认证的技术,可用于安全地传送命令和文件。数字签名技术通过一个单向函数对要传送的用户数据进行处理,得到用以认证数据来源并核实数据是否发生变化的一个字母数字串。通常数字签名采用MD5、SHA-1等散列算法对要传送的数据计算一个摘要值,并采用加密算法对这个摘要值进行加密然后进行传送。目前数字签名采用较多的是公钥加密技术,如基于RSA Date Security公司的PKCS(Public Key Cryptography Standards)、Digital Signature Algorithm、x.509、PGP(Pretty Good Privacy).1994年美国标准与技术协会公布了数字签名标准(DSS)而使公钥加密技术广泛应用。这种在数字化文档上的数字签名类似于纸张上的手写签名,是不可伪造的,文档的接收者能够验证文档确实来自签名者,并且签名后的文档没有被修改过,从而保证接收的文档中信息的真实性和完整性。完善的数字签名技术应满足以下三个条件:第一,签名者事后不能抵赖自己的签名;第二,任何其它人不能伪造签名;第三,如果当事人双方关于签名的真伪发生争执,能够在公正的仲裁者面前通过验证签名来确认其真伪。
对数据进行数字签名后,可以很大程度上增加数据的安全性。但是,黑客技术的发展依然使用户非常担忧,因为一旦恶意攻击者控制了用户的使用的终端,他们就可以截取终端内存中出现的数据,对终端合法用户的利益造成伤害。因此人们研制出了一种便携式的可移动使用的智能密码设备,也称为Key设备,包括:USB Key、蓝牙Key以及支持手机音频接口的音频Key等任意形式的设备。这是一种带有微处理器的小型硬件设备,其通过终端数据通讯接口与终端建立连接,设备内的处理器一般会采用安全设计芯片实现,利用其内置的安全机制,实现密钥生成、密钥安全存储和预置加密算法等功能,与密钥相关的运算完全在认证设备内部执行,所以安全性很高。同时,令智能密码设备包含显示屏以及确认按键,需要签名的交易请求报文必须发送至智能密码设备的显示屏进行显示,并且在显示无误后,经用户手动按确认键进行确认后,方可将签名数据返回至计算。这样即便黑客控制了用户的终端,但是无法控制智能密码设备,并且更不能控制用户手动按确认键进行确认,因此安全性得到了很大提高。
另外,银行和各种大型电子商务网站还同时采用动态口令令牌或动态口令卡来加强网络身份认证的安全性。
动态口令技术又称为一次性口令(One Time Password,简称OTP)技术,其特点是用户根据服务商提供的动态口令令牌的显示数字来输入动态密码,以便进行网络交易。现有的动态口令牌(One Time Password,OTP)存在不同种类的动态口令生成方式,例如:基于时间型的动态口令牌,基于事件型的动态口令牌,以及基于挑战应答型的动态口令牌,或者基于上述三种类型的任意组合型的动态口令牌。
基于上述两种网络身份认证技术,人们开发出了一种新型智能密码设备,其集成了数字签名技术以及动态口令技术,具备现有的Key设备具有的数字签名功能,同时还具备现有的动态口令牌具有的动态口令生成功能,在方便人们使用的同时还减少了设备数量。
但是在智能密码设备的动态口令生成功能为基于挑战/应答式的动态口令生成方式时,需要用户输入挑战码,从而根据挑战码生成动态口令,挑战码的输入方式是由用户对智能密码设备上的数字的操作实现挑战码的输入,需要在该智能密码设备上设置0~9共10个数字键,使得智能密码设备的体积过大,不利于携带,因此如何减小智能密码设备的体积以及实现安全、简便的输入挑战码是亟待解决的技术问题。
发明内容
本发明旨在解决上述问题/之一,提供一种动态口令生成方法和***。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明一方面提供了一种动态口令生成方法,包括:移动终端获取交易信息,并根据交易信息生成交易请求,并将所述交易请求发送至后台服务器,其中所述交易请求至少包括交易信息以及挑战码请求;所述后台服务器接收所述交易请求,并根据预先设置的挑战码生成策略,生成所述交易请求的挑战码;再利用加密密钥至少对所述挑战码进行加密,得到加密数据包,并向所述移动终端发送所述加密数据包;在移动终端将所述加密数据包发送给智能密码设备之前,所述移动终端检测智能密码设备是否已***;如果所述智能密码设备已***,则通过所述移动终端的键盘获取所述智能密码设备的PIN码;并通过一次性密钥加密所述PIN码,得到加密后的PIN码,对所述加密后的PIN码进行编码,得到编码数据,并通过第一接口将所述编码数据发送至所述智能密码设备,其中,所述PIN码用于开启所述智能密码设备的功能权限;所述智能密码设备接收所述编码数据,对所述编码数据进行解码,获得所述加密后的PIN码,根据所述加密后的PIN码验证所述PIN码的合法性,如果验证所述PIN码合法,开启动态口令生成功能,并向所述移动终端发送状态切换成功信息;所述移动终端在接收到状态切换成功信息后,通过第一接口将接收到的所述加密数据包发送给智能密码设备;所述智能密码设备利用加密密钥对应的解密密钥对所述加密数据包进行解密,得到解密数据,并输出所述解密数据;当接收到对所述解密数据的确认指令后,生成本次交易对应的动态口令。
此外,所述移动终端获取交易信息,包括:所述移动终端在获取交易信息的付款账号和/或收款账号之前,显示历史记录中记载的账号信息,如果历史记录中对应有账号,则接收对显示的账号信息的选择指令,将选择的账号作为交易信息保存,如果历史记录中没有对应的账号,则接收用户输入的账号信息,将用户输入的账号信息作为交易信息保存,并将用户输入的账号信息添加到历史记录中。
此外,所述加密数据包还包括时间同步信息,用以同步智能密码设备中时钟模块的时间;在生成本次交易对应的动态口令之前,所述方法还包括:智能密码设备将解密得到的时间同步信息与所述智能密码设备中动态口令功能中时钟模块的时间进行比较,得到时间差值,将所述时间差值与本地存储的时间误差范围进行比较,如果时间差值不在时间误差范围内,则提示用户是否进行时间同步;如果接收到同步指令后,根据时间同步信息,对时钟模块的时间进行调整,并在调整完成后,执行动态口令生成流程。
此外,所述移动终端通过一次性密钥加密所述PIN码,得到加密后的PIN码,包括:移动终端获取智能密码设备的公钥,并利用所述公钥对本地生成的软件随机数K1进行加密,并将加密后的软件随机数K1’发送给智能密码设备;智能密码设备接收所述加密后的软件随机数K1’,并利用所述公钥对应的私钥对所述加密后的软件随机数K1’进行解密,得到软件随机数K1;并生成一硬件随机数K2,并利用所述软件随机数K1加密所述硬件随机数K2,得到加密后的硬件随机数K2’,发送所述加密后的硬件随机数K2’至移动终端;所述移动终端利用所述软件随机数K1对加密后的硬件随机数K2’进行解密,得到硬件随机数K2,将硬件随机数K2作为一次性密钥,利用硬件随机数K2加密PIN码,得到加密后的PIN码;所述智能密码设备根据所述加密后的PIN码验证所述PIN码的合法性,包括:所述智能密码设备接收所述加密后的PIN码,并利用所述硬件随机数K2解密所述加密后的PIN码,得到PIN码;将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
此外,所述移动终端通过一次性密钥加密所述PIN码,得到加密后的PIN码,包括:移动终端获取智能密码设备的公钥和智能密码设备生成的随机数,并利用所述公钥对所述随机数和PIN码组成的序列进行加密,得到加密结果;所述智能密码设备根据所述加密后的PIN码验证所述PIN码的合法性,包括:所述智能密码设备利用私钥对所述加密结果进行解密,得到所述序列,并利用所述随机数,从所述序列中获取所述PIN码,将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
此外,所述加密密钥和所述解密密钥为非对称公私钥对,且所述加密密钥与所述智能密码设备的公钥不同,所述解密密钥与智能密码设备的私钥不同。
此外,所述移动终端通过一次性密钥加密所述PIN码,得到加密后的PIN码,包括:所述移动终端获取随机数,并将该随机数和PIN码组成第一序列,对所述第一序列进行哈希算法计算;得到第一计算结果;所述智能密码设备根据所述加密后的PIN码验证所述PIN码的合法性,包括:所述智能密码设备按照与移动终端的处理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二计算结果,将所述第一计算结果和所述第二计算结果进行比对,如果所述第一计算结果和所述第二计算结果相同,则验证通过。
本发明另一方面提供了一种动态口令生成***,其特征在于,包括移动终端、后台服务器和智能密码设备,其中:所述移动终端中的第一处理模块,用于获取交易信息,并根据交易信息生成交易请求,其中所述交易请求至少包括交易信息以及挑战码请求;所述移动终端中的第一传输模块,与所述第一处理模块相连,用于将所述交易请求发送至后台服务器;所述后台服务器中的第二传输模块,用于接收所述交易请求;所述后台服务器中的第一生成模块,与所述第二传输模块相连,用于根据预先设置的挑战码生成策略,生成所述交易请求的挑战码;所述后台服务器中的第一加密模块,与所述第一生成模块相连,用于利用加密密钥至少对所述挑战码进行加密,得到加密数据包;所述后台服务器的所述第二传输模块,与所述第一加密模块相连,用于向所述移动终端发送所述加密数据包;所述移动终端的检测模块,用于在移动终端将所述加密数据包发送给智能密码设备之前,检测智能密码设备是否已***;所述移动终端中的获取模块,与所述检测模块相连,用于在检测模块检测到所述智能密码设备已***时,通过所述移动终端的键盘获取所述智能密码设备的PIN码;其中,所述PIN码用于开启所述智能密码设备的功能权限;所述移动终端中的第二加密模块,与所述获取模块相连,用于通过一次性密钥加密所述PIN码,得到加密后的PIN码;所述移动终端中的所述第三传输模块,与所述第二加密模块相连,用于对所述加密后的PIN码进行编码,得到编码数据,并通过第一接口将所述编码数据发送至所述智能密码设备;所述智能密码设备中的第四传输模块,与所述第三传输模块相连,用于接收所述编码数据,对所述编码数据进行解码,获得所述加密后的PIN码;所述智能密码设备中的验证模块,与所述第四传输模块相连,用于根据所述加密后的PIN码验证所述PIN码的合法性,如果验证所述PIN码合法,开启动态口令生成功能,并通过所述第四传输模块向所述移动终端发送状态切换成功信息;所述移动终端中的所述第三传输模块,用于在接收到状态切换成功信息后,通过第一接口将接收到的所述加密数据包发送给智能密码设备;所述智能密码设备中的动态口令生成模块,包括:解密子模块,用于利用加密密钥对应的解密密钥对所述加密数据包进行解密,得到解密数据,并输出所述解密数据;第二生成子模块,用于当接收到对所述解密数据的确认指令后,生成本次交易对应的动态口令。
此外,所述智能密码设备还包括:历史记录模块,所述历史记录模块用于:在获取交易信息的付款账号和/或收款账号之前,显示历史记录中记载的账号信息,如果历史记录中对应有账号,则接收对显示的账号信息的选择指令,将选择的账号作为交易信息保存,如果历史记录中没有对应的账号,则接收用户输入的账号信息,将用户输入的账号信息作为交易信息保存,并将用户输入的账号信息添加到历史记录中。
此外,所述智能密码设备还包括:时钟模块,用于记录时间;所述加密数据包还包括时间同步信息,用以同步智能密码设备中时钟模块的时间;其中,所述智能密码设备中动态口令生成模块还包括:第三处理子模块,与所述时钟模块相连,用于在所述第二生成子模块生成本次交易对应的动态口令之前,将解密得到的时间同步信息与所述智能密码设备中动态口令功能中时钟模块的时间进行比较,得到时间差值,将所述时间差值与本地存储的时间误差范围进行比较,如果时间差值不在时间误差范围内,则提示用户是否进行时间同步;如果接收到同步指令后,根据时间同步信息,对时钟模块的时间进行调整,并在调整完成后,指示所述第二生成子模块执行动态口令生成流程。
此外,所述第二加密模块,具体用于:获取智能密码设备的公钥,并利用所述公钥对本地生成的软件随机数K1进行加密,并通过所述第三传输模块将加密后的软件随机数K1’发送给智能密码设备;以及,利用所述软件随机数K1对加密后的硬件随机数K2’进行解密,得到硬件随机数K2,将硬件随机数K2作为一次性密钥,利用硬件随机数K2加密PIN码,得到加密后的PIN码;所述验证模块,具体用于:接收所述加密后的软件随机数K1’,并利用所述公钥对应的私钥对所述加密后的软件随机数K1’进行解密,得到软件随机数K1;并生成一硬件随机数K2,并利用所述软件随机数K1加密所述硬件随机数K2,得到加密后的硬件随机数K2’,通过所述第四传输模块发送所述加密后的硬件随机数K2’至移动终端;以及,通过所述第四传输模块接收所述加密后的PIN码,并利用所述硬件随机数K2解密所述加密后的PIN码,得到PIN码;将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
此外,所述第二加密模块,具体用于:获取智能密码设备的公钥和智能密码设备生成的随机数,并利用所述公钥对所述随机数和PIN码组成的序列进行加密,得到加密结果;所述验证模块,具体用于:利用私钥对所述加密结果进行解密,得到所述序列,并利用所述随机数,从所述序列中获取所述PIN码,将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
此外,所述加密密钥和所述解密密钥为非对称公私钥对,且所述加密密钥与所述智能密码设备的公钥不同,所述解密密钥与智能密码设备的私钥不同。
此外,所述第二加密模块,具体用于:获取随机数,并将该随机数和PIN码组成第一序列,对所述第一序列进行哈希算法计算;得到第一计算结果;所述验证模块,具体用于:按照与移动终端的处理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二计算结果,将所述第一计算结果和所述第二计算结果进行比对,如果所述第一计算结果和所述第二计算结果相同,则验证通过。
此外,所述智能密码设备包括安全芯片,其中所述动态口令生成模块内置于安全芯片。
此外,所述智能密码设备还包括数字签名模块,其中所述数字签名模块与所述动态口令生成模块内置于同一个安全芯片中。
由上述本发明提供的技术方案可以看出,在生成动态口令过程中,需要借助键盘的操作的场景分别为输入PIN码和输入挑战码,但本发明提供的方法实施例中移动终端发送PIN码实现对用户使用的动态口令的访问控制,且PIN码的输入与现有技术中是在智能密码设备的键盘上输入相比,借用移动终端的键盘功能,由移动终端通过第一接口发送给智能密码设备,从而完成PIN码的输入,使得智能密码设备无需设置数字键盘,大大缩小了智能密码设备的体积;另外,为了保证PIN码的安全传输,通过一次性密钥进行加密,降低了PIN码被盗的可能,保证了信息传输的安全;另外,与现有技术中挑战码由用户输入相比,本申请中挑战码是由移动终端通过第一接口传输给智能密码设备,无需用户手动输入的,优化了用户的输入操作。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明提供的动态口令生成方法实施例的流程示意图;
图2为本发明提供的动态口令生成***实施例的结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面将结合附图对本发明实施例作进一步地详细描述。
图1为本发明提供的动态口令生成方法实施例的流程示意图。图1所示方法实施例包括如下步骤:
步骤101、移动终端获取交易信息,并根据交易信息生成交易请求,并将交易请求发送至后台服务器,其中交易请求至少包括交易信息以及挑战码请求;
其中,移动终端可以为手机、平板电脑等便携式终端;交易信息至少包括付款账号、收款账户和金额等;
具体的,当移动终端接收到交易信息后,移动终端默认选择动态口令的方式来支付;当然,移动终端也可以向后台***服务器查询支付方式,再根据查询请求后,确定支付方式为动态口令的支付方式,进而生成交易请求。
步骤102、后台服务器接收交易请求,并根据预先设置的挑战码生成策略,生成交易请求的挑战码;再利用加密密钥至少对挑战码进行加密,得到加密数据包,并向移动终端发送加密数据包;
其中,现有技术中挑战码的生成方式均适用于本步骤,此处不再赘述;
另外,加密密钥可以是对称密钥或非对称密钥算法的公钥。其中,当该加密密钥为非对称密钥算法的公钥时,当动态口令功能与USBkey的签名功能集成在一起时,该加密密钥可以是智能密码设备中签名功能所使用的私钥对应的公钥,减少后台服务器存储的密钥数量,且方便查找该加密密钥,从而缩短了加密时间,提高后台服务器的处理速度。
步骤103、在移动终端将加密数据包发送给智能密码设备之前,移动终端检测智能密码设备是否已***;如果智能密码设备已***,则通过移动终端的键盘获取智能密码设备的PIN码;并通过一次性密钥加密PIN码,得到加密后的PIN码,对加密后的PIN码进行编码,得到编码数据,并通过第一接口将编码数据发送至智能密码设备,其中,PIN码用于开启智能密码设备的功能权限;
具体来说,移动终端检测智能密码设备是否已***的步骤可以是在移动终端接收到加密数据包之前执行,也可以在移动终端检测到接收到加密数据包后执行的。
此外,移动终端检测智能密码设备是否已***且获取PIN码,将加密后的PIN码发送至智能密码设备的步骤可以是移动终端在接收到加密数据包之前执行,也可以在移动终端检测到接收到加密数据包后执行的。
当然,在移动终端检测到智能密码设备***后,还可以检测该智能密码设备是否合法,在检测到该智能密码设备合法后,执行获取PIN码、加密PIN码以及发送的流程。检测智能密码设备合法,可以确认接收端的合法性,提高信息传输的安全性。
另外,通过移动终端上设置的硬件键盘或者移动终端上设置的触摸屏等虚拟键盘均可以实现PIN码的输入。
其中,采用一次性密钥加密该PIN码,提高了PIN码传输的安全性。具体的,一次性密钥是一个加密密钥,但使用的有效次数为1次,即当一次性密钥M在使用过后,该密钥M就不再使用了,使得黑客无法借助密钥窃取PIN码。
此外,对加密后的PIN码进行编码,使其符合第一接口传输数据的协议,通过移动终端的第一接口进行数据传输,提高了智能密码设备的通用性和易用性。当然,本发明中的第一接口可以为音频接口(耳机接口)、NFC接口、蓝牙接口、OTG接口、USB接口、红外接口、光传输接口等任意形式的接口。
步骤104、智能密码设备接收编码数据,对编码数据进行解码,获得加密后的PIN码,根据加密后的PIN码验证PIN码的合法性,如果验证PIN码合法,开启动态口令生成功能,并向移动终端发送状态切换成功信息;
由步骤103和步骤104可以看出,在移动终端发送加密数据包之前,通过向智能密码设备传输PIN码,可以实现对用户身份的认证,防止不法分子使用该智能密码设备的动态口令功能进行非法交易,提高账号安全;另外,在移动终端和智能密码设备之间通过一次性密钥来传输PIN码,保证了PIN码的传输安全,降低了PIN码被盗的可能,也进一步减少了不法分子使用该智能密码设备的动态口令功能进行非法交易的机会,保障了账户安全。
步骤105、移动终端在接收到状态切换成功信息后,通过第一接口将接收到的加密数据包发送给智能密码设备;
步骤106、智能密码设备利用加密密钥对应的解密密钥对加密数据包进行解密,得到解密数据,并输出解密数据;当接收到对解密数据的确认指令后,生成本次交易对应的动态口令。
具体的,智能密码设备接收到加密数据包后,采用与后台服务器采用的加密密钥对应的解密密钥解密该加密数据包,从该加密数据包中解析出挑战码,输出该挑战码至智能密码设备的显示屏上,以提供用户进行确认,当用户确认该挑战码正确后,按下智能密码设备上的确认按键,智能密码设备接收到该确认指令后,生成本次交易的动态口令,输出该动态口令至显示屏上进行显示或者将该动态口令发送给移动终端。
由上可以看出,在生成动态口令过程中,现有技术中借助键盘的操作的场景分别为输入PIN码和输入挑战码,但本发明提供的方法实施例中移动终端发送PIN码实现对用户使用的动态口令的访问控制,且PIN码的输入与现有技术中是在智能密码设备的键盘上输入相比,借用移动终端的键盘功能,由移动终端通过第一接口发送给智能密码设备,从而完成PIN码的输入,使得智能密码设备无需设置数字键盘,大大缩小了智能密码设备的体积;另外,为了保证PIN码的安全传输,通过一次性密钥进行加密,降低了PIN码被盗的可能,保证了信息传输的安全;另外,与现有技术中挑战码由用户输入相比,本申请中挑战码是由移动终端通过第一接口传输给智能密码设备,无需用户手动输入的,优化了用户的输入操作。
在上述方法流程中,方法实施例还可以包括如下步骤,具体内容如下:
在步骤101中,移动终端在获取交易信息过程中,在获取交易信息的付款账号和/或收款账号之前,为进一步简化用户输入操作,还可以显示历史记录中记载的账号信息,如果历史记录中对应有账号,则接收对显示的账号信息的选择指令,将选择的账号作为交易信息保存,如果历史记录中没有对应的账号,则接收用户输入的账号信息,将用户输入的账号信息作为交易信息保存,并将用户输入的账号信息添加到历史记录中。
在步骤102中,在发送该挑战码的同时,还可以发送其他信息,如时间同步信息,用以同步智能密码设备中时钟模块的时间;相对应的,在步骤106中,在生成本次交易对应的动态口令之前,智能密码设备还执行如下操作:将解密得到的时间同步信息与智能密码设备中动态口令功能中时钟模块的时间进行比较,得到时间差值,将时间差值与本地存储的时间误差范围进行比较,如果时间差值不在时间误差范围内,则提示用户是否进行时间同步;如果接收到同步指令后,根据时间同步信息,对时钟模块的时间进行调整,并在调整完成后,执行动态口令生成流程。
在从后台服务器获取挑战码的同时,接收时间同步信息,使得执行动态口令功能的时间因子能够实时与后台服务器同步,保证动态口令生成的准确性,降低因时间不同步造成动态口令验证失败的问题发生。
其中,获取智能密码设备中动态口令功能对应的PIN码的过程如下:
步骤A1、移动终端通过第一接口与智能密码设备相连;
步骤A2、移动终端输出提示用户输入PIN码的信息;
具体的,移动终端可以通过一个交互界面请求用户输入信息,该交互界面的内容可以根据实际需要进行自定义。
步骤A3、移动终端对移动终端接收的按键信息进行检测,得到检测结果;
具体的,移动终端通过在交互页面上用户针对该提示信息输入的内容进行检测;其中用户可以通过手机的硬件键盘或触摸屏上的键盘等实现对上述提示信息的反馈。
步骤A4、移动终端对检测结果进行解析,得到PIN码。
由上述步骤可以看出,PIN码的信息是通过移动终端发送给智能密码设备的,满足了用户手动输入PIN码的基本要求,符合安全规范,且由于借用了移动终端上的按键功能,无需在动态口令牌上部署按键信息,达到了缩小动态口令牌体积的目的。
在步骤103和104中,一次性密钥是通过移动终端与智能密码设备协商得到的,从而实现移动终端与智能密码设备之间建立安全通道,具体实现方式包括:
方式一:
移动终端获取智能密码设备的公钥,并利用公钥对本地生成的软件随机数K1进行加密,并将加密后的软件随机数K1’发送给智能密码设备;
智能密码设备接收加密后的软件随机数K1’,并利用公钥对应的私钥对加密后的软件随机数K1’进行解密,得到软件随机数K1;并生成一硬件随机数K2,并利用软件随机数K1加密硬件随机数K2,得到加密后的硬件随机数K2’,发送加密后的硬件随机数K2’至移动终端;
移动终端利用软件随机数K1对加密后的硬件随机数K2’进行解密,得到硬件随机数K2,将硬件随机数K2作为一次性密钥,利用硬件随机数K2加密PIN码,得到加密后的PIN码,并向智能密码设备发送加密后的PIN码;
智能密码设备接收加密后的PIN码,并利用硬件随机数K2解密加密后的PIN码,得到PIN码;将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
本方式中,与本领域常用的使用随机数相比,本方式采用的硬件随机数,较本领域惯用的软件随机数随机性强,使得加密效果更好,另外,在获取硬件随机数过程中,以软件随机数作为密钥传输硬件随机数,保证传输过程的安全。
方式二:
移动终端获取智能密码设备的公钥和智能密码设备生成的随机数,并利用公钥对随机数和PIN码组成的序列进行加密,得到加密结果,并向智能密码设备发送加密结果;
智能密码设备利用私钥对加密结果进行解密,得到序列,并利用随机数,从序列中获取PIN码,将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
本方式中,通过将随机数与PIN码组成序列,降低了黑客得到私钥破解该序列后从序列里破解PIN码的可能,有效降低了破解可能,提高了PIN码传输的安全性。
优选的,本方式中随机数可以是硬件随机数,以增加序列的随机性,当然,移动终端获取硬件随机数的方式也可以采用方式一中硬件随机数的方式来获取,以保证随机数传输的安全。
另外,本方式中,上述移动终端获取的智能密码设备生成的随机数可以是移动终端与智能密码设备协商得到的,例如通过类似于方式一的互相加密的方式得到,通过加密传输该随机数保证了随机数传输的安全性,防止被窃取造成的不安全隐患;该随机数也可以是通过第一接口的安全传输通道不经加密直接从智能密码设备中获取,提高获取该随机数的速度。
方式三:
移动终端获取随机数,并将该随机数和PIN码组成第一序列,对第一序列进行哈希算法计算;得到第一计算结果,并向智能密码设备发送第一计算结果;
智能密码设备接收第一计算结果,并按照与移动终端的处理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二计算结果,将第一计算结果和第二计算结果进行比对,如果第一计算结果和第二计算结果相同,则验证通过。
本方式中,利用哈希算法不可逆的特性,通过由随机数和PIN码组成的序列进行计算,进而由智能密码设备判断移动终端的计算结果与本地的计算结果进行比对,实现对PIN码的验证,实现简单。
其中,本方式中的硬件随机数也可以采用方式一中硬件随手数的方式来获取,以保证硬件随机数的安全。也可以直接通过第一接口的安全传输通道不经加密直接从智能密码设备中获取,提高获取速度。
进一步需要说明的是,加密密钥和解密密钥优选为非对称公私钥对,且加密密钥与智能密码设备中签名功能所采用的公钥不同,解密密钥与智能密码设备中签名功能所采用的私钥不同,从而减少签名功能所采用的私钥的使用次数,减少暴力破解签名功能所采用的私钥的可能,提高信息存储的安全性。
需要说明的是,本申请中动态口令生成功能内置于智能密码设备的安全芯片中,由于安全芯片是一个安全环境,能够保证动态口令生成功能的安全,且对于智能密码设备而言,无需增加硬件成本,使得电子签名功能与动态口令功能集成于一个芯片中,且共用显示装置,结构设计简单精巧。
图2为本发明提供的动态口令生成***实施例的结构示意图。图2所示***实施例包括移动终端、后台服务器和智能密码设备,其中:
移动终端中的第一处理模块201,用于获取交易信息,并根据交易信息生成交易请求,其中交易请求至少包括交易信息以及挑战码请求;
移动终端中的第一传输模块202,与第一处理模块201相连,用于将交易请求发送至后台服务器;
后台服务器中的第二传输模块203,用于接收交易请求;
后台服务器中的第一生成模块204,与第二传输模块203相连,用于根据预先设置的挑战码生成策略,生成交易请求的挑战码;
后台服务器中的第一加密模块205,与第一生成模块204相连,用于利用加密密钥至少对挑战码进行加密,得到加密数据包;
后台服务器的第二传输模块203,与第一加密模块205相连,用于向移动终端发送加密数据包;
移动终端的检测模块206,用于在移动终端将加密数据包发送给智能密码设备之前,移动终端检测智能密码设备是否已***;
移动终端中的获取模块207,与检测模块206相连,用于在检测模块检测到智能密码设备已***时,通过所述移动终端的键盘获取智能密码设备的PIN码;其中,PIN码用于开启智能密码设备的功能权限;
移动终端中的第二加密模块208,与获取模块207相连,用于通过一次性密钥加密PIN码,得到加密后的PIN码;
移动终端中的第三传输模块209,与第二加密模块208相连,用于对加密后的PIN码进行编码,得到编码数据,并通过第一接口将编码数据发送至智能密码设备;
智能密码设备中的第四传输模块210,与第三传输模块209相连,用于接收编码数据,对编码数据进行解码,获得加密后的PIN码;
智能密码设备中的验证模块211,与第四传输模块210相连,用于根据加密后的PIN码验证PIN码的合法性,如果验证PIN码合法,开启动态口令生成功能,并通过第四传输模块210向移动终端发送状态切换成功信息;
移动终端中的第三传输模块209,用于在接收到状态切换成功信息后,通过第一接口将接收到的加密数据包发送给智能密码设备;
智能密码设备中的动态口令生成模块,包括:
解密子模块212,用于利用加密密钥对应的解密密钥对加密数据包进行解密,得到解密数据,并输出解密数据;
第二生成子模块213,用于当接收到对解密数据的确认指令后,生成本次交易对应的动态口令。
由上可以看出,在生成动态口令过程中,现有技术中借助键盘的操作的场景分别为输入PIN码和输入挑战码,但本发明提供的方法实施例中移动终端发送PIN码实现对用户使用的动态口令的访问控制,且PIN码的输入与现有技术中是在智能密码设备的键盘上输入相比,借用移动终端的键盘功能,由移动终端通过第一接口发送给智能密码设备,从而完成PIN码的输入,使得智能密码设备无需设置数字键盘,大大缩小了智能密码设备的体积;另外,为了保证PIN码的安全传输,通过一次性密钥进行加密,降低了PIN码被盗的可能,保证了信息传输的安全;另外,与现有技术中挑战码由用户输入相比,本申请中挑战码是由移动终端通过第一接口传输给智能密码设备,无需用户手动输入的,优化了用户的输入操作。
此外,对加密后的PIN码进行编码,使其符合第一接口传输数据的协议,通过移动终端的第一接口进行数据传输,提高了智能密码设备的通用性和易用性。当然,本发明中的第一接口可以为音频接口(耳机接口)、NFC接口、蓝牙接口、OTG接口、USB接口、红外接口、光传输接口等任意形式的接口。
另外,移动终端在获取交易信息过程中,在获取交易信息的付款账号和/或收款账号之前,为进一步简化用户输入操作,智能密码设备还可以包括:历史记录模块,该历史记录模块用于:在获取交易信息的付款账号和/或收款账号之前,显示历史记录中记载的账号信息,如果历史记录中对应有账号,则接收对显示的账号信息的选择指令,将选择的账号作为交易信息保存,如果历史记录中没有对应的账号,则接收用户输入的账号信息,将用户输入的账号信息作为交易信息保存,并将用户输入的账号信息添加到历史记录中。
另外,移动终端在向智能密码设备发送该挑战码的同时,还可以发送其他信息,例如时间同步信息等信息,以保证动态口令生成时的时间与后台服务器同步。此时智能密码设备还包括:时钟模块,该时钟模块用于记录时间;此时,加密数据包还可以包括时间同步信息,用以同步智能密码设备中时钟模块的时间;智能密码设备还可以包括:时钟模块,用于记录时间;动态口令生成模块还可以包括:第三处理子模块,与时钟模块相连,用于在第二生成子模块生成本次交易对应的动态口令之前,将解密得到的时间同步信息与智能密码设备中动态口令功能中时钟模块的时间进行比较,得到时间差值,将时间差值与本地存储的时间误差范围进行比较,如果时间差值不在时间误差范围内,则提示用户是否进行时间同步;如果接收到同步指令后,根据时间同步信息,对时钟模块的时间进行调整,并在调整完成后,指示第二生成子模块执行动态口令生成流程。
另外,第二加密模块采用的一次性密钥可以是通过移动终端与智能密码设备协商得到的,从而实现移动终端与智能密码设备之间建立安全通道,该第二加密模块具体用于:获取智能密码设备的公钥,并利用公钥对本地生成的软件随机数K1进行加密,并通过第三传输模块209将加密后的软件随机数K1’发送给智能密码设备;以及,利用软件随机数K1对加密后的硬件随机数K2’进行解密,得到硬件随机数K2,将硬件随机数K2作为一次性密钥,利用硬件随机数K2加密PIN码,得到加密后的PIN码;验证模块,具体用于:接收加密后的软件随机数K1’,并利用公钥对应的私钥对加密后的软件随机数K1’进行解密,得到软件随机数K1;并生成一硬件随机数K2,并利用软件随机数K1加密硬件随机数K2,得到加密后的硬件随机数K2’,通过第四传输模块210发送加密后的硬件随机数K2’至移动终端;以及,通过第四传输模块210接收加密后的PIN码,并利用硬件随机数K2解密加密后的PIN码,得到PIN码;将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
或者,该第二加密模块,具体用于:获取智能密码设备的公钥和智能密码设备生成的随机数,并利用公钥对随机数和PIN码组成的序列进行加密,得到加密结果;验证模块,具体用于:利用私钥对加密结果进行解密,得到序列,并利用随机数,从序列中获取PIN码,将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。本方式中,上述移动终端获取的智能密码设备生成的随机数可以是移动终端与智能密码设备协商得到的,例如通过类似于上述通过软件随机数和硬件随机数的互相加密的方式得到,通过加密传输该随机数保证了随机数传输的安全性,防止被窃取造成的不安全隐患;该随机数也可以是通过第一接口的安全传输通道不经加密直接从智能密码设备中获取,提高获取该随机数的速度。
或者,第二加密模块,具体用于:获取随机数,并将该随机数和PIN码组成第一序列,对第一序列进行哈希算法计算;得到第一计算结果;验证模块,具体用于:按照与移动终端的处理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二计算结果,将第一计算结果和第二计算结果进行比对,如果第一计算结果和第二计算结果相同,则验证通过。本方式中的硬件随机数也可以采用方式一中硬件随机数的方式来获取,以保证硬件随机数的安全。也可以直接通过第一接口的安全传输通道不经加密直接从智能密码设备中获取,提高获取速度。
进一步需要说明的是,加密密钥和解密密钥优选为非对称公私钥对,且加密密钥与智能密码设备的公钥不同,解密密钥与智能密码设备的私钥不同。即加密密钥与智能密码设备中电子签名功能所采用的公钥不同,解密密钥与智能密码设备中电子签名功能所采用的私钥不同,从而减少签名功能所采用的私钥的使用次数,减少暴力破解签名功能所采用的私钥的可能,提高信息存储的安全性。
优选的,智能密码设备包括安全芯片,其中动态口令生成模块内置于安全芯片。该安全芯片可以为实现智能密码设备电子签名功能的安全芯片。由于安全芯片是一个安全环境,能够保证动态口令生成功能的安全,且对于智能密码设备而言,无需增加硬件成本,使得电子签名功能与动态口令生成功能集成于一个芯片中,且共用显示装置,结构设计简单精巧。
进一步的,智能密码设备还包括数字签名模块,其中数字签名模块与动态口令生成模块内置于同一个安全芯片中。该数字签名模块即可以实现现有技术中的电子签名功能。
需要说明的是,与现有技术中动态口令牌的硬件防拆的设置相比,本发明提供中动态口令生成模块作为一个功能模块内置于安全芯片中,由于安全芯片能够能构成一个安全环境,因此无需在本发明中的智能密码设备设置相关的硬件防拆的结构,节省了硬件成本开支。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
Claims (14)
1.一种动态口令生成方法,其特征在于,包括:
移动终端获取交易信息,并根据交易信息生成交易请求,并将所述交易请求发送至后台服务器,其中所述交易请求至少包括交易信息以及挑战码请求;
所述后台服务器接收所述交易请求,并根据预先设置的挑战码生成策略,生成所述交易请求的挑战码;再利用加密密钥至少对所述挑战码进行加密,得到加密数据包,并向所述移动终端发送所述加密数据包;
在移动终端将所述加密数据包发送给智能密码设备之前,所述移动终端检测智能密码设备是否已***,并检测智能密码设备是否合法;如果所述智能密码设备已***,则通过所述移动终端的键盘获取所述智能密码设备的PIN码;并通过一次性密钥加密所述PIN码,得到加密后的PIN码,其中,所述移动终端通过一次性密钥加密所述PIN码,得到加密后的PIN码,包括:移动终端获取智能密码设备的公钥,并利用所述公钥对本地生成的软件随机数K1进行加密,并将加密后的软件随机数K1’发送给智能密码设备,智能密码设备接收所述加密后的软件随机数K1’,并利用所述公钥对应的私钥对所述加密后的软件随机数K1’进行解密,得到软件随机数K1,并生成一硬件随机数K2,并利用所述软件随机数K1加密所述硬件随机数K2,得到加密后的硬件随机数K2’,发送所述加密后的硬件随机数K2’至移动终端,所述移动终端利用所述软件随机数K1对加密后的硬件随机数K2’进行解密,得到硬件随机数K2,将硬件随机数K2作为一次性密钥,利用硬件随机数K2加密PIN码,得到加密后的PIN码;或者,移动终端获取智能密码设备的公钥和智能密码设备生成的随机数,并利用所述公钥对所述随机数和PIN码组成的序列进行加密,得到加密后的PIN码;
所述移动终端对所述加密后的PIN码进行编码,得到编码数据,并通过第一接口将所述编码数据发送至所述智能密码设备,其中,所述PIN码用于开启所述智能密码设备的功能权限;
所述智能密码设备接收所述编码数据,对所述编码数据进行解码,获得所述加密后的PIN码,根据所述加密后的PIN码验证所述PIN码的合法性,如果验证所述PIN码合法,开启动态口令生成功能,并向所述移动终端发送状态切换成功信息;
所述移动终端在接收到状态切换成功信息后,通过第一接口将接收到的所述加密数据包发送给智能密码设备;
所述智能密码设备利用加密密钥对应的解密密钥对所述加密数据包进行解密,得到解密数据,并输出所述解密数据至所述智能密码设备的显示屏上;当接收到对所述解密数据的确认指令后,生成本次交易对应的动态口令。
2.根据权利要求1所述的方法,其特征在于,所述移动终端获取交易信息,包括:
所述移动终端在获取交易信息的付款账号和/或收款账号之前,显示历史记录中记载的账号信息,如果历史记录中对应有账号,则接收对显示的账号信息的选择指令,将选择的账号作为交易信息保存,如果历史记录中没有对应的账号,则接收用户输入的账号信息,将用户输入的账号信息作为交易信息保存,并将用户输入的账号信息添加到历史记录中。
3.根据权利要求1所述的方法,其特征在于:
所述加密数据包还包括时间同步信息,用以同步智能密码设备中时钟模块的时间;
在生成本次交易对应的动态口令之前,所述方法还包括:
智能密码设备将解密得到的时间同步信息与所述智能密码设备中动态口令功能中时钟模块的时间进行比较,得到时间差值,将所述时间差值与本地存储的时间误差范围进行比较,如果时间差值不在时间误差范围内,则提示用户是否进行时间同步;如果接收到同步指令后,根据时间同步信息,对时钟模块的时间进行调整,并在调整完成后,执行动态口令生成流程。
4.根据权利要求1所述的方法,其特征在于:
所述智能密码设备根据所述加密后的PIN码验证所述PIN码的合法性,包括:
所述智能密码设备接收所述加密后的PIN码,并利用所述硬件随机数K2解密所述加密后的PIN码,得到PIN码;将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过;或者,
所述智能密码设备利用私钥对所述加密后的PIN码进行解密,得到所述序列,并利用所述随机数,从所述序列中获取所述PIN码,将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
5.根据权利要求4所述的方法,其特征在于,所述加密密钥和所述解密密钥为非对称公私钥对,且所述加密密钥与所述智能密码设备的公钥不同,所述解密密钥与智能密码设备的私钥不同。
6.根据权利要求1所述的方法,其特征在于:
所述移动终端通过一次性密钥加密所述PIN码,得到加密后的PIN码,包括:
所述移动终端获取随机数,并将该随机数和PIN码组成第一序列,对所述第一序列进行哈希算法计算;得到第一计算结果;
所述智能密码设备根据所述加密后的PIN码验证所述PIN码的合法性,包括:
所述智能密码设备按照与移动终端的处理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二计算结果,将所述第一计算结果和所述第二计算结果进行比对,如果所述第一计算结果和所述第二计算结果相同,则验证通过。
7.一种动态口令生成***,其特征在于,包括移动终端、后台服务器和智能密码设备,其中:
所述移动终端中的第一处理模块,用于获取交易信息,并根据交易信息生成交易请求,其中所述交易请求至少包括交易信息以及挑战码请求;
所述移动终端中的第一传输模块,与所述第一处理模块相连,用于将所述交易请求发送至后台服务器;
所述后台服务器中的第二传输模块,用于接收所述交易请求;
所述后台服务器中的第一生成模块,与所述第二传输模块相连,用于根据预先设置的挑战码生成策略,生成所述交易请求的挑战码;
所述后台服务器中的第一加密模块,与所述第一生成模块相连,用于利用加密密钥至少对所述挑战码进行加密,得到加密数据包;
所述后台服务器的所述第二传输模块,与所述第一加密模块相连,用于向所述移动终端发送所述加密数据包;
所述移动终端的检测模块,用于在移动终端将所述加密数据包发送给智能密码设备之前,检测智能密码设备是否已***;
所述移动终端中的获取模块,与所述检测模块相连,用于在检测模块检测到所述智能密码设备已***时,通过所述移动终端的键盘获取所述智能密码设备的PIN码;其中,所述PIN码用于开启所述智能密码设备的功能权限;
所述移动终端中的第二加密模块,与所述获取模块相连,用于获取智能密码设备的公钥,并利用所述公钥对本地生成的软件随机数K1进行加密,并通过第三传输模块将加密后的软件随机数K1’发送给智能密码设备,以及,利用所述软件随机数K1对加密后的硬件随机数K2’进行解密,得到硬件随机数K2,将硬件随机数K2作为一次性密钥,利用硬件随机数K2加密PIN码,得到加密后的PIN码;或者,获取智能密码设备的公钥和智能密码设备生成的随机数,并利用所述公钥对所述随机数和PIN码组成的序列进行加密,得到加密后的PIN码;
所述移动终端中的所述第三传输模块,与所述第二加密模块相连,用于对所述加密后的PIN码进行编码,得到编码数据,并通过第一接口将所述编码数据发送至所述智能密码设备;
所述智能密码设备中的第四传输模块,与所述第三传输模块相连,用于接收所述编码数据,对所述编码数据进行解码,获得所述加密后的PIN码;
所述智能密码设备中的验证模块,与所述第四传输模块相连,用于接收所述加密后的软件随机数K1’,并利用所述公钥对应的私钥对所述加密后的软件随机数K1’进行解密,得到软件随机数K1,并生成一硬件随机数K2,并利用所述软件随机数K1加密所述硬件随机数K2,得到加密后的硬件随机数K2’,通过所述第四传输模块发送所述加密后的硬件随机数K2’至移动终端;还用于根据所述加密后的PIN码验证所述PIN码的合法性,如果验证所述PIN码合法,开启动态口令生成功能,并通过所述第四传输模块向所述移动终端发送状态切换成功信息;
所述移动终端中的所述第三传输模块,用于在接收到状态切换成功信息后,通过第一接口将接收到的所述加密数据包发送给智能密码设备;
所述智能密码设备中的动态口令生成模块,包括:
解密子模块,用于利用加密密钥对应的解密密钥对所述加密数据包进行解密,得到解密数据,并输出所述解密数据至所述智能密码设备的显示屏上;
第二生成子模块,用于当接收到对所述解密数据的确认指令后,生成本次交易对应的动态口令。
8.根据权利要求7所述的***,其特征在于,所述智能密码设备还包括:历史记录模块,所述历史记录模块用于:
在获取交易信息的付款账号和/或收款账号之前,显示历史记录中记载的账号信息,如果历史记录中对应有账号,则接收对显示的账号信息的选择指令,将选择的账号作为交易信息保存,如果历史记录中没有对应的账号,则接收用户输入的账号信息,将用户输入的账号信息作为交易信息保存,并将用户输入的账号信息添加到历史记录中。
9.根据权利要求7所述的***,其特征在于:所述智能密码设备还包括:时钟模块,用于记录时间;
所述加密数据包还包括时间同步信息,用以同步智能密码设备中时钟模块的时间;
其中,所述智能密码设备中动态口令生成模块还包括:
第三处理子模块,与所述时钟模块相连,用于在所述第二生成子模块生成本次交易对应的动态口令之前,将解密得到的时间同步信息与所述智能密码设备中动态口令功能中时钟模块的时间进行比较,得到时间差值,将所述时间差值与本地存储的时间误差范围进行比较,如果时间差值不在时间误差范围内,则提示用户是否进行时间同步;如果接收到同步指令后,根据时间同步信息,对时钟模块的时间进行调整,并在调整完成后,指示所述第二生成子模块执行动态口令生成流程。
10.根据权利要求7所述的***,其特征在于:
所述验证模块,具体用于:
通过所述第四传输模块接收所述加密后的PIN码,并利用所述硬件随机数K2解密所述加密后的PIN码,得到PIN码;将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过;或者,
利用私钥对所述加密后的PIN码进行解密,得到所述序列,并利用所述随机数,从所述序列中获取所述PIN码,将获取到的PIN码与本地保存的PIN码进行比较,如果两个PIN码相同,则验证通过。
11.根据权利要求10所述的***,其特征在于,所述加密密钥和所述解密密钥为非对称公私钥对,且所述加密密钥与所述智能密码设备的公钥不同,所述解密密钥与智能密码设备的私钥不同。
12.根据权利要求7所述的***,其特征在于:
所述第二加密模块,具体用于:
获取随机数,并将该随机数和PIN码组成第一序列,对所述第一序列进行哈希算法计算;得到第一计算结果;
所述验证模块,具体用于:
按照与移动终端的处理方式相同的方式得到第二序列,并采用相同的哈希算法,得到第二计算结果,将所述第一计算结果和所述第二计算结果进行比对,如果所述第一计算结果和所述第二计算结果相同,则验证通过。
13.根据权利要求7所述的***,其特征在于,所述智能密码设备包括安全芯片,其中所述动态口令生成模块内置于安全芯片。
14.根据权利要求13所述的***,其特征在于,所述智能密码设备还包括数字签名模块,其中所述数字签名模块与所述动态口令生成模块内置于同一个安全芯片中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310499775.3A CN103516525B (zh) | 2013-10-22 | 2013-10-22 | 一种动态口令生成方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310499775.3A CN103516525B (zh) | 2013-10-22 | 2013-10-22 | 一种动态口令生成方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103516525A CN103516525A (zh) | 2014-01-15 |
CN103516525B true CN103516525B (zh) | 2017-01-18 |
Family
ID=49898607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310499775.3A Active CN103516525B (zh) | 2013-10-22 | 2013-10-22 | 一种动态口令生成方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103516525B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9807612B2 (en) | 2014-04-25 | 2017-10-31 | Tendyron Corporation | Secure data interaction method and system |
CN104092540B (zh) * | 2014-06-25 | 2017-10-31 | 安徽云盾信息技术有限公司 | 一种可靠的芯片内部时钟的同步方法 |
CN105515773B (zh) * | 2014-09-26 | 2018-12-07 | 杭州华为数字技术有限公司 | 便携式设备、用户设备和数据交互方法 |
CN106470108B (zh) * | 2015-08-20 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种生成目标事件的口令的方法及装置 |
CN107294704B (zh) * | 2016-03-31 | 2021-05-04 | 创新先进技术有限公司 | 口令的生成方法、口令的执行方法及终端 |
CN106452742B (zh) * | 2016-09-23 | 2019-01-25 | 北京海泰方圆科技股份有限公司 | 一种动态码生成及获取方法、终端和*** |
CN107979471A (zh) * | 2017-11-22 | 2018-05-01 | 恒宝股份有限公司 | 一种验证ic卡pin码的方法及ic卡 |
CN109728909B (zh) * | 2019-03-21 | 2021-07-27 | 郑建建 | 基于USBKey的身份认证方法和*** |
CN110210591B (zh) * | 2019-06-05 | 2022-06-21 | 金邦达有限公司 | 一种智能ic卡个人化数据的写入方法、计算机装置及计算机可读存储介质 |
CN110443927B (zh) * | 2019-08-12 | 2021-04-27 | 北京百佑科技有限公司 | 访客密码生成方法、验证方法、服务器及智能门锁 |
US11244041B2 (en) | 2020-03-05 | 2022-02-08 | International Business Machines Corporation | Dynamic password generation using morphological groups |
CN112987942B (zh) * | 2021-03-10 | 2024-04-16 | 京东科技控股股份有限公司 | 键盘输入信息的方法、装置、***、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807994A (zh) * | 2009-12-18 | 2010-08-18 | 北京握奇数据***有限公司 | 一种ic卡应用数据传输的方法及*** |
CN102298683A (zh) * | 2010-06-22 | 2011-12-28 | 国民技术股份有限公司 | 一种具有短距离射频通讯认证的认证装置、***及方法 |
CN102594803A (zh) * | 2012-01-18 | 2012-07-18 | 深圳市文鼎创数据科技有限公司 | 信息安全设备及服务器时间同步方法 |
CN102752115A (zh) * | 2012-07-04 | 2012-10-24 | 北京天龙融和软件有限公司 | 挑战码生成方法及装置、动态口令认证方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582896A (zh) * | 2009-06-24 | 2009-11-18 | 周哲 | 第三方网络认证***及其认证方法 |
-
2013
- 2013-10-22 CN CN201310499775.3A patent/CN103516525B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807994A (zh) * | 2009-12-18 | 2010-08-18 | 北京握奇数据***有限公司 | 一种ic卡应用数据传输的方法及*** |
CN102298683A (zh) * | 2010-06-22 | 2011-12-28 | 国民技术股份有限公司 | 一种具有短距离射频通讯认证的认证装置、***及方法 |
CN102594803A (zh) * | 2012-01-18 | 2012-07-18 | 深圳市文鼎创数据科技有限公司 | 信息安全设备及服务器时间同步方法 |
CN102752115A (zh) * | 2012-07-04 | 2012-10-24 | 北京天龙融和软件有限公司 | 挑战码生成方法及装置、动态口令认证方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN103516525A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103532719B (zh) | 动态口令生成方法和***、交易请求的处理方法和*** | |
CN103516525B (zh) | 一种动态口令生成方法和*** | |
US9338163B2 (en) | Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method | |
US7181621B2 (en) | Methods and device for digitally signing data | |
CN103929306B (zh) | 智能密钥设备和智能密钥设备的信息管理方法 | |
KR101863953B1 (ko) | 전자 서명 서비스 시스템 및 방법 | |
CN109040067A (zh) | 一种基于物理不可克隆技术puf的用户认证设备及认证方法 | |
US8433914B1 (en) | Multi-channel transaction signing | |
CN103944724B (zh) | 一种用户身份识别卡 | |
WO2014161438A1 (zh) | 动态口令牌、动态口令牌数据传输方法及*** | |
WO2015161689A1 (zh) | 一种基于协商密钥的数据处理方法 | |
CN103020825A (zh) | 一种基于软体客户端的安全支付认证方法 | |
WO2014187206A1 (zh) | 一种备份电子签名令牌中私钥的方法和*** | |
CN101819614A (zh) | 利用语音核验USBKey增强网络交易安全性的***和方法 | |
CN106022081B (zh) | 一种身份证读卡终端的读卡方法、身份证读卡终端和*** | |
WO2008031301A1 (fr) | Procédé d'authentification d'identité en ligne point à point | |
TWI526871B (zh) | Server, user device, and user device and server interaction method | |
US20150310441A1 (en) | Transaction system method, electronic signature tool, and network bank server authentication | |
CN103746802B (zh) | 一种基于协商密钥的数据处理方法和手机 | |
CN103813321B (zh) | 一种基于协商密钥的数据处理方法和手机 | |
KR101616795B1 (ko) | Pki 기반의 개인키 파일 관리 방법 및 그 시스템 | |
JP2021111925A (ja) | 電子署名システム | |
CN112995213B (zh) | 一种安全认证方法及其应用装置 | |
CN116963624A (zh) | 气溶胶供应***安全性 | |
WO2011060739A1 (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 |