发明内容
本发明的目的在于,提供一种多用途电子支付密码的安全装置及密码生成方法,以解决现有技术中,电子支付密码安全装置在用户进行银行票据支付、网上银行***支付和银行卡支付业务操作时,相互之间并不能通用,用户需要分别持有多种不同的设备才能进行上述支付业务,从而既给用户造成很多的不便,增加了银行和用户的成本,且还可能由于用户管理不当而导致使用电子支付密码进行的业务操作出现安全隐患等问题。
本发明的实现可以有效的减少最终用户在电子支付密码计算设备上的重复投资,降低设备的成本,,方便用户对设备的管理以及简化用户的操作使用过程。
为了实现上述目的,本发明公开了一种多用途计算电子支付密码的安全装置,该安全装置包括:中央处理器综合控制运算单元,密码算法协处理器单元,存储器,硬件随机数发生器单元和接口控制单元;其中,所述密码算法协处理器单元包括多种银行业务电子支付密码的算法模块;所述中央处理器综合控制运算单元或所述存储器中,包括判断子单元,用于根据请求数据包中包含的标识信息,判断当前请求的类型,以控制密码算法协处理器单元选择执行所述多种电子支付业务中的一种。
较佳的,所述多用途计算电子支付密码的安全装置的所述银行业务电子支付密码的算法模块为以下算法模块中的至少两种:计算银行票据电子支付密码的密码算法模块;计算网上银行交易电子支付密码的密码算法模块;计算银行卡电子支付密码的密码算法模块。
较佳的,所述多用途计算电子支付密码的安全装置还包括验证单元,与所述判断子单元同时位于所述中央处理器综合控制运算单元或同时位于所述存储器中,用于验证用户身份的合法性。
较佳的,所述多用途计算电子支付密码的安全装置的所述接口控制单元为USB通讯接口控制单元,串行通讯接口控制单元,1394接口控制单元中的一种或者一种以上的组合。
较佳的,所述多用途计算电子支付密码的安全装置的所述存储器为非易失性存储器,该非易失性存储器用于保存用户操作记录信息以及安全装置的逻辑控制程序。
较佳的,当所述多用途计算电子支付密码的安全装置的所述密码算法协处理器单元中包括该计算银行卡电子支付密码的密码算法模块时,该安全装置中还包括一单调计数器单元,用于提供单调递增或递减的计数器数值,以支持该计算银行卡电子支付密码的密码算法模块依据此计数器数值生成动态密码。
较佳的,所述多用途计算电子支付密码的安全装置的各功能模块单元,集成在一块片上***集成电路安全芯片内。
较佳的,该安全芯片还包括一物理防护电路层,用于防止对该安全装置内部进行解剖和探测。
较佳的,该安全芯片封装在一个形状如USB Key密码钥匙的壳体中,该壳体上设置有一标准USB端口接插器件,该接插器件与装置中的安全芯片的输入输出管脚连接。
为了实现上述目的,本发明还公开了一种通用的银行电子支付密码生成方法,包括以下步骤:
步骤A,接收到从外部发送而来的包含标识信息的请求数据包;
步骤B,判断该请求数据包中所需执行的业务类型为多种电子支付业务中的哪一种,选择相应的银行业务电子支付密码的算法模块;
步骤C,当完成对业务类型的确定后,继续通过分析请求数据包判断该请求数据包所需执行的请求操作类型;
步骤D,依照所确定的业务类型、请求操作类型以及请求数据包中所包含的数据内容进行密码生成工作。
较佳的,所述通用的银行电子支付密码生成方法的所述银行业务电子支付密码的算法模块为以下算法模块中的至少两种:
计算银行票据电子支付密码的密码算法模块;
计算网上银行交易电子支付密码的密码算法模块;
计算银行卡电子支付密码的密码算法模块。
较佳的,在所述通用的银行电子支付密码生成方法的步骤A与步骤B之间还包括下列步骤:
解析该请求数据包,提取该请求数据包中的校验码并通过该校验码对该请求数据包进行完整性验证,若该校验码错误,则返回错误输出,本次操作结束;若校验码正确,则通过该请求数据包判断该请求数据包所需执行的业务类型。
较佳的,所述的通用的银行电子支付密码生成方法实现计算银行票据电子支付密码,或者网上银行电子支付密码,或者银行卡电子支付密码时,包括下列步骤:
步骤a):安全装置在开户银行进行设备初始化、加载帐号及产生帐号对应的密钥对,密钥对由安全装置内部随机产生,其中,私钥存储在安全装置内,公钥上送给银行后台支付密码核验***保存;
步骤b):用户将安全装置***PC机或专用手持设备的USB端口或串行通讯端口或1394通讯端口,然后输入口令、指纹等身份识别信息并通过与安全装置连接的通讯接口,发送开启安全装置的请求;
步骤c):安全装置接到开启指令请求数据包后,判断用户身份及权限是否合法,若用户身份或权限非法,则返回错误信息并终止本次操作,若用户身份及权限均合法,则继续进行下一步操作;
步骤d):当用户身份及权限被判断为合法后,用户向该安全装置发送请求信息,该安全装置依照用户发送来的该请求信息执行计算电子支付密码的操作,并将计算出的电子支付密码返回调用者。
较佳的,所述的通用的银行电子支付密码生成方法实现计算银行票据电子支付密码时,在步骤d)中,用户向该安全装置发送的请求信息包括票据的基本要素信息。
较佳的,所述的通用的银行电子支付密码生成方法实现计算网上银行电子支付密码时,在步骤d)中,用户向该安全装置发送的请求信息包括网上交易信息。
较佳的,所述的通用的银行电子支付密码生成方法实现计算银行卡电子支付密码时,包括下列步骤:
在步骤a)中,还包括一为安全装置分配一个随机的计数器初值,然后将密钥和计数器初值加密上传给银行后台密码核验***并保存,确保安全装置与银行后台密码核验***数据同步的步骤;
在步骤a)中,不包括产生及保存密钥对的步骤,而是有一由安全装置随机产生一个用于动态密码产生和验证的对称密码算法密钥,并保存在装置内部的安全芯片中的步骤;
在步骤d)中,用户向该安全装置发送的请求信息包括银行卡终端或网上支付交易界面上提示的本次交易的“挑战码”,即一组随机数字;
在步骤d)中,该安全装置计算本次交易的电子支付密码,是根据安全装置中当前计数器值和“挑战码”计算得到,且在计算完成后还包括一对该安全装置中的计数器值自动更新的步骤。
较佳的,在所述的通用的银行电子支付密码-生成方法实现计算银行票据电子支付密码,或者网上银行电子支付密码,或者银行卡电子支付密码时,在步骤b)至步骤d)中的至少一项中,包含一记录用户操作日志的步骤,以将用户所进行过的操作信息记录在安全装置中。
较佳的,在所述的通用的银行电子支付密码生成方法实现计算银行票据电子支付密码,或者网上银行电子支付密码,或者银行卡电子支付密码时,在步骤b)至步骤d)中的至少一项中,包含一需要用户按下一设置在该安全装置上的交易确认按钮,以确认进行操作的步骤。
本发明的一种多用途的用于计算银行电子支付密码的安全装置及其密码生成方法,具有以下有益效果:
本发明的多用途电子支付密码的安全装置及密码生成方法,可以通过USB接口或串行通讯接口或者1394接口,与PC计算机或专用手持设备相连,同时支持票据支付、网上银行支付和银行卡支付等多种银行支付业务,从而可以减少最终用户在电子支付密码计算设备上的重复投资,降低设备的成本,方便用户对设备的管理,简化用户的操作使用过程。由于该安全装置在单一安全芯片中实现其主要功能,因而使得该设备管理方便、安全性高且成本低廉;同时,该安全装置可同时支持USB通讯接口和串行通讯接口,既可以连接PC计算机使用,也可以与专用手持设备连接实现脱机使用,还可以与银行电脑终端连接完成各种功能初始化操作。而且,针对现有银行支付交易手段的应用对象和使用场景不同,在银行开户的企业用户都有可能使用电子支付密码的情况,本发明的安全装置在保证支付交易的安全性的同时,还可以极大提高用户使用的方便性,避免用户在电子支付密码计算设备上的重复投资,并且可以照顾到用户对原有电子支付密码计算设备的操作和使用习惯。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种多用途计算电子支付密码的安全装置及密码生成方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的安全装置,是一电子支付密码的生成设备,在USB Key设备中设置一安全芯片,即组合成一电子支付密码安全装置,该安全装置集成了数据通讯、电子支付密码计算和密码算法的密钥产生及存储等基本功能,可同时满足银行票据支付、网上银行支付及银行卡支付等多种银行支付业务,实现电子支付密码计算功能。
图1所示为本发明的一种多用途计算电子支付密码的安全装置的示意图,本发明的一种多用途计算电子支付密码的安全装置10,包括一中央处理器综合控制运算单元11,一密码算法协处理器单元12,一非易失性存储器13,一硬件随机数发生器单元14、一接口控制单元16以及将上述各单元相互连接的内部总线21。
该中央处理器综合控制运算单元11,是本安全装置10的核心控制部件,用于进行微代码指令执行、信息交互传递以及硬件资源管理、控制等操作。
该中央处理器综合控制运算单元11至少包括采用专用集成电路(ASIC)设计的CPU及其***电路,存储安全装置启动、初始化及硬件自检程序固化代码的ROM(包括一主控逻辑单元ROM),以及安全装置运行过程中存储临时数据及程序执行代码的易失性存储器RAM。
本发明的安全装置的中央处理器综合控制运算单元11中的主控逻辑单元ROM中,包括一判断子单元,用于根据请求数据包中包含的标识信息,判断当前请求的类型,控制密码算法协处理器单元12选择执行多种电子支付业务中的一种。
该密码算法协处理器单元12,是本安全装置10计算电子支付密码的密码算法运算部件,其包含用于实现电子支付密码计算所需的各种加密算法硬件电路或运算加速器。
该密码算法协处理器单元12按其对外提供的功能分类,包括以下算法模块中的至少两种:
a)计算银行票据电子支付密码的密码算法模块,其所包含的算法如:国密SSX10-B算法芯片实现的加密算法;
b)计算网上银行交易电子支付密码的密码算法模块,其所包含的算法如:RSA 1024/2048算法、ECC算法、SSF33算法、SHA-1及MD5算法等;
c)计算银行卡电子支付密码的密码算法模块,其所包含的算法如:DES、3-DES及AES算法等。
该非易失性存储器13,是本安全装置10的主要数据存储部件,主要负责保存安全装置功能初始化时下载或产生的帐户信息、用户密钥及数字证书等敏感数据,也可以保存部分用户操作记录信息和安全装置的其他逻辑控制程序或由用户下载的密码算法执行程序等。
该非易失性存储器13,采用带物理防护技术的存储器部件,例如闪存(Flash)存储器、电可擦写可编程只读存储器EEPROM、可擦写可编程只读存储器EPROM、可编程只读存储器PROM、或其他在断电情况下能继续保留数据的采用了物理防护技术的磁、电存储介质。
该硬件随机数发生器单元14,是本安全装置10产生物理随机数的部件,主要用于在安全装置10初始化时,为密码算法协处理器单元12中产生计算电子支付密码的算法密钥提供随机数源。
该硬件随机数发生器单元14由中央处理器综合控制单元11控制,并通过使用物理噪声源电路产生高质量的随机数,该硬件随机数发生器单元14可每次产生1bit或1byte字节长的随机数值。
该接口控制单元16,是本安全装置10与外界交互的通讯接口部件,用户可通过在外部设备中进行信息输入而对该安全装置10进行操作,同时,该接口控制单元能够从外部设备获得电能而为该安全装置10供电并能与外部设备的驱动程序实现数据交互操作。
该接口控制单元16,可以是USB通讯接口控制单元17以及串行通讯接口控制单元18,或者是1394接口控制单元中的至少一种。本发明的实施例中,以包括USB通讯接口控制单元17以及串行通讯接口控制单元18的接口控制单元16为例进行说明,其中,该USB通讯接口控制单元17,用于通过USB接口与外部支持标准USB接口的设备实现通讯和数据交互传递。该USB通讯接口控制单元17,支持USB 1.1或2.0电气及协议标准,能够从外部设备的USB端口获得电能而为该安全装置10供电。该USB通讯接口控制单元17,能够与PC计算机的USB端口通讯,并且能与PC操作***上的USB设备驱动程序实现数据交互操作。该串行通讯接口控制单元18,用于通过Serial Com串行接口与外部支持串行通讯接口的设备实现通讯和数据交互传递。该串行通讯接口控制单元18,支持RS-232接口标准及串行通讯协议,能够从外部设备的串行设备端口获得电能而为该安全装置10供电。该串行通讯接口控制单元18,能够与银行电脑终端设备或专用手持终端设备的串行端口通讯,并且能够与上述外部设备的串行端口驱动程序实现数据交互操作。
当该接口控制单元16同时包括该USB通讯接口控制单元17以及该串行通讯接口控制单元18时,该安全装置10可以自动适应的选择工作在USB通讯状态或是工作在串行通讯状态。
以上所述各个单元,通过一内部总线21进行相互连接以实现其相应功能。
本发明的安全装置10,通过中央处理器综合控制运算单元11中的判断子单元,根据外部发送来的请求数据包中所包含的标识信息,判断当前请求的类型,以控制该密码算法协处理器单元12选择执行多种电子支付业务中的一种,该外部请求数据包的格式示意如下:
其中:FLG标识业务类型(1字节),即指明该外部请求属于票据支付、网上银行支付或银行卡支付等业务中的哪一种,作为一种可实施的方式,该业务类型数值可为1或2或3,其中,1代表该外部请求为票据支付业务,2代表该外部请求为网上银行业务,3代表该外部请求为银行卡支付业务;
TAG标识请求类型(1字节),即指明该外部请求具体属于哪一种请求操作,以计算电子支付密码为例,该请求类型值可为1或2或3等,其中:1代表执行ECC算法签名操作,2代表执行RSA-1024算法签名操作,3代表执行RSA-2048算法签名操作等;
LEN中记载DATA中数据的长度(2字节);
DATA中记载请求包所传输的数据内容,即指需要执行请求操作的数据;
LRC表示校验码(2字节)。
较佳地,本发明的安全装置10的该中央处理器综合控制运算单元11中的ROM还包括一验证单元ROM,其中包含一固化的验证程序,用于验证用户身份的合法性。用户在操作使用本装置前提供如口令、指纹等用户身份识别信息,验证单元验证通过后用户才可以使用本装置,否则本装置将处于锁定状态。
在另一实施例中,该判断子单元和该验证单元不包括在该中央处理器综合控制运算单元11中,而是包括在该非易失性存储器13中,此时,该非易失性存储器13中的PROG包括一主控逻辑单元PROG和一验证单元PROG,该判断子单元包括在该主控逻辑单元PROG中,该验证单元包括在该验证单元PROG中,其所实现的功能与前一实施例中的固化ROM单元一致。
较佳地,该安全装置10中还包括一单调计数器单元15,用于当该密码算法协处理器单元12中包括该计算银行卡电子支付密码的密码算法模块时,支持该计算银行卡电子支付密码的密码算法模块中的生成动态密码功能,该单调计数单元15负责提供单调递增或递减的计数器数值。
该单调计数器单元15的数值长不低于32bit,计数器更新频率可以是固定时间周期,例如:每秒钟或每分钟递增或递减一位数,也可以由事件触发计数器更新,例如:每次计算动态密码后发出计数器递增或递减指令,该单调计数器单元15根据指令执行计数器值的更新操作。该安全装置10中的该单调计数器单元15能够与服务器端实现计数器校准,以消除与动态验证服务端计数器间存在的同步误差,在本实施例中,服务器端通过设计计数器的纠偏机制自动完成此项功能。
如果该单调计数器单元15采用固定时间周期的更新方式,则该安全装置10中还包括一个时钟晶体振荡器以及为该晶体振荡器提供电源输入的器件。
较佳地,作为一种可实施方式,该安全装置10的各功能模块单元,集成在一块片上***(SOC)集成电路安全芯片内,该安全芯片还包括一物理防护电路层22,用于对该安全装置10内部进行物理防护,其可以有效防止通过物理解剖、探测技术手段对芯片内部数据的非法探测或存取。
更佳地,作为一种可实施方式,该安全装置10被以安全芯片的形式封装在一个形状如USB Key密码钥匙的壳体中,如一薄形塑料壳;该壳体上设置有一标准USB端口接插器件,该接插器件与装置中的安全芯片的输入输出管脚连接。
在本发明的另一实施例中,该安全装置10上还设置有一个指示灯,用于标识该安全装置10是否处于工作状态。
在本发明的又一实施例中,该安全装置10上还设置有一个按键,作为交易确认按钮,用户可设定当该安全装置10需要计算电子支付密码或进行其他操作时,按下该按键,该安全装置10才可以进行工作。
图2所示为本发明的安全装置10与PC、银行终端及专用手持设备连接的示意图,本发明的安全装置10支持的USB通讯接口和串行通讯接口共用标准USB端口接插器件,可满足与PC计算机上的标准USB端口连接并实现USB通讯;同时,也可通过USB<->串口转换器与银行电脑终端设备或专用手持设备的串行通讯端口连接并实现串行数据通讯。
下面结合本发明的一种多用途计算电子支付密码的安全装置,进一步详细说明本发明的一种通用的银行电子支付密码生成方法。
所述的多用途计算电子支付密码的安全装置10,包括中央处理器综合控制运算单元11;执行密码算法的协处理器单元12;保存程序代码及算法密钥等敏感数据的非易失性存储器单元13;硬件随机数发生器单元14;单调计数器单元15;USB通讯接口控制单元17和串行通讯接口控制单元18。
所述安全装置10的各单元通过内部总线21相互连接,以实现数据交换、密码运算等基本功能;该安全装置10通过USB通讯接口控制单元17和/或串行通讯接口控制单元18与外部设备连接。
所述的安全装置10可通过由外部发送来的请求数据包中包含的标识信息,判断当前请求的业务类型,并自动选择执行多种电子支付业务中的一种,该外部请求数据包的格式示意如下:
其中:FLG标识业务类型(1字节),即指明该外部请求属于票据支付、网上银行支付或银行卡支付等业务中的哪一种,作为一种可实施的方式,该业务类型数值可为1或2或3,其中,1代表该外部请求为票据支付业务,2代表该外部请求为网上银行业务,3代表该外部请求为银行卡支付业务;
TAG标识请求类型(1字节),即指明该外部请求属于哪一种请求操作,如:计算支付密码、设备初始化等;
LEN中记载DATA中数据的长度(2字节);
DATA中记载请求包所传输的数据内容;
LRC表示校验码(2字节)。
请参照图3,此为本发明的安全装置在接收到外部发送来的请求数据包后,其数据包解析工作的流程图:
步骤S100,接收到从外部发送而来的一包含标识信息的请求数据包;
步骤S200,解析该请求数据包,提取该请求数据包LRC部分中的校验码并通过判断该校验码对该请求数据包进行完整性验证,若该校验码错误,则返回错误输出,本次操作结束;若校验码正确,则通过该请求数据包的FLG部分判断该请求数据包所需执行的业务类型;
步骤S300,判断该请求数据包中所需执行的业务类型为票据支付业务、网上银行支付业务或银行卡支付业务中的哪一种,并自动选择相应的银行业务电子支付密码的算法模块;
步骤S410,当通过FLG部分中的数据完成了对业务类型的确定后,该安全装置继续通过请求数据包的TAG部分判断该请求数据包所需执行的请求操作类型;
步骤S420,该请求数据包中所需执行的请求操作类型可以是计算支付密码以及设备初始化等,当该安全装置完成了对于请求类型的判断之后,此次请求数据包的解析工作完成,该安全装置可依照所确定的业务类型、请求操作类型以及请求数据包中所包含的数据内容进行后续的运算操作,如密码生成。
步骤S500,安全装置执行完成外部请求操作后,将操作结果或者生成的电子支付密码返回给请求者,完成本次操作。
作为一种可实施的方式,如图4所示,为本发明中,该安全装置实现计算银行票据电子支付密码生成方法,包括以下步骤:
步骤A100:安全装置在开户银行进行设备初始化、加载帐号及产生帐号对应的密钥对,密钥对由安全装置内部随机产生,其中,私钥存储在安全装置内,公钥上送给银行后台支付密码核验***保存;
步骤A200:当计算某票据电子支付密码时,用户将安全装置***PC机或手持终端设备,然后输入口令、指纹等身份识别信息并通过与安全装置连接的通讯接口,发送开启安全装置的请求;
步骤A300:安全装置接到开启请求后,判断用户身份及权限是否合法,若用户身份或权限非法,则返回错误信息并终止本次操作,若用户身份及权限均合法,则继续进行下一步操作;
步骤A400:当用户身份及权限被判断为合法后,用户通过PC机或手持终端的操作界面输入票据的基本要素信息,即:帐号、票据号、金额、日期及票据种类等,并通过与安全装置连接的通讯接口,发送计算电子支付密码的请求;
步骤A500:安全装置接到请求数据包后,对用户的请求业务类型进行判断,当确认用户的请求类型是计算票据电子支付密码时,选择并读取该票据帐号所对应的私钥,完成计算本张票据的电子支付密码生成操作,并将支付密码返回调用者。而后,该安全装置生成的电子支付密码,可以打印或显示并由用户抄写在银行票据指定位置上,作为票据支付的授权依据。当带有支付密码的银行票据流转回到银行时,由银行柜员录入票据上各项要素信息包括电子支付密码,交易信息通过银行网络送到银行后台进行电子支付密码核验,核验通过后完成支付及记帐操作。
在本发明的安全装置实现计算银行票据电子支付密码生成方法的另一实施例中,在上述步骤A200至步骤A500中的至少一项中,还包含一记录用户操作日志的步骤,以将用户所进行过的操作记录在安全装置中。
在本发明的安全装置实现计算银行票据电子支付密码生成方法的另一实施例中,在上述步骤A200至步骤A500中的至少一项中,还包含一需要用户按下一设置在该安全装置上的交易确认按钮,以确认进行操作的步骤。
作为另一种可实施的方式,如图5所示,此为本发明中,该安全装置实现计算网上银行电子支付密码生成方法,包括以下步骤:
步骤B100:本安全装置在银行进行设备初始化,并申请和下载网上银行使用的数字证书,用于生成数字证书的密钥对由安全装置内部随机产生,其中私钥部分存储在安全装置内部,公钥上送银行数字证书管理***,数字证书由银行证书管理***生成后下载保存在安全装置中;
步骤B200:当需要计算网上银行电子支付密码时,用户将安全装置***PC机的USB端口,然后输入口令、指纹等身份识别信息并通过与安全装置连接的通讯接口,发送开启安全装置的请求;
步骤B300:安全装置接到开启请求后,判断用户身份及权限是否合法,若用户身份或权限非法,则返回错误信息并终止本次操作,若用户身份及权限均合法,则继续进行下一步操作;
步骤B400:当用户身份及权限被判断为合法后,用户通过PC机网上银行软件界面输入网上交易信息,如:支付帐号、收方帐号、金额等,并通过USB端口向安全装置发送计算网上银行交易电子支付密码请求;
步骤B500:安全装置接到请求数据包后,对用户的请求业务类型进行判断,当确认用户的请求类型为计算网上银行交易支付密码时,读取用户数字证书对应的私钥并计算网上交易的数字签名,该数字签名作为本次网上交易的电子支付密码返回调用者。而后,该电子支付密码及交易信息通过Internet互联网上送给银行后台的网上银行交易***,***检索并使用用户数字证书中的公钥对本次交易的电子支付密码进行验证,验证通过后完成支付及记帐操作。
在本发明的安全装置实现计算网上银行电子支付密码生成方法的另一实施例中,在上述步骤B200至步骤B500中的至少一项中,还包含一记录用户操作日志的步骤,以将用户所进行过的操作信息记录在安全装置中。
在本发明的安全装置实现计算网上银行电子支付密码生成方法的再一实施例中,在上述步骤B200至步骤B500中的至少一项中,还包含一需要用户按下一设置在该安全装置上的交易确认按钮,以确认进行操作的步骤。
作为再一种可实施的方式,如图6所示,此为本发明中,该安全装置实现计算银行卡电子支付密码生成方法,包括以下步骤:
步骤C100:本安全装置在银行进行设备初始化,由安全装置随机产生一个用于动态密码产生和验证的对称密码算法密钥,并保存在装置内部的安全芯片中,同时,还要为安全装置分配一个随机的计数器初值,然后将密钥和计数器初值加密上传给银行后台密码核验***并保存,确保安全装置与银行后台密码核验***数据同步;
步骤C200:当需要计算银行卡电子支付密码时,用户可将安全装置***专用手持设备中(POS刷卡场景),或者可以***PC机的USB端口(银行卡网上支付场景),然后输入口令、指纹等用户身份识别信息并通过与安全装置连接的通讯接口,发送开启安全装置的请求;
步骤C300:安全装置接到开启请求后,判断用户身份及权限是否合法,若用户身份或权限非法,则返回错误信息并终止本次操作,若用户身份及权限均合法,则继续进行下一步操作;
步骤C400:当用户身份及权限被判断为合法后,用户通过PC机或手持终端输入银行卡终端或网上支付交易界面上提示的本次交易的“挑战码”,即服务端提供的一组随机数字,并将挑战码通过与安全装置连接的通讯接口,与计算银行卡电子支付密码请求一并发送给安全装置;
步骤C500:安全装置收到请求数据包后,对用户的请求业务类型进行判断,当确认用户的请求类型为计算银行卡电子支付密码时,读取本安全装置存储的动态密码算法密钥,并根据当前计数器值和“挑战码”计算得到本次交易的电子支付密码并返回设备调用者;
步骤C600:安全装置中的计数器值自动更新。而后,电子支付密码通过银行卡终端或互联网上送给银行后台的银行卡处理***,***根据银行***索引用户对应的动态密码算法密钥和用户的单调计数器值,通过密码计算验证用户本次交易的电子支付密码的正确性,验证通过后***完成支付记帐操作,并通知前端交易执行结果。
在本发明的安全装置实现计算银行卡电子支付密码生成方法的另一实施例中,在上述步骤C200至步骤C600中的至少一项中,还包含一记录用户操作日志的步骤,以将用户所进行过的操作记录在安全装置中。
在本发明的安全装置实现计算银行卡电子支付密码生成方法的另一实施例中,在上述步骤C200至步骤C600中的至少一项中,还包含一需要用户按下一设置在该安全装置上的交易确认按钮,以确认进行操作的步骤。
本发明的安全装置同时支持银行票据支付、网上银行支付和银行卡支付等三种主要银行支付手段中的电子支付密码计算功能,以及支持安全装置初始化、密钥等敏感数据存储等功能。
本安全装置可通过USB接口或串行通讯接口与PC计算机、银行电脑终端或专用手持设备相连。该安全装置支持至少两种通讯接口共用安全装置上的标准USB端口接插器件,而且该安全装置可自动适应当前工作于USB通讯状态,或是处于串行通讯状态。
请参照下面的表1,其为使用及不使用本发明的计算电子支付密码安全装置效果对照表:
表1使用及不使用本发明的计算电子支付密码安全装置效果对照表
未使用本发明的现有设备及产品 |
应用本发明的安全装置 |
用户在使用票据支付、网上银行支付和银行卡支付三种支付交易手段时,需要使用三种不同的电子支付密码计算设备,使用和管理不便 |
用户只需要拥有一款符合本发明描述的安全装置,即可同时用于三种常用的银行支付手段中实现计算电子支付密码功能,操作管理统一且使用方便 |
原有电子支付密码计算设备限制了用户的使用环境,应用于银行票据的电子支付密码器和应用于 |
本安全装置应用于银行票据和银行卡计算电子支付密码时,既可以连接PC计算机使用,也可以连 |
银行卡的动态密码卡设备,一般只能脱机使用 |
接专用手持设备脱机使用 |
用户需要投资购买三种不同的电子支付密码计算设备,造成重复投资 |
用户只需要购置一台本发明所述安全装置,即可实现“一机多用”,而且可节省用户投资 |
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。