一种防止系统短信服务被盗用的方法与流程

文档序号:14042830阅读:160来源:国知局

本发明涉及防止系统短信服务被盗用、被恶意使用领域,尤其涉及一种防止系统短信服务被盗用的方法。



背景技术:

我们在注册网站、银行支付时都都有短信验证这道程序,用户通过手机接收验证码,用来保证用户填写信息的真实性,一定程度上也为用户的支付提供新的验证程序,起到告知和警惕的作用。随着智能手机的普及,我们需要注册的东西越来越多,几乎每天都会收到来自银行、网站、客户端、票务公司等各个领域的短信验证码。

为了防止系统短息服务功能被恶意使用,目前各大平台使用最多的有三种方法:

(1)短信发送间隔设置,设置同一号码重复发送的时间间隔,一般设置为50s-100s;

(2)ip限定,根据自己的业务特点,设置每个ip每天的最大发送量;

(3)手机号码限定,根据业务特点,设置每个手机号码每天的最大发送量。

以上三种方法虽然在一定程度上防止了系统短信服务被恶意使用,但是由于短信发送数、发送时间间隔等各种限制,大大降低用户体验。且当触发给手机发送短信的接口的时候,这些接口可能会暴露进而被非法利用,给用户带来安全问题,可能发一些无用的骚扰信息,在损坏公司声誉的同时也会给公司带来经济损失。



技术实现要素:

为了克服系统短信服务被恶意使用和安全问题,本发明提出了一种防止系统短信服务被盗用的方法。本发明将服务端生成的密钥通过客户端和服务端分别加密后,进行匹配,确保短信是由本人发送,且设置匹配次数和匹配时间,防止系统短信服务被恶意使用。

为实现上述目的,本发明提供了一种防止系统短信服务被盗用的方法,包括:客户端向服务端发起验证请求;所述服务端接收到所述请求后,生成一个密钥,并通过第一加密算法加密成第一密文,发送给所述客户端;所述客户端将所述第一密文进行解码后,再用第二加密算法加密成第二密文;所述客户端将第二密文和手机信息作为参数,发送给所述服务端;所述服务端通过所述第二加密算法对所述密钥进行加密,生成第三密文;当所述第二密文与所述第三密文匹配相同时,所述服务端生成一个新密码,并发送给客户端。

优选地,所述第一加密算法是des算法。

优选地,所述客户端将所述第一密文解码成所述密钥,再通过所述第二加密算法将所述密钥加密成第二密文。

优选地,所述第二加密算法是md5,在客户端中,所述md5算法将由所述第一密文解密出来的所述密钥加密成所述第二密文;在服务端中,所述md5算法将所述密钥加密成所述第三密文。

优选地,所述第二密文与所述第三密文匹配不一样时,所述服务器不予以处理。

优选地,所述第二密文与所述第三密文匹配接口使用一次后,所述密钥失效。

优选地,所述第二密文与所述第三密文匹配时间超出预先设置时间,所述密钥失效。

优选地,所述手机信息包括:手机号码信息。

本发明将服务端生成的密钥通过客户端和服务端分别加密后,进行匹配,只有匹配成功才更新密码,以确保短信是由本人发送,保证短信服务安全性;且通过设置匹配次数和匹配时间,防止系统短信服务被恶意使用。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明防止系统短信服务被盗用的方法流程图;

图2为本发明实施例短信服务过程流程图。

具体实施方式

图1为本发明防止系统短信服务被盗用的方法流程图。如图1所示,本发明提出了一种防止系统短信服务被盗用的方法,具体步骤包括:

步骤101,客户端向服务端发起验证请求。

具体的,当用户忘记客户端登录密码等情况时,需要输入手机号进行用户校验,客户端就向服务端发起验证请求。

步骤102,所述服务端接收到所述请求后,生成一个密钥,并通过第一加密算法加密成第一密文,发送给所述客户端。

具体的,服务端接收到客户端后发送的请求,根据接收到的手机号码随机生成一个密钥。为了发送安全,服务端将密钥进行加密处理后再发送给客户端。

