短信验证码验证方法和系统转让专利

申请号 : CN201611175214.8

文献号 : CN107623672B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 秦伟强

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明公开了一种短信验证码验证方法,该方法包括:在收到短信验证码的验证请求时,根据所述验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验所述验证码字符;若所述验证码字符通过校验,则获取所述移动终端的用户识别卡号码;判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致;若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致,则判定所述短信验证码通过验证。本发明还公开了一种短信验证码验证系统。本发明大大提高了短信验证码验证时的安全性。

权利要求 :

1.一种短信验证码验证方法,其特征在于,所述短信验证码验证方法包括以下步骤:在收到短信验证码的验证请求时,根据所述验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验所述验证码字符;

若所述验证码字符通过校验,则获取所述移动终端的用户识别卡号码;

判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致;

若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致,则判定所述短信验证码通过验证;

若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端返回授权图形识别码;

若收到第二终端根据所述授权图形识别码发送的授权确认指令,则获取所述第二终端的用户识别卡号码;

若所述第二终端的用户识别卡号码与所述移动终端提交的用户识别卡号码一致,则判定所述短信验证码通过验证;

所述授权图形识别码包含所述移动终端的唯一识别码和用于发送授权确认指令的链接地址。

2.如权利要求1所述的短信验证码验证方法,其特征在于,所述短信验证码验证方法还包括:若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端提交的用户识别卡号码所对应的第三终端返回授权请求;

若收到所述第三终端根据所述授权请求发送的授权确认指令,则判定所述短信验证码通过验证。

3.如权利要求1所述的短信验证码验证方法,其特征在于,所述短信验证码验证方法还包括:若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号不一致,则根据所述移动终端提交的用户识别卡号码,对应发送告警信息。

4.如权利要求1、2或3所述的短信验证码验证方法,其特征在于,所述移动终端包括多个用户识别卡,所述判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致的步骤包括:在所述移动终端的多个用户识别卡号码中,查找与所述移动终端提交的用户识别卡号码相同的用户识别卡号码;

若找到与所述移动终端提交的用户识别卡号码相同的用户识别卡号码,则判定所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致。

5.一种短信验证码验证系统,其特征在于,所述短信验证码验证系统包括:校验模块,用于在收到短信验证码的验证请求时,根据所述验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验所述验证码字符;

获取模块,用于若所述验证码字符通过校验,则获取所述移动终端的用户识别卡号码;

判断模块,用于判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致;

判定模快,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致,则判定所述短信验证码通过验证;

所述短信验证码验证系统还包括:

第一授权模块,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端返回授权图形识别码;若收到第二终端根据所述授权图形识别码发送的授权确认指令,则获取所述第二终端的用户识别卡号码;若所述第二终端的用户识别卡号码与所述移动终端提交的用户识别卡号码一致,则判定所述短信验证码通过验证;

所述授权图形识别码包含所述移动终端的唯一识别码和用于发送授权确认指令的链接地址。

6.如权利要求5所述的短信验证码验证系统,其特征在于,所述短信验证码验证系统还包括:第二授权模块,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端提交的用户识别卡号码所对应的第三终端返回授权请求;若收到所述第三终端根据所述授权请求发送的授权确认指令,则判定所述短信验证码通过验证。

7.如权利要求5所述的短信验证码验证系统,其特征在于,所述短信验证码验证系统还包括:告警模块,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号不一致,则根据所述移动终端提交的用户识别卡号码,对应发送告警信息。

8.如权利要求5、6或7所述的短信验证码验证系统,其特征在于,所述移动终端包括多个用户识别卡,所述判断模块还用于,在所述移动终端的多个用户识别卡号码中,查找与所述移动终端提交的用户识别卡号码相同的用户识别卡号码;若找到与所述移动终端提交的用户识别卡号码相同的用户识别卡号码,则判定所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致。

说明书 :

短信验证码验证方法和系统

技术领域

[0001] 本发明涉及信息安全技术领域,尤其涉及一种短信验证码验证方法和系统。

背景技术

[0002] 短信验证码是一种将验证码通过短信的形式发送到用户手机,从而验证用户合法性及正确性的验证手段,应用广泛,例如,移动支付中普遍使用“账号密码+短信”的认证体系。服务器端在收到短信验证码请求时,针对当前已登录的账户或是请求登录的账户,向绑定的或输入的手机号发送短信验证码。用户在收到短信验证码后,在操作页面中输入短信验证码并提交给服务器端进行验证。
[0003] 然而,不法分子在使用木马病毒感染用户手机后,可以劫持用户手机收到的短信验证码,在用户不知道的情况下,提交给服务器端进行验证。服务器端在进行短信验证码的验证时,仅仅是针对验证码的内容进行验证。在检测到提交的验证码与前期发送给当前登录账户的验证码相同时,判定短信验证码正确,通过验证,导致不法分子可以在用户不知情的情况下,利用窃取的账户信息及劫持的短信进行登录操作或是支付操作等,从而转移用户账户中的资金、获取用户的隐私信息等,给用户造成损失。
[0004] 因此,目前如何提高短信验证码验证时的安全性成了一个亟待解决的问题。

