信息验证的方法、装置、电子设备和可读存储介质与流程

文档序号:15049700发布日期:2018-07-27 23:57阅读:145来源:国知局

本发明涉及计算机技术领域,特别地涉及一种信息验证的方法、装置、电子设备和可读存储介质。



背景技术:

验证码是一种区分用户是计算机还是人的公共全自动程序,可以有效地防止恶意破解密码、刷票、论坛灌水等恶意行为。目前常用的使用验证码进行身份校验的方式主要有两种:

1、手机短信验证码:通过向指定服务端发送请求,由服务端生成随机的验证码并以短信的形式下发到手机上,接收方通过收到的短信验证码,完成功能验证;

2、动态口令:通过特定设备,生成随机的动态口令码,以完成验证及授权,例如:网上银行的动态口令卡等。

随着移动通信和互联网技术的快速发展,手机已变成人们不可或缺的工具。目前最方便且使用最多的身份校验方式是通过手机短信验证码。手机短信验证码是通过发送验证码到手机以进行用户身份校验,大型网站尤其是购物网站,都提供有手机短信验证码功能,可以比较准确和安全地保证购物的安全性,验证用户的正确性,是最有效的验证码系统。某些验证码接入商提供手机短信验证码服务,手机短信验证码是企业给消费者(用户)的一个凭证,通过手机短信内容的验证码来验证身份。各网站通过接口发送请求到接入商的服务器,服务器发送随机数字或字母到手机中,由接入商的服务器统一做验证码的验证。目前使用的最普遍的有各大银行网上银行、网上商城、团购网站、票务公司等。网站或者客户端应用通过接入手机短信验证码的功能,可以实现注册用户的手机号码正确性的校验,确保用户填写的手机号码的真实性。手机验证码,是验证发起某项操作的真实性及有效性的重要手段,如银行转账,网上支付等。

当在购物网站或手机客户端发起某一操作,例如网络购物中,下单后进行支付操作时,在输入支付密码并确认后,购物网站或客户端会向后台服务器发送下发短信验证码的请求,并进入短信验证码的验证阶段,通过输入下发的验证码,以完成授权验证。主要过程如下:

1、客户端(或购物平台)在支付时,向服务端发送获取短信验证码的请求;

2、服务端接收到请求后,生成并下发短信验证码;

3、客户端收到验证码后,进入验证页面,并输入收到的验证码;

4、服务端对客户端输入的验证码进行校验以完成授权验证。

在实现本发明的过程中,发明人发现现有技术存在如下技术问题:现有的技术方案虽然对用户操作的安全性起到了一定的作用,但是很容易泄漏或被非法人员窃取,而一旦验证码泄漏或被窃取,就可以绕过现有的系统验证机制,使得用户操作的安全性受到威胁。



技术实现要素:

有鉴于此,本发明提供一种信息验证的方法、装置、电子设备和可读存储介质,通过对明文验证码按特定规则进行处理,以达到即便泄漏验证码也无法绕过系统验证的目的,能够极大地提高系统验证的安全性。

为实现上述目的,根据本发明的一个方面,提供了一种信息验证的方法。

一种信息验证的方法,所述方法用于客户端和服务端进行交互时的信息验证,所述服务端针对每个客户端保存有预定义的验证码校验规则,每个所述客户端的用户已知所述客户端的验证码校验规则,所述方法包括:向所述服务端发送获取验证码的请求;接收所述服务端发来的原始验证码并显示,以便所述用户根据所述客户端的验证码校验规则把所述原始验证码转换成新验证码;将接收的所述用户输入的所述新验证码发送给所述服务端,以便所述服务端根据所述验证码校验规则和所述原始验证码对所述新验证码进行校验。

可选地,所述服务端提供接口用于所述客户端设置验证码校验规则。

可选地,所述服务端存储预先设置的验证码校验规则集,用于当所述客户端的用户进行验证码校验规则设置时从中选择所述客户端的验证码校验规则。

可选地,所述服务端根据所述验证码校验规则和所述原始验证码对所述新验证码进行校验包括:所述服务端根据所述客户端的验证码校验规则对所述原始验证码进行转换,并把转换的结果与接收到的所述新验证码进行比较,如果一致,则校验通过;否则,校验失败。

根据本发明的另一方面,提供了一种信息验证的装置。

