验证码防探嗅处理方法和装置与流程

文档序号:20010445发布日期:2020-02-22 04:03阅读:219来源:国知局
验证码防探嗅处理方法和装置与流程

本申请涉及网络安全领域,具体而言,涉及一种验证码防探嗅处理方法和装置。



背景技术:

近年来,社会上发生了多起支付账号及关联银行卡被盗刷的案件,受害人通常在毫不知情的情况下,支付宝、微信及关联的银行卡等被盗刷,资金不翼而飞。其中的一种方式是通过短信嗅探技术获取该用户的支付短信验证码,从而通过支付短信验证码盗刷该用户的支付账号或关联银行卡等。

短信嗅探是一种利用gsm系统漏洞来获取用户手机短信的技术。攻击者通过短信嗅探技术获取用户手机短信的具体过程为:攻击者利用短信嗅探设备在一定范围内进行全频点全信道的搜索和监听,当搜索到某一频点下的某一信道时,攻击者会通过短信嗅探设备监听和截获使用该信道通信的所有用户手机的gsm信号,当该gsm信号承载的数据为短信时,由于gsm系统下的短信是明文(即未经任何加密的数据)传输的,因此,攻击者可直接根据该gsm信号获取用户手机的短信内容。

验证码是很多软件或者app在动态登录的时候使用的一种技术,用户可以自己不记住密码,输入自己的手机号码,然后通过短信的方式获取验证码,这样就可以直接登录了。

验证是通过短信的方式来发送的,而短信发送在gsm系统中是通过明文发送的,这样就导致了攻击者通过短信探嗅方式就可以获取到该验证码。为了解决这个问题,现有技术中有一些解决方案,但是,这些解决方案都依赖于运营商。如果一个软件公司希望自己开发的软件在短信验证登录时更加安全,目前没有相关的技术方案。

针对相关技术中在具体软件上如何防止验证码被探嗅的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请提供一种验证码防探嗅处理方法和装置,以解决相关技术中在具体软件上如何防止验证码被探嗅的问题。

根据本申请的一个方面,提供了一种验证码防探嗅处理方法,包括:软件在用户首次使用手机号进行注册之后,提示用户配置验证码的处理方式;其中,所述验证码的处理方式是指用户在接收到短信验证码之后,对验证码进行变化的规则;所述软件将所述处理方式发送至服务器,其中,所述服务器用于保存所述处理方式;所述软件在需要短信验证码的情况下,发送获取验证码的请求信息;所述软件接收到所述用户输入的验证码,并将所述用户输入的验证码发送至所述服务器;所述服务器将通过短信发送给所述用户的验证码按照所述处理方式进行处理得到处理后的验证码,并验证所述用户输入的验证码与所述处理后的验证码是否相同。

进一步地,所述处理方式包括:将所述验证码的预定位的数字的顺序交换。

进一步地,所述处理方式包括:将所述验证码进行预定的数学计算。

进一步地,所述需要短信验证码的情况包括以下至少之一:登录到软件、需要修改所述验证码的处理方式、需要修改所述用户的信息。

根据本申请的另一个方面,还提供了一种验证码防探嗅处理装置,包括:第一提示模块,位于客户端,在用户首次使用手机号进行注册之后,用于提示用户配置验证码的处理方式;其中,所述验证码的处理方式是指用户在接收到短信验证码之后,对验证码进行变化的规则;第一发送模块,位于客户端,用于将所述处理方式发送至服务器,其中,所述服务器用于保存所述处理方式;第二发送模块,位于客户端,用于所在需要短信验证码的情况下,发送获取验证码的请求信息;第二提示模块,位于客户端,用于提示所述用户需要输入处理后的验证码;接收模块,位于客户端,用于接收到所述用户输入的验证码,并将所述用户输入的验证码发送至所述服务器;验证模块,位于服务器,用于将通过短信发送给所述用户的验证码按照所述处理方式进行处理得到处理后的验证码,并验证所述用户输入的验证码与所述处理后的验证码是否相同。

进一步地,所述处理方式包括:将所述验证码的预定位的数字的顺序交换。

