业务处理安全验证方法及装置与流程

文档序号:15931142发布日期:2018-11-14 01:39阅读:205来源:国知局

本发明涉及互联网信息安全技术领域,尤其涉及一种业务处理安全验证方法及装置。

背景技术

目前互联网即时通信系统的移动客户端与服务器端之间的信息传输普遍采用对称加密算法,以保证客户信息的安全,防止客户信息被盗。服务器端需防止客户端的恶意攻击,例如,非法人员截取客户端交易后,进行高频重复调用(例如,查询类相关交易),对应用服务器集群造成压力。

原有的对称加密密钥由三部分组成:随机数、手势密码锁及固定密钥串。其中,随机数每天更新一次,所以,在手势密码和固定密钥串不变的情况下,实际上客户端与后台服务器之间的交互密钥为一天一密。恶意攻击虽无法破解密文篡改,但可以通过截取请求返回包,并替换同一场景业务的返回包,从而导致交易失败,或非正常结果展现。另外,通过对截取后的交易进行高频重复调用(例如,查询类相关交易)还会对应用服务器集群造成一定压力。



技术实现要素:

本发明提供了一种业务处理安全验证方法及装置,以提高业务处理安全性。

本发明实施例提供一种业务处理安全验证方法,包括:查询本地数据库得到密码本和未使用的标识位,并根据所述密码本和所述标识位得到随机数;利用所述随机数对业务请求数据进行对称加密,并利用固定密钥对所述标识位进行加密;发送对称加密后的业务请求数据和加密后的所述标识位,并接收返回包,所述返回包包括针对所述业务请求数据返回的业务处理数据和返回的加密的标识位;利用所述固定密钥对返回的加密的标识位进行解密;在解密的返回的标识位为无效的情况下,拒绝对返回的业务处理数据作进一步业务处理;在解密的返回的标识位为有效的情况下,利用解密的返回的标识位对返回的业务处理数据进行解密,以作进一步业务处理。

本发明实施例另提供一种业务处理安全验证方法,包括:接收请求包,所述请求包包括对称加密的业务请求数据和加密的标识位;利用固定密钥对加密的所述标识位进行解密;利用解密后的所述标识位在分布式缓存中查询密码本;在解密后的所述标识位为无效的情况下,拒绝处理对称加密的业务请求数据;在解密后的所述标识位为有效的情况下,通过解密后的所述标识位从查询到的密码本中截取对应的随机数;利用所述随机数对对称加密的业务请求数据进行解密,以进行业务处理;利用所述随机数对业务处理后的返回数据进行对称加密,利用所述固定密钥对解密后的所述标识位重新进行加密,并发送对称加密后的所述返回数据和重新加密后的所述标识位。

本发明实施例另提供一种业务处理安全验证装置,用于实现上述各实施例所述的步骤。

本发明实施例另提供一种业务处理安全验证系统,包括:

客户端,用于:查询本地数据库得到密码本和未使用的标识位,并根据所述密码本和所述标识位得到随机数;利用所述随机数对业务请求数据进行对称加密,并利用固定密钥对所述标识位进行加密;发送对称加密后的业务请求数据和加密后的所述标识位,并接收返回包,所述返回包包括针对所述业务请求数据返回的业务处理数据和返回的加密的标识位;利用所述固定密钥对返回的加密的标识位进行解密;在解密的返回的标识位为无效的情况下,拒绝对返回的业务处理数据作进一步业务处理;在解密的返回的标识位为有效的情况下,利用解密的返回的标识位对返回的业务处理数据进行解密,以作进一步业务处理;