发明内容

[0005] 本发明的主要目的在于提供一种短信验证码验证方法和系统,旨在解决短信验证码验证时的安全性低的技术问题。
[0006] 为实现上述目的,本发明提供一种短信验证码验证方法,所述短信验证码验证方法包括以下步骤:
[0007] 在收到短信验证码的验证请求时,根据所述验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验所述验证码字符;
[0008] 若所述验证码字符通过校验,则获取所述移动终端的用户识别卡号码;
[0009] 判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致;
[0010] 若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致,则判定所述短信验证码通过验证。
[0011] 优选地,所述短信验证码验证方法还包括:
[0012] 若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端返回授权图形识别码;
[0013] 若收到第二终端根据所述授权图形识别码发送的授权确认指令,则获取所述第二终端的用户识别卡号码;
[0014] 若所述第二终端的用户识别卡号码与所述移动终端提交的用户识别卡号码一致,则判定所述短信验证码通过验证。
[0015] 优选地,所述短信验证码验证方法还包括:
[0016] 若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端提交的用户识别卡号码所对应的第三终端返回授权请求;
[0017] 若收到所述第三终端根据所述授权请求发送的授权确认指令,则判定所述短信验证码通过验证。
[0018] 优选地,所述短信验证码验证方法还包括:
[0019] 若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号不一致,则根据所述移动终端提交的用户识别卡号码,对应发送告警信息。
[0020] 优选地,所述移动终端包括多个用户识别卡,所述判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致的步骤包括:
[0021] 在所述移动终端的多个用户识别卡号码中,查找与所述移动终端提交的用户识别卡号码相同的用户识别卡号码;
[0022] 若找到与所述移动终端提交的用户识别卡号码相同的用户识别卡号码,则判定所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致。
[0023] 此外,为实现上述目的,本发明还提供一种短信验证码验证系统,所述短信验证码验证系统包括:
[0024] 校验模块,用于在收到短信验证码的验证请求时,根据所述验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验所述验证码字符;
[0025] 获取模块,用于若所述验证码字符通过校验,则获取所述移动终端的用户识别卡号码;
[0026] 判断模块,用于判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致;
[0027] 判定模快,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致,则判定所述短信验证码通过验证。
[0028] 优选地,所述短信验证码验证系统还包括:
[0029] 第一授权模块,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端返回授权图形识别码;若收到第二终端根据所述授权图形识别码发送的授权确认指令,则获取所述第二终端的用户识别卡号码;若所述第二终端的用户识别卡号码与所述移动终端提交的用户识别卡号码一致,则判定所述短信验证码通过验证。
[0030] 优选地,所述短信验证码验证系统还包括:
[0031] 第二授权模块,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端提交的用户识别卡号码所对应的第三终端返回授权请求;若收到所述第三终端根据所述授权请求发送的授权确认指令,则判定所述短信验证码通过验证。
[0032] 优选地,所述短信验证码验证系统还包括:
[0033] 告警模块,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号不一致,则根据所述移动终端提交的用户识别卡号码,对应发送告警信息。
[0034] 优选地,所述移动终端包括多个用户识别卡,所述判断模块还用于,[0035] 在所述移动终端的多个用户识别卡号码中,查找与所述移动终端提交的用户识别卡号码相同的用户识别卡号码;若找到与所述移动终端提交的用户识别卡号码相同的用户识别卡号码,则判定所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致。
[0036] 本发明实施例提出的一种短信验证码验证方法和系统,在收到短信验证码的验证请求时,根据此验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验验证码字符;若验证码字符通过校验,则说明移动终端提交的用户识别卡号码和验证码字符是正确的,然后,获取移动终端的用户识别卡号码,此用户识别卡号码难以伪造,具有较高的安全性,用于判断移动终端提交的用户识别卡号码与移动终端的用户识别卡号码是否一致,以检测当前提交短信验证码的移动终端是否为服务器端下发短信验证码时的移动终端;若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码一致,则说明当前提交短信验证码的移动终端正是服务器端下发短信验证码时的移动终端,服务器端下发的短信验证码并未被劫持或盗取,此时,服务器端确定短信验证码通过校验。本发明实现了对短信验证码的双重校验,在用户提交短信验证码时,不仅对短信验证码本身进行验证,还需要对提交短信验证码的设备进行验证,以确保当前进行操作的是用户本人,避免下发的验证码短信被恶意劫持后给用户造成损失,大大提高了短信验证码验证时的安全性。即使用户的手机中了木马病毒,短信被黑客劫持,黑客也无法冒充用户手机通过本实施例中对用户识别卡的校验,也就无法通过短信验证码的验证。