进一步地,所述处理方式包括:将所述验证码进行预定的数学计算。

进一步地,所述需要短信验证码的情况包括以下至少之一:登录到软件、需要修改所述验证码的处理方式、需要修改所述用户的信息。

根据本申请的另一个方面,还提供了一种存储器,用于存储软件,其中,所述软件用于执行上述的方法。

根据本申请的另一个方面,还提供一种处理器,用于执行软件,其中,所述软件用于执行上述的方法。

本申请采用以下步骤:软件在用户首次使用手机号进行注册之后,提示用户配置验证码的处理方式;其中,所述验证码的处理方式是指用户在接收到短信验证码之后,对验证码进行变化的规则;所述软件将所述处理方式发送至服务器,其中,所述服务器用于保存所述处理方式;所述软件在需要短信验证码的情况下,发送获取验证码的请求信息;所述软件提示所述用户需要输入处理后的验证码;所述软件接收到所述用户输入的验证码,并将所述用户输入的验证码发送至所述服务器;所述服务器将通过短信发送给所述用户的验证码按照所述处理方式进行处理得到处理后的验证码,并验证所述用户输入的验证码与所述处理后的验证码是否相同。通过本申请解决了相关技术中在具体软件上如何防止验证码被探嗅的问题,提高了短信验证码方式的安全性。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例提供的验证码防探嗅处理方法的流程图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

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

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

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

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

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

在如下实施例中,软件可以是安装在终端上的软件,终端可以是手机等移动设备,也可以是电脑或者笔记本等电脑设备。

在本实施例中,提供了一种验证码防探嗅处理方法,图1是根据本发明实施例的验证码防探嗅处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,软件在用户首次使用手机号进行注册之后,提示用户配置验证码的处理方式;其中,验证码的处理方式是指用户在接收到短信验证码之后,对验证码进行变化的规则;

步骤s104,软件将处理方式发送至服务器,其中,服务器用于保存处理方式;

步骤s106,软件在需要短信验证码的情况下,发送获取验证码的请求信息;软件提示用户需要输入处理后的验证码(提示用户输入处理后的验证码的这个步骤,也可以省略,带上这个步骤可以提高用户体验);软件接收到用户输入的验证码,并将用户输入的验证码发送至服务器;

步骤s108,服务器将通过短信发送给用户的验证码按照处理方式进行处理得到处理后的验证码,并验证用户输入的验证码与处理后的验证码是否相同。其中,如果相同则验证通过,可以提供需要的服务,如果不相同,则验证不通过。

在该步骤中,作为一个优选的方式,可以显示两个验证码输入框,其中第一个验证码输入框输入的就是发送的原来的验证码,第二个验证码输入框输入经过处理方式处理过的验证码。这种方式可以让攻击者感到迷惑,进而放弃攻击。此时服务器可以对这两个验证码均进行验证,在验证通过的情况下,可以提供需要的服务。

通过上述步骤,即使攻击者通过探嗅技术得到了验证码,但是攻击者并不是到用户默认配置的规则,在这种情况下,攻击者也无法通过得到的验证码进行操作。并且,这种验证方式不需要借助运营商,只需要在开发软件的时候在软件中增加该功能即可。通过上述步骤,解决了相关技术中在具体软件上如何防止验证码被探嗅的问题,提高了短信验证码方式的安全性。

优选地,验证码的处理方式可以包括:将验证码的预定位的数字的顺序交换。验证码的处理方式还可包括:将验证码进行预定的数学计算。或者,也可以将在两种方式结合起来,将预定位的数字顺序交换后,再进行数学计算。

例如,接收到的验证码是123456,配置的处理方式可以是前三位和后三位互换,此时,真正需要输入的验证码是456123。又例如,配置的方式至最后一位验证码加2,此时真正需要输入的验证码是123458。又例如,配置的方式是将最后两位互换并在互换后加1,此时真正输入的验证码是123466。

由于这些配置方式是用户灵活配置的,所以在软件中可以设置多个默认的规则,让用户对这些规则进行组合得到自己所特有的规则。具体实现的时候,可以在软件的配置界面这个显示多个控件,用户可以将不同的控件按照顺序进行排列,其中,每一个控件就代表一个规则,用户排列之后的顺序就是按照规则来执行的顺序。

