现金处理终端安全认证方法、装置及现金处理终端与流程

文档序号:15846220发布日期:2018-11-07 09:04阅读:215来源:国知局
现金处理终端安全认证方法、装置及现金处理终端与流程

本发明涉及现金处理及安全通信技术领域,特别是涉及一种现金处理终端安全认证方法、装置及现金处理终端。

背景技术

随着科技的进步和社会的发展,atm(automatedtellermachine:自动柜员机)、vtm(videotellermachine:远程视频柜员机)、清分机和售票机等现金处理终端的应用越来越普遍,对现金处理终端的现金交易处理的安全要求越来越高。通常传统的现金处理终端的交易处理流程是:上层应用发送明文控制指令给现金处理终端的机芯(现金处理模块),现金处理模块执行完指令后,将处理结果返回给上层应用,进而完成现金交易。

在实现过程中,发明人发现传统技术中至少存在如下问题:传统的现金处理终端通过明文控制指令实现现金交易处理的过程中,明文的控制命令易被篡改和重发,导致现金处理模块容易遭受穷举攻击、非法计算机、或非法程序的操控,降低了现金处理终端的现金交易处理的安全性。



技术实现要素:

基于此,有必要针对传统的技术方案中对现金处理终端的现金交易处理安全性低的问题,提供一种现金处理终端安全认证方法、装置及现金处理终端。

一种现金处理终端安全认证方法,包括以下步骤:

对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息;

通过mac算法处理明文交易指令,得到指令校验值;并将密文交易信息和指令校验值传输给机芯处理器;

接收机芯处理器基于密文交易信息和指令校验值、反馈的响应结果密文数据和数据校验值;

对响应结果密文数据进行密钥解密,得到执行结果明文数据和第二身份校验信息;

对第二身份校验信息和数据校验值进行验证,获取验证结果。

一种现金处理终端安全认证方法,包括以下步骤:

通过机芯驱动器接收主处理器传输的密文交易信息和指令校验值,对密文交易信息进行密钥解密,得到明文交易指令与第一身份校验信息;

在第一身份校验信息验证成功且指令校验值验证成功时,执行明文交易指令,得到执行结果明文数据;

对执行结果明文数据与第二身份校验信息进行密钥加密,得到响应结果密文数据;

通过mac算法处理执行结果明文数据,得到数据校验值;并将响应结果密文数据和数据校验值通过机芯驱动器传输给主处理器。

一种现金处理终端安全认证装置,包括:

指令加密单元,用于对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息;

指令校验值获取单元,用于通过mac算法处理明文交易指令,得到指令校验值;并将密文交易信息和指令校验值传输给机芯处理器;

数据获取单元,用于接收机芯处理器基于密文交易信息和指令校验值、反馈的响应结果密文数据和数据校验值;

数据解密单元,用于对响应结果密文数据进行密钥解密,得到执行结果明文数据和第二身份校验信息;

信息验证单元,用于对第二身份校验信息和数据校验值进行验证,获取验证结果。

一种现金处理终端安全认证装置,包括:

指令解密单元,用于通过机芯驱动器接收主处理器传输的密文交易信息和指令校验值,对密文交易信息进行密钥解密,得到明文交易指令与第一身份校验信息;

指令执行单元,用于在第一身份校验信息验证成功且指令校验值验证成功时,执行明文交易指令,得到执行结果明文数据;

数据加密单元,用于对执行结果明文数据与第二身份校验信息进行密钥加密,得到响应结果密文数据;

数据校验值获取单元,用于通过mac算法处理执行结果明文数据,得到数据校验值;并将响应结果密文数据和数据校验值通过机芯驱动器传输给主处理器。

一种现金处理终端,包括主处理器以及连接主处理器的机芯处理器;

主处理器执行时可实现以下步骤:

对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息;

通过mac算法处理明文交易指令,得到指令校验值;并将密文交易信息和指令校验值传输给机芯处理器;

接收机芯处理器基于密文交易信息和指令校验值、反馈的响应结果密文数据和数据校验值;

对响应结果密文数据进行密钥解密,得到执行结果明文数据和第二身份校验信息;

对第二身份校验信息和数据校验值进行验证,获取验证结果。

机芯处理器执行时可实现以下步骤:

通过机芯驱动器接收主处理器传输的密文交易信息和指令校验值,对密文交易信息进行解密,得到明文交易指令与第一身份校验信息;

在第一身份校验信息验证成功且指令校验值验证成功时,执行明文交易指令,得到执行结果明文数据;