业务服务器,用于:接收请求包,所述请求包包括所述客户端发送的对称加密的业务请求数据和加密后的所述标识位;利用所述固定密钥对加密的所述标识位进行解密;利用解密后的所述标识位在分布式缓存中查询所述密码本;在解密后的所述标识位为无效的情况下,拒绝处理对称加密的业务请求数据;在解密后的所述标识位为有效的情况下,通过解密后的所述标识位从分布式缓存查询到的所述密码本中截取对应的随机数;利用截取的所述随机数对对称加密的业务请求数据进行解密,以进行业务处理;利用所述随机数对业务处理后的返回数据进行对称加密,利用所述固定密钥对解密后的所述标识位重新进行加密,并发送对称加密后的所述返回数据和重新加密后的所述标识位;

分布式缓存服务器,用于:提供存储所述密码本的所述分布式缓存;

随机数数据库,用于:生成并存储所述密码本。

本发明实施例另提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。

本发明实施例另提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。

本发明实施例的业务处理安全验证方法、业务处理安全验证装置、业务处理安全验证系统、计算机可读存储介质及计算机设备,通过在业务请求方利用密码本和标识位生成随机数,并利用该随机数对业务请求数据进行对称加密以进行业务处理,实现了一次业务请求使用唯一一个随机数密码,改变了现有技术中一天一个随机数的状况,以此能够增加密码破解成本,提高业务处理的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本发明一实施例的业务处理安全验证方法的流程示意图;

图2是本发明另一实施例的业务处理安全验证方法的方法流程示意图;

图3是本发明一具体实施例的业务处理安全验证方法的流程示意图;

图4是本发明一实施例的业务处理安全验证装置的结构示意图;

图5是本发明另一实施例的业务处理安全验证装置的结构示意图;

图6是本发明一实施例的业务处理安全验证系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

图1是本发明一实施例的业务处理安全验证方法的流程示意图。如图1所示,该实施例的业务处理安全验证方法,可包括:

步骤s110:查询本地数据库得到密码本和未使用的标识位,并根据所述密码本和所述标识位得到随机数;

步骤s120:利用所述随机数对业务请求数据进行对称加密,并利用固定密钥对所述标识位进行加密;

步骤s130:发送对称加密后的业务请求数据和加密后的所述标识位,并接收返回包,所述返回包包括针对所述业务请求数据返回的业务处理数据和返回的加密的标识位;

步骤s140:利用所述固定密钥对返回的加密的标识位进行解密;

步骤s150:在解密的返回的标识位为无效的情况下,拒绝对返回的业务处理数据作进一步业务处理;在解密的返回的标识位为有效的情况下,利用解密的返回的标识位对返回的业务处理数据进行解密,以作进一步业务处理。

上述步骤s110~步骤s150可以在客户端实施。该客户端具有一定的信息处理、缓存、存储等能力,例如是手机、平板电脑、个人计算机等。客户端可以向业务服务器发送业务请求,业务服务器可以根据收到的业务请求进行相应的业务处理,并返回业务处理结果。

在上述步骤s110中,该本地数据库可以是客户端的数据库。该本地数据库中存储数据的数据结构可以包含用户id、密码本、标识位、交易代码等。该密码本可以预先生成,例如可以由随机数数据库预先生成。该本地数据库中可以存储有已使用的标识位和未使用的标识位,当要发起业务请求时,需要从该本地数据库中查询未使用的标识位,用来对业务请求数据进行对称加密。该密码本可以多次使用,例如通过调整密码本数据结和使用散列算法可以增nmtr加密码本的可用次数,以此在保证安全同时可以减少交互成本和存储成本。该随机数是在进行业务请求时根据密码本和标志位新得到的,每次业务请求所使用的随机数不同,以此,可以实现一次一密。

在上述步骤s120中,沿用现有的对称加密方法,业务请求数据不易被破解,可以保证用户信息的安全。该固定密钥可以预先存储在该本地数据库或客户端的缓存中。在利用固定密钥对所述标识位进行加密的同时,可以对用户id、交易代码等进行加密。利用该用户id可以标识业务请求方,利用该交易代码可以标识本次业务请求。该业务请求数据例如可以是客户信息查询请求等。