一种信息验证的装置,所述装置用于客户端和服务端进行交互时的信息验证,所述服务端针对每个所述客户端保存有预定义的验证码校验规则,每个所述客户端的用户已知所述客户端的验证码校验规则,所述装置包括:验证码获取模块,用于向所述服务端发送获取验证码的请求;验证码接收模块,用于接收所述服务端发来的原始验证码,以便所述客户端的用户根据所述客户端的验证码校验规则把所述原始验证码转换成新验证码;验证码提交模块,用于将接收的所述用户输入的所述新验证码发送给所述服务端,以便所述服务端根据所述验证码校验规则和所述原始验证码对所述新验证码进行校验。

可选地,所述服务端提供接口用于所述客户端设置验证码校验规则。

可选地,所述服务端存储预先设置的验证码校验规则集,用于当所述客户端的用户进行验证码校验规则设置时从中选择所述客户端的验证码校验规则。

可选地,所述验证码校验模块还用于:所述服务端根据所述客户端的验证码校验规则对所述原始验证码进行转换,并把转换的结果与接收到的所述新验证码进行比较,如果一致,则校验通过;否则,校验失败。

根据本发明的又一方面,提供了一种电子设备。

一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的分配集合单的方法。

根据本发明的再一方面,提供了一种可读存储介质。

一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的分配集合单的方法。

根据本发明的技术方案,通过设定校验规则,对原始下发的明文验证码进行换算后再校验,可以解决验证码泄露后绕过系统验证的问题,提供了一种更为安全的验证码校验方案;同时,校验规则可根据用户的个人需要进行灵活设置,使用方便,且能有效提高验证码验证的安全性。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是本发明实施例的系统架构图;

图2是根据本发明实施例的信息验证的方法的主要步骤示意图;

图3是本发明实施例的验证码校验规则设置流程图;

图4是本发明实施例的客户端进行验证码处理的流程图;

图5是本发明实施例的服务端进行验证码校验的流程图;

图6是根据本发明实施例的信息验证的装置的主要模块示意图;

图7是根据本发明实施例的信息验证的方法的电子设备的硬件结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

针对现有技术中提到的明文验证码泄漏(如第三方人员通过非法的手段获取验证码)后,绕过系统验证的问题,本发明采取对明文验证码按特定规则进行处理的方法,以达到即便验证码泄漏也无法绕过系统验证的目的。如图1所示,是本发明实施例的系统架构图。本发明的客户端和服务端交互时的信息验证的系统中,根据功能实现,客户端主要包括规则设置模块、验证码输入模块和数据交互模块;服务端主要包括规则生成模块、验证码生成模块、验证码校验模块和数据交互模块。

客户端的各个模块的主要功能如下:

1、规则设置模块:负责展示服务端发来的验证码校验规则集,为用户提供验证码校验规则设置的功能,用户可自行配置其所使用的客户端的验证码校验规则;

2、验证码输入模块:提供验证码输入接口以用于接收用户输入的验证码;

3、数据交互模块:用于通过服务端的数据交互模块与服务端进行数据交互,其中,交互内容主要包括该客户端发送的验证码获取请求和验证码校验规则获取请求、该客户端发送的用户输入的验证码和验证码校验规则,服务端发来的验证码和验证码校验规则集、服务端发来的验证码校验结果等。

服务端的各个模块的主要功能如下:

1、规则生成模块:该模块提供与用户约定验证码校验规则的功能,主要用于将服务端保存的预设的验证码校验规则集提取出来并通过数据交互模块发送给客户端,同时保存通过数据交互模块接收到的客户端发来的用户选择的验证码校验规则;

2、验证码生成模块:用于针对用户选择的验证码校验规则,生成随机验证码;

3、验证码校验模块:用于根据用户选择的验证码校验规则,对用户输入的验证码进行校验;

4、数据交互模块:用于通过客户端的数据交互模块与客户端进行数据交互,其中,交互内容主要包括预先保存的验证码校验规则集和该服务端生成的随机验证码,客户端发来的验证码获取请求和验证码校验规则获取请求,以及客户端发来的用户输入的验证码和验证码校验规则,还包括服务端对客户端发来的验证码的校验结果等。