对执行结果明文数据与第二身份校验信息进行密钥加密,得到响应结果密文数据;

通过mac算法处理执行结果明文数据,得到数据校验值;并将响应结果密文数据和数据校验值通过机芯驱动器传输给主处理器。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的现金处理终端安全认证方法的步骤。

上述技术方案中的一个技术方案具有如下优点和有益效果:

主处理器对主处理器的第一身份校验信息、以及获取的明文交易指令进行密钥加密,得到密文交易信息。主处理器通过mac算法处理明文交易指令,得到指令校验值,并将密文交易信息和指令校验值传输给机芯处理器。主处理器在接收响应结果密文数据和数据校验值时,对响应结果密文数据进行密钥解密,得到执行结果明文数据和机芯处理器的第二身份校验信息,对第二身份校验信息和数据校验值进行验证,获取验证结果。主处理器与机芯处理器通过密文通信,并对身份信息和通信信息进行合法性校验,可有效的防止通信信息被篡改,防止非法计算机或非法程序操控交易指令,进而提高了现金处理终端的现金交易处理的安全性。

附图说明

图1为一个实施例中现金处理终端安全认证方法的应用环境图;

图2为一个实施例中现金处理终端安全认证方法主处理器侧的流程示意图;

图3为一个实施例中主处理器侧的当前主密钥更新步骤的流程示意图;

图4为一个实施例中主处理器侧的当前工作密钥更新步骤的流程示意图;

图5为一个实施例中主处理器侧的第一身份信息校验步骤的流程示意图;

图6为一个实施例中现金处理终端安全认证方法机芯处理器侧的流程示意图;

图7为一个实施例中机芯处理器侧的当前主密钥更新步骤的流程示意图;

图8为一个实施例中机芯处理器侧的当前工作密钥更新步骤的流程示意图;

图9为一个实施例中机芯处理器侧的第二身份信息校验步骤的流程示意图;

图10为一个实施例中现金处理终端安全认证方法的当前主密钥更新步骤的流程示意图;

图11为一个实施例中现金处理终端安全认证方法的当前主密钥更新步骤的流程结构图;

图12为一个实施例中现金处理终端安全认证方法的当前工作密钥更新步骤的流程结构图;

图13为一个实施例中现金处理终端安全认证方法的身份信息校验步骤的流程结构图;

图14为一个实施例中现金处理终端安全认证方法的加密通信步骤的流程结构图;

图15为一个实施例中现金处理终端安全认证装置的主处理器侧的结构示意图;

图16为一个实施例中现金处理终端安全认证装置的机芯处理器侧的结构示意图;

图17为一个实施例中现金处理终端的结构示意图;

图18为另一个实施例中现金处理终端的结构示意图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

本实施例提供的现金处理终端安全认证方法,可以应用于如图1所示的应用环境中。其中,主处理器102通过通信线缆(如串口或usb(universalserialbus,通用串行总线)接口)与机芯处理器104连接。主处理器102对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息;通过mac算法处理明文交易指令,得到指令校验值;并将密文交易信息和指令校验值传输给机芯处理器;接收机芯处理器104基于密文交易信息和指令校验值、反馈的响应结果密文数据和数据校验值;对响应结果密文数据进行密钥解密,得到执行结果明文数据和第二身份校验信息;在第二身份校验信息验证成功且数据校验值验证成功时,反馈结果明文数据。其中,主处理器102可以但不限于是工控机或各种计算机,机芯处理器104是atm设备中的钞票识别模块(机芯模块)。

在一个实施例中,如图2所示,提供了一种现金处理终端安全认证方法,以该方法应用于图1中的主处理器为例进行说明,包括以下步骤:

步骤s210,对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息。

其中,第一身份校验信息指的是主处理器的身份校验信息,第一身份校验信息可以是身份签名信息。明文交易指令指的是对机芯处理器进行操作的明文指令,明文交易指令可以是主处理器获取到的操作者发送的交易指令。密钥加密指的是使用相同的或对称的密钥对明文进行加密运算的加密方法。密钥可以是字符串。密文交易信息可包括第一身份校验信息的密文和交易指令的密文。可选的,明文交易指令可以是点钞指令、取款指令或存储指令。

具体地,主处理器可获取操作者发送的明文交易指令,并将明文交易指令和自身的第一身份校验信息进行密钥加密,得到密文交易信息,实现对交易指令的加密和第一身份校验信息的加密,进而实现主处理器与机芯处理器之间的密文通信,提高了现金交易处理的安全性。

