请求重放攻击的判定方法和装置制造方法及图纸

技术编号:18951329 阅读:48 留言:0更新日期:2018-09-15 13:28
本发明专利技术公开了一种请求重放攻击的判定方法和装置。其中,请求重放攻击的判定方法包括:接收业务数据请求;基于业务数据请求,生成请求流水号;将所生成的请求流水号存储至分布式的内存型数据库;查询内存型数据库中请求流水号的当前统计次数;当所查询的当前统计次数大于预设次数时,业务数据请求是重放攻击请求。本实施例通过分布式查询、判定的处理方式,可以将现有技术中串行处理方式变为并行处理方式,从而提高网络请求速度,并减少对系统开销。基于内存型数据库可以与外部数据快速交互的特性,进一步提升了网络请求的速度。基于内存型数据库原子操作的特点,能够保证数据的准确性和完整性。

Decision method and device for requesting replay attack

The invention discloses a judging method and device for requesting replay attack. Among them, the decision methods of request replay attack include: receiving business data requests; generating request pipeline number based on business data requests; storing the generated request pipeline number to distributed memory database; querying the current statistics of request pipeline number in memory database; and querying the current statistics when queried. When the number is greater than the preset times, the business data request is replay attack request. By means of distributed query and decision processing, the serial processing mode in the prior art can be changed into parallel processing mode, thereby increasing the network request speed and reducing the system overhead. Based on the characteristics that memory database can interact with external data quickly, the speed of network requests is further improved. Based on the characteristics of memory database atomic operation, it can ensure the accuracy and completeness of data.

【技术实现步骤摘要】
请求重放攻击的判定方法和装置
本专利技术涉及数据安全
,尤其涉及一种请求重放攻击的判定方法和装置。
技术介绍
随着通信技术的快速发展,移动业务支撑系统越来越复杂,对用户核心信息更改的请求来源也越来越多。例如:来自界面发起的受理请求,来自电子渠道发起的订单请求,以及来自后台服务发起的批量业务处理请求等。一旦出现网络请求重放攻击问题,很难在短时间内定位发生的攻击的请求,攻击会对哪个模块产生影响。目前,针对上述问题主要解决的方式有:为请求数据包设置包序号,每次序号同向加1。当收到重复序号时,认为是重放攻击。然而,申请人经研究发现:每次网络请求的数据包序号同向加1,若要保证请求不被重放攻击,意味着数据请求需要串行处理。在大并发的业务状态下,现有方式会对系统造成很大的负担、准确性也会受到影响,而且会限制网络请求的处理速度。有鉴于此,如何提高网络请求速度,提升数据处理准确性,并减少对系统开销成为业界亟待解决的问题。
技术实现思路
本专利技术实施例提供了一种请求重放攻击的判定方法和装置,解决了处理网络请求速度慢,系统开销大等问题。第一方面,提供了一种请求重放攻击的判定方法。该方法包括以下步骤:接收业务数据请求;基于业务数据请求,生成请求流水号;将所生成的请求流水号存储至分布式的内存型数据库;查询内存型数据库中请求流水号的当前统计次数;当所查询的当前统计次数大于预设次数时,业务数据请求是重放攻击请求。第二方面,提供了一种请求重放攻击的判定装置。该装置包括:请求接收模块,用于接收业务数据请求;号码生成模块,用于基于业务数据请求,生成请求流水号;内部存储模块,用于将所生成的请求流水号存储至分布式的内存型数据库;次数统计模块,用于查询内存型数据库中请求流水号的当前统计次数;请求判定模块,用于当所查询的当前统计次数大于预设次数时,业务数据请求是重放攻击请求。一方面,本实施例通过分布式并行查询、判定的处理方式,可以将现有技术中串行处理方式变为并行处理方式,从而提高网络请求速度,并减少对系统开销。另一方面,基于内存型数据库可以与外部数据快速交互的特性,进一步提升了网络请求的速度。又一方面,基于内存型数据库原子操作(不会被线程调度机制打断的操作)的特点,能够保证数据的准确性和完整性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例的请求重放攻击的判定系统的架构示意图。图2是本专利技术一实施例的请求重放攻击的判定方法的流程示意图。图3是本专利技术另一实施例的请求重放攻击的判定方法的流程示意图。图4是本专利技术一实施例的请求处理方法的流程示意图。图5是本专利技术一实施例的请求重放攻击的判定装置的功能结构图。图6是本专利技术一实施例的请求处理装置的功能结构图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1是本专利技术一实施例的请求重放攻击的判定系统的架构示意图。如图1所示,该架构包括:客户端100、服务端200。其中,服务端200可以包括:后台业务系统210、核心业务系统220和存储在内部存储模块中的Redis集群230。其中,后台业务系统210可以与公网连接,其可以包括:请求信息预校验模块211和数据校验模块212。核心业务系统220可以与内网连接,其可以包括:次数统计模块221和号码清理模块222。在本实施例中,防止请求重放攻击的工具可以主要包括:数据校验模块212、次数统计模块221和号码清理模块222。其中,数据校验模块212可以用于对客户端请求数据进行相应的算法加密,客户端请求数据带有加密串和请求流水序列号的明文。客户端将请求数据发送给数据校验模块,获得相应的加密签名,在请求后台业务系统时,带上签名。后台业务系统根据秘钥管理工具提供的加密算法对客户端请求数据和签名进行校验。次数统计模块221(例如,请求流水统计模块)可以利用Redis内存型数据库的高速性,使系统能够承受大并发下的流水统计;利用Redis数据库的原子性操作,对Redis数据库中存储的请求流水进行自增和读取操作,保证数据的准确性和完整性。号码清理模块222(例如,流水清理模块)可以用于对Redis数据库中的请求流水进行定期清理,防止数据占用过多系统磁盘空间和内存空间。可以理解,上述各功能模块的数量和Redis集群中的Redis数据库的数量是示意性的,具体数量可以根据实际需要进行灵活调整。另外,个功能模块也可以根据实际需要进行个性化配置,例如,删除请求信息预校验模块211,直接将来自客户端100的请求经过数据校验模块212进行校验,然后在通过次数统计模块221统计请求流水号的次数。下面各实施例均可以应用于本实施例的系统架构判断请求重放攻击。本实施例的系统可以作为下面各个实施例的实施主体执行具体的判断请求重放攻击的操作。为了描述简洁,各个实施例可以相互参考应用。图2是本专利技术一实施例的请求重放攻击的判定方法的流程示意图。如图2所示,该方法包括以下步骤:S210,接收业务数据请求;S220,基于业务数据请求,生成请求流水号;S230,将所生成的请求流水号存储至分布式的内存型数据库;S240,查询内存型数据库中请求流水号的当前统计次数;S250,当所查询的当前统计次数大于预设次数时,业务数据请求是重放攻击请求。在步骤S210中,业务数据请求可以是对用户核心信息更改的请求。例如:来自界面发起的受理请求,来自电子渠道发起的订单请求,以及来自后台服务发起的批量业务处理请求等。在步骤S220中,请求流水号可以是多个数字与字母的组合,也可以是多个数字的组合,具体可以实际需要进行灵活设置。每个业务数据请求可以对应唯一的请求流水号。例如:LS20170213001的请求流水号对应用户发起的订单请求。由此,可以通过判断请求流水号是否相同来确定业务数据请求是否相同。在步骤S230中,分布式的内存型数据库可以是存储在内存中的数据库集群。如数据库1、数据库2...数据库n。在步骤S240中,通常,当业务数据请求只发生了1次,查询到的内存型数据库中请求流水号的当前统计次数1次,但是,当发生重放攻击请求时,当前统计次数就会大于1次。在步骤S250中,预设次数通常为1次,当请求流水号重复时,就可以判定业务数据请求是重放攻击请求。在一些实例中,预设次数也可以根据实际需求进行灵活设置,例如将预设次数设置为2次、3次等次数。本专利技术实施例通过基于业务数据请求,生成请求流水号,将所生成的请求流水号存储至分布式的内存型数据库,可以实现分布式并行查询内存型数据库中请求流水号的当前统计次数,当所查询的当前统计次数大于预设次数时,确定业务数据请求是重放攻击请求。本实施例可以解决现有的利用时间戳的方法无法并行处理数据的问题。一方面,本实施例通过分布式并行查询、判定的处理方式,可以将现有技术中串行处理方式变为并本文档来自技高网...

