掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及灰锁交易技术领域,具体地涉及一种灰锁交易方法及安全芯 片。

背景技术

随着信息技术的发展,终端设备的并发处理能力越来越强,然而本申请 发明人发现,现有的技术规范在终端设备并发处理技术领域,仍存在以下缺 陷:传统的终端设备内嵌一张7816接口的PSAM卡,一个应用只能支持一 张支付卡的钱包交易,只能等第一张卡的用户结算完成后再接受下一张卡用 户的结算,导致终端利用率低;而对于一个终端设备下挂多个计量子设备进 行计量计费、且需经一段时间计量后再结算扣费的使用场景,需要支持多个 用户在同一个终端上的刷卡结算需求,若采取对下挂的多个子设备均安装 PSAM卡对不同的支付卡进行结算,设备的成本投入必将提高且使用率不高。

发明内容

本发明实施例的目的是提供一种灰锁交易方法及安全芯片,以解决一张 支付卡在本业务终端灰锁后不能接受其他支付卡在本业务终端上进行灰锁 交易的问题。

为了实现上述目的,本发明实施例提供一种灰锁交易方法,在业务终端 中设置安全芯片,所述安全芯片通过执行所述业务终端发送的计算MAC1 命令、验证MAC2命令及计算GMAC命令,配合支付卡完成灰锁交易功能, 该方法包括以下步骤:安全芯片验证MAC2成功后,安全芯片内存储的终端 交易序号加1,且安全芯片保持灰锁空闲状态;安全芯片计算GMAC时,在 命令报文数据域中增加支付卡交易数据中的附加数据,且安全芯片内存储的终端交易序号不加1。

可选的,所述支付卡交易数据存储在所述业务终端中,且所述业务终端 能够存储的支付卡交易数据的个数大于等于1。

可选的,所述支付卡交易数据中的附加数据,包括以下各项中的至少一 项:支付卡伪随机数、密钥版本号、算法标识、终端交易序号、终端随机数、 分散因子。

可选的,所述业务终端下挂的计量子设备个数大于等于1,第一支付卡 被灰锁后,所述业务终端指定某个计量子设备对所述第一支付卡生成的交易 进行计量计费,且所述业务终端接受到第二支付卡刷卡灰锁后,指定本业务 终端的其他计量子设备对所述第二支付卡生成的交易进行计量计费。

可选的,在以下条件下,所述业务终端停止所述计量子设备的计量计费: 正在被计量计费的支付卡冻结金额用完;和/或已被本业务终端灰锁的支付卡 进行刷卡解扣。

可选的,所述计量子设备停止对所述支付卡计量计费后,所述业务终端 向所述安全芯片发送包含所述支付卡的交易金额的计算GMAC命令;所述 安全芯片完成GMAC计算后,在所述支付卡进行刷卡解扣时将该GMAC发 送到该支付卡进行验证,所述业务终端设置对该支付卡进行计量计费的计量 子设备为空闲可使用状态,该计量子设备能够对其他支付卡进行灰锁交易。

另一方面,本发明提供一种安全芯片,所述安全芯片设置在业务终端中, 所述安全芯片通过执行所述业务终端发送的计算MAC1命令、验证MAC2 命令及计算解扣GMAC命令,配合支付卡完成灰锁交易功能,所述安全芯 片被配置为:验证MAC2成功后,安全芯片内存储的终端交易序号加1,且 安全芯片保持灰锁空闲状态;计算GMAC时,在命令报文数据域中增加支 付卡交易数据中的附加数据,且安全芯片内存储的终端交易序号不加1。

可选的,所述支付卡交易数据中的附加数据,包括以下各项中的至少一 项:支付卡伪随机数、密钥版本号、算法标识、终端交易序号、终端随机数、 分散因子。

另一方面,本发明提供一种机器可读存储介质,该机器可读存储介质上 存储有指令,该指令用于使得机器执行本申请上述任一项所述的灰锁交易方 法。