步骤s220,通过mac算法处理明文交易指令,得到指令校验值;并将密文交易信息和指令校验值传输给机芯处理器。

其中,mac(messageauthenticationcodes:消息认证码)算法可以是带密钥的hash函数算法,指令校验值指的是明文交易指令的校验值。

具体地,主处理器对明文交易指令进行mac算法处理,可得到指令校验值,并将指令校验值和密文交易信息传输给机芯处理器。通过获取指令校验值,可实现对交易指令的安全验证。

步骤s230,接收机芯处理器基于密文交易信息和指令校验值、反馈的响应结果密文数据和数据校验值。

其中,响应结果密文数据可以是机芯处理器对执行结果明文数据与第二身份校验信息进行密钥加密得到的。执行结果明文数据可以是机芯处理器根据解密密文交易信息得到的明文交易指令和第一身份校验信息,在第一身份校验信息验证成功时,执行明文交易指令得到的。数据校验值为机芯处理器通过mac算法处理执行结果明文数据得到的。

具体地,主处理器接收机芯处理器反馈的响应结果密文数据和数据校验值。其中机芯处理器可基于响应结果密文数据和数据校验值反馈密文交易信息和指令校验值。实现主处理器与机芯处理器之间的密文通信,提高了现金交易的安全性。

步骤s240,对响应结果密文数据进行密钥解密,得到执行结果明文数据和第二身份校验信息。

其中,密钥解密指的是使用相同的或对称的密钥对明文进行解密运算的解密方法。执行结果明文数据指的是机芯处理器执行明文交易指令,生成的结果数据。第二身份校验信息指的是机芯处理器的身份校验信息,第二身份校验信息可以是身份签名信息。

具体地,主处理器对响应结果密文数据进行密钥解密,可得到执行结果明文数据和机芯处理器的第二身份校验信息。实现了执行结果数据的密文通信,提高了现金交易处理的安全性。

步骤s250,对第二身份校验信息和数据校验值进行验证,获取验证结果。

具体地,主处理器对第二身份校验信息和数据校验值分别进行验证,在第二身份校验信息验证成功且数据校验值验证成功时,反馈执行结果明文数据。在第二身份校验信息验证和数据校验值验证至少一个验证失败时,反馈失败信息。通过对身份信息和数据校验值的验证,增强了现金交易的安全性。

上述实施例中,主处理器对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息。主处理器通过mac算法处理明文交易指令,得到指令校验值,并将密文交易信息和指令校验值传输给机芯处理器。主处理器在接收响应结果密文数据和数据校验值时,对响应结果密文数据进行密钥解密,得到执行结果明文数据和机芯处理器的第二身份校验信息。对第二身份校验信息和数据校验值进行验证,获取验证结果。主处理器与机芯处理器之间通过密文通信,并对身份信息和通信信息(指令和数据)进行合法性校验,可有效的防止通信信息被篡改,防止非法计算机或非法程序操控交易指令,进而提高了现金处理终端的现金交易处理的安全性。

在一个实施例中,如图3所示,主处理器侧的当前主密钥更新步骤包括:

步骤s310,在获取到明文交易指令时,生成当前主密钥。

其中,当前主密钥可用于加密工作密钥,也可用于解密工作密钥。

具体地,主处理器在获取到明文交易指令时,生成当前主密钥。优选的,主处理器每次获取到明文交易指令时,更新当前主密钥,生成更新后的当前主密钥。

步骤s320,通过预设传输密钥加密第一身份校验信息与当前主密钥,得到第一密钥密文信息;并将第一密钥密文信息和第一主密钥校验值传输给机芯处理器;第一主密钥校验值为当前主密钥加密第一预设校验字段得到的。

其中,传输密钥可用于加密主密钥,也可用于解密主密钥。第一密钥密文信息可包括第一身份校验信息的密文和当前主密钥的密文。可选的,第一预设校验字段可以是4字节的校验数据、8字节的校验数据或16字节的校验数据等。校验数据可以是16进制的0。

具体地,主处理器通过预设传输密钥加密第一身份校验信息与当前主密钥,得到第一密钥密文信息。主处理器通过当前主密钥加密第一预设校验字段得到第一主密钥校验值,并将第一密钥密文信息和第一主密钥校验值传输给机芯处理器,进而实现了主密钥的更新。

