防止网络应用程序接口被恶意攻击的方法技术

技术编号:18814665 阅读:22 留言:0更新日期:2018-09-01 10:31
本发明专利技术公开了一种防止网络应用程序接口被恶意攻击的方法,其包括:服务端接收客户端发出的获取访问令牌的请求;服务端验证该获取访问令牌的请求是否合法,若合法则服务端生成访问令牌并将该访问令牌存入缓存,并提供给该客户端获取该访问令牌的接口;服务端接收客户端发来的附有密文的访问请求,该密文是客户端将从所述访问令牌的接口获取的访问令牌通过加密算法生成的;服务端验证收到的访问请求是否合法,若合法则处理该请求,然后将该请求的处理结果返回给客户端。其中,所述访问令牌的请求和所述访问请求均通过http协议发送。该防止网络应用程序接口被恶意攻击的方法,实现起来更加简单便捷,能够节约系统资源,降低服务端性能压力。

Methods to prevent malicious attacks on network application interfaces

The invention discloses a method for preventing the network application program interface from being maliciously attacked, which includes: the server receives a request from the client to obtain an access token; the server verifies whether the request to obtain an access token is legitimate; if legitimate, the server generates an access token and stores the access token in the cache, and refers to it Provides an interface for the client to obtain the access token; the server receives an access request from the client with a ciphertext generated by an encryption algorithm that the client will obtain from the access token's interface; and the server verifies that the access request received is legitimate and processes the request if it is legitimate. Then, the processing result of the request is returned to the client. The request for the access token and the access request are sent through the HTTP protocol. This method is more simple and convenient to implement, and can save system resources and reduce the pressure of server performance.

