一种SPA安全验证的方法和装置
技术领域
本发明实施例涉及网络安全技术领域,具体涉及一种SPA安全验证的方法和装置。
背景技术
客户端访问服务器是目前常见的一种网络访问的形式。服务器的保护由服务器的网关来实现。现有技术中,网关对所有的客户端开放,任何一个客户端都可以直接向网关发送访问的请求,从而造成网关对任何客户端发送的数据都要作出是否携带病毒,是否是攻击报文的分析判断工作,增加了网关的负担。
发明内容
为此,本发明实施例提供一种SPA安全验证方法和装置,以减轻网关的负担,提高安全性。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,一种SPA安全验证的方法,应用于网关;所述方法包括:
接收客户端发送的访问请求短信;
所述访问请求短信中携带了账号信息;
对所述账号信息进行初步验证;
如果初步验证通过,则向所述客户端发送响应短信,以使所述客户端接收到响应短信后发送敲门数据包。
进一步地,接收到敲门数据包后,根据所述敲门数据包中携带的客户端的属性参数进一步验证所述客户端是否合法;
如果合法,则将闭合的端口开放以运行客户端访问。
进一步地,如果非法,则拒绝向所述客户端响应,所述端口保持闭合状态。
进一步地,所述客户端的属性参数包括以下的一种或者几种:设备标识、用户名、数据包发送的时间点。
进一步地,接收客户端发送的请求消息后,包括:
用服务器的密钥对所述请求消息进行解密以获取所述请求短信中携带的内容。
根据所述敲门数据包携带的客户端的属性参数进一步验证所述客户端是否合法,包括:
如果设备标识不在预先存储的设备标识列表中,则确定所述客户端非法;
或者,如果所述用户名不在预先存储的用户名列表中,则确定所述客户端非法;
或者,如果所述数据包发送的时间点不在预先存储的时间段中,则确定所述数据包非法。
进一步地,如果所述设备标识在预先存储的标识列表中;并且所述用户名在预先存储的用户名列表中;并且数据包发送的时间点在预先存储的时间段内;则确定所述客户端合法。
进一步地,接收完毕所述客户端发送的访问数据后,还包括,将所述开放的端口禁用。
根据本发明实施例的第二方面,一种SPA安全验证的装置,应用于网关;包括:
接收模块,用于接收客户端发送的访问请求短信;所述访问请求短信中携带了账号信息;
处理模块,对所述账号信息进行初步验证;
如果初步验证通过,则向所述客户端发送响应短信以使所述客户端接收到响应后发送敲门数据包。
进一步地,处理模块还用于,接收到敲门数据包后,根据所述敲门数据包中携带的客户端的属性参数进一步验证所述客户端是否合法;如果合法,则将闭合的端口开放。
进一步地,处理模块还用于,如果非法,则拒绝向所述客户端响应,所述端口保持闭合状态。
进一步地,还包括解密模块,用于接收客户端发送的请求短信后,对所述请求短信进行解密以获取所述请求短信中携带的内容。
根据本发明实施例的第三方面,本申请提出了一种SPA安全验证的方法,应用于客户端;所述方法包括:
向网关发送访问请求短信;
接收所述网关初步验证通过后发送的响应短信;
向所述网关发送敲门数据包。
进一步地,向网关发送请求短信之前,包括:用预先存储的密钥对所述请求短信进行加密处理。
进一步地,所述请求短信中携带了设备标识和账号。
根据本发明实施例的第四方面,本申请提出了一种SPA安全验证的装置,应用于客户端;包括:
短信发送模块,用于向网关发送访问请求短信;
短信接收模块,用于接收所述网关初步验证通过后发送的响应短信;
敲门数据包发送模块,用于向所述网关发送敲门数据包。
进一步地,还包括加密模块,用于向网关发送请求短信之前,包括:用预先存储的密钥对所述请求短信进行加密处理。
本发明实施例具有如下优点:本申请的客户端在访问服务器之前,先向网关发送短信消息,消息中携带了初步验证的内容,网关进行验证通过之后,客户端再向网关发送敲门数据包,以使得网关能够进一步进行验证,通过两层验证,提高了安全性。如果客户端非法,则不能够通过验证,网关不进行响应,闭合的端口不开,不接收客户端发送的访问的数据流量,从而避免了非法客户端的骚扰,达到了主动防御的效果。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本发明实施例提供的一种应用场景示意图;
图2为本发明实施例提供的一种SPA安全验证的方法的流程图;
图3为本发明实施例提供的一种SPA安全验证的装置的结构示意图。
图中:11-客户端;12-网关;13-服务器;31-接收模块;32-处理模块。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
客户端访问服务器的过程中,首先需要经过网关;参见附图1所示的本申请的一种应用场景示意图,客户端11要想访问到服务器13,需要首先访问到网关12;经过网关12后再访问到服务器13。现有技术中,网关可以接受任何的数据报文,接收到访问的报文后再对报文进行检测分析是否有病毒,是否是Dos攻击报文等,如果确定Dos攻击报文或者确定有病毒,则拒绝该报文访问服务器。这是一种被动形式的保护,是防御形式的保护;其缺点是如果网关的检测能力不足,检测不到病毒,或者不能够确定接收到的报文是Dos攻击报文,则可以将该报文放行,进入到了服务器中,造成损害。
基于此,本申请提出了一种SPA安全验证的方法,应用于网关;参见附图2所示的一种SPA安全验证的方法的流程图;该方法包括:
步骤S201,接收客户端发送的访问请求短信;所述访问请求短信中携带了账号信息;
步骤S202,对所述账号信息进行初步验证;如果初步验证通过,则执行步骤S203;否则执行步骤S204;
其中,上述账号信息包括了账号,还包括用户的设备标识。
步骤S203,向所述客户端发送响应短信以使所述客户端接收到响应后发送敲门数据包。
其中,为了提高安全性,响应短信中还可以携带验证码,客户端收到验证码后,在登录页面上输入验证码以验证该客户端的真实性。
上述方法,客户端在向网关发送敲门数据包之前,现用短信的形式来对客户端进行初步的验证,如果初步验证不通过,则网关直接不响应客户端发送的短信;如果初步验证通过,再通过敲门数据包进一步验证,通过两重验证,从而提高了网关的保护能力。
在一种实施方式中,接收到敲门数据包后,根据所述敲门数据包中携带的客户端的属性参数判断所述客户端是否合法;
如果合法,则将闭合的端口开放。接收完毕所述客户端发送的访问数据后,将所述开放的端口禁用。或者是当预定的关门的时间点到时,该端口从开放变为禁用,不管该客户端是否还想访问服务器,端口都闭合,从时间上进行了管控,提高了安全性。或者为了进一步人性化考虑,当预定的关门的时间到时,向客户端发送关门的消息以通知所述客户端,然后端口闭合;进一步地,还可以在关门的消息中携带了下一次开门的时间段,从而使得该客户端获知下一个开门的时间段,从而能够在下一次开门的时间段里发送访问请求的短信进行验证,通过这种约定的形式,可以极大地提高网关的防护能力,对于非法的客户端,因为不知道具体的开门的时间,所以提高了预防非法的客户端的侵害能力。
在一种实施方式中,如果非法,则拒绝向所述客户端响应,所述端口保持闭合状态。
在一种实施方式中,所述客户端的属性参数包括以下的一种或者几种:设备标识、用户名、要访问的端口标识和数据包发送的时间点、随机数。
其中,随机数是为了预防黑客获知该敲门包的规律而设置的一个变量参数,每一个敲门的数据包中,随机数都是唯一的;该客户端在当前发送的敲门包中随机数和在下一次发送的敲门包中的随机数是不同的,不同的客户端发送的随机数也不同;从而避免黑客能够获得数据包的产生规律。
在一种实施方式中,根据所述请求数据包携带的客户端属性参数判断所述客户端是否合法,包括:
如果设备标识不在预先存储的设备标识列表中,则确定所述客户端没有通过验证;
或者如果所述用户名不在预先存储的用户名列表中,则确定所述客户端没有通过验证;
或者,如果所述数据包发送的时间点不在预先存储的该端口的开放时间段中,所述数据包没有通过验证。
或者,如果所述数据包要访问的端口不在预先存储的端口集合中,所述数据包没有通过验证。
其中,首先确定出数据包要访问的端口,再确定出该端口的合法的工作时间段;只有该数据包的发送时间在该端口的合法工作开放时间段之内才能通过验证;否则验证不通过。
对于验证通过的情况,需要各个参数都符合要求才算通过验证;
如果所述设备标识在预先存储的标识列表中;并且所述用户名在预先存储的用户名列表中;并且数据包发送的时间点在预先存储的时间段内;并且要访问的端口在预设的端口集合中;则确定所述客户端通过验证。
上述方法,通过四个方面对客户端进行安全性验证,提高了网关的防护能力。
与上述的方法对应,本申请还提出了一种SPA安全验证的装置,应用于网关;参见附图3所示的一种SPA安全验证的装置的结构示意图;该装置包括:
接收模块31,用于接收客户端发送的访问请求短信;所述访问请求短信中携带了账号信息;
处理模块32,对所述账号信息进行初步验证;
如果初步验证通过,则向所述客户端发送响应短信,以使所述客户端接收到响应短信后发送敲门数据包。
进一步地,处理模块32还用于,接收到敲门数据包后,根据所述敲门数据包中携带的客户端的属性参数进一步验证所述客户端是否合法;如果合法,则将闭合的端口开放。
进一步地,处理模块32还用于,如果非法,则拒绝向所述客户端响应,所述端口保持闭合状态。
进一步地,还包括解密模块,用于接收客户端发送的请求短信后,用服务器的私钥对所述请求短信进行解密以获取所述请求短信中携带的内容。
根据本发明实施例的第三方面,本申请提出了一种SPA安全验证的方法,应用于客户端;所述方法包括:
向网关发送请求短信;
接收所述网关验证通过后发送的响应短信;
向所述网关发送敲门数据包。
进一步地,向网关发送请求短信之前,包括:用预先存储的密钥对所述访问请求短信进行加密处理。
进一步地,所述访问请求短信中携带了设备标识和账号。
根据本发明实施例的第四方面,本申请提出了一种SPA安全验证的装置,应用于客户端;包括:
短信发送模块,用于向网关发送访问请求短信;
短信接收模块,用于接收所述网关初步验证通过后发送的响应短信;
敲门数据包发送模块,用于向所述网关发送敲门数据包。
进一步地,还包括加密模块,用于向网关发送请求短信之前,包括:用预先存储的密钥对所述访问请求短信进行加密处理。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。