上述实施例中,通过在获取到明文交易指令时,生成当前主密钥,并对当前主密钥进行加密传输,从而实现了主密钥的更新,以及实现了主密钥在主处理器与机芯处理器之间的交互,提高了通信信息(交易指令和执行结果数据)的密文通信的安全性。

在一个实施例中,步骤s140可包括以下步骤:

通过当前主密钥解密响应结果密文数据,得到执行结果明文数据和第二身份校验信息。

具体地,主处理器可通过当前主密钥解密响应结果密文数据,得到执行结果明文数据和机芯处理器的第二身份校验信息。从而实现了执行结果数据的密文通信,提高了现金交易处理的安全性。

在一个实施例中,如图4所示,主处理器侧的当前工作密钥更新步骤包括:

步骤s410,在获取到明文交易指令时,生成当前工作密钥。

其中,当前工作密钥可用于加密通信信息(交易指令或执行结果数据),也可用于解密通信信息。

具体地,主处理器在获取到明文交易指令时,生成当前工作密钥。优选的,主处理器每次获取到明文交易指令时,更新当前工作密钥,生成更新后的当前工作密钥。

步骤s420,通过当前主密钥加密当前工作密钥,得到第二密钥密文信息;并将第二密钥密文信息和第二工作密钥校验值传输给机芯处理器;第二工作密钥校验值为当前工作密钥加密第二预设校验字段得到的。

其中,第二密钥密文信息可包括当前工作密钥的密文。可选的,第二预设校验字段可以是4字节的校验数据、8字节的校验数据或16字节的校验数据等。校验数据可以是16进制的0。

具体地,主处理器通过当前主密钥加密当前工作密钥,得到第二密钥密文信息。主处理器通过当前工作密钥加密第二预设校验字段得到第二主密钥校验值,并将第二密钥密文信息和第二主密钥校验值传输给机芯处理器,进而实现了工作密钥的更新。

上述实施例中,通过在获取到明文交易指令时,生成当前工作密钥,并对当前工作密钥进行加密传输,从而实现了工作密钥的更新,以及实现了工作密钥在主处理器与机芯处理器之间的交互,提高了通信信息(交易指令和执行结果数据)的密文通信的安全性。

在一个实施例中,步骤s110包括以下步骤:

通过当前工作密钥加密明文交易指令与第一身份校验信息,得到密文交易信息。

具体地,主处理器可通过当前工作密钥加密明文交易指令与第一身份校验信息,得到密文交易信息。从而实现了执行结果数据的密文通信,提高了现金交易处理的安全性。

在一个实施例中,如图5所示,主处理器侧的第一身份信息校验步骤包括:

步骤s510,在获取到明文交易指令时,验证第一身份校验信息。

具体地,第一身份校验信息可以是主处理器的身份校验信息。主处理器在获取到明文交易指令时,通过验证主处理器的第一身份校验信息的身份合法性,提高现金交易的安全性。

步骤s520,若验证成功,将明文交易指令与第一身份校验信息进行密钥加密,得到密文交易信息。

具体地,主处理器在验证第一身份校验信息成功时,可将明文交易指令与第一身份校验信息进行密钥加密,从而得到密文交易信息。

在一个实施例中,主处理器在验证第一身份校验信息失败时,返回验证失败信息,从而可防止非法计算机或非法程序控制机芯处理器出钞。

在一个实施例中,如图6所示,提供了一种现金处理终端安全认证方法,以该方法应用于图1中的机芯处理器为例进行说明,包括以下步骤:

步骤s610,通过机芯驱动器接收主处理器传输的密文交易信息和指令校验值,对密文交易信息进行密钥解密,得到明文交易指令与第一身份校验信息。

其中,机芯驱动器可用于主处理器与机芯处理器之间的指令传输,也可用于主处理器与机芯处理器之间的数据传输。

具体地,机芯处理器可通过机芯驱动器接收主处理器传输的密文交易信息和指令校验值。机芯处理器可对密文交易信息进行密钥解密,得到明文交易指令与第一身份校验信息。通过机芯处理器与主处理器之间的密文通信,提高了现金交易处理的安全性。

步骤s620,在第一身份校验信息验证成功且指令校验值验证成功时,执行明文交易指令,得到执行结果明文数据。

具体地,机芯处理器分别对第一身份校验信息和指令校验值进行验证,在第一身份校验信息验证成功且指令校验值验证成功时,机芯处理器可执行明文交易指令,得到执行结果明文数据。通过对身份信息和指令校验值的验证,增强了现金交易的安全性。

