一种发送和获取短信验证码的方法和系统的制作方法

文档序号:10691774阅读:589来源:国知局
一种发送和获取短信验证码的方法和系统的制作方法
【专利摘要】本发明公开了一种发送和获取短信验证码的方法和系统,其中,所述方法通过发送用户自定义的短信验证码给授权方,由授权方发送第一验证短信给用户端设备,用户端设备收到第一验证短信后进行验证,在验证通过后回复第二验证短信给授权方,授权方对第二验证短信进行验证,在验证通过后对用户端设备授权。如此,只有两次验证通过才能进行操作或交易,极大的提高了短信验证码在交易或操作时的安全性。能够有效防止木马盗取短信验证码;即使在SIM卡被恶意补办、仿造,手机丢失或被盗用等情况下,也能有效保护个人信息和资金的安全。
【专利说明】
一种发送和获取短信验证码的方法和系统
技术领域
[0001]本发明涉及通信领域,特别涉及一种发送和获取短信验证码的方法和系统。
【背景技术】
[0002]当前,短信验证码已广泛应用于网络账号注册登陆、密码修改、快捷支付等需要身份验证的使用场景,在给用户带来方便的同时,这种方式也存在巨大安全隐患,尤其在用户习惯了在手机上长期登陆个人社交、购物账号的情况下,泛滥的手机木马、病毒,假冒基站、WiFi热点等通过拦截、转发短信验证码的方式获得验证信息,从而进入个人账号发布虚假、有害内容,发起网络购物、银行转账等业务。更有甚者,盗窃用户手机或者骚扰攻击用户手机迫使关机后,利用仿冒的SIM卡接收短信验证码,在用户不知情的情况下盗取用户的信息和资产。就算在相对安全的家庭环境下,也屡屡发生儿童用父母的手机进行购物、充值的行为,由于删除了验证码短信和银行交易提醒短信,父母往往在信用卡透支或者还款时才发现问题。
[0003]因而现有短信验证码技术的安全性还有待改进和提高。

【发明内容】

