一种适用于支付产品的身份认证方法

文档序号:6629793阅读:390来源:国知局
一种适用于支付产品的身份认证方法
【专利摘要】本发明提供一种适用于支付产品的身份认证方法,将认证方随机数、被认证方随机数和身份标记数据通过第一算法拼合成被认证方输入数据;被认证方输入数据通过哈希算法得到被认证方安全数据;被认证方安全数据通过第二算法变短,得到被认证方认证数据;被认证方将被认证方认证数据和被认证方随机数传递给认证方;认证方用认证方随机数、被认证方随机数以及身份标记数据通过第一算法拼合成认证方输入数据;认证方输入数据通过哈希算法以及第二算法,得到认证方认证数据;比对认证方认证数据和被认证方认证数据,若相同,身份认证通过。本发明可用于无法运行复杂运算的产品上,使这些产品防范截取认证数据攻击身份标记数据的能力加强。
【专利说明】一种适用于支付产品的身份认证方法
【【技术领域】】
[0001 ] 本发明涉及一种适用于支付产品的身份认证方法。
【【背景技术】】
[0002]在支付产品的整体解决方案中,需要支付终端产品与后台支付系统配合才能完成支付功能,为了终端和后台系统对接的安全性,往往需要在终端和后台系统之间进行单向或双向身份认证。在支付终端产品内部,当涉及到多个敏感服务模块的数据协同工作的时候,为了保证敏感服务模块被受信者调用,也要进行模块直接的单向或双向身份认证。因此,在支付产品中,身份认证是必要的机制。
[0003]目前,支付产品中身份认证是通过加密解密功能来实现的。根据现有使用的算法,可以分为利用对称加密算法实现的身份认证和利用非对称加密算法实现的身份认证。
[0004]利用对称加密算法实现的身份认证,认证双方相互传递用一个约定密钥加密的明文和密文对,认证双方是通过明文的加密结果是否等于密文,或者密文的解密结果是否等于明文来判断对方的密钥是否和己方一致,进而判断对方的身份是否合法。金融体系内常用的对称加密算法,如DES、AES等,其安全攻击的常见方法,就是大量收集明文和密文对来暴力推算加密密钥。利用对称加密算法工作的身份认证存在明文和密文对在通讯线路上的传输,这就使得攻击者有渠道收集攻击用的明文和密文对,对身份认证实施攻击。即便是在利用对称加密算法实施的身份认证中加入了随机因子,攻击者也可以通过伪造一个认证方,通过减少或控制随机因子量对另一个认证方实现独立攻击,暴力推演对称密钥。一旦一端被攻陷,整个身份认证即被攻破。因此,基于对称加密算法的身份认证多数仅用于终端产品内部模块的认证,很少用于终端和远程后台系统之间的认证。
[0005]利用非对称加密算法的身份认证,克服了对称加密的身份认证的缺点,即便明文和密文对在通讯线路上传输,攻击者也无法在有效时间内通过明文密文对推算出认证双方各自持有的认证用公钥和私钥对。但是,基于非对称加密算法的身份认证方法,依赖于认证双方的计算环境都可以支持非对称加密算法,如RSA、椭圆曲线等算法。非对称加密算法的往往涉及到大数运算,对于CPU计算能力比较低的终端产品,往往无法在短时间内完成非对称加密运算,在它们上面使用非对称加密的身份认证也就不具备实用性。因此,利用非对称加密算法的身份认证在产品方案的选择中存在局限性,也不能完全替代基于对称加密算法的身份认证。

【发明内容】