在上述步骤s130中,针对所述业务请求数据返回的业务处理数据例如可以是客户信息查询结果、转账交易结果、产品信息更新结果等。返回的业务处理数据可以是利用对称加密算法加密。返回的加密的标识位可以利用固定密钥加密。该返回包还可以包括加密的用户id、交易代码等。

在上述步骤s140中,该固定密钥可以预先存储在上述本地数据库或客户端缓存中。预先存储的该固定密钥可以与用户id、交易代码等关联。(不同请求的固定密钥可以相同)在利用所述固定密钥对返回的加密的标识位进行解密时,还可以利用所述固定密钥对返回的加密的用户id、交易代码等进行解密。

在上述步骤s150中,可以在客户端对标识位的有效性进行判断,即,对随机数的有效性进行判断。具体地,可以通过判断解密的返回的标识位是否已使用,来判断标识位的有效性(客户端在每次交易返回时,如果判断交易有效,会把当前使用的标志位记录在本地,这样下次交易返回的标志位在本地就能判断是否用过。)。例如,若解密的返回的标识位已使用,则该次业务请求存在例如被替换、被截取等风险,此时拒绝进一步处理,可以降低错误交易、攻击交易等风险。若解密的返回的标识位未使用,则可认为该次业务请求没有被恶意攻击。利用解密的返回的标识位对返回的业务处理数据进行解密,具体地,可以利用解密的返回的标识位查询上述本地数据库中的密码本或客户端缓存的密码本得到随机数密码,再利用随机数密码对返回的业务处理数据进行解密。进一步的业务处理例如可以是在客户端输入转账交易所要求的手机验证码。

本实施例中,通过在业务请求方利用密码本和标识位生成随机数,并利用该随机数对业务请求数据进行对称加密以进行业务处理,实现了一次业务请求使用唯一一个随机数密码,改变了现有技术中一天一个随机数的状况,以此能够增加密码破解成本,提高业务处理的安全性。

一些实施例中,图1所示的业务处理安全验证方法,在步骤s140之后,即,利用所述固定密钥对返回的加密的标识位进行解密之后,还可包括:

步骤s150:根据所述本地数据库中的所述标识位和解密的返回的标识位之间的一致性,判断所述返回的业务处理数据是否为本次业务请求的返回数据。

在上述步骤s150中,如果标识位一致,可以进行后续的业务操作,标识位不一致可就报错拒掉本次交易(可视为被篡改不安全交易)。通过由请求方生成随机数,即发起唯一辨识逻辑,在接到返回包时,也能通过唯一辨识标识判断是否为自己发起的请求返回,即,能够验证请求返回包使用的隐患。查询本地数据库得到密码本和未使用的标识位之前,还可包括:

步骤s160:发送密码本获取请求,以在随机数数据库中生成所述密码本,并将所述密码本存储至所述随机数数据库、分布式缓存及所述本地数据库中。

在上述步骤s150中,该密码本获取请求可以包括用户id等信息。分布式缓存、随机数数据库及本地数据库的数据结构可以包括用户id、密码本、标识位等。随机数数据库可以用于生成密码本,并对密码本进行物理存储,同时可以存储已使用的标识位。分布式缓存可以用于业务服务器从中查找密码本,减少调取随机数据库查询密码本的次数,从而降低业务服务器压力。

本实施例中,由请求方发起密码本获取请求,即发起并记录唯一辨识逻辑,以此能够便于在请求方生成随机数,实现一次请求使用位移随机数密码。

一些实施例中,图1所示的业务处理安全验证方法,还可包括:

步骤s170:在解密的返回的标识位为有效的情况下,将解密的返回的标志位的使用信息更新至所述本地数据库。

本实施例中,若客户端作了进一步处理,则解密的返回的标志位已被使用,将该使用信息更新至本地数据看中,可以避免下次重复使用该已被使用的标识位,即避免使用同样的随机数密码,从而保证一次请求使用位移随机数密码。