附图说明

[0037] 图1为本发明短信验证码验证方法第一实施例的流程示意图;
[0038] 图2为图1中步骤S30的细化步骤流程示意图;
[0039] 图3为本发明短信验证码验证方法第二实施例的流程示意图;
[0040] 图4为本发明短信验证码验证方法第三实施例的流程示意图;
[0041] 图5为本发明短信验证码验证方法第四实施例的流程示意图;
[0042] 图6为本发明短信验证码验证系统第一实施例的功能模块示意图;
[0043] 图7为本发明短信验证码验证系统第二实施例的功能模块示意图;
[0044] 图8为本发明短信验证码验证系统第三实施例的功能模块示意图;
[0045] 图9为本发明短信验证码验证系统第四实施例的功能模块示意图。
[0046] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0047] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048] 参照图1,本发明短信验证码验证方法第一实施例提供一种短信验证码验证方法,所述短信验证码验证方法包括:
[0049] 步骤S10、在收到短信验证码的验证请求时,根据所述验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验所述验证码字符。
[0050] 本发明在进行短信验证码的校验时,通过对移动终端用户识别卡号码和验证码的双重校验,有效防止了短信被劫持给用户造成的损失,提高了短信验证码验证时的安全性。
[0051] 具体的,作为一种实施方式,在网站或是APP(Application,应用软件)的登录页面、支付页面等应用场景中,需要对移动终端进行短信验证码的校验。
[0052] 服务器端在收到短信验证码请求时,获取短信验证码请求携带的用户识别卡号码;向此用户识别卡号码所对应的移动终端返回生成的短信验证码,短信验证码中包含需要校验的验证码字符。其中,用户识别卡号码可以是通常所述的手机号码。
[0053] 并且,服务器端下发短信验证码时,将下发短信验证码的用户识别卡号码作为目标号码,对应记录下发的验证码字符和目标号码,并存储到短信验证码记录中,用于后续校验验证码字符。
[0054] 用户在获取短信验证码后,使用移动终端,在短信验证码校验页面输入用户识别卡号码和验证码字符,确认提交,进行验证。
[0055] 然后,移动终端向服务器端发送短信验证码的验证请求,验证请求中携带有用户输入的用户识别卡号码和验证码字符。当然,在登录账户、电子支付等应用场景中,在用户确认提交后,移动终端直接向服务器端发送登录请求、支付请求等请求,登录请求、支付请求等请求中携带有用户输入的用户识别卡号码和验证码字符,此时服务器端判定收到短信验证码的验证请求。
[0056] 当服务器端收到短信验证码的验证请求时,获取此验证请求中携带的用户识别卡号码和验证码字符。
[0057] 其中,验证请求中携带的用户识别卡号码和验证码字符,也即移动终端提交的、用于验证的用户识别卡号码和验证码字符。
[0058] 然后,服务器端校验移动终端提交的验证码字符。
[0059] 具体的,服务器端根据移动终端提交的用户识别卡号码,在短信验证码记录中查找与此用户识别卡号码相同的目标号码。然后,根据短信验证码记录,获取此与用户识别卡号码相同的目标号码所对应的验证码字符,用于校验移动终端提交的验证码字符。
[0060] 然后,服务器端判断移动终端提交的验证码字符与查找得到的验证码字符是否相同。
[0061] 若移动终端提交的验证码字符与查找得到的验证码字符相同,则服务器端判定移动终端提交的验证码字符是正确的,通过校验;若移动终端提交的验证码字符与查找得到的验证码字符不相同,则服务器端判定移动终端提交的验证码字符是错误的,未通过校验。
[0062] 由此,得到移动终端提交的验证码字符的校验结果。
[0063] 步骤S20、若所述验证码字符通过校验,则获取所述移动终端的用户识别卡号码。
[0064] 若移动终端提交的验证码字符通过校验,则服务器端获取移动终端的用户识别卡号码,用于对用户识别卡号码的校验。
[0065] 其中,移动终端的用户识别卡号码可以是移动终端中安装的实体SIM(Subscriber Identification Module,客户识别模块)卡号码,也可以是虚拟SIM卡号码,能够唯一标志当前移动终端的身份。
[0066] 步骤S30、判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致。
[0067] 在获取移动终端的用户识别卡号码后,服务器端判断移动终端提交的用户识别卡号码和移动终端的用户识别卡号码是否一致。
[0068] 若移动终端提交的用户识别卡号码和移动终端的用户识别卡号码相同,则判定移动终端提交的用户识别卡号码和移动终端的用户识别卡号码一致;若移动终端提交的用户识别卡号码和移动终端的用户识别卡号码不相同,则判定移动终端提交的用户识别卡号码和移动终端的用户识别卡号码不一致。
[0069] 作为另一种实施方式,参照图2,所述移动终端包括多个用户识别卡,所述步骤S30包括:
[0070] 步骤S31、在所述移动终端的多个用户识别卡号码中,查找与所述移动终端提交的用户识别卡号码相同的用户识别卡号码;
[0071] 步骤S32、若找到与所述移动终端提交的用户识别卡号码相同的用户识别卡号码,则判定所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致。
[0072] 若移动终端为双卡移动终端,或是其他安装有两个及以上用户识别卡的移动终端,则服务器端获取的移动终端用户识别卡号码有多个。
[0073] 此时,服务器端在获取的移动终端的多个用户识别卡号码中,查找与移动终端提交的用户识别卡号码相同的用户识别卡号码。
[0074] 若在获取的移动终端的多个用户识别卡号码中,成功找到与移动终端提交的用户识别卡号码相同的用户识别卡号码,则确定移动终端提交的用户识别卡号码与移动终端的用户识别卡号码一致;若在获取的移动终端的多个用户识别卡号码中,未找到与移动终端提交的用户识别卡号码相同的用户识别卡号码,则确定移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致。
[0075] 由此,得到对用户识别卡的校验结果。
[0076] 步骤S40、若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致,则判定所述短信验证码通过验证。
[0077] 若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码一致,说明当前提交验证码的移动终端即为服务器端下发短信验证码时的移动终端,验证码短信并未被其他设备劫持,并且由于验证码字符也已经通过验证,服务器端判定当前短信验证码通过验证。
[0078] 若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致,说明当前提交验证码的移动终端并不是服务器端下发短信验证码时的移动终端,验证码短信可能被其他设备劫持,当前环境可能不安全,服务器端判定当前短信验证码未通过验证,可以向移动终端返回对应的提示信息。
[0079] 在本实施例中,在收到短信验证码的验证请求时,根据此验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验验证码字符;若验证码字符通过校验,则说明移动终端提交的用户识别卡号码和验证码字符是正确的,然后,获取移动终端的用户识别卡号码,此用户识别卡号码难以伪造,具有较高的安全性,用于判断移动终端提交的用户识别卡号码与移动终端的用户识别卡号码是否一致,以检测当前提交短信验证码的移动终端是否为服务器端下发短信验证码时的移动终端;若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码一致,则说明当前提交短信验证码的移动终端正是服务器端下发短信验证码时的移动终端,服务器端下发的短信验证码并未被劫持或盗取,此时,服务器端确定短信验证码通过校验。本实施例实现了对短信验证码的双重校验,在用户提交短信验证码时,不仅对短信验证码本身进行验证,还需要对提交短信验证码的设备进行验证,以确保当前进行操作的是用户本人,避免下发的验证码短信被恶意劫持后给用户造成损失,大大提高了短信验证码验证时的安全性。即使用户的手机中了木马病毒,短信被黑客劫持,黑客也无法冒充用户手机通过本实施例中对用户识别卡的校验,也就无法通过短信验证码的验证。
[0080] 进一步地,参照图3,本发明短信验证码验证方法第二实施例提供一种短信验证码验证方法,基于上述本发明短信验证码验证方法第一实施例,所述短信验证码验证方法还包括:
[0081] 步骤S50、若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端返回授权图形识别码;
[0082] 步骤S60、若收到第二终端根据所述授权图形识别码发送的授权确认指令,则获取所述第二终端的用户识别卡号码;
[0083] 步骤S70、若所述第二终端的用户识别卡号码与所述移动终端提交的用户识别卡号码一致,则判定所述短信验证码通过验证。
[0084] 当移动终端的用户识别卡号码与其提交的用户识别卡号码不一致时,可能是用户借用他人的移动终端进行了短信验证码的验证操作等情况,此时,用户可以通过授权的方式,以使短信验证码通过验证。
[0085] 具体的,作为一种实施方式,服务器端向移动终端返回授权图形识别码。服务器端向移动终端返回的授权图形识别码可以是二维码等,包含有移动终端的唯一识别码和用于发送授权确认指令的链接地址。其中,移动终端的唯一识别码可以是移动终端的IP(Internet Protocol,网络互连协议)地址、设备标识等可以具有唯一性的标识码。
[0086] 移动终端收到服务器端返回的图形识别码后,用户可以使用第二终端扫描图形识别码。
[0087] 第二终端根据图形识别码中的链接地址,向服务器端发送授权确认指令,请求授权移动终端以第二终端的身份进行短信验证码的验证,授权确认指令中携带有移动终端的唯一识别码。
[0088] 服务器端接收第二终端发送的授权确认指令,确认第二终端授权移动终端以其身份进行短信验证码的验证。
[0089] 然后,则服务器端获取第二终端的用户识别卡号码,判断第二终端的用户识别卡号码与移动终端提交的用户识别卡号码是否一致。
[0090] 若第二终端的用户识别卡号码与移动终端提交的用户识别卡号码一致,则证明第二终端即为服务器端发送短信验证码时的移动终端,由于此时验证码字符已经通过验证,且第二终端同意授权移动终端以第二终端的身份进行短信验证码的验证,则判定短信验证码通过验证。
[0091] 由此,完成了短信验证码的验证。
[0092] 在本实施例中,若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致,则向移动终端返回授权图形识别码;若收到第二终端根据授权图形识别码发送的授权确认指令,则获取第二终端的用户识别卡号码,使移动终端以第二终端的身份进行短信验证的验证;若第二终端的用户识别卡号码与移动终端提交的用户识别卡号码一致,则判定短信验证码通过验证。本实施例在移动终端的身份识别卡号码未通过验证时,通过授权图形识别码获取第二终端的授权,使得移动终端可以以第二终端的身份进行短信验证码的校验,从而在保障短信验证码安全性的基础上,提升了短信验证码的灵活性和实用性,可适用于多种应用场景,例如用户借用他人的移动终端进行电子账户的支付验证、登录网站等。
[0093] 进一步地,参照图4,本发明短信验证码验证方法第三实施例提供一种短信验证码验证方法,基于上述本发明短信验证码验证方法第一实施例或第二实施例(本实施例以本发明短信验证码验证方法第一实施例为例),所述短信验证码验证方法还包括:
[0094] 步骤S80、若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端提交的用户识别卡号码所对应的第三终端返回授权请求;
[0095] 步骤S90、若收到所述第三终端根据所述授权请求发送的授权确认指令,则判定所述短信验证码通过验证。
[0096] 当移动终端的用户识别卡号码与其提交的用户识别卡号码不一致时,可能是用户借用他人的移动终端进行了短信验证码的验证操作等情况,此时,用户可以通过授权的方式,以使短信验证码通过验证。
[0097] 具体的,作为一种实施方式,服务器端向移动终端提交的用户识别卡号码所对应的第三终端返回授权请求。服务器端向移动终端返回的授权请求可以是二维码、授权链接地址、授权短信等形式,还可以包括移动终端的用户识别卡号码,以使用户清楚授权对象。
[0098] 第三终端收到服务器端返回的授权请求后,用户可以基于授权请求输入确认授权的指令,则第三终端向服务器端发送授权确认指令,请求授权移动终端以第三终端的身份进行短信验证码的验证。
[0099] 服务器端接收第三终端发送的授权确认指令,确认第三终端授权移动终端以其身份进行短信验证码的验证,则服务器端判定短信验证码通过验证。
[0100] 由此,完成了短信验证码的验证。
[0101] 在本实施例中,若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致,则向移动终端提交的用户识别卡号码所对应的第三终端返回授权请求,以获取第三终端的授权;若收到第三终端根据授权请求发送的授权确认指令,也即移动终端得到第三终端的授权,则判定所述短信验证码通过验证。本实施例在移动终端的身份识别卡号码未通过验证时,向移动终端提交的用户识别卡号码所对应的第三终端发送授权请求,由于第三终端即为服务器端下发短信验证码时的移动终端,因此,若收到第三终端的授权,则移动终端可以以第三终端的身份进行短信验证码的校验,从而在保障短信验证码安全性的基础上,提升了短信验证码的灵活性和实用性,可适用于多种应用场景,例如用户借用他人的移动终端进行电子账户的支付验证、登录网站等。
[0102] 进一步地,参照图5,本发明短信验证码验证方法第四实施例提供一种短信验证码验证方法,基于上述本发明短信验证码验证方法第一实施例、第二实施例或第三实施例(本实施例以本发明短信验证码验证方法第一实施例为例),所述短信验证码验证方法还包括:
[0103] 步骤S100、若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号不一致,则根据所述移动终端提交的用户识别卡号码,对应发送告警信息。
[0104] 在对移动终端的用户识别卡号码进行校验后,若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致,则此时可能移动终端的短信已经被劫持,服务器端根据移动终端提交的用户识别卡号码,向用户发送告警信息,例如发送警告短信等。
[0105] 在本实施例中,若移动终端提交的用户识别卡号码与移动终端的用户识别卡号不一致,未通过验证,则根据移动终端提交的用户识别卡号码发送告警信息,以提示当前登录账户的异常操作,提醒用户及时处理,避免损失。
[0106] 参照图6,本发明短信验证码验证系统第一实施例提供一种短信验证码验证系统,所述短信验证码验证系统包括:
[0107] 校验模块10,用于在收到短信验证码的验证请求时,根据所述验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验所述验证码字符。
[0108] 本发明在进行短信验证码的校验时,通过对移动终端用户识别卡号码和验证码的双重校验,有效防止了短信被劫持给用户造成的损失,提高了短信验证码验证时的安全性。短信验证码验证系统可部署在服务器端。
[0109] 具体的,作为一种实施方式,在网站或是APP(Application,应用软件)的登录页面、支付页面等应用场景中,需要对移动终端进行短信验证码的校验。
[0110] 服务器端在收到短信验证码请求时,获取短信验证码请求携带的用户识别卡号码;向此用户识别卡号码所对应的移动终端返回生成的短信验证码,短信验证码中包含需要校验的验证码字符。其中,用户识别卡号码可以是通常所述的手机号码。
[0111] 并且,服务器端下发短信验证码时,将下发短信验证码的用户识别卡号码作为目标号码,对应记录下发的验证码字符和目标号码,并存储到短信验证码记录中,用于后续校验验证码字符。
[0112] 用户在获取短信验证码后,使用移动终端,在短信验证码校验页面输入用户识别卡号码和验证码字符,确认提交,进行验证。
[0113] 然后,移动终端向服务器端发送短信验证码的验证请求,验证请求中携带有用户输入的用户识别卡号码和验证码字符。当然,在登录账户、电子支付等应用场景中,在用户确认提交后,移动终端直接向服务器端发送登录请求、支付请求等请求,登录请求、支付请求等请求中携带有用户输入的用户识别卡号码和验证码字符,此时校验模块10判定收到短信验证码的验证请求。
[0114] 当校验模块10收到短信验证码的验证请求时,获取此验证请求中携带的用户识别卡号码和验证码字符。
[0115] 其中,验证请求中携带的用户识别卡号码和验证码字符,也即移动终端提交的、用于验证的用户识别卡号码和验证码字符。
[0116] 然后,校验模块10校验移动终端提交的验证码字符。
[0117] 具体的,校验模块10根据移动终端提交的用户识别卡号码,在短信验证码记录中查找与此用户识别卡号码相同的目标号码。然后,校验模块10根据短信验证码记录,获取此与用户识别卡号码相同的目标号码所对应的验证码字符,用于校验移动终端提交的验证码字符。
[0118] 然后,校验模块10判断移动终端提交的验证码字符与查找得到的验证码字符是否相同。
[0119] 若移动终端提交的验证码字符与查找得到的验证码字符相同,则校验模块10判定移动终端提交的验证码字符是正确的,通过校验;若移动终端提交的验证码字符与查找得到的验证码字符不相同,则校验模块10判定移动终端提交的验证码字符是错误的,未通过校验。
[0120] 由此,得到移动终端提交的验证码字符的校验结果。
[0121] 获取模块20,用于若所述验证码字符通过校验,则获取所述移动终端的用户识别卡号码。
[0122] 若移动终端提交的验证码字符通过校验,则获取模块20获取移动终端的用户识别卡号码,用于对用户识别卡号码的校验。
[0123] 其中,移动终端的用户识别卡号码可以是移动终端中安装的实体SIM(Subscriber Identification Module,客户识别模块)卡号码,也可以是虚拟SIM卡号码,能够唯一标志当前移动终端的身份。
[0124] 判断模块30,用于判断所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码是否一致。
[0125] 在获取移动终端的用户识别卡号码后,判断模块30判断移动终端提交的用户识别卡号码和移动终端的用户识别卡号码是否一致。
[0126] 若移动终端提交的用户识别卡号码和移动终端的用户识别卡号码相同,则判断模块30判定移动终端提交的用户识别卡号码和移动终端的用户识别卡号码一致;若移动终端提交的用户识别卡号码和移动终端的用户识别卡号码不相同,则判断模块30判定移动终端提交的用户识别卡号码和移动终端的用户识别卡号码不一致。
[0127] 作为另一种实施方式,所述移动终端包括多个用户识别卡,所述判断模块30还用于,
[0128] 在所述移动终端的多个用户识别卡号码中,查找与所述移动终端提交的用户识别卡号码相同的用户识别卡号码;若找到与所述移动终端提交的用户识别卡号码相同的用户识别卡号码,则判定所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致。
[0129] 若移动终端为双卡移动终端,或是其他安装有两个及以上用户识别卡的移动终端,则获取模块20获取的移动终端用户识别卡号码有多个。
[0130] 此时,判断模块30在获取的移动终端的多个用户识别卡号码中,查找与移动终端提交的用户识别卡号码相同的用户识别卡号码。
[0131] 若在获取的移动终端的多个用户识别卡号码中,成功找到与移动终端提交的用户识别卡号码相同的用户识别卡号码,则判断模块30确定移动终端提交的用户识别卡号码与移动终端的用户识别卡号码一致;若在获取的移动终端的多个用户识别卡号码中,未找到与移动终端提交的用户识别卡号码相同的用户识别卡号码,则判断模块30确定移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致。
[0132] 由此,得到对用户识别卡的校验结果。
[0133] 判定模快40,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码一致,则判定所述短信验证码通过验证。
[0134] 若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码一致,说明当前提交验证码的移动终端即为服务器端下发短信验证码时的移动终端,验证码短信并未被其他设备劫持,并且由于验证码字符也已经通过验证,判定模快40判定当前短信验证码通过验证。
[0135] 若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致,说明当前提交验证码的移动终端并不是服务器端下发短信验证码时的移动终端,验证码短信可能被其他设备劫持,当前环境可能不安全,判定模快40判定当前短信验证码未通过验证,可以向移动终端返回对应的提示信息。
[0136] 在本实施例中,在收到短信验证码的验证请求时,校验模块10根据此验证请求获取移动终端提交的用户识别卡号码和验证码字符,校验验证码字符;若验证码字符通过校验,则说明移动终端提交的用户识别卡号码和验证码字符是正确的,然后,获取模块20获取移动终端的用户识别卡号码,此用户识别卡号码难以伪造,具有较高的安全性,用于判断模块30判断移动终端提交的用户识别卡号码与移动终端的用户识别卡号码是否一致,以检测当前提交短信验证码的移动终端是否为服务器端下发短信验证码时的移动终端;若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码一致,则说明当前提交短信验证码的移动终端正是服务器端下发短信验证码时的移动终端,服务器端下发的短信验证码并未被劫持或盗取,此时,判定模块40确定短信验证码通过校验。本实施例实现了对短信验证码的双重校验,在用户提交短信验证码时,不仅对短信验证码本身进行验证,还需要对提交短信验证码的设备进行验证,以确保当前进行操作的是用户本人,避免下发的验证码短信被恶意劫持后给用户造成损失,大大提高了短信验证码验证时的安全性。即使用户的手机中了木马病毒,短信被黑客劫持,黑客也无法冒充用户手机通过本实施例中对用户识别卡的校验,也就无法通过短信验证码的验证。
[0137] 进一步的,参照图7,本发明短信验证码验证系统第二实施例提供一种短信验证码验证系统,基于上述图6所示的实施例,所述短信验证码验证系统还包括:
[0138] 第一授权模块50,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端返回授权图形识别码;若收到第二终端根据所述授权图形识别码发送的授权确认指令,则获取所述第二终端的用户识别卡号码;若所述第二终端的用户识别卡号码与所述移动终端提交的用户识别卡号码一致,则判定所述短信验证码通过验证。
[0139] 当移动终端的用户识别卡号码与其提交的用户识别卡号码不一致时,可能是用户借用他人的移动终端进行了短信验证码的验证操作等情况,此时,用户可以通过授权的方式,以使短信验证码通过验证。
[0140] 具体的,作为一种实施方式,第一授权模块50向移动终端返回授权图形识别码。第一授权模块50向移动终端返回的授权图形识别码可以是二维码等,包含有移动终端的唯一识别码和用于发送授权确认指令的链接地址。其中,移动终端的唯一识别码可以是移动终端的IP(Internet Protocol,网络互连协议)地址、设备标识等可以具有唯一性的标识码。
[0141] 移动终端收到第一授权模块50返回的图形识别码后,用户可以使用第二终端扫描图形识别码。
[0142] 第二终端根据图形识别码中的链接地址,向第一授权模块50发送授权确认指令,请求授权移动终端以第二终端的身份进行短信验证码的验证,授权确认指令中携带有移动终端的唯一识别码。
[0143] 第一授权模块50接收第二终端发送的授权确认指令,确认第二终端授权移动终端以其身份进行短信验证码的验证。
[0144] 然后,第一授权模块50获取第二终端的用户识别卡号码,判断第二终端的用户识别卡号码与移动终端提交的用户识别卡号码是否一致。
[0145] 若第二终端的用户识别卡号码与移动终端提交的用户识别卡号码一致,则证明第二终端即为服务器端发送短信验证码时的移动终端,由于此时验证码字符已经通过验证,且第二终端同意授权移动终端以第二终端的身份进行短信验证码的验证,则第一授权模块50判定短信验证码通过验证。
[0146] 由此,完成了短信验证码的验证。
[0147] 在本实施例中,若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致,则第一授权模块50向移动终端返回授权图形识别码;若收到第二终端根据授权图形识别码发送的授权确认指令,则第一授权模块50获取第二终端的用户识别卡号码,使移动终端以第二终端的身份进行短信验证的验证;若第二终端的用户识别卡号码与移动终端提交的用户识别卡号码一致,则第一授权模块50判定短信验证码通过验证。本实施例在移动终端的身份识别卡号码未通过验证时,通过授权图形识别码获取第二终端的授权,使得移动终端可以以第二终端的身份进行短信验证码的校验,从而在保障短信验证码安全性的基础上,提升了短信验证码的灵活性和实用性,可适用于多种应用场景,例如用户借用他人的移动终端进行电子账户的支付验证、登录网站等。
[0148] 进一步的,参照图8,本发明短信验证码验证系统第三实施例提供一种短信验证码验证系统,基于上述图6所示的实施例,所述短信验证码验证系统还包括:
[0149] 第二授权模块60,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号码不一致,则向所述移动终端提交的用户识别卡号码所对应的第三终端返回授权请求;若收到所述第三终端根据所述授权请求发送的授权确认指令,则判定所述短信验证码通过验证。
[0150] 当移动终端的用户识别卡号码与其提交的用户识别卡号码不一致时,可能是用户借用他人的移动终端进行了短信验证码的验证操作等情况,此时,用户可以通过授权的方式,以使短信验证码通过验证。
[0151] 具体的,作为一种实施方式,第二授权模块60向移动终端提交的用户识别卡号码所对应的第三终端返回授权请求。第二授权模块60向移动终端返回的授权请求可以是二维码、授权链接地址、授权短信等形式,还可以包括移动终端的用户识别卡号码,以使用户清楚授权对象。
[0152] 第三终端收到第二授权模块60返回的授权请求后,用户可以基于授权请求输入确认授权的指令,则第三终端向第二授权模块60发送授权确认指令,请求授权移动终端以第三终端的身份进行短信验证码的验证。
[0153] 第二授权模块60接收第三终端发送的授权确认指令,确认第三终端授权移动终端以其身份进行短信验证码的验证,则第二授权模块60判定短信验证码通过验证。
[0154] 由此,完成了短信验证码的验证。
[0155] 在本实施例中,若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致,则第二授权模块60向移动终端提交的用户识别卡号码所对应的第三终端返回授权请求,以获取第三终端的授权;若第二授权模块60收到第三终端根据授权请求发送的授权确认指令,也即移动终端得到第三终端的授权,则判定所述短信验证码通过验证。本实施例在移动终端的身份识别卡号码未通过验证时,向移动终端提交的用户识别卡号码所对应的第三终端发送授权请求,由于第三终端即为服务器端下发短信验证码时的移动终端,因此,若收到第三终端的授权,则移动终端可以以第三终端的身份进行短信验证码的校验,从而在保障短信验证码安全性的基础上,提升了短信验证码的灵活性和实用性,可适用于多种应用场景,例如用户借用他人的移动终端进行电子账户的支付验证、登录网站等。
[0156] 进一步的,参照图9,本发明短信验证码验证系统第四实施例提供一种短信验证码验证系统,基于上述图6、图7或图8所示的实施例(本实施例以图6为例),所述短信验证码验证系统还包括:
[0157] 告警模块70,用于若所述移动终端提交的用户识别卡号码与所述移动终端的用户识别卡号不一致,则根据所述移动终端提交的用户识别卡号码,对应发送告警信息。
[0158] 在对移动终端的用户识别卡号码进行校验后,若移动终端提交的用户识别卡号码与移动终端的用户识别卡号码不一致,则此时可能移动终端的短信已经被劫持,告警模块70根据移动终端提交的用户识别卡号码,向用户发送告警信息,例如发送警告短信等。
[0159] 在本实施例中,若移动终端提交的用户识别卡号码与移动终端的用户识别卡号不一致,未通过验证,则告警模块70根据移动终端提交的用户识别卡号码发送告警信息,以提示当前登录账户的异常操作,提醒用户及时处理,避免损失。
[0160] 以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。