一种交易动态数据认证方法及系统的制作方法
【技术领域】
[0001]本发明是关于交易动态数据认证技术,具体地,是关于一种交易动态数据认证方法及系统。
【背景技术】
[0002]智能卡已经广泛应用于金融领域,其优势是其他产品无法替代的。但由于智能卡本身的硬件限制,在实现一些安全算法时需要耗费较长的时间,而在一些特殊交易环境中,交易速度是限制交易的最主要因素,因此优化交易流程,缩短交易时间是非常必要的。另一方面,交易的安全性是应用的前提,是任何流程方案必须首要考虑的因素。如何能够在确保安全的基础上最大程度的缩短交易时间是目前实际应用中经常遇到的难题。
[0003]根据PB0C3.0规范,智能卡需要支持基于国密sm2算法的借贷记交易证书验签。证书签名与验签是动态数据认证的核心,而动态数据认证比静态数据认证更加安全,但是会耗费更长的时间,一些实际应用受到交易时间的限制不得不放弃动态数据认证,这在一定程度上提高了交易风险。
【发明内容】
[0004]本发明实施例的主要目的在于提供一种交易动态数据认证方法及系统,以在交易动态数据认证的过程中,既提高认证过程的效率,也能保证认证过程的安全性。
[0005]为了实现上述目的,本发明实施例提供一种交易动态数据认证方法,所述的交易动态数据认证方法包括:预存储多组SM2签名预存数据;根据所述SM2签名预存数据进行动态数据认证;其中,所述的SM2签名预存数据包括:随机数,以及所述随机数与基点的点乘结果。
[0006]在一实施例中,上述的交易动态数据认证方法还包括:对所述的多组SM2签名预存数据进行更新。
[0007]在一实施例中,预存储多组SM2签名预存数据,包括:在卡片个人化阶段的数据输入过程中,触发卡片生成并预存储所述的多组SM2签名预存数据。
[0008]在一实施例中,预存储多组SM2签名预存数据,包括:接收终端发送的发卡行脚本指令;根据所述发卡行脚本指令,触发预存储所述的多组SM2签名预存数据的过程。
[0009]在一实施例中,上述的预存储多组SM2签名预存数据,包括:当当前交易指令没有限制交易时间时,通过卡片触发预存储所述的多组SM2签名预存数据的过程。
[0010]在一实施例中,对所述SM2签名预存数据进行更新,包括:对动态数据认证过程中使用的所述SM2签名预存数据进行失效处理,使动态数据认证过程中使用的所述SM2签名预存数据失效;判断所述的多组SM2签名预存数据是否全部失效,或存储所述的多组SM2签名预存数据的存储空间是否空余;当判定结果为是时,触发补充预存储SM2签名预存数据过程,以对所述SM2签名预存数据进行更新。
[0011 ] 在一实施例中,上述的补充预存储SM2签名预存数据,包括:接收终端发送的发卡行脚本指令;根据所述发卡行脚本指令补充预存储多组SM2签名预存数据。
[0012]在一实施例中,上述的补充预存储SM2签名预存数据,包括:当当前交易指令没有限制交易时间时,通过卡片触发预存储多组SM2签名预存数据的过程。
[0013]本发明实施例还提供一种交易动态数据认证系统,所述的交易动态数据认证系统包括:签名数据预存储单元及动态数据认证单元,其中,所述签名数据预存储单元预存储多组SM2签名预存数据;所述动态数据认证单元利用所述SM2签名预存数据进行动态数据认证;所述的SM2签名预存数据包括:随机数,以及所述随机数与基点的点乘结果。
[0014]在一实施例中,上述的交易动态数据认证系统还包括:签名预存数据更新单元,所述签名预存数据更新单元对所述的多组SM2签名预存数据进行更新。
[0015]在一实施例中,上述的签名数据预存储单元具体用于:在卡片个人化阶段的数据输入过程中,预存储所述的多组SM2签名预存数据。
[0016]在一实施例中,上述的签名数据预存储单元具体用于:接收终端发送的发卡行脚本指令;根据所述发卡行脚本指令预存储所述的多组SM2签名预存数据。
[0017]在一实施例中,上述的签名数据预存储单元具体用于:当当前交易指令没有限制交易时间时,通过卡片触发预存储所述的多组SM2签名预存数据的过程。
[0018]在一实施例中,上述的签名预存数据更新单元包括:失效处理模块、判断模块及签名预存数据更新模块,其中,所述失效处理模块对动态数据认证过程中使用的所述SM2签名预存数据进行失效处理,使动态数据认证过程中使用的所述SM2签名预存数据失效;所述判断模块判断所述的多组SM2签名预存数据是否全部失效,或存储所述的多组SM2签名预存数据的存储空间是否空余;当所述判断模块的判定结果为是时,所述签名预存数据更新模块通过所述签名预存数据更新模块触发补充预存储SM2签名预存数据过程,以对所述SM2签名预存数据进行更新。
[0019]在一实施例中,上述的签名预存数据更新模块具体用于:接收终端发送的发卡行脚本指令;根据所述发卡行脚本指令补充预存储多组SM2签名预存数据。
[0020]在一实施例中,上述的签名预存数据更新模块具体用于:当当前交易指令没有限制交易时间时,通过卡片触发预存储多组SM2签名预存数据的过程。
[0021]本发明实施例的有益效果在于,从SM2算法的原理出发,对于SM2签名需要计算随机数点乘数据进行预存储,并基于该预存储的签名预存数据进行动态数据认证。在保证安全性的前提下大大减少了卡片计算签名的时间,从而降低了利用SM2算法实现动态数据认证的时间成本,降低了其局限性,使其可以更广泛的应用于实际交易以加强交易的安全性。
【附图说明】
[0022]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为根据本发明实施例的交易动态数据认证方法的流程图;
[0024]图2为根据本发明另一实施例的交易动态数据认证方法的流程图;
[0025]图3为根据本发明实施例的对SM2签名预存数据进行更新的步骤的流程图;
[0026]图4为根据本发明实施例的交易动态数据认证系统的结构示意图;
[0027]图5为根据本发明另一实施例的交易动态数据认证系统的结构示意图;
[0028]图6为根据本发明实施例的签名预存数据更新单元3的结构示意图。
【具体实施方式】
[0029]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]本发明实施例提供一种交易动态数据认证方法及系统。以下结合附图对本发明进行详细说明。
[0031]本发明实施例提供一种交易动态数据认证方法,如图1所示,该交易动态数据认证方法主要包括以下各步骤:
[0032]步骤S101:预存储多组SM2签名预存数据;
[0033]步骤S102:利用SM2签名预存数据进行动态数据认证;
[0034]其中,SM2签名预存数据包括:随机数,以及随机数与基点的点乘结果。
[0035]通过上述步骤S101及步骤S102,本发明实施例的交易动态数据认证方法从SM2算法的原理出发,对于SM2签名需要计算随机数点乘数据进行预存储,并基于该预存储的签名预存数据进行动态数据认证。在保证安全性的前提下大大减少了卡片计算签名的时间,从而降低了利用SM2算法实现动态数据认证的时间成本,降低了其局限性,使其可以更广泛的应用于实际交易以加强交易的安全性。
[0036]以下对上述各步骤进行详细说明。
[0037]上述的步骤S101,预存储多组SM2签名预存数据。在具体实施时,对于SM2签名预存数据的预存储过程可至少在以下三个阶段进行:
[0038]1.卡片个人化时存入:个人化是指卡片投入使用前的数据输入过程,数据会以数据块的形式写入卡片中,如果在此时预存SM2签名预存数据,则可以通过特定数据块的写入或个人化结束等条件触发预存。触发卡片生成上述的SM2签名预存数据,然后对上述SM2签名预存数据进行存储,外部不可见,保证了安全性。
[0039]2.由终端发送发卡行脚本指令触发预存:首先接收终端发送的发卡行脚本指令,根据该发卡行脚本指令触发预存过程,预存储SM2签名预存数据。此操作可以在发卡行脚本