步骤s630,对执行结果明文数据与第二身份校验信息进行密钥加密,得到响应结果密文数据。

具体地,机芯处理器可获取机芯处理器的第二身份校验信息,并对第二身份校验信息和执行结果明文数据进行密钥加密,得到响应结果密文数据。从而实现对第二身份校验信息的加密和执行结果数据的加密,进而实现机芯处理器与主处理器之间的密文通信,提高了现金交易处理的安全性。

步骤s640,通过mac算法处理执行结果明文数据,得到数据校验值;并将响应结果密文数据和数据校验值通过机芯驱动器传输给主处理器。

具体地,机芯处理器对执行结果明文数据进行mac算法处理,可得到数据校验值,并将数据校验值和响应结果密文数据通过机芯驱动器传输给主处理器。通过获取数据校验值,可实现对执行结果数据的安全验证。

上述实施例中,机芯处理器可对接收到密文交易信息进行密钥解密,得到明文交易指令与第一身份校验信息。机芯处理器可在第一身份校验信息验证成功且指令校验值验证成功时,执行明文交易指令,得到执行结果明文数据。机芯处理器对执行结果明文数据与第二身份校验信息进行密钥加密,得到响应结果密文数据,并通过mac算法处理执行结果明文数据,得到数据校验值。从而将响应结果密文数据和数据校验值通过机芯驱动器传输给主处理器。机芯处理器与主处理器之间通过密文通信,并对身份信息和通信信息(指令和数据)进行合法性校验,可有效的防止通信信息被篡改,防止非法计算机或非法程序操控交易指令,进而提高了现金处理终端的现金交易处理的安全性。

在一个实施例中,如图7所示,机芯处理器侧的当前主密钥更新步骤包括:

步骤s710,根据主处理器传输的第一密钥密文信息和第一主密钥校验值,通过预设传输密钥解密第一密钥密文信息,得到当前主密钥和第一身份校验信息。

具体地,机芯处理器可通过预设传输密钥解密主处理器传输的第一密钥密文信息,得到当前主密钥和第一身份校验信息。通过当前主密钥的加密传输,机芯处理器可解密获取到当前主密钥。

步骤s720,通过当前主密钥加密第一预设校验字段,得到当前主密钥校验值。

具体地,机芯处理器通过当前主密钥加密第一预设校验字段,可得到当前主密钥校验值。当前主密钥校验值可用于与主处理器传输的第一主密钥校验值进行比较验证。

步骤s730,在当前主密钥校验值等于第一主密钥校验值时,保存当前主密钥。

具体地,机芯处理器验证当前主密钥校验值与第一主密钥校验值,在当前主密钥校验值等于第一主密钥校验值时,保存当前主密钥。从而实现机芯处理器侧的主密钥更新。

上述实施例中,通过对主处理器传输的第一密钥密文信息进行解密,以及对第一主密钥校验值进行验证,从而实现了主密钥的更新,以及实现了主密钥在机芯处理器与主处理器之间的交互,提高了通信信息(交易指令和执行结果数据)的密文通信的安全性。

在一个实施例中,步骤s610包括以下步骤:

通过当前主密钥解密密文交易信息,得到明文交易指令与第一身份校验信息。

具体地,机芯处理器可通过当前主密钥解密密文交易信息,得到明文交易指令和主处理器的第一身份校验信息。从而实现了交易指令的密文通信,提高了现金交易处理的安全性。

在一个实施例中,如图8所示,机芯处理器侧的当前工作密钥更新步骤包括:

步骤s810,根据主处理器传输的第二密钥密文信息和第二工作密钥校验值,通过当前主密钥解密第二密钥密文信息,得到当前工作密钥。

具体地,机芯处理器通过当前主密钥解密主处理器传输的第二密钥密文信息,可得到当前工作密钥,通过当前工作密钥的加密传输,机芯处理器可解密获取到当前工作密钥。

步骤s820,通过当前工作密钥加密第二预设校验字段,得到当前工作密钥校验值。

具体地,机芯处理器通过当前工作密钥加密第二预设校验字段,可得到当前工作密钥校验值。当前工作密钥校验值可用于与主处理器传输的第二主密钥校验值进行比较验证。

步骤s830,在当前工作密钥校验值等于第二主密钥校验值时,保存当前工作密钥。

具体地,机芯处理器验证当前工作密钥校验值与第二主密钥校验值,在当前工作密钥校验值等于第二主密钥校验值时,保存当前工作密钥。从而实现机芯处理器侧的工作密钥更新。

