[发明专利]一种API接口防止重放攻击的方法有效
申请号: | 202110676518.7 | 申请日: | 2021-06-18 |
公开(公告)号: | CN113382011B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 张秀良;程炳华;张芯苑 | 申请(专利权)人: | 金陵科技学院 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04J3/06;H04L9/32 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 李小静 |
地址: | 211169 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 api 接口 防止 重放 攻击 方法 | ||
本发明公开了一种API接口防止重放攻击的方法,其特征在于:在API接口发送端,基于用户ID标记的API接口发送是有序的,采用基于时间戳,引入唯一时序码来标记请求,再通过状态码的二进制位状态压缩记录接口重复状态来实现,只需要缓存两组数据,即状态码和最新时序码,将正常请求和疑似异常请求差别化处理,对正常请求接口免校验完成优化加速,并通过状态码的二进制状态位左移位运算维护状态。本发明可以从疑似异常请求筛选出因网络延迟、路由等原因滞后的请求和重放攻击的请求,从而对重放攻击请求拒绝处理,对滞后的正常请求做有效处理,从而减轻服务不必要的开销,能准确识别重放攻击,不需要实时地维护清理状态码。
技术领域
本发明属于计算机技术领域,具体涉及一种API接口防止重放攻击的方法。
背景技术
在如今互联网高速发展,信息系统安全成为重中之重,而在一次HTTP请求中,从请求方到服务器接收方中间经过很多路由器和交换机,恶意网络攻击者可以通过抓包的方式中途截获请求包数据,从而发送一个目的主机已经接收过的包,来达到欺骗系统的目的,可能会造成信息的窃取甚至系统的瘫痪等严重后果。
目前防重放攻击的方式主要有:1、基于时间戳timestamp的加密签名方案,服务端使用约定的密钥对请求的参数再次签名,和接收的签名对比,防止参数被篡改,只针对时间戳有效时间内的请求视为有效合法,例如60s内请求有效,超过则视为超时。这种存在时间戳内的重放攻击无法识别和阻拦,存在缺陷。2、基于唯一有效的随机字符串码nonce码,也称唯一识别码,是通过时间戳+mac地址等唯一参数生成后做哈希得来,处理的HTTP请求时,首先创建nonce码的缓存集合,请求的nonce码在集合中已经存在,则认为是重放攻击的非法请求,如果不存在则添加进缓存集合中,通过这种方式可以拒绝多次发送的请求。nonce码作为签名sign参数的一部分,{userId,token,nonce},因为攻击者不清楚token和密钥,因此无法生成sign,但是这种方案由于对nonce码存储越来越大,最终验证nonce是否存在“集合”缓存中所需要的耗时将越来越长,因此该方案造成内存上很大的开销,如果定时清理,又无法保障重放攻击,因此存在很大的弊端。
目前相对成熟的防重放攻击的方案是以上两个方案的结合,以下称结合方案,即时间戳超时配置加上识别码缓存判重的方案,来达到拒绝重放恶意攻击,首先通过加密sign数据的合法性判断接口参数的有效性,再判断请求时间戳与服务器时间比对是否超时,关键的一步就是利用唯一性的nonce等识别码进行缓存集合中,并在超时后清理,新的请求解析出来的nonce码判断是否在集合中重复存在,如果重复则视为非法请求,对非法请求进行拦截,从而解决内存开销的问题,保障数据安全防篡改,同时又能在有效时间戳内达到防重放攻击的效果。
现有的相对成熟的防重放攻击方法存在以下几点缺点:
(1)由于在接口请求中,重放攻击属于小概率事件,其大范围的处理接口请求都是正常的接口,上述结合方案缺点在于对每次的正常接口请求都需要无差别检验,即从集合中查询唯一识别码是否重复,然后缓存识别码,同时清理集合中过期的识别码,导致大量的判重-缓存-清理这样流程工作都耗费在正常接口处理中,这样无形中给服务器增加了负担;
(2)唯一识别码的nonce码存储需要实时维护,清理时间戳超时失效的nonce码,添加新的nonce码,而算法的复杂度因nonce码可变缓存长度变化的,需要一定的维护成本。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足提供一种API接口防止重放攻击的方法,其基于时间戳,引入唯一时序码来标记请求,再通过二进制位状态压缩记录接口重复状态来实现,只需要缓存两组数据,即状态码和最新时序码,将正常请求和疑似问题请求差别化处理,对正常请求接口完成优化加速,并通过二进制压缩状态位左移自动维护状态,无需手动维护,既能完成防重放攻击的效果,也减少内存的开销,同时减轻维护的成本。
为实现上述技术目的,本发明采取的技术方案为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金陵科技学院,未经金陵科技学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110676518.7/2.html,转载请声明来源钻瓜专利网。