【技术保护点】
1.一种请求重放攻击的判定方法,其特征在于,包括以下步骤:接收业务数据请求;基于所述业务数据请求,生成请求流水号;将所生成的请求流水号存储至分布式的内存型数据库;查询所述内存型数据库中所述请求流水号的当前统计次数;当所查询的当前统计次数大于预设次数时,所述业务数据请求是重放攻击请求。

【技术特征摘要】
1.一种请求重放攻击的判定方法,其特征在于,包括以下步骤:接收业务数据请求;基于所述业务数据请求,生成请求流水号;将所生成的请求流水号存储至分布式的内存型数据库;查询所述内存型数据库中所述请求流水号的当前统计次数;当所查询的当前统计次数大于预设次数时,所述业务数据请求是重放攻击请求。2.根据权利要求1所述的请求重放攻击的判定方法,其特征在于,所述内存型数据库是基于分布式数据存储的Redis数据库。3.根据权利要求2所述的请求重放攻击的判定方法,其特征在于,在所述查询内存型数据库中所述请求流水号的当前统计次数之后,所述方法还包括:由所述Redis数据库中的请求流水号的当前统计次数以预设数量进行自增。4.根据权利要求3所述的请求重放攻击的判定方法,其特征在于,所述预设数量为1。5.根据权利要求1-4中任一项所述的请求重放攻击的判定方法,其特征在于,在所述生成请求流水号之后,还包括以下步骤:接收第一签名,所述第一签名是由所述业务数据请求、所述请求流水号加密生成;对所述业务数据请求、所述请求流水号进行加密,生成第二签名;比较所述第一签名和所述第二签名;当比较结果相等时,通过数据校验。6.一种请求重放攻击的判定装置,其特征在于,...

【专利技术属性】
技术研发人员:刘良军魏建荣彭家华林志云
申请(专利权)人:中国移动通信集团福建有限公司中国移动通信集团公司
类型:发明
国别省市:福建,35

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

1