上述实施例中,通过对主处理器传输的第二密钥密文信息进行解密,以及对第二主密钥校验值进行验证,从而实现了工作密钥的更新,以及实现了工作密钥在机芯处理器与主处理器之间的交互,提高了通信信息(交易指令和执行结果数据)的密文通信的安全性。

在一个实施例中,步骤s630包括以下步骤:

通过当前工作密钥加密执行结果明文数据与第二身份校验信息,得到响应结果密文数据。

具体地,机芯处理器可通过当前工作密钥加密执行结果明文数据与第二身份校验信息,得到响应结果密文数据。从而实现了执行结果数据的密文通信,提高了现金交易处理的安全性。

在一个实施例中,如图9所示,机芯处理器侧的第二身份信息校验步骤包括:

步骤s910,在获取到密文交易信息时,验证第二身份校验信息。

具体地,第二身份校验信息可以是机芯处理器的身份校验信息。机芯处理器在获取到密文交易信息时,通过验证机芯处理器的第二身份校验信息的身份合法性,提高现金交易的安全性。

步骤s920,若验证成功,对密文交易信息进行解密,得到明文交易指令与第一身份校验信息。

具体地,机芯处理器在验证第二身份校验信息成功时,可将密文交易信息进行密钥解密,从而得到明文交易指令与第一身份校验信息。

在一个实施例中,机芯处理器在验证第二身份校验信息失败时,返回验证失败信息,从而可防止非法计算机或非法程序控制机芯处理器出钞。

在一个实施例中,如图10所示,为现金处理终端安全认证方法的当前主密钥更新步骤的流程示意图。当前主密钥更新步骤的具体过程为:机芯驱动器发起主密钥更新请求。主处理器可根据主密钥更新请求,产生主密钥并生成第一主密钥校验值。主处理器可通过传输密钥加密主密钥和主处理器的第一身份校验信息,得到加密后的主密钥信息,并将加密后的主密钥信息传输给机芯驱动器。机器驱动器可将接收到的加密后的主密钥信息发送给机芯处理器。机芯处理器可通过传输密钥解密加密后的主密钥信息,得到主密钥和第一身份校验信息。机芯处理器可生成当前主密钥校验值,并验证当前主密钥校验值是否等于主处理器传输的第一主密钥校验值,若等于,返回成功,否则返回失败。从而实现对主密钥的更新,并实现主处理器与机芯处理器之间的主密钥交互。

在一个实施例中,如图11所示,为现金处理终端安全认证方法的当前主密钥更新步骤的流程结构图。当前主密钥更新步骤的具体流程为:

1、预设16字节的传输秘钥tk(transferkey);

2、主处理器生成8字节的第一身份校验信息ipcid;

3、主处理器生成16字节的主秘钥mk(masterkey);

4、主处理器生成4字节的校验值kvv(keyverifyvalue:密钥校验值),其中校验值kvv可通过主密钥mk对8个0x00加密得到;

5、主处理器通过传输秘钥tk加密第一身份校验信息ipcid和主秘钥mk得到data_a,拼接数据data_a和kvv,并将data_a和kvv传输给机芯处理器,其中主处理器可采用3des的加密方式进行加密;

6、机芯处理器通过传输秘钥tk解密data_a,得到第一身份校验信息ipcid和主秘钥mk,机芯处理器生成新的kvv,并验证新的kvv是否等于主处理器传输的kvv,若等于,返回成功信息,否则返回失败信息。其中机芯处理器可采用3des的解密方式进行解密。

在一个实施例中,如图12所示,为现金处理终端安全认证方法的当前工作密钥更新步骤的流程结构图。当前工作密钥更新步骤的具体流程为:

1、预设8字节的校验字段t;

2、主处理器生成16字节的工作秘钥wk(workkey),并通过主秘钥mk解密工作秘钥wk得到16字节的data_b;其中主处理器可采用3des的解密方式进行解密;

3、主处理器通过工作秘钥wk加密校验字段t,得到8字节的data_c;其中主处理器可采用3des的加密方式进行加密;

4、主处理器拼接data_b和data_c,并将data_b和data_c传输给机芯处理器;

5、机芯处理器通过主秘钥mk加密data_b,得到工作秘钥wk;通过工作秘钥wk解密data_c,得到校验字段t1;并验证校验字段t1是否等于预设的校验字段t,若是,返回成功信息,否则返回失败信息。