【技术实现步骤摘要】
防止网络应用程序接口被恶意攻击的方法
本专利技术是关于互联网Web服务领域,特别是关于一种防止网络应用程序接口被恶意攻击的方法。
技术介绍
随着互联网的快速发展和大规模普及,越来越多互联网应用采用web服务来实现数据存储和展现。例如手机app所需要的数据来自其web服务端提供的API接口,对数据的储存也是通过调用webAPI接口来进行数据持久化。web系统通过分布式部署和负载均衡的架构模式可达到高并发访问的承载能力,WebAPI接口作为数据访问和操作的入口,在访问安全控制和防止恶意攻击方面需要提供保障策略来保证数据安全和系统正常运行,大多数系统平台通过验证访问请求的身份认证过滤非法用户的访问和恶意攻击,但是某些开放身份认证的WebAPI接口容易被攻击。如新用户注册时发送注册验证码的WebAPI接口,很容易被恶意攻击。因此开放身份认证的WebAPI接口需要有相应的保障策略,目前大多数网站和web服务在访问安全控制方面,是通过对访问报文的加密的方式来防止恶意攻击的产生。该方式是通过在传输层将请求报文做加密处理,使用基于http的SSL协议,在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法以及交换加密密钥来防止恶意攻击的产生。该方式有以下缺点:1,SSL协议要求服务端和客户端都需要基于SSL数字证书进行双向访问认证,这就要求客户端必须实现能够基于HTTPS的传输功能,并且每次请求数据服务端和客户端都要做加密和解密处理,需要耗费双方系统大量的开销,严重降低机器的性能。2,相关测试数据表明使用HTTPS协议(超文本传输安全协议)传输数据的工作效率只有使用HTTP协议(超文本传输协议)传输的十分之一。3,SSL协议的数据加密安全保障是基于网络运营商发布可信赖证书的,对于企业或个人来说,部署SSL证书也存在诸多困难与不便,这也就是目前SSL证书面临的弊端。据一些用户反映,SSL证书存在技术门槛要求较高;增加了网站的运营成本;降低用户的访问速度,增加网站服务器的计算资源消耗。公开于该
技术介绍
部分的信息仅仅旨在增加对本专利技术的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
本专利技术的目的在于提供一种防止网络应用程序接口被恶意攻击的方法,与现有的基于SSL协议的防攻击方法相比,该方法实现起来更加简单便捷,能够节约系统资源,降低服务端性能压力。为实现上述目的,本专利技术提供了一种防止网络应用程序接口被恶意攻击的方法,其包括:服务端接收客户端发出的获取访问令牌的请求;服务端验证该获取访问令牌的请求是否合法,若合法则服务端生成访问令牌并将该访问令牌存入缓存,并提供给该客户端获取该访问令牌的接口;服务端接收客户端发来的附有密文的访问请求,该密文是客户端将从所述访问令牌的接口获取的访问令牌通过加密算法生成的;服务端验证收到的访问请求是否合法,若合法则处理该请求,然后将该请求的处理结果返回给客户端,其中,所述访问令牌的请求和所述访问请求均通过http协议发送。在一优选的实施方式中,所述服务端接收的获取访问令牌的请求中包括用于标识客户端的唯一标识符字符串UUID参数,该UUID参数是客户端将字符串长度为N的原始UUID参数中加入时间戳信息后做编码形成的。在一优选的实施方式中,所述服务端验证该获取访问令牌的请求是否合法包括:获取所述获取访问令牌的请求中的UUID参数,将其转码,然后去除其中的时间戳信息;判断剩余的字符串的长度是否等于N,若等于N,则该请求合法,否则该请求不合法。在一优选的实施方式中,所述服务端生成访问令牌包括:将去除时间戳信息的UUID参数做哈希加密生成访问令牌。在一优选的实施方式中,所述密文的生成方法包括:随机生成第一字符串;将该第一字符串拼接到生成的访问令牌字符串中,再做散列运算得到第二字符串;将该第二字符串的字符分组,分为多个数组;将第一字符串的字符分组,分为多个数组,该第一字符串的分组数量与所述第二字符串分组数量相同;将第一字符串和第二字符串的分组结果按数组索引合并;将合并后的数组中的每个字符串依次拼接得到新的字符串,该新的字符串即为密文。在一优选的实施方式中,所述缓存对所述访问令牌的存储具有时限性,若访问令牌超过了存储时限,则该访问令牌不再被缓存。在一优选的实施方式中,所述服务端验证收到的访问请求是否合法包括:验证收到的访问请求中是否包含访问密文,若不包含则该访问请求为非法请求,不处理该访问请求;若该访问请求包含访问密文,则查询缓存中是否存在该访问密文;若存在则认为该访问请求为非法攻击,将该访问请求的IP列入缓存的黑名单,若所述缓存中不存在该访问密文,则对该访问密文进行解密验证,若通过验证则该访问请求为合法请求,否则该访问请求为非法请求,不处理该访问请求。在一优选的实施方式中,所述防止网络应用程序接口被恶意攻击的方法还包括:服务端在收到每次请求时,首先要先从缓存的黑名单列表中比对该请求的IP是否为黑名单IP,若为黑名单IP则不做任何分发处理,直接返回一状态码提示客户端该IP为黑名单IP,若不为黑名单IP,则进行验证请求合法性的步骤。在一优选的实施方式中,所述防止网络应用程序接口被恶意攻击的方法还包括:当服务端验证收到的访问请求是合法请求,则在处理该访问请求后记录该访问请求的IP以及一段时间内的该IP的访问次数;判断该段时间内该IP的访问次数是否超过访问次数阈值,若超过访问次数阈值则给客户端返回一状态码提示客户端超出访问次数的提示。在一优选的实施方式中,给该IP发出控制访问频率的提示后,若该IP在一段时间内再次发出请求,则将该请求降级处理。与现有技术相比,根据本专利技术的防止网络应用程序接口被恶意攻击的方法具有以下优点:1,加密算法在客户端实现,服务端进行解密验证,将计算的压力平分到客户端和服务端,降低服务端性能压力;使用访问令牌和访问密文来验证请求,模拟生成访问令牌或空令牌或重复密文的非法访问都将被安全隔离处理,服务端无需进行解密验证。2,使用标准的http协议进行访问,传输效率高,合法客户端每次请求的访问密文都动态变化结合特殊的密文生成算法保证了请求的机密性。3,相对于部署SSL证书存在的诸多困难与不便,本策略的实现和应用更为简单便捷,并且具有很好的扩展性。附图说明图1是根据本专利技术一实施方式的安全隔离策略中服务端与客户端的交互流程;图2是根据本专利技术一实施方式的限流控制策略示意图。具体实施方式下面结合附图,对本专利技术的具体实施方式进行详细描述,但应当理解本专利技术的保护范围并不受具体实施方式的限制。除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。首先,对本专利技术中的一些词语解释如下:http协议:超文本传输协议(HTTP,HypertextTransferProtocol)是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP)。SSL协议:SecureSocketLayer,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被本文档来自技高网
...