[0004]鉴于上述现有技术的不足之处,本发明的目的在于提供一种发送和获取短信验证码的方法和系统,以提高短信验证的安全性。
[0005]为了达到上述目的,本发明采取了以下技术方案:
一种发送和获取短信验证码的方法,包括如下步骤:
A、用户端设备自定义短信验证码;
B、授权方接收到用户端设备自定义的短信验证码后,发送包含有第一校验码和第二校验码的第一验证短信给用户端设备;
C、用户端设备收到所述第一验证短信后,根据所述第一校验码来验证第一验证短信的有效性,并保存所述第二校验码;
D、在第一验证短信验证有效后,用户端设备根据所述第二校验码反馈包含所述短信验证码和第三校验码的第二验证短信给授权方;
E、授权方接收到用户端设备反馈的第二验证短信后,根据所述短信验证码和第三校验码验证第二验证短信的有效性,在验证有效后,对用户端设备进行授权。
[0006]所述的发送和获取短信验证码的方法中,所述第一验证短信还包括第一跳跃码和第二跳跃码;
所述第一跳跃码,用于与第一校验码配合,确定下一次授权方发送的第一校验码的正确取值;
所述第二跳跃码,用于与第二校验码配合,确定下一次用户端设备发送的第二校验码的正确取值。
[0007]所述的发送和获取短信验证码的方法中,所述步骤D具体包括:在第一验证短信验证有效后,用户端设备根据保存的所述第二校验码和第二跳跃码计算出第三校验码,反馈包含所述短信验证码和第三校验码的第二验证短信给授权方。
[0008]所述的发送和获取短信验证码的方法中,所述步骤E还包括:所述授权方在第三校验码验证无效时,通过非短信的方式提示用户重置第二校验码;在用户端设备请求重置第二校验码时,发送新的第二校验码给用户端设备。
[0009]所述的发送和获取短信验证码的方法中,所述步骤A具体包括如下步骤:
Al、用户端设备自定义短信验证码,并将短信验证码提供给服务方;
A2、服务方将短信验证码发送给授权方请求验证。
[0010]一种发送和获取短信验证码的系统,所述系统包括:
授权方,用于在接收到用户端设备自定义的短信验证码后,发送包含有第一校验码和第二校验码的第一验证短信给用户端设备;在接收到用户端设备反馈的第二验证短信后,根据所述短信验证码和第三校验码验证第二验证短信的有效性,在验证有效后,对用户端设备进行授权;
用户端设备,用于发送用户自定义的短信验证码;在收到授权方发送的第一验证短信后,根据所述第一校验码来验证第一验证短信的有效性,并保存所述第二校验码;在第一验证短信验证有效后,用户端设备根据所述第二校验码反馈包含所述短信验证码和第三校验码的第二验证短信给授权方。
[0011]所述的发送和获取短信验证码的系统中,所述第一验证短信还包括第一跳跃码和第二跳跃码;
所述第一跳跃码,用于与第一校验码配合,确定下一次授权方发送的第一校验码的正确取值;
所述第二跳跃码,用于与第二校验码配合,确定下一次用户端设备发送的第二校验码的正确取值。
[0012]所述的发送和获取短信验证码的系统中,所述用户端设备根据保存的所述第二校验码和第二跳跃码计算出第三校验码。
[0013]所述的发送和获取短信验证码的系统中,所述授权方还用于在第三校验码验证无效时,通过非短信的方式提示用户重置第二校验码;在用户端设备请求重置第二校验码时,发送新的第二校验码给用户端设备。
[0014]所述的发送和获取短信验证码的系统中,所述系统还包括服务方;所述用户端设备发送用户自定义的短信验证码给服务方;所述服务方用于将短信验证码发送给授权方请求验证。
[0015]相较于现有技术,本发明提供的发送和获取短信验证码的方法和系统中,所述方法通过发送用户自定义的短信验证码给授权方,由授权方发送第一验证短信给用户端设备,用户端设备收到第一验证短信后进行验证,在验证通过后回复第二验证短信给授权方,授权方对第二验证短信进行验证,在验证通过后对用户端设备授权。如此,只有两次验证通过才能进行操作或交易,极大的提高了短信验证码在交易或操作时的安全性。能够有效防止木马盗取短信验证码;即使在S頂卡被恶意补办、仿造,手机丢失或被盗用等情况下,也能有效保护个人信息和资金的安全。
【附图说明】
[0016]图1为本发明提供的发送和获取短信验证码的方法的流程图。
[0017]图2为本发明提供的发送和获取短信验证码的系统的结构框图。
【具体实施方式】
[0018]本发明提供一种发送和获取短信验证码的方法和系统。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0019]本发明提供一种发送和获取短信验证码的方法,该方法可用于网络账号注册登陆、密码修改、快捷支付等需要用到短信验证码的过程中。请参阅图1,所述方法包括如下步骤:
S10、用户端设备自定义短信验证码。具体的,用户端设备将用户自定义的短信验证码发送给需要短信验证码验证的设备。本发明不同于现有技术的被动接受短信验证码的方式,采用自定义短信验证码而且主动发送,改变了传统的验证方式,增加了黑客破解或拦截短信的难度。
[0020]进一步的,所述步骤SlO具体包括如下步骤:
SI 10、用户端设备自定义短信验证码,并将短信验证码提供给服务方。所述服务方是指直接给用户提供特定服务的购物网站、社交网站等。
[0021]S120、所述服务方将短信验证码发送给授权方请求验证。在本发明的第一实施例中,所述授权方与服务方为同一主体,如用户通过短信验证的方式修改某网站的账户密码时,所述授权方与服务方同为该网站。在本发明的第二实施例中,所述授权方与服务方为不同的主体,如用户在购物网站购物并付款时,所述授权方为网上银行系统,而服务方则是购物网站。
[0022]S20、授权方接收到用户端设备自定义的短信验证码后,发送包含有第一校验码和第二校验码的第一验证短信给用户端设备。所述授权方是指能够验证用户在本平台或系统中的身份及权限的用户管理系统。
[0023]S30、用户端设备收到所述第一验证短信后,根据所述第一校验码来验证第一验证短信的有效性(即正确性),并保存所述第二校验码,具体的,安全存储所述第二校验码。授权方在第一验证短信中设置第一验证短信,通过用户端设备进行验证,增加了对授权方的验证环节,能识别授权方的合法性,提高了短信验证码验证过程的安全。
[0024]S40、在第一验证短信验证有效(正确)后,用户端设备根据所述第二校验码反馈(回复)包含所述短信验证码和第三校验码的第二验证短信给授权方。在第一验证短信验证无效(错误)后,提示用户第一验证短信验证无效,提醒用户终止操作。即便所述第一验证短信被截获,他人也无法得知其第一校验码和第二校验码的作用;而且,本发明根据第二校验码生成第三校验码并发送给授权方,增加了授权方对用户端设备进行验证的环节,提高了短信验证码验证过程的安全。
[0025]S50、授权方接收到用户端设备反馈的第二验证短信后,根据所述短信验证码和第三校验码验证第二验证短信的有效性,在验证有效后,对用户端设备进行授权;如授权登录、授权修改密码、授权交易或操作等等。在验证无效后,授权方通知服务方取消操作或交易,并发送短信到用户端设备提示操作或交易失败。所述授权方在第三校验码验证无效(不正确)时,通过非短信的方式(如服务电话或网络信息)提示用户重置第二校验码;在用户端设备请求重置第二校验码时,发送新的第二校验码给用户端设备。用户端设备在收到包含重置的(即,新的)第二校验码的短信后,验证通过后自动提取并安全存储其中的第二校验码。进一步的,在验证有效后,授权方还通知用户端设备验证通过。
[0026]在本发明提供的第二实施例中,所述授权方在验证第二验证短信有效后,通知服务方完成操作或交易。
[0027]由此可知,本发明通过重新设计短信验证的发起和处理方式,规范验证码短信的格式并增加校验信息,在人工处理环节增强授权方的验证及用户端的身份鉴别以增强短信验证过程的安全性。
[0028]进一步的,所述第一验证短信还包括类型标识、内容标识、第一跳跃码、第二跳跃码和显示信息。
[0029]所述用户端设备包括电脑、移动终端以及智能穿戴式设备等,本实施例中,为手机。所述步骤S40还包括,用户端设备在用户打开第一验证短信时,提示用户输入PIN码以验证用户端设备的身份;在接收到用户输入的正确的PIN码时,允许用户端设备回复第一验证短信。相比现有技术,本发明增加了验证用户身份的环节,可鉴别用户身份的合法性,提高了安全。
[0030]所述类型标识优选为固定字段,为4位ascii(American Standard Code forInformat1n Interchange,美国标准信息交换代码)字符,用于标识所述第一验证短信属于验证码短信。
[0031]所述内容标识优选为固定字段,为2位ascii字符表示的十六进制数字,按位标识以下可选字段是否有数据。
[0032]所述第一校验码为可选字段,包含4位ascii字符表示的十六进制数字,用于用户端设备校验授权方身份的有效性。
[0033]所述第二校验码为可选字段,包含4位ascii字符表示的十六进制数字,用户端设备回复第二验证短信给授权方时要提供此校验码以验证身份。
[0034]所述第一跳跃码为可选字段,包括2位ascii字符表示的十六进制数字,其与第一校验码配合,确定下一次授权方发送的第一校验码的正确取值。由于设置有第一跳跃码,只有通过第一校验码与第一跳跃码之间预先设置的算法,才能准确的对授权方进行校验;即便第一校验码被他人截获,他人也无法假冒授权方,提高了验证过程的安全性。
[0035]所述第二跳跃码为可选字段,包括2位ascii字符表示的十六进制数字,其与第二校验码配合,确定下一次用户端设备发送的第三校验码的正确取值。由于设置有第二跳跃码,只有通过第二校验码与第二跳跃码之间预先设置的算法,才能准确的得到第三校验码,从而对用户端设备进行校验;即便第二校验码被他人截获,他人也无法假冒用户端设备,提高了验证过程的安全性。
[0036]所述显示信息为可选字段,其不定长的显示给用户的字符内容,包括操作或交易信息、提示信息等。
[0037]由此,本发明通过规范第一验证短信的内容格式,提高了验证过程的安全性。
[0038]所述第二验证短信还包括所述第一校验码。在第二验证短信中设置所述第一校验码,与第一验证短信发送的第一校验码的内容保持一致,用于识别第二验证短信与第一验证短信的对应关系,即确认是对哪次第一验证短信(验证请求)的回复。
[0039]所述第三校验码为固定字段,包含4位ascii字符表示的十六进制数字,用户端设备根据本地保存的第二校验码和授权方发送的第二跳跃码计算出该第三校验码,发送给授权方作为身份验证。换而言之,所述步骤S40具体包括:在第一验证短信验证有效后,用户端设备根据保存的所述第二校验码和第二跳跃码计算出第三校验码,反馈包含所述短信验证码和第三校验码的第二验证短信给授权方。
[0040]所述第三校验码根据第二校验码和第二跳跃码计算而得,类似的,对于第一校验码的更新和保存,用户端设备需要根据授权方发送的第一校验码、第一跳跃码计算出新的第一校验码并保存,用于校验授权方发送的下一个第一验证短信。这样设置,使得第一校验码和第三校验码处于持续更新中,提高了验证的安全性。
[0041]所述类型标识、内容标识、第一校验码、第二校验码、第一跳跃码、第二跳跃码和第三校验码都属于特殊字段,由短信应用底层协议代码相关(对应)处理,不显示给用户,其他应用也无法获取。
[0042]如果授权方发送的短信不包含显示信息字段,则其作用是重置第一校验码和第二校验码,此短信不需要显示给用户,只需要提示用户校验码已更新。
[0043]现有的短信授权方式(短信验证码方式)面临的主要风险有:非法用户使用木马截获并转发短信验证码;非法用户通过盗取手机、伪造S頂卡的方式,获取短信验证码;非法用户在合法用户不知情的情况下,盗用手机获取短信验证码并删除使用证据。之所以当前的短信验证码不安全,主要是因为以下几个原因:验证码以明文方式发送,容易被木马、病毒等截获;验证码以普通短信发送,短信应用不能对其浏览、删除操作进行权限控制;在短信验证过程中缺乏验证用户身份的环节,不能鉴别用户身份的合法性;在短信验证过程中缺乏验证接收设备的环节,不能鉴别接收设备的合法性。
[0044]上述的用户端设备也可以是短信应用程序,S卩,所述短信应用程序包含来看上述用户端设备的所有功能。可见,本发明改进了单纯发送短信验证码的形式,使得改进后的用户端设备能够识别并解析第一验证短信中包含的额外数据,相应地更新并安全存储其中的第一校验码和第二校验码。使用户端设备建立专门的数据库以存储与验证方号码对应的校验码,采用有效措施保证验证码的安全,措施包括但不限于数据加密、访问权限控制等。使用户端设备在回复第一验证短信时提示用户输入PIN码以鉴别用户的身份。使用户端设备在回复第一验证短信时自动加入第一校验码、第三校验码等用户不可见的字段。使用户端设备能够支持校验码重置功能并相应的提示校验码更新信息给用户。可限制非法用户浏览、删除验证短信。可限制其他应用访问保存的校验码数据。可限制其他应用给确认为授权方的号码发送短信。
[0045]综上所述,本发明提供的发送和获取短信验证码的方法,解决了现有技术中的诸多缺点,极大的提高了短信验证过程的安全性。
[0046]本发明提供的发送和获取短信验证码的方法,以网络购物支付为例,其具体步骤如下:
S601、购物完成,进入支付环节; 5602、用户自定义短信验证码;
5603、用户手机提交短信验证码到购物网站;
5604、购物网站提交短信验证码到银行服务器;
5605、银行服务器生成第一验证短信,可选地生成新的第一校验码及第一跳跃码;
5606、银行服务器设定超时时间及重试次数,发送第一验证短信到用户手机;
5607、用户手机的短信应用解析第一验证短信,对比第一校验码,生成新的第一校验码并保存;
5608、提示用户收到第一验证短信;
5609、用户输入PIN码打开验证短信;
5610、手机显示第一验证短信;
5611、用户输入验证码并回复第一验证短信;
5612、短信应用自动插入第三校验码并发送第二验证短信;
5613、银行服务器分析所述第二验证短信是否在有效期;若是则进入步骤S614;若不是则进入步骤S620;
5614、银行服务器分析手机回复的第二验证短信的第三校验码是否有效;若有效则进入步骤S615;若无效则进入步骤S619;
5615、银行服务器分析短信验证码是否与购物网站提供的一致;若一致则进入步骤S616;若不一致则进入步骤S618;
5616、银行服务器通知购物网站验证通过,完成支付;并通知用户验证通过,支付完成。
[0047]S618、银行服务器判断所述步骤S615中重复判断的次数是否超过预定次数,若是,则通知购物网站验证失败,发短信通知用户验证失败;若不是,则返回步骤S605;
5619、银行服务器通知购物网站验证失败,发送短信给用户,提示验证失败、需要重置fe验码;
5620、银行服务器通知购物网站验证失败;发短信通知用户验证失败。
[0048]基于上述实施例提供的发送和获取短信验证码的方法,本发明还提供一种发送和获取短信验证码的系统,请参阅图2,所述系统包括如上所述的服务方10、如上所述的授权方20和如上所述的用户端设备30。
[0049]所述授权方20,用于在接收到用户端设备30自定义的短信验证码后,发送包含有第一校验码和第二校验码的第一验证短信给用户端设备30;在接收到用户端设备30反馈的第二验证短信后,根据所述短信验证码和第三校验码验证第二验证短信的有效性,在验证有效后,对用户端设备30进行授权。
[0050]所述授权方20还用于在第三校验码验证无效时,通过非短信的方式提示用户重置第二校验码;在用户端设备请求重置第二校验码时,发送新的第二校验码给用户端设备30。[0051 ]所述用户端设备30,用于发送用户自定义的短信验证码;在收到授权方发送的第一验证短信后,根据所述第一校验码来验证第一验证短信的有效性,并保存所述第二校验码;在第一验证短信验证有效后,用户端设备根据所述第二校验码反馈包含所述短信验证码和第三校验码的第二验证短信给授权方20。具体的,所述用户端设备30根据保存的所述第二校验码和第二跳跃码计算出第三校验码。
[0052]所述服务方10,用于将短信验证码发送给授权方20请求验证。
[0053]所述第一验证短信还包括第一跳跃码和第二跳跃码;
所述第一跳跃码,用于与第一校验码配合,确定下一次授权方发送的第一校验码的正确取值;
所述第二跳跃码,用于与第二校验码配合,确定下一次用户端设备发送的第二校验码的正确取值。
[0054]由于所述发送和获取短信验证码的系统的具体原理和详细技术特征在上述方法实施例中已详细阐述,在此不再赘述。
[0055]上述功能模块的划分仅用以举例说明,在实际应用中,可以根据需要将上述功能分配由不同的功能模块来完成,即划分成不同的功能模块,来完成上述描述的全部或部分功能。
[0056]本领域普通技术人员可以理解上述实施例方法中的全部或部分流程,是可以通过计算机(或移动终端)程序来指令相关的硬件完成,所述的计算机(或移动终端)程序可存储于一计算机(或移动终端)可读取存储介质中,程序在执行时,可包括上述各方法的实施例的流程。其中的存储介质可以为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
[0057]可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
【主权项】
1.一种发送和获取短信验证码的方法,其特征在于,包括如下步骤: A、用户端设备自定义短信验证码; B、授权方接收到用户端设备自定义的短信验证码后,发送包含有第一校验码和第二校验码的第一验证短信给用户端设备; C、用户端设备收到所述第一验证短信后,根据所述第一校验码来验证第一验证短信的有效性,并保存所述第二校验码; D、在第一验证短信验证有效后,用户端设备根据所述第二校验码反馈包含所述短信验证码和第三校验码的第二验证短信给授权方; E、授权方接收到用户端设备反馈的第二验证短信后,根据所述短信验证码和第三校验码验证第二验证短信的有效性,在验证有效后,对用户端设备进行授权。2.根据权利要求1所述的发送和获取短信验证码的方法,其特征在于,所述第一验证短信还包括第一跳跃码和第二跳跃码; 所述第一跳跃码,用于与第一校验码配合,确定下一次授权方发送的第一校验码的正确取值; 所述第二跳跃码,用于与第二校验码配合,确定下一次用户端设备发送的第二校验码的正确取值。3.根据权利要求2所述的发送和获取短信验证码的方法,其特征在于,所述步骤D具体包括:在第一验证短信验证有效后,用户端设备根据保存的所述第二校验码和第二跳跃码计算出第三校验码,反馈包含所述短信验证码和第三校验码的第二验证短信给授权方。4.根据权利要求1所述的发送和获取短信验证码的方法,其特征在于,所述步骤E还包括:所述授权方在第三校验码验证无效时,通过非短信的方式提示用户重置第二校验码;在用户端设备请求重置第二校验码时,发送新的第二校验码给用户端设备。5.根据权利要求1所述的发送和获取短信验证码的方法,其特征在于,所述步骤A具体包括如下步骤: Al、用户端设备自定义短信验证码,并将短信验证码提供给服务方; A2、服务方将短信验证码发送给授权方请求验证。6.一种发送和获取短信验证码的系统,其特征在于,所述系统包括: 授权方,用于在接收到用户端设备自定义的短信验证码后,发送包含有第一校验码和第二校验码的第一验证短信给用户端设备;在接收到用户端设备反馈的第二验证短信后,根据所述短信验证码和第三校验码验证第二验证短信的有效性,在验证有效后,对用户端设备进行授权; 用户端设备,用于发送用户自定义的短信验证码;在收到授权方发送的第一验证短信后,根据所述第一校验码来验证第一验证短信的有效性,并保存所述第二校验码;在第一验证短信验证有效后,用户端设备根据所述第二校验码反馈包含所述短信验证码和第三校验码的第二验证短信给授权方。7.根据权利要求6所述的发送和获取短信验证码的系统,其特征在于,所述第一验证短信还包括第一跳跃码和第二跳跃码; 所述第一跳跃码,用于与第一校验码配合,确定下一次授权方发送的第一校验码的正确取值; 所述第二跳跃码,用于与第二校验码配合,确定下一次用户端设备发送的第二校验码的正确取值。8.根据权利要求7所述的发送和获取短信验证码的系统,其特征在于,所述用户端设备根据保存的所述第二校验码和第二跳跃码计算出第三校验码。9.根据权利要求6所述的发送和获取短信验证码的系统,其特征在于,所述授权方还用于在第三校验码验证无效时,通过非短信的方式提示用户重置第二校验码;在用户端设备请求重置第二校验码时,发送新的第二校验码给用户端设备。10.根据权利要求6所述的发送和获取短信验证码的系统,其特征在于,所述系统还包括服务方;所述用户端设备发送用户自定义的短信验证码给服务方;所述服务方用于将短信验证码发送给授权方请求验证。
【文档编号】H04W4/14GK106060791SQ201610521117
【公开日】2016年10月26日
【申请日】2016年7月5日
【发明人】刘永明
【申请人】Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1