图2是本发明另一实施例的业务处理安全验证方法的方法流程示意图。如图2所示,本实施例的业务处理安全验证方法,可包括:

步骤s210:接收请求包,所述请求包包括对称加密的业务请求数据和加密的标识位;利用固定密钥对加密的所述标识位进行解密;

步骤s220:利用解密后的所述标识位在分布式缓存中查询密码本;

步骤s230:在解密后的所述标识位为无效的情况下,拒绝处理对称加密的业务请求数据;在解密后的所述标识位为有效的情况下,通过解密后的所述标识位从查询到的密码本中截取对应的随机数;

步骤s240:利用所述随机数对对称加密的业务请求数据进行解密,以进行业务处理;

步骤s250:利用所述随机数对业务处理后的返回数据进行对称加密,利用所述固定密钥对解密后的所述标识位重新进行加密,并发送对称加密后的所述返回数据和重新加密后的所述标识位。

上述步骤s210~步骤s250可以在业务服务器端执行。该业务服务器端可以从客户端接收请求包,并可以将返回包发送给客户端。

在上述步骤s210中,对称加密的业务请求数据可以是利用客户端根据该标识位查询密码本得到的随机数进行的对称加密。该固定密钥可以预先存储在业务服务器的数据库或缓存中,该固定密钥可以与客户端加密所用的固定密钥相同。在利用固定密钥对加密的所述标识位进行解密的同时,可以利用固定密钥对加密的用户id、交易代码等进行解密。

在上述步骤s220中,该分布式缓存可以由分布式缓存服务器提供。该密码本可以由随机数数据库生成,并传输给分布式缓存,存储在分布式缓存中。该分布式缓存的数据结构可以包括用户id、密码本及标识位等。可以利用解密后的所述标识位在密码本中进行查询,以此可以判断是否有相同的标识位,即解密后的所述标识位是否已被使用,是否有效。

在上述步骤s230中,通过在业务处理方验证标识位的有效性,即验证随机数的有效性,可以通过业务处理方降低请求包被恶意攻击的风险。类似于客户端,服务器也可存密码本已经使用过和尚未使用过的有效标识位,所以每次交易上送过来的标识位,都能判断出是否已用过,和是否为无效标识位。

在上述步骤s240中,通过将解密后的数据传入对应的业务接口、页面,可以进行具体业务场景处理。业务场景为业务服务器端的相关业务操作,例如,客户信息查询、转账交易、产品信息更新等。

在上述步骤s250中,该随机数可以在从查询到的密码本中截取对应的随机数时缓存至业务服务器,便于加密时使用。该固定密钥可以预先存储在业务服务器的数据库或缓存中。在利用所述固定密钥对解密后的所述标识位重新进行加密的同时,可以对用户id、交易代码等进行加密,并发送给客户端。

一些实施例中,图2所示的业务处理安全验证方法,步骤s230之前,还可包括:

步骤s260:在没有在分布式缓存中查询到密码本的情况下,利用解密后的所述标识位在随机数数据库中查询密码本。

本实施例中,对于缓存类非关系数据库存储,机制中可以允许数据丢失场景,所以当查询命中失败时,可以进行关系数据库查询,即查询随机数数据库,可以保证验证继续进行。

一些实施例中,图2所示的业务处理安全验证方法,在解密后的所述标识位为有效的情况下,还可包括:

步骤s270:将解密后的所述标识位更新记录至所述分布式缓存。

本实施例中,将该标识位更新记录至所述分布式缓存,可以便于下次请求时查找新的标识位。

图3是本发明一具体实施例的业务处理安全验证方法的流程示意图。如图3所示,该实施例的业务处理安全验证方法中,客户端1的处理功能可包括:密码本获取1.1、密码本存储1.2、获取加密因子1.3、交易加密1.4、拒绝请求1.5、接收返回包1.6、判断因子1.7、密码本更新1.8、拒绝请求1.9。业务服务器2的处理功能可包括:解密因子获取2.1、查询命中2.2、判断因子2.3、解密2.4、业务处理2.5、加密2.6。分布式缓存服务器3的处理功能可包括:密码本存储3.1、解密因子查询3.2、密码本更新3.3。数据库4的处理功能可包括:密码本生成4.1、解密因子查询4.2。该些处理功能的具体实现过程可包括:

步骤001:客户端1请求获取密码本,此时,调用随机数数据库4,随机数数据库4生成随机数密码本,并将此密码本保存到随机数数据库4(关系数据库)中。随机数密码本newencrandom可为六十四位字符,例如:zciznxqqdf******pbiriuyjp******shmfniwdk******jvsmpdthcppochjpjl。随机数密码本的设计可做后续的扩展。可通过密码本数据结构的调整及散列的算法使用,增加密码本的使用次数,以此,在安全的基础上减少交互、存储成本。

步骤002:分布式缓存服务器3将密码本写入分布式缓存,以此可以减少后续访问随机数数据库的调用量。存入分布式缓存的数据结构可包含用户id(可以唯一标识主键)、密码本、已使用随机数标识位。

步骤003:客户端1记录密码本,将密码本存入本地数据库。后续业务交易可从此密码本中获取每次生成的6位随机数密钥,进行加密处理。

步骤004:在进行相关业务、金融交易请求发起前,通过查询客户端1的本地数据库中存入的密码本及判断得到尚未使用的标识位,可以获得加密因子(6位随机数random6)和随机数标识位randomcount。

步骤005:使用6位随机数对交易请求进行3des对称加密,且通过固定密钥(可预先配置于客户端、服务器中)将随机数标识位和用户id加密。将交易请求发送至业务服务器2。

步骤006:业务服务器2通过固定密钥解密获取交易请求中的用户id及随机数标识位。通过用户id及随机数标识位查询分布式缓存获取对应的密码本和本次交易使用的解密因子(6位随机数random6)。

步骤007:判断分布式缓存是否查询命中成功(对于缓存类非关系数据库存储,机制中可以允许数据丢失场景,所以当查询命中失败时,进行关系数据库查询)。

步骤008:分布式缓存中未查询到相关缓存记录,则直接查询随机数数据库4中的密码本表,返回密码本。

步骤009:查询随机数数据库4命中成功,则进入下一步(判断随机数的有效性)。

步骤010:进入下一步,判断随机数的有效性。

步骤011:如果判断分布式缓存中记录的标识位randomcount已使用,则此笔交易存在风险隐患(替换、截取恶意攻击),拒绝交易访问,将报错信息返回客户端1,客户端1接到报错,认定为无效交易。

步骤012:如果判断缓存中的随机数标识位randomcount有效(未使用),则通过随机数标识位randomcount截取密码本中对应的6位随机数密码,并利用随机数密码对上述交易请求进行3des对称解密,得到明文的交易请求数据。

步骤013:将随机数标识位randomcount更新到分布式缓存,记录本次使用的随机数标识位。并将本次解密因子存储本业务服务器2的缓存(业务处理完成后加密使用)。

步骤014:将明文的交易请求数据传入对应的业务接口、页面,进行具体业务场景处理。业务场景为业务服务器端的相关业务操作,例如:客户信息查询、转账交易、产品信息更新等。

步骤015:对交易请求完成业务处理后的返回数据进行加密,从本业务用服务器2中取出与交易请求进入时相同的加密因子,进行3des对称加密处理。使用6位随机数对请求进行3des对称加密,且通过固定密钥将随机数标识位、用户id加密。返回客户端1密文报文。

步骤016:客户端1通过访问本地数据库获取请求时对应的加密因子,进行解密。

步骤017:通过本地数据库的存储情况,判断解密得到的标识位randomcount是否为本次请求使用的标识位。例如:客户端本地数据库存放的标识位randomcount为45,交易返回的标识位randomcount如果不为45,则客户端判断返回包中的标识位randomcount与本地数据库的标识位不一致,则认定为不是本次请求的返回包,如randomcount为45,则认定交易返回是本次请求使用。