另一方面,本发明提供一种处理器,用于运行程序,所述程序被运行时 用于执行上述任一项所述的灰锁交易方法。

通过上述技术方案,在灰锁交易原有技术规范的基础上,使用安全芯片 替代原PSAM卡可以缩短安全芯片与业务终端的通信时间,有效提升交易性 能,并重新定义安全芯片的验证MAC2和计算GMAC指令,使得业务终端 在对一张支付卡灰锁后,在不必对该支付卡完成解扣结算的情况下,能够接 受其他支付卡发起的灰锁交易,且不影响各支付卡的正常结算功能,即实现 了支持多卡并发灰锁交易的功能。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详 细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部 分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发 明实施例的限制。在附图中:

图1为现有技术用加油IC卡在加油机上执行加油业务的灰锁交易处理 流程示意图;

图2为本发明实施例提供的灰锁交易方法的流程图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解 的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用 于限制本发明实施例。

首先以用加油卡在加油机上执行加油业务的处理流程为例,介绍目前灰 锁技术应用在业务交易中的情况。

参见图1所示,图1为现有技术用加油IC卡在加油机上执行加油业务 的灰锁交易处理流程示意图,该流程包括以下步骤:

步骤101,加油IC卡与加油机终端进行交易预处理,主要完成加油机终 端从IC卡读取发卡标识、应用序列号等信息。

步骤102,加油机终端向加油IC卡发送灰锁初始化命令。

步骤103,加油IC卡将用户卡随机数、用户卡交易序号、密钥版本号、 算法标识等交易数据通过灰锁初始化响应返回给加油机终端。

步骤104,加油机终端向内部的PSAM卡发送包含交易数据的计算 MAC1命令。

步骤105,PSAM卡根据所述交易数据计算出MAC1。

步骤106,PSAM卡将计算出的MAC1等信息通过计算MAC1响应返 回给加油机终端。

步骤107,加油机终端向加油IC卡发送包含MAC1等信息的灰锁命令。

步骤108,加油IC卡根据交易数据等信息计算出MAC1,与接受到的 MAC1进行比较验证,如果相同,则验证通过执行步骤109;否则直接执行 步骤110。

步骤109,加油IC卡执行灰锁操作,并计算出MAC2。

步骤110,加油IC卡向加油机终端返回灰锁响应。如果验证MAC1未 通过,则该响应中只包含验证结果;如果验证MAC1通过,则该响应中包含 MAC2。

步骤111,加油机终端根据灰锁响应执行步骤112或提示错误。如果灰 锁响应包含验证MAC1未通过的验证结果,则提示错误;如果该响应中包含 MAC2,则执行步骤112。

步骤112,加油机终端向PSAM卡发送包含MAC2的验证MAC2命令。

步骤113,PSAM卡对MAC2进行验证。

步骤114,PSAM卡向加油机终端返回包含验证结果的验证MAC2响应。

步骤115,加油机终端根据验证MAC2响应执行加油交易或提示错误。 如果响应表明验证通过,则表示加油IC卡被正确灰锁,加油机终端执行加 油交易;如果响应表明验证未通过,则表示加油IC卡未被正确灰锁,加油 机终端提示错误。

步骤116,加油交易执行完毕,加油机终端向PSAM卡发送包含交易数 据和交易金额等信息的计算GMAC命令。

步骤117,PSAM卡根据交易数据和交易金额等信息计算GMAC。

步骤118,PSAM卡向加油机终端返回包含GMAC的计算GMAC响应。

步骤119,加油机终端向加油IC卡发送包含GMAC的解扣命令。

步骤120,加油IC卡对GMAC进行验证,验证通过则执行扣款和解扣 操作后执行步骤121,如果验证不通过直接执行步骤121。

步骤121,加油IC卡向加油机终端返回解扣响应。

步骤122,加油机终端提示交易结果。如果响应中表明解扣成功,则加 油机终端提示交易成功;如果响应中表明解扣失败,则加油机终端提示交易 失败。