其中,服务端使用第一加密算法des(dataencryptionstandard,数据加密标准,一种数据加密算法)对密钥进行加密。des加密后的密钥除服务端和客户端外不为第三方所知道,所以经过其加密后的第一密文也不能被外人所解密,也就看不到原始密钥。

步骤103,所述客户端将所述第一密文进行解码后,再用第二加密算法加密成第二密文;所述客户端将第二密文和手机信息作为参数,发送给所述服务端。

具体的,客户端接收到服务端发送过来的第一密文后,首先将其进行解码出原始密钥,然后客户端再对原始密钥使用第二加密算法md5(message-digestalgorithm5,消息摘要算法第五版)进行加密,加密成第二密文,最后客户端将加密后的第二密文和手机信息作为参数,一起发送给服务端。

其中,手机信息可以是手机号码,也可以是用户设置的号码。客户端将手机信息和第二密文一起作为参数发送给服务端,确保所发送的第二密文是用户自己发送的,防止别人盗用了密钥后用另一个客户端获取更新的密码。

步骤104,所述服务端通过所述第二加密算法对所述密钥进行加密,生成第三密文;当所述第二密文与所述第三密文匹配相同时,所述服务端生成一个新密码,并发送给客户端。

具体的,服务端生成的密钥不仅经过第一加密算法des加密后发送给客户端,而且服务端通过第二加密算法md5加密生成第三密文。因此,服务端生成的密钥,在客户端中,通过md5算法加密成第二密文;在服务端中,通过md5算法加密成第三密文。

服务端将生成的第三密文和接收过来的第二密文进行匹配,当第二密文与第三密文匹配相同时,服务端将重置密码,生成一个新密码,并发送给客户端;当第二密文与第三密文匹配不一样时,服务器不予以处理。

其中,在服务端的第二密文与第三密文匹配接口中设置匹配次数为一次,当第二密文与第三密文进行了一次匹配后,服务端就会自动将原始的密钥设置为无效,如果想再匹配一次,用户需再次发动验证请求。本方法通过实现接口的单次可用性能够解决安全问题,短信接口使用一次之后立马失效,即便此接口暴露,也不会存在风险。

服务端也会预先设置匹配时间,当服务端自从发送第一密文或客户端接收到第一密文开始计时,在预置时间内接收客户端发送的参数,如果在预置时间内没接收到参数,服务端也将原始的密钥设置为无效。

在本发明中,服务端如果验证了第二密文的合法性就会将原始密钥设置为无效,这样即便有人盗取了第一密文并模仿生成第二密文发送给服务端,服务器也不会予以处理,因为此时已经匹配过一次,就不能再进行匹配,这样就有效的去除了短信轰炸的隐患。

为使本发明实施例的技术方案以及优点表达的更清楚,下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

图2为本发明实施例系统短信服务验证过程流程图。如图2所示,提供的是一种系统短信服务验证过程流程图,该方法包括:

步骤s201,客户端就向服务端发起验证请求;

步骤s202,服务端接收到验证请求后,生成唯一的密钥key;

步骤s203,服务端将生成的密钥key用des进行加密成auth;

步骤s204,服务端将生成的auth发送给客户端;

步骤s205,客户端接收auth后,对其解码,并用md5计算成auth2;

步骤s206,客户端将生成的auth2和手机号码作为参数发送给服务端;

步骤s207,服务端直接用md5将密钥key加密成auth3;

步骤s208,服务端接收到客户端发送的参数,对auth2与auth3进行匹配,判断它们是否相同,若auth2和auth3相同,执行步骤s209;若auth2和auth3不相同,验证过程结束;

步骤s209,若auth2和auth3相同,服务端将重置密码,生成一个新密码,并发送给客户端。

本发明将服务端生成的密钥通过客户端和服务端分别加密后,进行匹配,只有匹配成功才更新密码,以确保短信是由本人发送,保证短信服务安全性。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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