步骤018:判断标识位randomcount已使用(非本次请求),则此笔交易存在风险隐患(替换、截取恶意攻击),拒绝交易接收。

步骤019:判断标识位randomcount未使用(非本次请求),则此笔交易返回有效,进行后续业务处理,且将本次密钥使用信息更新至本地数据库。

综上而言,本发明实施例的业务处理安全验证方法具有以下特点:

1、对于客户端上送的请求,服务器端除像以往一样进行正确性校验外,还增加了对于唯一性的判断,且服务器端可做出主动的保护动作。如当判断客户端的某一笔请求为重复调用时,会拒绝掉此次请求,避免对应用服务器、数据库的重复调用压力。

2、请求的唯一辨识逻辑由客户端(请求源)发起并记录,故客户端在接到服务器的返回时,也能通过唯一辨识标识判断是否为自己发起的请求返回,即验证与服务器握手的正确性。避免了恶意替换返回包使用的隐患。例如,客户端在向服务器发起交易时,会将本次交易使用的随机数密码本位置标识与交易代码存放在客户端本地数据库,当交易从服务器返回后,客户端解密随机数密码本位置标识字段,与本地数据库存放的随机数密码本位置标识进行比对判断。

3、增加缓存服务器,用于解决一次一密对于数据库的访问压力问题。一次一密虽然在安全性上得到了很大幅度的提升,但随之而来的是密钥生成次数增加带来的存储、查询性能成本。将密钥存储到分布式缓存中,数据库作为辅助数据源,内存的访问不仅提升了交互速度,还避免了数据库的访问压力。

通过上述技术手段,提高客户端的健全性和服务器端的高可靠性,阻止恶意攻击对性能及持久化数据存储的破坏和非正常性能成本的增加。

本发明在原加密模式(对称加密)的基础上,改造随机数的使用及生成,从一天一个随机数,改为每一笔交易生成一个随机数(增加加密模式的复杂度、改变密钥参数的固定性),实现交易的唯一性(对于请求能做到唯一辨识的加密机制(一次一密))。加密的唯一性增强了破解的成本,且理论上避免了截取、篡改等恶意攻击。另外,由于随机数唯一性的要求,生成与读取的需求大大增加,为解决一次一密对服务器、数据库性能的需求,故引入分布式缓存技术缓解并发压力。

基于与图1所示的业务处理安全验证方法相同的发明构思,本申请实施例还提供了一种业务处理安全验证装置,如下面实施例所述。由于该业务处理安全验证装置解决问题的原理与业务处理安全验证方法相似,因此该业务处理安全验证装置的实施可以参见业务处理安全验证方法的实施,重复之处不再赘述。

图4是本发明一实施例的业务处理安全验证装置的结构示意图。如图4所示,本实施例的业务处理安全验证装置可包括:随机数生成单元310、请求加密单元320、数据收发单元330、返回数据解密单元340及返回数据验证单元350,上述单元可顺序连接。

随机数生成单元310,用于:查询本地数据库得到密码本和未使用的标识位,并根据所述密码本和所述标识位得到随机数;

请求加密单元320,用于:利用所述随机数对业务请求数据进行对称加密,并利用固定密钥对所述标识位进行加密;

数据收发单元330,用于:发送对称加密后的业务请求数据和加密后的所述标识位,并接收返回包,所述返回包包括针对所述业务请求数据返回的业务处理数据和返回的加密的标识位;

返回数据解密单元340,用于:利用所述固定密钥对返回的加密的标识位进行解密;

返回数据验证单元350,用于:在解密的返回的标识位为无效的情况下,拒绝对返回的业务处理数据作进一步业务处理;在解密的返回的标识位为有效的情况下,利用解密的返回的标识位对返回的业务处理数据进行解密,以作进一步业务处理。