在正常的情况下,在加油IC卡被灰锁,PSAM卡正确执行了验证MAC2 命令后,如果加油IC卡被异常拔出、拿走,则由于加油IC卡本身已经灰锁, 因此必须要解扣后才能进行下一次交易,加油机终端会使PSAM卡根据该加 油IC卡当前交易金额计算出用于解扣加油IC卡的GMAC。这样,这张加油 IC卡以后可以在任何一个具有本次交易金额和对应的GMAC数据的终端上 进行补扣交易就可以扣除此次交易的金额,并解开灰锁,继续使用。

通常一个加油站的多个加油机由一个管理计算机来管理,多个网络计算 机通过网络连接到管理中心。PSAM卡计算出本次交易的GMAC后,将本 次交易金额和GMAC返回给加油机终端,加油机终端会将本次交易金额和 该GMAC上报给管理计算机,管理计算机再将本次交易金额和该GMAC上 报管理中心。管理中心将本次交易金额和GMAC再下发给其管理的各个管 理计算机,管理计算机再下发给各个加油机终端。这样,被联网的加油机终 端都具有了该次交易金额和对应的GMAC数据,被灰锁的加油IC卡可以在 任何一个具有该次交易金额和对应的GMAC数据的终端上进行补扣交易, 就可以扣除此次交易的金额,并解开灰锁,继续使用。

图一所示流程中的三类设备:加油IC卡、加油机终端以及PSAM卡, 分别对应于本申请实施例中的支付卡、业务终端以及安全芯片。

针对现有的终端设备还不能支持多卡并发灰锁交易的缺陷,本发明一实 施例提供一种灰锁交易方法,该方法在业务终端中设置安全芯片,所述安全 芯片通过执行所述业务终端发送的计算MAC1命令、验证MAC2命令及计 算GMAC命令,配合支付卡完成灰锁交易功能,该方法在原有技术规范的 基础上改进的安全芯片验证MAC2、计算GMAC步骤包括以下步骤:

(A)安全芯片验证MAC2成功后,安全芯片内存储的终端交易序号加 1,且安全芯片保持灰锁空闲状态;

(B)安全芯片计算GMAC时,在命令报文数据域中增加支付卡交易数 据中的附加数据,且安全芯片内存储的终端交易序号不加1。

针对现有技术使用的内嵌PSAM卡通信速率低这一问题,本实施例开发 一款安全芯片来代替传统的PSAM卡,传统的PSAM卡支持ISO/IEC7816 接口,通信速率默认为9.6Kbps,最高可到200多Kbps,本实施例优选采用 支持SPI接口(Serial PeripheralInterface,串行外设接口)的安全芯片,SPI 接口通信速率可达到50Mbps,采用SPI接口的安全芯片,可有效缩短安全 芯片与业务终端的通信时间,提升交易性能。并且传统的PSAM卡安装在终 端设备的卡槽中,会存在触电磨损、接触不良等问题,而安全芯片采用SOP8 等规格的模块封装方式被焊接在终端设备上,增强了安装的可靠性。

对于步骤(A),在原有技术规范中,“终端交易序号加1”这一操作 是在PSAM卡计算GMAC之后由卡片操作系统执行;PSAM卡灰锁状态的 变化时间为:PSAM卡在支付卡执行灰锁后由灰锁空闲状态变为灰锁状态, 并且在验证MAC2成功后仍为灰锁状态,直至PSAM卡计算GMAC后回到 灰锁空闲状态。

在本实施例中,安全芯片被修改为:在验证MAC2成功后,终端交易 序号就加1,并且安全芯片保持灰锁空闲状态。选择在验证MAC2之后令终 端交易序号加1,可以保证当需要对多张支付卡进行刷卡时,终端交易序号 不重复(终端交易序号不代表进行扣款完成的交易),以及,安全芯片状态 为灰锁空闲状态也意味着安全芯片还可对其他支付卡进行灰锁或者解扣计 算。

