业务校验方法和装置与流程

文档序号:12734640阅读:648来源:国知局
业务校验方法和装置与流程

本公开涉及网络技术,尤其涉及一种业务校验方法和装置。



背景技术:

伴随着网络技术的发展,网络安全问题也更加受到重视,在业务的开展过程中,有大量的业务数据在交互时都不允许明文交互。当前一种可行的方式即对业务数据以一定的规则进行哈希后,提供给使用方,以避免原始数据造成泄露。但是,不论哪种哈希算法,都有一定的数据冲撞的可能性,即不同的源数据使用同一哈希算法后,得到相同的结果。那么这种数据冲撞的发生就可能使得错误的源数据也校验通过,从而使得业务风险加大。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种业务校验方法和装置,以提高业务校验的安全性。

根据本公开实施例的第一方面,提供一种业务校验方法,所述方法用于判断目标数据与源数据是否相同,若目标数据与源数据相同,则表示校验通过;所述方法包括:

接收待校验的所述目标数据;

对所述目标数据进行哈希,得到第一哈希值,并对所述目标数据与影响值的组合进行哈希,得到第二哈希值;

若第一哈希值与索引值相同,并且第二哈希值与所述索引值对应的辅助索引值相同,则确定所述目标数据通过校验;所述索引值是对所述源数据哈 希得到,所述辅助索引值是由所述源数据和所述影响值的组合哈希得到。

根据本公开实施例的第二方面,提供一种业务校验方法,包括:

接收源数据,并对所述源数据进行哈希,得到索引值;对所述源数据和影响值的组合进行哈希,得到辅助索引值;

将所述索引值和辅助索引值发送至业务系统,以使得所述业务系统根据所述索引值和辅助索引值进行业务校验。

根据本公开实施例的第三方面,提供一种业务校验装置,所述装置用于判断目标数据与源数据是否相同,若目标数据与源数据相同,则表示校验通过;所述装置包括:

数据接收模块,用于接收待校验的所述目标数据;

哈希处理模块,用于对所述目标数据进行哈希,得到第一哈希值,并对所述目标数据与影响值的组合进行哈希,得到第二哈希值;

校验判断模块,用于若第一哈希值与索引值相同,并且第二哈希值与所述索引值对应的辅助索引值相同,则确定所述目标数据通过校验;所述索引值是对所述源数据哈希得到,所述辅助索引值是由所述源数据和所述影响值的组合哈希得到。

根据本公开实施例的第四方面,提供一种业务校验装置,包括:

数据处理模块,用于接收源数据,并对所述源数据进行哈希,得到索引值;对所述源数据和影响值的组合进行哈希,得到辅助索引值;

信息发送模块,用于将所述索引值和辅助索引值发送至业务系统,以使得所述业务系统根据所述索引值和辅助索引值进行业务校验。

本公开的实施例提供的技术方案可以包括以下有益效果:通过对待校验的目标数据进行哈希,并且将目标数据与影响值的组合进行哈希,若这两个哈希值与对应的比较值相同才确定目标数据校验通过,这种方式相对于只对目标数据进行哈希比较的方法,由于两次哈希都相同的情况概率很小,使得业务校验的安全性得到提高。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性 的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种业务校验方法的流程图;

图2是根据一示例性实施例示出的另一种业务校验方法的流程图;

图3是根据一示例性实施例示出的又一种业务校验方法的流程图;

图4是根据一示例性实施例示出的又一种业务校验方法的流程图;

图5是根据一示例性实施例示出的一种业务校验装置的结构示意图;

图6是根据一示例性实施例示出的另一种业务校验装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

为了解决利用哈希算法时可能出现的数据冲撞,本申请实施例提供了一种业务校验方法,可以使用该方法进行业务校验,将可以有效减小数据冲撞的几率。图1示例了该方法的执行流程,如下描述,在这些步骤中,本实施例不局限于其执行顺序。该方法可以包括:

在步骤101中,接收待校验的目标数据。

其中,在业务校验时,通常是检验要使用某项业务的数据是否在业务系统注册过,示例性的,比如可以是,在某个读书网站注册了一个账号,那么在用户以后登录该网站读书时,网站需要验证用户登录输入的账号是否是已经注册的账号,如果是已注册用户,才允许用户继续操作。