一些实施例中,图4所示的业务处理安全验证装置,还可包括:握手正确性单元,可连接于返回数据解密单元340和返回数据验证单元350之间。握手正确性单元,用于:根据所述本地数据库中的所述标识位和解密的返回的标识位之间的一致性,判断所述返回的业务处理数据是否为本次业务请求的返回数据。

一些实施例中,图4所示的业务处理安全验证装置,还可包括:密码本生成单元,与随机数生成单元310连接。密码本生成单元,用于:发送密码本获取请求,以在随机数数据库中生成所述密码本,并将所述密码本存储至所述随机数数据库、分布式缓存及所述本地数据库中。

图5是本发明另一实施例的业务处理安全验证装置的结构示意图。如图5所示,本实施例的业务处理安全验证装置,可包括:标识位解密单元410、第一密码本查询单元420、有效性判断单元430、请求数据解密单元440及加密单元450,上述各单元顺序连接。

标识位解密单元410,用于:接收请求包,所述请求包包括对称加密的业务请求数据和加密的标识位;利用固定密钥对加密的所述标识位进行解密;

第一密码本查询单元420,用于:利用解密后的所述标识位在分布式缓存中查询密码本;

有效性判断单元430,用于:在解密后的所述标识位为无效的情况下,拒绝处理对称加密的业务请求数据;在解密后的所述标识位为有效的情况下,通过解密后的所述标识位从查询到的密码本中截取对应的随机数;

请求数据解密单元440,用于:利用所述随机数对对称加密的业务请求数据进行解密,以进行业务处理;

加密单元450,用于:利用所述随机数对业务处理后的返回数据进行对称加密,利用所述固定密钥对解密后的所述标识位重新进行加密,并发送对称加密后的所述返回数据和重新加密后的所述标识位。

一些实施例中,图5所示的业务处理安全验证装置,还可包括:第二密码本查询单元,可连接于第一密码本查询单元420和有效性判断单元430之间。第二密码本查询单元,用于:在没有在分布式缓存中查询到密码本的情况下,利用解密后的所述标识位在随机数数据库中查询密码本。

一些实施例中,图5所示的业务处理安全验证装置,还可包括:缓存更新单元,可与有效性判断单元430连接。缓存更新单元,用于:将解密后的所述标识位更新记录至所述分布式缓存。

本发明实施例还提供一种业务处理安全验证系统。图6是本发明一实施例的业务处理安全验证系统的结构示意图。如图6所示,本实施例的业务处理安全验证系统,可包括:客户端1、业务服务器2、分布式缓存服务器3及随机数数据库4。

客户端1,用于:查询本地数据库得到密码本和未使用的标识位,并根据所述密码本和所述标识位得到随机数;利用所述随机数对业务请求数据进行对称加密,并利用固定密钥对所述标识位进行加密;发送对称加密后的业务请求数据和加密后的所述标识位,并接收返回包,所述返回包包括针对所述业务请求数据返回的业务处理数据和返回的加密的标识位;利用所述固定密钥对返回的加密的标识位进行解密;在解密的返回的标识位为无效的情况下,拒绝对返回的业务处理数据作进一步业务处理;在解密的返回的标识位为有效的情况下,利用解密的返回的标识位对返回的业务处理数据进行解密,以作进一步业务处理;

业务服务器2,用于:接收请求包,所述请求包包括所述客户端发送的对称加密的业务请求数据和加密后的所述标识位;利用所述固定密钥对加密的所述标识位进行解密;利用解密后的所述标识位在分布式缓存中查询所述密码本;在解密后的所述标识位为无效的情况下,拒绝处理对称加密的业务请求数据;在解密后的所述标识位为有效的情况下,通过解密后的所述标识位从分布式缓存查询到的所述密码本中截取对应的随机数;利用截取的所述随机数对对称加密的业务请求数据进行解密,以进行业务处理;利用所述随机数对业务处理后的返回数据进行对称加密,利用所述固定密钥对解密后的所述标识位重新进行加密,并发送对称加密后的所述返回数据和重新加密后的所述标识位;