对于步骤(B),在原有技术规范中,对某支付卡计算GMAC必须在对 该支付卡验证MAC2步骤之后执行,且PSAM卡需要为灰锁状态,业务终 端在向PSAM卡发送的验证MAC2命令和计算GMAC命令之间不能插入其 他命令(其他命令例如:针对另一张支付卡发起的灰锁交易,业务终端向 PSAM卡发送计算MAC1命令),并且在计算GMAC之后PSAM卡内存储 的终端交易序号加1,业务终端向PSAM卡发送的计算GMAC命令以及该 命令的数据域见表1所示。

表1

在本实施例中,安全芯片被修改为:计算GMAC时,在命令报文数据 域中增加支付卡交易数据中的附加数据,且安全芯片内存储的终端交易序号 不加1(已在步骤(A)验证MAC2之后加1)。并且本实施例中安全芯片 执行完对某支付卡验证MAC2后,可再继续执行对其他支付卡的计算MAC1 和验证MAC2。业务终端向安全芯片发送的计算GMAC命令以及该命令的 数据域见表2所示。

表2

在表2中,数据域在原有技术规范的基础上增加了附加数据,该附加数 据为支付卡交易数据中增加保存的数据。支付卡交易数据由业务终端在支付 卡进行第一次刷卡时获得,包括:交易类型标识、钱包脱机交易序号、交易 日期、交易时间、冻结金额以及支付卡应用序列号后8字节,其中支付卡应 用序列号后8字节包含在分散因子中;附加数据在安全芯片计算MAC1之后 由业务终端增加保存在该支付卡的支付卡交易数据中,附加数据包括:支付 卡伪随机数、密钥版本号、算法标识、终端交易序号、终端随机数、分散因 子等信息。安全芯片在计算GMAC时增加这些附加数据进行中间密钥、过 程密钥的计算。

在原有技术规范中,支付卡交易数据在支付卡第一次刷卡后被保存在业 务终端的PSAM卡中,且每张PSAM卡在一笔交易过程中只能保存一张卡 的支付卡交易数据。在本实施例中,优选将支付卡交易数据存储在业务终端 中,且规定业务终端能够存储的支付卡交易数据的个数大于等于1,以记录 多张支付卡交易的信息。

在安全芯片执行完步骤(A)之后,业务终端可对其下挂的不只一个的 计量子设备进行配置,在此先规定第一支付卡和第二支付卡各自表示根据首 次刷卡灰锁的先后顺序确定的支付卡,首次刷卡在前的为第一支付卡,首次 刷卡在后的为第二支付卡。配置计量子设备的方式具体为:第一支付卡被灰 锁后,业务终端指定某个计量子设备对第一支付卡生成的交易进行计量计费, 且业务终端接受到第二支付卡刷卡灰锁后,指定本业务终端的其他计量子设 备对所述第二支付卡生成的交易进行计量计费。同理,业务终端接受到第三支付卡刷卡灰锁后,指定本业务终端未被占用的其他计量子设备对第三支付 卡生成的交易进行计量计费。业务终端可通过配置下挂的计量子设备的数目 来决定可同时与多少张支付卡进行并发灰锁交易,增强了设置多卡并发数量 的灵活性。

如此,业务终端通过控制不同计量子设备分别对刷卡灰锁的不同支付卡 进行计量计费,使得业务终端在对一张支付卡灰锁后,在不影响对该支付卡 正常计量计费的情况下,可以再接受其他支付卡灰锁及计量计费,从而不影 响各支付卡的正常结算功能。

支付卡在业务终端首次刷卡灰锁后,计量子设备对其实际交易进行计量 计费,在以下条件下:当正在被计量计费的支付卡冻结金额用完时(业务终 端需控制支付卡交易金额不超出冻结金额),和/或已被本业务终端灰锁的支 付卡进行刷卡解扣时,业务终端停止计量子设备对支付卡的计量计费并准备 结算。

