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协议(超文本传输安全协议)传输数据的工作效率只有使用H ...
【技术保护点】
1.一种防止网络应用程序接口被恶意攻击的方法,其特征在于,包括:服务端接收客户端发出的获取访问令牌的请求;服务端验证该获取访问令牌的请求是否合法,若合法则服务端生成访问令牌并将该访问令牌存入缓存,并提供给该客户端获取该访问令牌的接口;服务端接收客户端发来的附有密文的访问请求,该密文是客户端将从所述访问令牌的接口获取的访问令牌通过加密算法生成的;以及服务端验证收到的访问请求是否合法,若合法则处理该请求,然后将该请求的处理结果返回给客户端,其中,所述访问令牌的请求和所述访问请求均通过http协议发送。
【技术特征摘要】
1.一种防止网络应用程序接口被恶意攻击的方法,其特征在于,包括:服务端接收客户端发出的获取访问令牌的请求;服务端验证该获取访问令牌的请求是否合法,若合法则服务端生成访问令牌并将该访问令牌存入缓存,并提供给该客户端获取该访问令牌的接口;服务端接收客户端发来的附有密文的访问请求,该密文是客户端将从所述访问令牌的接口获取的访问令牌通过加密算法生成的;以及服务端验证收到的访问请求是否合法,若合法则处理该请求,然后将该请求的处理结果返回给客户端,其中,所述访问令牌的请求和所述访问请求均通过http协议发送。2.如权利要求1所述的防止网络应用程序接口被恶意攻击的方法,其特征在于,所述服务端接收的获取访问令牌的请求中包括用于标识客户端的唯一标识符字符串UUID参数,该UUID参数是客户端将字符串长度为N的原始UUID参数中加入时间戳信息后做编码形成的。3.如权利要求2所述的防止网络应用程序接口被恶意攻击的方法,其特征在于,所述服务端验证该获取访问令牌的请求是否合法包括:获取所述获取访问令牌的请求中的UUID参数,将其转码,然后去除其中的时间戳信息;以及判断剩余的字符串的长度是否等于N,若等于N,则该请求合法,否则该请求不合法。4.如权利要求3所述的防止网络应用程序接口被恶意攻击的方法,其特征在于,所述服务端生成访问令牌包括:将去除时间戳信息的UUID参数做哈希加密生成访问令牌。5.如权利要求4所述的防止网络应用程序接口被恶意攻击的方法,其特征在于,所述密文的生成方法包括:随机生成第一字符串;将该第一字符串拼接到生成的访问令牌字符串中,再做散列运算得到第二字符串;将该第二字符串的字符分组,分为多个数组;将第一字符串的字符分组,分为多个数组,该第一字符串的分组数量与所述第二字符串分组数量相同;将第一字符串和第二字符串的分组结果按数组索引合并;以及...
【专利技术属性】
技术研发人员:隋永鑫,潘雨,李涛,
申请(专利权)人:北京智芯微电子科技有限公司,国网信息通信产业集团有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。