[0006]本发明要解决的技术问题,在于提供一种适用于支付产品的身份认证方法,其利用哈希算法来实现身份标记数据及随机数到安全数据的转换,大大加强了防止攻击者利用截取安全数据攻击身份标记数据的能力,而且,执行哈希算法的硬件要求比非对称加密算法要低,因此,本发明对硬件的要求比较低,基本上现有常见的嵌入式处理器都能够支撑哈希类算法的快速运行,使大部分支付产品都能够提供高安全性的身份认证功能。
[0007]本发明是这样实现的:
[0008]一种适用于支付产品的身份认证方法,每个被认证方都持有一个与其他被认证方不同的身份标记数据,且不公开,认证方持有每个被认证方的身份标记数据;所述身份认证方法具体为:
[0009]步骤10、认证方首先产生一认证方随机数,并将该认证方随机数传递给被认证方;被认证方收到认证方随机数后,产生一被认证方随机数;
[0010]步骤20、被认证方用认证方随机数、被认证方随机数以及其自身的身份标记数据通过一第一算法拼合成一被认证方输入数据;
[0011]步骤30、所述被认证方输入数据通过哈希算法运算后得到一被认证方安全数据;
[0012]步骤40、所述被认证方安全数据通过一第二算法变短,得到一被认证方认证数据;
[0013]步骤50、被认证方将所述被认证方认证数据和被认证方随机数传递给认证方;
[0014]步骤60、认证方用认证方随机数、被认证方随机数以及该被认证方对应的身份标记数据通过所述第一算法拼合成认证方输入数据;然后,所述认证方输入数据通过所述哈希算法得到一认证方安全数据;最后,所述认证方安全数据通过所述第二算法变短,得到认证方认证数据;
[0015]步骤70、认证方比对认证方认证数据和接收到的被认证方认证数据,若相同,则被认证方的身份认证通过。
[0016]进一步地,所述身份认证方法为双向认证,具体为,在所述步骤70被认证方的身份认证通过之后还包括:
[0017]步骤80、由被认证方首先产生一新的被认证方随机数,并将该被认证方随机数传递给认证方;认证方收到被认证方随机数后,产生一新的认证方随机数;
[0018]步骤90、认证方用认证方随机数、认证方随机数以及该被认证方对应的身份标记数据通过所述第一算法拼合成一新的认证方输入数据;将所述新的认证方输入数据通过所述不可逆算法运算后得到一新的认证方安全数据;所述新的认证方安全数据通过所述第二算法变短,得到一新的认证方认证数据;
[0019]步骤100、认证方将所述新的认证方认证数据和认证方随机数传递给被认证方;被认证方用新的认证方随机数、新的被认证方随机数以及被认证方自身持有的身份标记数据通过所述第一算法拼合成新的被认证方输入数据;然后,所述新的被认证方输入数据通过所述哈希算法得到一新的被认证方安全数据;最后,所述新的被认证方安全数据通过所述第二算法变短,得到新的认证方认证数据;
[0020]步骤110、被认证方比对新的被认证方认证数据和接收到的新的认证方认证数据,若相同,则认证方的身份认证通过;通过双向认证,进一步加强了身份认证的安全性。
[0021]进一步地,所述被认证方设定有被认证方名称,各被认证方名称均为唯一标识,所述步骤50中,被认证方将所述被认证方认证数据、被认证方随机数以及被认证方名称传递给认证方;
[0022]执行所述步骤60之前,认证方首先根据被认证方名称找到与该被认证方名称对应的身份标记数据,然后再执行所述步骤60。
[0023]本发明具有如下优点:
[0024]本发明利用哈希算法的不可逆特性和雪崩效应特性大大增加通过计算得出数据的规律来猜解原数据的难度。因此,利用哈希算法来实现身份标记数据及随机数到认证数据的转换,在防止攻击者利用截取认证数据攻击身份标记数据的能力上比对称加密算法强。而且,执行哈希算法的硬件要求比非对称加密算法要低,基本上现在常见的嵌入式处理器都能够支撑哈希算法的快速运行,使大部分支付产品都能够提供高安全性的身份认证功倉泛。
【【专利附图】