也就是说,对于业务系统来说,其已经接收到了一个初始注册时的源数据,而本步骤101中接收到的目标数据,可以是用户之后每次使用业务系统时输入的数据,需要经过业务系统的校验,本实施例将待校验的数据称为目标数据。对于执行校验的业务系统来说,校验即验证是否存在与目标数据相同的源数据,若存在目标数据与源数据相同,则可以确认校验通过。

在步骤102中,对所述目标数据进行哈希,得到第一哈希值,并对所述目标数据与影响值的组合进行哈希,得到第二哈希值。

本实施例中,通过哈希算法对目标数据进行校验时,可以对该目标数据进行两次哈希,这两次哈希可以是使用同一哈希算法。其中一次哈希,是对目标数据本身进行哈希,可以将哈希值称为第一哈希值;另一次哈希,是对目标数据与影响值的组合进行哈希,其中,该影响值例如可以是一个字符串,比如,123、abc等,对组合哈希得到值可以称为第二哈希值。

例如,假设目标数据是26658,对26658哈希得到第一哈希值;并假设影响值是1234,那么目标数据与影响值的组合是“266581234”,对该组合值哈希得到第二哈希值。

在步骤103中,若第一哈希值与索引值相同,并且第二哈希值与辅助索引值相同,则确定所述目标数据通过校验;所述索引值是对所述源数据哈希得到,所述辅助索引值是由所述源数据和所述影响值的组合哈希得到。

通过本步骤103可以看到,对于步骤102中得到的第一哈希值和第二哈希值,都要进行判断,将第一哈希值与索引值比较,将第二哈希值与辅助索引值比较,若第一哈希值与索引值相同,并且第二哈希值与辅助索引值相同,则确定目标数据通过校验。也就是说,本实施例的业务校验中,要满足两个条件,即第一哈希值和第二哈希值都满足上述的与对应索引值相同时,才可以确定校验通过。

其中,索引值是对源数据哈希得到,辅助索引值是由源数据和影响值的组合哈希得到。并且,源数据所使用的影响值和步骤102中的目标数据所使用的影响值是相同的,是同一个影响值。即,如果目标数据与源数据是相同 的,那么这两个数据使用同一哈希算法得到的数值相同(第一哈希值与索引值相同),并且这两个数据与同一影响值组合后进行哈希得到的数值也相同(第二哈希值与辅助索引值相同)。

上述的业务校验方法,是利用如下原理“假设数据A和数据B,两者哈希值相等,如果设置一个影响值C,组合A+C与B+C,并且组合之后再进行哈希时,两者哈希值依然相等的概率是1/2的256次方,基本上杜绝了数据冲撞的可能性”。假设有恶意破解者制造的攻击数据能够使得第一哈希值与索引值相等,但是其无法预测影响值,所以无法确保自己制造出的攻击数据在两次哈希过程中都能保持一致,攻击难度成几何倍上升,因此,该方法用相对低廉的成本,显著提高了业务安全性,防止数据冲撞给业务带来的风险。

图1所示例的业务校验方法的流程,例如,可以是业务系统执行,并且,与源数据对应的索引值和辅助索引值的计算和存储可以均由业务系统本身执行,业务系统还可以存储使用到的影响值。可选的,与源数据对应的索引值和辅助索引值的计算和存储也可以是由业务系统之外的其他外部系统执行,比如,可以由数据中心对源数据进行哈希以及对源数据和影响值的组合进行哈希,而业务系统可以是根据数据中心计算得到的索引值和辅助索引值进行业务校验即可。那么这种情况下,外部系统如数据中心可以执行图2的流程:

在步骤201中,接收源数据,并对所述源数据进行哈希,得到索引值;对所述源数据和影响值的组合进行哈希,得到辅助索引值。

例如,可以由数据中心对源数据进行哈希,得到的哈希值称为索引值;并且,可以对源数据与影响值的组合进行哈希得到辅助索引值。

在步骤202中,将所述索引值和辅助索引值发送至业务系统,以使得所述业务系统根据所述索引值和辅助索引值进行业务校验。