分布式缓存服务器3,用于:提供存储所述密码本的所述分布式缓存;

随机数数据库4,用于:生成并存储所述密码本。

再如图6所示,一实施例的业务处理安全验证系统,可包括:移动客户端1、业务服务器2、分布式缓存服务器3、随机数数据库4,通过这四个部分的相互协作,共同实现一次一密安全验证。其中:

移动客户端1:包含客户端加密单元u1、客户端解密单元u2。其中:

客户端加密单元u1:负责对客户端的请求加密并将加密内容上送给业务服务器。通过加密因子(随机数、随机数密码本位置标识)将客户端交易请求进行对称加密,在将加密内容通过https的请求方式传输给业务服务器2包含的“服务器解密单元u4”。同时将本次交易的加密随机数存储到客户端密码本缓存表中(后续解密使用)。

客户端解密单元u2:负责客户端解密服务器返回数据包工作。接收业务服务器2所属的“服务器加密单元u3”的加密返回包,获取客户端密码本缓存表参数,通过解密因子(随机数)进行3des对称解密。解密失败则拒绝信任此笔交易,解密成功则完成后续业务处理。

业务服务器2:包含服务器加密单元u3、服务器解密单元u4。其中:

服务器加密单元u3:负责返回客户端1前的加密工作。通过随机数存储单元u5获取请求需要的加密因子(随机数、随机数密码本位置标识),若随机数存储单元u5未成功返回加密因子,则连接随机数数据库4获取加密因子。进行对称加密后,返回加密数据给移动客户端1。

服务器解密单元u4:负责移动客户端1上送的解密工作。接收客户端加密单元u1的加密请求。通过随机数存储单元u5获取请求需要的解密因子(随机数、随机数密码本位置标识),若随机数存储单元u5未成功返回加密因子,则连接随机数数据库4获取解密因子。进行对称解密。解密失败则拒绝信任此笔交易,解密成功则完成后续业务处理。

分布式缓存服务器3:包含随机数存储单元u5,负责密钥因子(随机数、随机数密码本位置标识)的非关系数据存储。连接服务器加密单元u3、服务器解密单元u4,为其提供因子查询功能。在密码本生成时,作为第二存储数据源接收第一数据源随机数数据库4传输的数据,并进行存储。

随机数数据库4:负责密钥因子(随机数、随机数密码本位置标识)的物理存储。在密码本生成时,将密码本存入数据库,并传输给随机数存储单元u5。在加解密过程中随机数存储单元u5查询、使用密钥因子命中失败后,提供对服务器加密单元u3、服务器解密单元u4的访问服务,保证交易的正常进行。

从本发明应用的实际效果看,移动端重复调用交易量明显下降,生产数据请求替换导致的客户端异常及垃圾数据生成没有新增案例。本发明的效果和优点主要体现在下面三方面:

1、安全性:由于每次交易使用的密钥不同,所以理论上一次一密机制不可破解。从安全上大大降低了错误交易、攻击交易风险。

2、可移植性:通过随机数出发的一次一密机制,不依赖于平台的固有特性,也不依赖于业务特性,故此机制可用于任意行业及任意it架构领域。

3、可扩展性:随机密码本、随机数使用设计相对灵活,可根据自身应用集群的服务器数量、生产运行交易量、安全复杂度标准等指标调整随机数的使用方法。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。

综上所述,本发明实施例的业务处理安全验证方法、业务处理安全验证装置、业务处理安全验证系统、计算机可读存储介质及计算机设备,通过在业务请求方利用密码本和标识位生成随机数,并利用该随机数对业务请求数据进行对称加密以进行业务处理,实现了一次业务请求使用唯一一个随机数密码,改变了现有技术中一天一个随机数的状况,以此能够增加密码破解成本,提高业务处理的安全性。

在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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