还有一种方式,就是需要用户输入一段文字或者语音,通过对文字或者语音进行提取得到预定规则。例如,用户输入的是验证码加100,则将规则定位验证码+100。通过语音或者文字得到的规则有可能出现错误,此时,可以增加一个验证功能,在得到规则之后,给一个例子验证码,让用户输入一个根据规则计算到的新的验证码,如果新的验证码符合软件获取到的规则,则认为该规则成立。

在得到规则的时候,也可以训练一个机器学习模型来提取规则。机器学习目前有很多开源的平台,这些平台都是可以免费搭建的。不同的机器学习模型需要使用不同的训练数据训练得到。在一个实施例中,可以使用多组训练数据来进行训练,每组训练数据均包括一段文字以及该文字所对应的规则。通过这些数据的训练,可以得到一个模型,在该模型中,输入一段文字,则得到一个规则。

如果是语音,则可以将语音转换为文字,然后再将文字输入到模型中。

在步骤s106中,如果省略了提示用户输入处理后的验证码的这个步骤,则攻击者很有可能直接输入的就是没有经过任何处理的验证码,即收到的验证码是什么就输入什么。此时,可以在服务器增加如下功能,即在步骤s108中增加如下验证功能:如果接收到用户输入的验证码就是发送出去的验证码,则此时可以关闭短信验证登录功能,要求用户必须使用用户名和密码的方式来进行登录。比较优的是,如果用户输入的验证码即不是发送出去的原验证码又不是通过处理方式得到的验证码,此时可以认为用户输入错误,则需要用户再次获得验证码并重新进行输入。

作为另一种更加安全的方式,服务器步骤s108中验证不通过的情况下,可以重新发送验证码,再重新执行验证。如果这种验证不通过的次数超过阈值,则认为手机存在被探嗅的风险,此时,该软件可以提示用户是否需要暂停2g模式,或者采取其他安全措施。或者,服务器也可以直接锁定该用户在该软件中的部分服务功能,以降低用户的损失。

优选地,需要短信验证码的情况包括以下至少之一:登录到软件、需要修改验证码的处理方式、需要修改用户的信息。

作为一个优选的实施例,服务器还可以记录用户首次配置验证码处理方式时的mac地址,如果用户需要修改验证码的处理方式,则对发起修改请求的终端的mac地址进行核对,如果该地址不是首次配置验证码处理方式时的地址,则拒绝修改验证码的处理方式。

在本实施例中,还提供了一种验证码防探嗅处理装置,包括:第一提示模块,位于客户端,在用户首次使用手机号进行注册之后,用于提示用户配置验证码的处理方式;其中,验证码的处理方式是指用户在接收到短信验证码之后,对验证码进行变化的规则;第一发送模块,位于客户端,用于将处理方式发送至服务器,其中,服务器用于保存处理方式;第二发送模块,位于客户端,用于所在需要短信验证码的情况下,发送获取验证码的请求信息;第二提示模块,位于客户端,用于提示用户需要输入处理后的验证码;接收模块,位于客户端,用于接收到用户输入的验证码,并将用户输入的验证码发送至服务器;验证模块,位于服务器,用于将通过短信发送给用户的验证码按照处理方式进行处理得到处理后的验证码,并验证用户输入的验证码与处理后的验证码是否相同。

验证码的处理方式可以包括:将验证码的预定位的数字的顺序交换。验证码的处理方式还可包括:将验证码进行预定的数学计算。或者,也可以将在两种方式结合起来,将预定位的数字顺序交换后,再进行数学计算。

优选地,需要短信验证码的情况包括以下至少之一:登录到软件、需要修改验证码的处理方式、需要修改用户的信息。

在本实施例中,提供了一种存储器,用于存储软件,其中,该软件用于执行上述的方法。

在本实施例中,提供了一种处理器,用于执行软件,其中,该软件用于执行上述的方法。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供了一种存储介质,其上存储有程序或者软件,该程序被处理器执行时实现上述方法。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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