例如,数据中心可以将步骤201中得到的索引值和辅助索引值发送至业务系统,由业务系统根据这些索引值对目标数据进行校验。

示例性的,比如,数据中心可以存储有如下信息:卡号6226090215550902、根据该卡号哈希得到的索引卡号 UHSKNALFDAJLFIANMFLA、以及根据上述卡号和影响值哈希得到的辅助索引卡号UHOUJGOAINGAGAGA。数据中心可以将索引卡号和辅助索引卡号发送至业务系统,业务系统可以在获取到用户输入的待校验卡号时,对待校验卡号哈希以及使用预设影响值进行哈希,并与从数据中心获取到的索引卡号及辅助索引卡号比对,若一致则确认卡号校验通过。

本实施例的业务校验方法,通过由数据中心计算源数据对应的索引值和辅助索引值,并向业务系统发送,可以使得业务系统据此进行校验,提高业务校验的安全性,降低哈希算法中的数据冲撞的发生概率。

在上述的例子中,哈希算法使用的影响值,可以是预设的,比如,业务系统可以预设一个影响值,使用该影响值进行辅助索引值的计算,并使用该影响值进行业务校验时的计算。而在业务系统和数据中心一起配合执行的系统框架时,可以是业务系统和数据中心都预设该影响值,并且两者预设相同的影响值;或者,也可以是数据中心将计算辅助索引值使用的影响值发送给业务系统,使得业务系统也使用该同一个影响值进行业务校验时的计算。

如下通过图3示例一个业务校验的流程,该流程以用户卡号的校验为例。需要说明的是,在这个例子中,可以假设影响值是预设的,在业务系统和数据中心都预设了相同的影响值。并且,在图3中,步骤301至步骤305可以是数据收集阶段,比如,对用户卡号进行数据库的存储;而步骤306至步骤311可以是数据校验阶段。如图3所示,该例子可以包括:

在步骤301中,前台系统可以接收到源数据卡号A,比如此时可以是用户要进行卡号注册。前台系统可以在步骤302中将该卡号A同步至数据中心。

数据中心在接收到卡号A后,要计算两个数值,即对卡号A哈希得到索引值,本实施例称为索引卡号a;还要对卡号A和预设影响值的组合进行哈希,得到辅助索引卡号b。参见步骤303和304,这两个步骤的执行顺序不限。

在步骤305中,数据中心可以将卡号A对应的索引卡号和辅助索引卡号发送至业务系统,以备业务系统后续使用这两个值进行校验。本实施例中,不论是数据中心发送还是业务系统接收,都需要注意索引卡号和辅助索引卡 号的对应关系,这两个卡号是对应同一个源卡号A的数据。即使在业务系统接收到以后,也要存储这两个数据的对应关系。

在步骤306中,前台系统接收到目标卡号B,本例子中,假设该卡号B是一个恶意破解者制造的攻击数据,或者是一个无意中的自然数据,并假设这个数据卡号B的特点是,与步骤301中的源卡号A不相同,但是使用相同的哈希算法后能够得到相同的哈希值。那么本例子要识别出这种状况的发生。

在步骤307中,前台系统将目标卡号B同步至业务系统进行校验。业务系统可以在步骤308中对目标卡号B进行哈希得到第一哈希值,并判断是否有与第一哈希值相等的索引卡号,发现有索引卡号a与第一哈希值相等。

在步骤309中,业务系统继续对目标卡号B和影响值C的组合进行哈希,得到第二哈希值,并将该第二哈希值与索引卡号a对应的辅助索引卡号b进行比对。本例子中,业务系统可以发现第二哈希值与辅助索引卡号不一致。

那么,业务系统可以确认校验失败,如步骤310,并在步骤311中向前台系统反馈目标卡号B校验失败。

在本实施例的业务校验系统中,通过索引值和辅助索引值这两个值的比对,将可以有效识别出数据冲撞情况,提高业务校验的安全性。