图2是根据本发明实施例的信息验证的方法的主要步骤示意图。本发明的信息验证的方法用于客户端和服务端进行交互时的信息验证,服务端针对每个客户端保存有预定义的验证码校验规则,每个客户端的用户已知该客户端的验证码校验规则。如图2所示,本发明的信息验证的方法主要包括如下的步骤s21至步骤s23。

步骤s21:向服务端发送获取验证码的请求;

步骤s22:接收服务端发来的原始验证码并显示,以便用户根据客户端的验证码校验规则把原始验证码转换成新验证码;

步骤s23:将接收的用户输入的新验证码发送给服务端,以便服务端根据验证码校验规则和原始验证码对新验证码进行校验。

其中,服务端提供接口用于所述客户端设置验证码校验规则。

并且,服务端存储预先设置的验证码校验规则集,用于当所述客户端的用户进行验证码校验规则设置时从中选择所述客户端的验证码校验规则。

根据本发明的实施例,服务端根据所述验证码校验规则和所述原始验证码对所述新验证码进行校验的步骤包括:所述服务端根据所述客户端的验证码校验规则对所述原始验证码进行转换,并把转换的结果与接收到的所述新验证码进行比较,如果一致,则校验通过;否则,校验失败。

下面将结合图3至图5介绍本发明实施例的具体实施过程。

图3是本发明实施例的验证码校验规则设置流程图。验证码校验规则的设置可以由用户主动进行设置,也可由服务端通过推送消息或提示的方式提示用户进行设置。例如:客户端可以在设置中心添加一项“验证码校验规则设置”,以便用户可以进行规则设置的开启或关闭操作,用户通过点击“验证码校验规则设置”项,即可进入详细信息页面,客户端为用户展示详细的规则信息,以便用户可以进行选择设置。又如,可以在客户打开客户端时,服务端通过推送消息或弹出对话框的形式,提示用户进行验证码校验规则设置,或者还可以在用户进行交易获取验证码之前,通过服务端给出提示信息,提示用户进行设置等等。

如图3所示,本发明实施例的验证码校验规则设置流程如下:设置规则开始;进入验证码规则设置模块;选择预设规则,其中预设规则例如可以包括:验证码逆序,即:将接收到的验证码,按逆序换算后输入,如下发验证码为1234,按逆序规则进行转换,得到的验证码为:4321;验证码加预设常数(需要预设置一个常数),如下发的验证码为1234,预设的常数为1111,则换算后的验证码为:1234+1111=2345,等等。每个用户可以设置自己的校验规则。其中,若用户未设置校验规则,可以认为该客户端对应的校验规则为无转换或零转换。例如:用户根据服务端的提示消息进行设置验证码校验规则时,客户端为用户展示详细的规则信息,其中包含“零转换”(或“无转换”)规则。另外,用户在设置校验规则时,还可以选择此校验规则的应用时效,例如“仅用于此次校验”或者“用于所有校验”等等,以防止用户忘记设置的规则时输入错误的验证码,影响用户的体验。最后,在规则设置之后,向服务端发送数据请求,将选择的验证码校验规则上传到指定的服务器,以便服务器保存校验规则。只有完成了验证码校验规则设置后,服务端的校验流程才会生效。

图4是本发明实施例的客户端进行验证码处理的流程图。以用户在客户端购物下单成功进行订单支付为例,介绍本发明中客户端进行验证码处理的过程。当用户通过客户端进行支付时,首先通过客户端向指定服务端发送请求获取验证码;服务端接收到请求后,生成随机验证码,并以短信的形式下发到客户端,客户端接收服务端生成的验证码并显示,以便使用该客户端的用户可以按预先设定的规则(如逆序的方式)对客户端接收到的验证码进行换算,并将换算后的验证码输入到验证页面的指定位置;之后,客户端接收用户输入的按预设规则转换后的验证码,并将转换后的验证码上传到服务端并请求校验;最后,由服务端进行验证码校验,若校验成功,则鉴权通过,否则鉴权失败。

图5是本发明实施例的服务端进行验证码校验的流程图。服务端接收到客户端发来的验证码校验请求后,将获取客户端同时提交的验证码;之后,服务端将查询该客户端对应的验证码校验规则,以及下发给该客户端的验证码,并按照该校验规则对下发的验证码进行换算以生成用于校验的验证码;最后,根据校验规则校验客户端提交的验证码,将客户端提交的验证码和换算后生成的验证码进行比对,如果一致,则校验通过,完成授权,否则,提示校验失败。