计量子设备停止对支付卡计量计费后,业务终端确定该支付卡产生的交 易金额,业务终端向安全芯片发送包含该支付卡交易金额的计算GMAC命 令。安全芯片完成GMAC计算后,在所述支付卡进行刷卡解扣时将该GMAC 发送到该支付卡进行验证,支付卡验证通过则进行消费扣款,或者安全芯片 完成GMAC计算后,通过网络将支付卡交易数据上传至后台系统,可供同 一系统的其他业务终端进行消费扣款。

完成GMAC计算和验证后,业务终端设置对该支付卡进行计量计费的 计量子设备为空闲可使用状态,使该计量子设备能够对其他支付卡进行灰锁 交易。

本发明还提供一实施例以完整说明本申请技术方案的灰锁交易处理流 程,见图2所示。

支付卡刷卡,灰锁交易流程开始。

步骤201,业务终端判断支付卡是否可用;若否,结束流程;若是,执 行步骤202。

判断支付卡是否可用,即判断支付卡是否满足使用条件,如支付卡当前 余额低于最低消费额度、或该支付卡不允许在本业务终端使用、或该支付卡 在黑名单中,则判断支付卡不可用。

步骤202,业务终端判断支付卡灰锁状态;若支付卡TAC未读,执行步 骤203;若支付卡未灰锁,执行步骤204;若支付卡已灰锁,执行步骤205。

步骤203,业务终端清除TAC。

步骤204,业务终端判断下挂的计量子设备是否可用;若不可用,结束 流程;若可用,执行步骤206。

步骤205,业务终端判断本终端是否有该支付卡的支付卡交易数据;若 否,结束流程;若是,执行步骤213。

步骤206,业务终端对支付卡灰锁初始化。

之后业务终端向安全芯片发送计算MAC1命令。

步骤207,安全芯片计算MAC1。

步骤208,业务终端存储的支付卡交易数据中增加存储以下附加数据: 支付卡伪随机数、密钥版本号、算法标识、终端交易序号、终端随机数、分 散因子。

之前在支付卡第一次刷卡时,由本业务终端存储的支付卡交易数据包括: 交易类型标识、钱包脱机交易序号、交易日期、交易时间、冻结金额以及支 付卡应用序列号后8字节,其中支付卡应用序列号后8字节包含在分散因子 中。分散因子包含的完整信息有:支付卡应用序列号后8字节+成员标识+ 试点城市标识,其中成员标识和试点城市标识可有可无。

步骤209,支付卡验证MAC1,验证通过则执行灰锁并向业务终端返回GTAC(Grey-lock Transaction Authorization Code,灰锁交易验证码)和MAC2; 若验证失败,结束流程。

步骤210,业务终端获取GTAC和MAC2,并将GTAC保存至支付卡交 易数据中。

之后业务终端向安全芯片发送验证MAC2命令,业务终端保证在计算 MAC1命令和验证MAC2命令之间不插入其他对安全芯片的命令。

步骤211,安全芯片验证MAC2,验证通过则存储在其中的终端交易序 号加1,安全芯片保持灰锁空闲状态;若验证失败,结束流程。

其中,安全芯片按照原有技术规范中的密钥分散、MAC计算算法进行 MAC2验证。

之后业务终端可对其下挂的计量子设备进行配置。

步骤212,业务终端指定计量子设备开始计量计费。

对于未灰锁过的支付卡,业务终端指定未被占用的计量子设备对该支付 卡进行计量计费。

步骤213,业务终端判断当前计量子设备是否已完成计量计费;若否, 执行步骤214;若是,执行步骤216。

本步骤执行在步骤205之后,当判断支付卡状态为已灰锁,且本终端存 有该卡的支付交易数据,说明该支付卡之前已在本业务终端刷卡灰锁,此次 刷卡为二次刷卡解扣。

业务终端停止计量子设备对支付卡计量计费有两种情况:第一种是支付 卡主动进行二次刷卡解扣,则计量子设备停止计费;第二种是业务终端按照 原有技术规范,需控制各支付卡的交易金额小于之前冻结金额,如果在已在 本业务终端灰锁的支付卡还未进行二次刷卡解扣,但其冻结金额又用完的情 况下,则控制计量子设备停止计费。