【技术保护点】
1.一种防止网络应用程序接口被恶意攻击的方法,其特征在于,包括:服务端接收客户端发出的获取访问令牌的请求;服务端验证该获取访问令牌的请求是否合法,若合法则服务端生成访问令牌并将该访问令牌存入缓存,并提供给该客户端获取该访问令牌的接口;服务端接收客户端发来的附有密文的访问请求,该密文是客户端将从所述访问令牌的接口获取的访问令牌通过加密算法生成的;以及服务端验证收到的访问请求是否合法,若合法则处理该请求,然后将该请求的处理结果返回给客户端,其中,所述访问令牌的请求和所述访问请求均通过http协议发送。

【技术特征摘要】
1.一种防止网络应用程序接口被恶意攻击的方法,其特征在于,包括:服务端接收客户端发出的获取访问令牌的请求;服务端验证该获取访问令牌的请求是否合法,若合法则服务端生成访问令牌并将该访问令牌存入缓存,并提供给该客户端获取该访问令牌的接口;服务端接收客户端发来的附有密文的访问请求,该密文是客户端将从所述访问令牌的接口获取的访问令牌通过加密算法生成的;以及服务端验证收到的访问请求是否合法,若合法则处理该请求,然后将该请求的处理结果返回给客户端,其中,所述访问令牌的请求和所述访问请求均通过http协议发送。2.如权利要求1所述的防止网络应用程序接口被恶意攻击的方法,其特征在于,所述服务端接收的获取访问令牌的请求中包括用于标识客户端的唯一标识符字符串UUID参数,该UUID参数是客户端将字符串长度为N的原始UUID参数中加入时间戳信息后做编码形成的。3.如权利要求2所述的防止网络应用程序接口被恶意攻击的方法,其特征在于,所述服务端验证该获取访问令牌的请求是否合法包括:获取所述获取访问令牌的请求中的UUID参数,将其转码,然后去除其中的时间戳信息;以及判断剩余的字符串的长度是否等于N,若等于N,则该请求合法,否则该请求不合法。4.如权利要求3所述的防止网络应用程序接口被恶意攻击的方法,其特征在于,所述服务端生成访问令牌包括:将去除时间戳信息的UUID参数做哈希加密生成访问令牌。5.如权利要求4所述的防止网络应用程序接口被恶意攻击的方法,其特征在于,所述密文的生成方法包括:随机生成第一字符串;将该第一字符串拼接到生成的访问令牌字符串中,再做散列运算得到第二字符串;将该第二字符串的字符分组,分为多个数组;将第一字符串的字符分组,分为多个数组,该第一字符串的分组数量与所述第二字符串分组数量相同;将第一字符串和第二字符串的分组结果按数组索引合并;以及...

【专利技术属性】
技术研发人员:隋永鑫潘雨李涛
申请(专利权)人:北京智芯微电子科技有限公司国网信息通信产业集团有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1