下面以用户打开客户端时,服务端推送消息提示用户设置验证码校验规则为例,介绍本发明的实施过程。主要包括如下步骤:

步骤s1:用户启动客户端时,服务端通过引导窗口提示用户进行验证码校验规则设置;

步骤s2:用户点击引导按钮,客户端进入验证码校验规则设置页面;

步骤s3:用户根据个人需要选择一种校验规则(如逆序规则);

步骤s4:客户端向服务端发送保存校验规则的请求,并将用户设置的验证码校验方式发送到服务端,以完成验证码校验规则设置;

步骤s5:用户选择某一商品下单,进入支付流程,客户端向服务端发送获取验证码的请求;

步骤s6:服务端接收到请求后,生成随机验证码,并下发给客户端;

步骤s7:客户端用户按照此前设置的规则,将获取到的验证码,经过换算得到新的验证码(即:假设服务端下发的原始验证码为4321;按照逆序规则进行换算后的新验证码为1234),并输入到客户端验证页面的指定位置;

步骤s8:客户端向服务端发送验证码校验请求;

步骤s9:服务端收到校验请求后,提取用户上传的验证码1234,同时获取该客户端对应的校验规则(逆序规则)和下发的原始验证码(4321),并按照校验规则中的算法换算得到用于校验的验证码(1234);

步骤s10:将服务端按照校验规则换算后的验证码(即:1234)与用户上传的验证码(即:1234)进行对比;数据一致,则为校验通过,否则为校验失败。

图6是根据本发明实施例的信息验证的装置的主要模块示意图。本发明的信息验证的装置用于客户端和服务端进行交互时的信息验证,服务端针对每个客户端保存有预定义的验证码校验规则,每个客户端的用户已知该客户端的验证码校验规则。如图6所示,本发明的信息验证的装置60主要包括验证码获取模块61、验证码接收模块62和验证码提交模块63。

验证码获取模块61用于向所述服务端发送获取验证码的请求;验证码接收模块62用于接收所述服务端发来的原始验证码,以便所述客户端的用户根据所述客户端的验证码校验规则把所述原始验证码转换成新验证码;验证码提交模块63用于将接收的所述用户输入的所述新验证码发送给所述服务端,以便所述服务端根据所述验证码校验规则和所述原始验证码对所述新验证码进行校验。。

根据本发明的技术方案,所述服务端提供接口用于所述客户端设置验证码校验规则。

并且,所述服务端存储预先设置的验证码校验规则集,用于当所述客户端的用户进行验证码校验规则设置时从中选择所述客户端的验证码校验规则。

另外,所述服务端根据所述客户端的验证码校验规则对所述原始验证码进行转换,并把转换的结果与接收到的所述新验证码进行比较,如果一致,则校验通过;否则,校验失败。

根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。

本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的分配集合单的方法。

本发明的非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的分配集合单的方法。

如图7所示,是根据本发明实施例的信息验证的方法的电子设备的硬件结构示意图。如图7,该电子设备70包括:一个或多个处理器71以及存储器72,图7中以一个处理器71为例。其中,存储器72即为本发明所提供的非暂态计算机可读存储介质。

信息验证的方法的电子设备还可以包括:输入装置73和输出装置74。

处理器71、存储器72、输入装置73和输出装置74可以通过总线或者其他方式连接,图7中以通过总线连接为例。

存储器72作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的信息验证的方法对应的程序指令/模块(例如,附图6所示的验证码获取模块61、验证码接收模块62和验证码提交模块63)。处理器71通过运行存储在存储器72中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的信息验证的方法。

存储器72可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据信息验证的装置的使用所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器72可选包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至信息验证的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置73可接收输入的数字或字符信息,以及产生与信息验证的装置的用户设置以及功能控制有关的键信号输入。输出装置74可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器72中,当被所述一个或者多个处理器71执行时,执行上述任意方法实施例中的信息验证的方法。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

根据本发明实施例的技术方案,通过设定校验规则,对原始下发的明文验证码进行换算后再校验,可以解决验证码泄露后绕过系统验证的问题,提供了一种更为安全的验证码校验方案;同时,校验规则可根据用户的个人需要进行灵活设置,使用方便,且能有效提高验证码验证的安全性。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

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