当判断当前计量子设备是否已完成计量计费的判断结果为否,说明是上 述第一种情况,执行步骤214;当判断结果为是,说明是上述第二种情况, 执行步骤218。

步骤214,业务终端停止当前计量子设备的计量计费。

步骤215,业务终端根据交易完成时间等信息计算交易金额。

之后业务终端向安全芯片发送计算GMAC命令。

步骤216,安全芯片计算GMAC,数据域中增加步骤208中所增加存储 的附加数据(包括支付卡伪随机数、密钥版本号、算法标识、终端交易序号、 终端随机数、分散因子),其中存储的终端交易序号不加1。业务终端向安 全芯片发送的计算GMAC命令的数据域见表2所示。

步骤217,业务终端将安全芯片计算获得的GMAC、交易金额和 SAMTAC等信息存储到该支付卡的支付卡交易数据中。

需要说明的是,当步骤213的判断结果为是,说明计量子设备已依照上 述第二种情况停止计量计费(即由于支付卡冻结金额用完而停止计费),在 计量子设备停止计量计费的时刻,业务终端获取交易金额并向安全芯片发送 包含交易金额的计算GMAC命令,安全芯片计算GMAC的方式与步骤217 相同,之后业务终端将交易金额及GMAC等信息存储至该支付卡的支付卡 交易数据中,待支付卡刷卡解扣时将该GMAC发送到该支付卡进行验证。

步骤218,支付卡验证GMAC;若验证通过则执行扣款解扣,并向业务 终端返回TAC;若验证失败则结束流程。

步骤219,支付卡清除TAC。

结束流程。

在本实施例中,可见步骤211以及步骤217相对于原有技术规范做出了 改进,步骤211和步骤217分别对应于上述步骤(A)和步骤(B)。对安 全芯片执行完步骤211之后,业务终端通过控制不同计量子设备分别对刷卡 灰锁的不同支付卡进行计量计费,使得业务终端在对一张支付卡灰锁后,在 不影响对该支付卡正常计量计费的情况下,可以再对其他支付卡灰锁及对已 灰锁支付卡解扣,并且不影响各支付卡的正常结算功能,从而实现多支付卡 能在一个业务终端进行并发灰锁交易的功能。

对应于上述灰锁交易方法,本发明还提供一种安全芯片,所述安全芯片 设置在业务终端中,所述安全芯片通过执行所述业务终端发送的计算MAC1 命令、验证MAC2命令及计算解扣GMAC命令,配合支付卡完成灰锁交易 功能,所述安全芯片被配置为:

验证MAC2成功后,安全芯片内存储的终端交易序号加1,且安全芯片 保持灰锁空闲状态;

计算GMAC时,在命令报文数据域中增加支付卡交易数据中的附加数 据,且安全芯片内存储的终端交易序号不加1。

其中,支付卡交易数据由业务终端在支付卡进行第一次刷卡时获得,附 加数据在安全芯片计算MAC1之后由业务终端增加保存在该支付卡的支付 卡交易数据中。所述支付卡交易数据中的附加数据,优选包括以下各项数据: 支付卡伪随机数、密钥版本号、算法标识、终端交易序号、终端随机数、分 散因子。

安全芯片优选支持SPI接口,SPI接口通信速率可达到50Mbps,因此可 有效缩短安全芯片与业务终端的通信时间,提升交易性能。

所述安全芯片的其他技术特征及有益效果参见上述灰锁交易方法实施 例所示,在此不做赘述。

本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存 储有指令,该指令用于使得机器执行所述灰锁交易方法。

本发明还提供一种处理器,用于运行程序,其中,所述程序被运行时用 于执行所述灰锁交易方法。

需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不 仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这 种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由 语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商 品或者设备中还存在另外的相同要素。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术 人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所 作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 灰锁交易方法及安全芯片
  • 提高应用灰锁技术的业务交易IC卡可靠性的方法
技术分类

06120112939638