上述的实施例中,影响值假设是不变的,比如,业务系统或者数据中心都预设了一个固定的影响值,对源数据的处理以及业务校验时都用该影响值即可。为了进一步提高安全性,还可以将影响值设置为变动的影响值。例如,对于不同的源数据,可以使用不同的影响值。图4示例了一种流程,包括:

如图4所示,步骤401至步骤404的处理,与图3中类似,不再详述。只是在本实施例的步骤404中,计算辅助索引卡号时使用到的影响值C是与源卡号A对应的影响值,换做另一个源卡号,影响值也会相应变化。

本例子中,数据中心在计算得到索引卡号和辅助索引卡号后,可以存储在数据中心,需要说明的是,数据中心在存储时,至少将索引卡号、辅助索引卡号和影响值对应存储,这几个数据间存在对应关系。在步骤405中,前台系统可以接收到待校验的目标卡号B,仍然假设卡号B与源卡号A不同且 哈希得到相同的哈希值。在步骤406中,业务系统接收到前台系统同步的目标卡号B,并在步骤407中对卡号B进行哈希得到第一哈希值。

在步骤408中,业务系统向数据中心发送信息获取请求,请求中携带第一哈希值。数据中心可以判断是否存在与第一哈希值相同的索引卡号,本例子中假设存在与第一哈希值相同的索引卡号a,如步骤409。接着,在步骤410和411中,数据中心可以获取与索引卡号a对应的辅助索引卡号b和影响值C,并将其发送至业务系统。

业务系统可以根据数据中心发送的影响值C与目标卡号B组合进行哈希,得到第二哈希值,参见步骤412。在步骤413中,当业务系统发现第二哈希值与辅助索引卡号b不相同时,可以确认校验失败,并向前台系统反馈校验失败的结果,如步骤414。

上述例子中的业务校验方法,不局限于图3或图4所示例的架构系统,由业务系统和数据中心配合执行也可以,或者业务系统自己执行也可以,或者也可以是其他的应用系统或应用场景。

为了实现上述的方法,本申请还提供了一种业务校验装置,该装置用于判断目标数据与源数据是否相同,若目标数据与源数据相同,则表示校验通过。如图5所示,该装置可以包括:数据接收模块51、哈希处理模块52和校验判断模块53。

数据接收模块51,用于接收待校验的所述目标数据;

哈希处理模块52,用于对所述目标数据进行哈希,得到第一哈希值,并对所述目标数据与影响值的组合进行哈希,得到第二哈希值;

校验判断模块53,用于若第一哈希值与索引值相同,并且第二哈希值与所述索引值对应的辅助索引值相同,则确定所述目标数据通过校验;所述索引值是对所述源数据哈希得到,所述辅助索引值是由所述源数据和所述影响值的组合哈希得到。

进一步的,所述影响值是预设的,或者接收外部系统发送的所述影响值。

进一步的,哈希处理模块52,用于在得到第一哈希值之后,判断是否存 在与所述第一哈希值相同的索引值;若不存在,则确定校验失败;若存在,则获取与所述索引值对应的辅助索引值和影响值,并对所述目标数据与影响值的组合进行哈希,得到第二哈希值。

图6示例了另一种业务校验装置的结构,该装置可以包括:数据处理模块61和信息发送模块62。

数据处理模块61,用于接收源数据,并对所述源数据进行哈希,得到索引值;对所述源数据和影响值的组合进行哈希,得到辅助索引值;

信息发送模块62,用于将所述索引值和辅助索引值发送至业务系统,以使得所述业务系统根据所述索引值和辅助索引值进行业务校验。

进一步的,信息发送模块62,还用于接收所述业务系统发送的信息获取请求,所述信息获取请求携带业务系统对待校验的目标数据进行哈希得到的第一哈希值;若存在与第一哈希值相同的索引值,则将所述索引值对应的辅助索引值和影响值发送至业务系统。

本实施例的业务校验装置,通过使用了索引值和辅助索引值来共同进行校验,在第一哈希值与索引值相同,且目标数据与影响值组合哈希的第二哈希值与辅助索引值相同时,再确认校验通过,这种两次哈希比对且与影响值组合的方式,能够大幅提升对哈希算法中的数据碰撞情况的识别,从而显著提高业务校验时的安全性。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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