在一个实施例中,如图13所示,为现金处理终端安全认证方法的身份信息校验步骤的流程结构图。当前身份信息校验步骤的具体流程为:

1、第一身份校验信息认证

在收到交易命令之后,机芯驱动器向主处理器发起第一身份校验信息的合法性验证请求,验证通过后将交易指令及第一身份校验信息通过工作密钥加密,得到交易密文信息,并将交易密文信息发送给机芯处理器。

当机芯处理器接收到交易密文信息时,通过工作密钥将交易密文信息解密,得到交易命令及第一身份校验信息;机芯处理器将主处理器传输的第一身份校验信息与内部存储绑定的第一身份校验信息进行匹配;匹配成功,则执行交易指令,得到执行结果数据;并通过工作密钥加密执行结果数据,得到响应密文数据,并将响应密文数据传输给主处理器。

2、第二身份校验信息认证

当主处理器接收到机芯处理器传输的交易响应密文数据时,向主处理器发起第二身份校验信息的合法性验证。主处理器将机芯处理器传输的第二身份校验信息与内部存储绑定的第二身份校验信息进行匹配;匹配成功,将交易响应密文数据解密,得到执行结果数据。

在一个实施例中,如图14所示,为现金处理终端安全认证方法的加密通信步骤的流程结构图。加密通信步骤的具体流程为:

1、机芯驱动器将交易指令data0和机芯随机数hwrand1发送给主处理器;

2、主处理器通过工作密钥wk处理data0、hwrand1和pcrand0(主处理器随机数)得到校验值mac_0,通过机芯驱动器将data0+mac_0传输给机芯处理器;其中data0、hwrand1和pcrand0的数据总长度不够8字节的整数倍时,可通过0x00补充;

3、机芯处理器可通过步骤2生成校验值1_mac,并将校验值1_mac与主处理器传输的mac_0进行匹配,若匹配成功,则执行交易命令,否则报错;

4、机芯处理器生成交易响应数据data1,更新机芯随机数hwrand2,通过工作密钥wk处理data1、hwrand2和pcrand0得到校验值mac_1,并将data1和mac_1发送给机芯驱动器;其中data1、hwrand2和pcrand0的数据总长度不够8字节的整数倍时,可通过0x00补充;

5、机芯驱动器将交易响应数据data1和机芯随机数hwrand2发送给主处理器;

6、主处理器可通过步骤4生成校验值m_mac,并将校验值m_mac与机芯处理器传输的校验值mac_1进行匹配,若匹配成功,则继续执行,否则返回失败。

应该理解的是,虽然图2-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图15所示,提供了一种现金处理终端安全认证装置,包括:指令加密单元110、指令校验值获取单元120、数据获取单元130、数据解密单元140、信息验证单元150,其中:

指令加密单元110,用于对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息;

指令校验值获取单元120,用于通过mac算法处理明文交易指令,得到指令校验值;并将密文交易信息和指令校验值传输给机芯处理器;

数据获取单元130,用于接收机芯处理器基于密文交易信息和指令校验值、反馈的响应结果密文数据和数据校验值;

数据解密单元140,用于对响应结果密文数据进行密钥解密,得到执行结果明文数据和第二身份校验信息;

信息验证单元150,用于对第二身份校验信息和数据校验值进行验证,获取验证结果。

在一个实施例中,如图16所示,提供了一种现金处理终端安全认证装置,包括:指令解密单元210指令执行单元220数据加密单元230数据校验值获取单元240,其中:

指令解密单元210,用于通过机芯驱动器接收主处理器传输的密文交易信息和指令校验值,对密文交易信息进行密钥解密,得到明文交易指令与第一身份校验信息;

指令执行单元220,用于在第一身份校验信息验证成功且指令校验值验证成功时,执行明文交易指令,得到执行结果明文数据;

数据加密单元230,用于对执行结果明文数据与第二身份校验信息进行密钥加密,得到响应结果密文数据;

数据校验值获取单元240,用于通过mac算法处理执行结果明文数据,得到数据校验值;并将响应结果密文数据和数据校验值通过机芯驱动器传输给主处理器。

本领域技术人员可以理解,图15和图16中示出的结构,仅仅是与本实施例方案相关的部分结构的框图,并不构成对本实施例方案所应用于其上的现金处理终端的限定,具体的现金处理终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,如图17所示,提供了一种现金处理终端(如atm设备),包括主处理器310以及连接主处理器310的机芯处理器320;

主处理器310执行时可实现以下步骤:

对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息;通过mac算法处理明文交易指令,得到指令校验值;并将密文交易信息和指令校验值传输给机芯处理器320;接收机芯处理器320基于密文交易信息和指令校验值、反馈的响应结果密文数据和数据校验值;对响应结果密文数据进行密钥解密,得到执行结果明文数据和第二身份校验信息;在第二身份校验信息验证成功且数据校验值验证成功时,对第二身份校验信息和数据校验值进行验证,获取验证结果。

机芯处理器320执行时可实现以下步骤:

通过机芯驱动器接收主处理器传输的密文交易信息和指令校验值,对密文交易信息进行解密,得到明文交易指令与第一身份校验信息;在第一身份校验信息验证成功且指令校验值验证成功时,执行明文交易指令,得到执行结果明文数据;对执行结果明文数据与第二身份校验信息进行密钥加密,得到响应结果密文数据;通过mac算法处理执行结果明文数据,得到数据校验值;并将响应结果密文数据和数据校验值通过机芯驱动器传输给主处理器310。

在一个实施例中,如图18所示,现金处理终端可包括机芯驱动器430以及连接机芯驱动器430的主处理器410、机芯处理器420。其中主处理器410可用于主处理器端的数据加密解密运算、提供身份认证能力等;机芯处理器420可用于机芯端的数据加密解密运算、提供身份认证能力等。优选的,主处理器420可以是工控机,机芯驱动器430也可以是安装在主处理器内的机芯动态库。

现金处理终端实现交易操作的具体过程为:

1、发起交易指令;

2、机芯驱动器430将交易指令中对应的操作指令明文发送到主处理器410,主处理器410通过密钥加密操作指令明文并附加上第一身份校验信息,得到密文操作信息;其中第一身份校验信息科包括工控机的身份签名信息和应用程序的身份签名信息;

3、机芯驱动器430将密文操作信息发送给机芯处理器420;

4、机芯处理器420将密文操作信息解密,得到操作指令和第一身份校验信息,并第一身份校验信息的合法性,校验通过时,将执行操作指令;

5、机芯处理器420执行完操作指令后,得到明文响应结果数据,并将明文响应结果数据加密后附上第二身份校验信息,得到密文响应结果数据,并将密文响应结果数据发送给机芯驱动器430;

6、机芯驱动器430将密文响应结果数据传输给主处理器410,主处理器410对密文响应结果数据进行解密,得到明文响应结果数据,并将明文响应结果数据发送给机芯驱动器430;

上述实施例中,现金处理终端通过物理硬件层、数据链路层和驱动层进行分层安全认证,从硬件到软件,从底层软件到业务软件,涵盖了整个终端的交易流程的安全认证。通过主处理器与机芯处理器之间的密文通信,密文中含有动态的随机因素,可以有效防止串口重发使得机芯不停出钞、甚至破解机芯与pc之间的通信协议。通过主处理器与机芯处理器之间的身份信息的合法性验证,可有效防止非法计算机或非法程序,控制现金设备出钞。通过主处理器与机芯处理器之间的通信信息合法性验证,对通信的数据采取mac算法处理,通过mac算法进行合法性校验,可以有效防止篡改合法通信的数据实现多出钞。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

对第一身份校验信息以及获取的明文交易指令进行密钥加密,得到密文交易信息;通过mac算法处理明文交易指令,得到指令校验值;并将密文交易信息和指令校验值传输给机芯处理器;接收机芯处理器基于密文交易信息和指令校验值、反馈的响应结果密文数据和数据校验值;对响应结果密文数据进行密钥解密,得到执行结果明文数据和第二身份校验信息;对第二身份校验信息和数据校验值进行验证,获取验证结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

通过机芯驱动器接收主处理器传输的密文交易信息和指令校验值,对密文交易信息进行解密,得到明文交易指令与第一身份校验信息;在第一身份校验信息验证成功且指令校验值验证成功时,执行明文交易指令,得到执行结果明文数据;对执行结果明文数据与第二身份校验信息进行密钥加密,得到响应结果密文数据;通过mac算法处理执行结果明文数据,得到数据校验值;并将响应结果密文数据和数据校验值通过机芯驱动器传输给主处理器。

关于计算机可读存储介质中存储的计算机程序被处理器执行时可实现其功能的具体方法可以参见上文中对于现金处理终端安全认证方法的说明,在此不再赘述。上述计算机可读存储介质中的各个模块可全部或部分通过软件、硬件及其组合来实现。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各除法运算方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1