【附图说明】】
[0025]下面参照附图结合实施例对本发明作进一步的说明。
[0026]图1为本发明方法的原理示意图。
[0027]图2为本发明方法的流程示意图。
【【具体实施方式】】
[0028]请参阅图1和图2,一种适用于支付产品的身份认证方法,每个被认证方都持有一个与其他被认证方不同的身份标记数据,且不公开,认证方持有每个被认证方的身份标记数据;所述身份标记数据的数据长度一般不能少于8个字节,字节数太少,安全性降低。
[0029]所述身份认证方法具体为:
[0030]步骤10、认证方首先产生一认证方随机数,并将该认证方随机数传递给被认证方;被认证方收到认证方随机数后,产生一被认证方随机数;所述认证方随机数可以是一个二进制数据,由认证方在每次认证发起时产生,其数据长度一般不能少于4个字节。认证方每次认证时产生的认证方随机数是随机的,不会出现连续多次认证使用相同的认证方随机数的情况;被认证方随机数可以是一个二进制数据,由被认证方在每次认证时产生;被认证方随机数的数据长度一般不能少于4个字节,被认证方需要保证每次认证时产生的被认证方随机数是随机的,不会出现连续多次认证使用相同的被认证方随机数的情况;
[0031]步骤20、被认证方用认证方随机数、被认证方随机数以及其自身的身份标记数据通过一第一算法拼合成一被认证方输入数据;所述被认证方输入数据的数据长度要求不小于32字节,以避免不同时期进行身份认证时产生的被认证方输入数据重复率太高;
[0032]所述第一算法是一种将多个数据拼合成一个数据的算法,例如,所述第一算法可以是直接把三个数据(即认证方随机数、被认证方随机数以及身份标记数据)的字节流首尾相接而成新的数据(即生成被认证方输入数据),还可以是将三个数据(即认证方随机数、被认证方随机数以及身份标记数据)相互异或得到新的数据(即生成被认证方输入数据)。除上述两种方式外,还可以是,将三个数据(即认证方随机数、被认证方随机数以及身份标记数据)中的任意两个数据异或后作为DES密钥加密第三个数据,得到被认证方输入数据,因此,所述第一算法是一种广义的算法,只要能将三个数据拼合成一个数据的算法都是可行的,如何拼合的方式可自定义。
[0033]步骤30、所述被认证方输入数据通过哈希算法运算后得到一被认证方安全数据;
[0034]所述哈希算法可以选用SHA-1/SHA-256等哈希类算法时,此类算法通过PCI PTS认证的认可,具备金融行业使用的安全性要求。由于哈希算法具备不可逆特性和雪崩效应特性,不可逆特性指由哈希算法计算得出的数据无法方向推倒出原数据;雪崩效应特性指的是即使原数据仅发生一个比特位的小修改其计算得出的数据也会有极大的差别,因此,这一特性可以增大通过计算得出的数据的规律来猜解原数据的难度;
[0035]步骤40、所述被认证方安全数据通过一第二算法变短,得到一被认证方认证数据;将被认证方安全数据转换为被认证方认证数据的目的在于减少被认证方认证数据的数据长度,提高认证时的传输效率,且增加被认证方认证数据的复杂度,提高攻击的难度。被认证方认证数据的长度一般不小于8字节且不大于32字节;
[0036]所述第二算法是一种将数据变短的算法,例如,所述第二算法可以是将数据对半拆分后做相互异或,使得数据仅为原来长度的一半,所述第二算法还可以是将数据拆分成两段后用DES做相互加密,或者将数据拆分成两段后做CRC校验等运算,因此,所述第二算法包括一切能将数据变短的运算方法,将数据变短目的是提高认证时的传输效率;
[0037]步骤50、被认证方将所述被认证方认证数据和被认证方随机数传递给认证方;
[0038]步骤60、认证方用认证方随机数、被认证方随机数以及该被认证方对应的身份标记数据通过所述第一算法拼合成认证方输入数据;然后,所述认证方输入数据通过所述不可逆算法得到一认证方安全数据;最后,所述认证方安全数据通过所述第二算法变短,得到认证方认证数据;
[0039]步骤70、认证方比对认证方认证数据和接收到的被认证方认证数据,若相同,则被认证方的身份认证通过,若不相同,则被认证方身份认证失败。
[0040]所述身份认证方法还可以为双向认证,具体为,在所述步骤70被认证方的身份认证通过之后还包括:
[0041]步骤80、由被认证方首先产生一新的被认证方随机数,并将该被认证方随机数传递给认证方;认证方收到被认证方随机数后,产生一新的认证方随机数;
[0042]步骤90、认证方用认证方随机数、认证方随机数以及该被认证方对应的身份标记数据通过所述第一算法拼合成一新的认证方输入数据;将所述新的认证方输入数据通过所述不可逆算法运算后得到一新的认证方安全数据;所述新的认证方安全数据通过所述第二算法变短,得到一新的认证方认证数据;
[0043]步骤100、认证方将所述新的认证方认证数据和认证方随机数传递给被认证方;被认证方用新的认证方随机数、新的被认证方随机数以及被认证方自身持有的身份标记数据通过所述第一算法拼合成新的被认证方输入数据;然后,所述新的被认证方输入数据通过所述不可逆算法得到一新的被认证方安全数据;最后,所述新的被认证方安全数据通过所述第二算法变短,得到新的认证方认证数据;
[0044]步骤110、被认证方比对新的被认证方认证数据和接收到的新的认证方认证数据,若相同,则认证方的身份认证通过;通过双向认证,进一步加强了身份认证的安全性。
[0045]需要说明的是,在步骤80-步骤110中出现“新的”作为定语,目的在于区别由认证方发起认证时产生的数据不同于由被认证方发起认证时产生的数据。
[0046]本发明还可以设定被认证方名称,各被认证方名称均为唯一标识,因此,所述步骤50中,被认证方将所述被认证方认证数据、被认证方随机数以及被认证方名称传递给认证方;执行所述步骤60之前,认证方首先根据被认证方名称找与该被认证方名称对应的身份标记数据,然后再执行所述步骤60。这样可以实现认证方快速查找对应该被认证方的身份标记数据。
[0047]本发明利用不可逆算法的不可逆特性和雪崩效应特性大大增加通过计算得出的数据的规律来猜解原数据的难度。因此,利用不可逆算法来实现身份标记数据到认证数据的转换,在防止攻击者利用截取认证数据攻击身份标记数据的能力上比对称加密算法强。而且,执行哈希算法的硬件要求比非对称加密算法要低,基本上现在常见的嵌入式处理器都能够支撑哈希算法的快速运行,使大部分支付产品都能够提供高安全性的身份认证功倉泛。
[0048]虽然以上描述了本发明的【具体实施方式】,但是熟悉本【技术领域】的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
【权利要求】
1.一种适用于支付产品的身份认证方法,其特征在于,每个被认证方都持有一个与其他被认证方不同的身份标记数据,且不公开,认证方持有每个被认证方的身份标记数据;所述身份认证方法具体为: 步骤10、认证方首先产生一认证方随机数,并将该认证方随机数传递给被认证方;被认证方收到认证方随机数后,产生一被认证方随机数; 步骤20、被认证方用认证方随机数、被认证方随机数以及其自身的身份标记数据通过一第一算法拼合成一被认证方输入数据; 步骤30、所述被认证方输入数据通过哈希算法运算后得到一被认证方安全数据; 步骤40、所述被认证方安全数据通过一第二算法变短,得到一被认证方认证数据; 步骤50、被认证方将所述被认证方认证数据和被认证方随机数传递给认证方; 步骤60、认证方用认证方随机数、被认证方随机数以及该被认证方对应的身份标记数据通过所述第一算法拼合成认证方输入数据;然后,所述认证方输入数据通过所述哈希算法得到一认证方安全数据;最后,所述认证方安全数据通过所述第二算法变短,得到认证方认证数据; 步骤70、认证方比对认证方认证数据和接收到的被认证方认证数据,若相同,则被认证方的身份认证通过。
2.根据权利要求1所述的一种适用于支付产品的身份认证方法,其特征在于:所述身份认证方法为双向认证,具体为,在所述步骤70被认证方的身份认证通过之后还包括: 步骤80、由被认证方首先产生一新的被认证方随机数,并将该被认证方随机数传递给认证方;认证方收到被认证方随机数后,产生一新的认证方随机数; 步骤90、认证方用认证方随机数、认证方随机数以及该被认证方对应的身份标记数据通过所述第一算法拼合成一新的认证方输入数据;将所述新的认证方输入数据通过所述哈希算法运算后得到一新的认证方安全数据;所述新的认证方安全数据通过所述第二算法变短,得到一新的认证方认证数据; 步骤100、认证方将所述新的认证方认证数据和认证方随机数传递给被认证方;被认证方用新的认证方随机数、新的被认证方随机数以及被认证方自身持有的身份标记数据通过所述第一算法拼合成新的被认证方输入数据;然后,所述新的被认证方输入数据通过所述哈希算法得到一新的被认证方安全数据;最后,所述新的被认证方安全数据通过所述第二算法变短,得到新的认证方认证数据; 步骤110、被认证方比对新的被认证方认证数据和接收到的新的认证方认证数据,若相同,则认证方的身份认证通过;通过双向认证,进一步加强了身份认证的安全性。
3.根据权利要求1所述的一种适用于支付产品的身份认证方法,其特征在于,所述被认证方设定有被认证方名称,各被认证方名称均为唯一标识,所述步骤50中,被认证方将所述被认证方认证数据、被认证方随机数以及被认证方名称传递给认证方; 执行所述步骤60之前,认证方首先根据被认证方名称找到与该被认证方名称对应的身份标记数据,然后再执行所述步骤60。
【文档编号】G06Q20/40GK104408623SQ201410532473
【公开日】2015年3月11日 申请日期:2014年10月11日 优先权日:2014年10月11日
【发明者】林志伟 申请人:福建升腾资讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1