CN116094810A - 一种重放攻击的防御方法及系统 - Google Patents
一种重放攻击的防御方法及系统 Download PDFInfo
- Publication number
- CN116094810A CN116094810A CN202310065929.1A CN202310065929A CN116094810A CN 116094810 A CN116094810 A CN 116094810A CN 202310065929 A CN202310065929 A CN 202310065929A CN 116094810 A CN116094810 A CN 116094810A
- Authority
- CN
- China
- Prior art keywords
- client
- session
- server
- request
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种重放攻击的防御方法及系统,包括:当接收到客户端发送的页面请求时,判断服务器存储的会话表中是否存在客户端的会话信息;当会话表中不存在客户端的会话信息时,在会话表中增加客户端的新建会话信息,并向客户端发送时间重定向响应,以使客户端在完成与服务器的时间同步过程后重新向服务器发送页面请求;对页面请求携带的客户端请求时间进行时间验证;当客户端请求时间验证合格时,判断页面请求是否已被服务器处理过,若页面请求未被服务器处理过,确定页面请求有效,向客户端返回页面请求对应的请求内容。本发明能够在客户端与服务器时间不同步的局域网中实现对重放攻击的防御,提升了重放攻击的防御效果。
Description
技术领域
本发明涉及网络安全技术领域,尤其是涉及一种重放攻击的防御方法及系统。
背景技术
重放攻击通常是指恶意网络攻击者通过抓包截获正常的网络请求数据包,转由自己将该数据包发送至服务器,从而获得相应的请求内容。现有的重放攻击防御技术,通常对于每次的HTTP请求都加上timestamp参数,然后把timestamp和其他参数一起进行数字签名。由于一次正常的HTTP请求,从发出到达服务器通常不会超过10s,服务器收到HTTP请求之后,首先将时间戳参数与当前时间相比较,判断是否超出10s,如果超时则认为该HTTP请求为非法请求。
现有的重放攻击防御方式必须满足客户端与服务器端的时间是同步的,但是,目前大多企事业单位的重要系统都是运行于内部局域网中,无法与互联网NTP服务器通信完成时间同步,且内部局域网中往往也没有部署统一的NTP服务器。且一些客户端与服务器端的时间差距可达数分钟之久,导致基于timestamp的防御方案无法适用。因此,如何在内部局域网与服务器无法完成时间同步的情况下,实现对重放攻击的防御成为亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种重放攻击的防御方法及系统,能够在客户端与服务器时间不同步的局域网中实现对重放攻击的防御,且能够有效筛选出重放攻击,提升了重放攻击的防御效果。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种重放攻击的防御方法,包括:当服务器接收到客户端发送的页面请求时,判断所述服务器存储的会话表中是否存在所述客户端的会话信息;当所述会话表中不存在所述客户端的会话信息时,在所述会话表中增加所述客户端的新建会话信息,并向所述客户端发送时间重定向响应,以使所述客户端在完成与所述服务器的时间同步过程后重新向所述服务器发送页面请求;当所述服务器再次接收到所述客户端发送的所述页面请求时,或者,当所述会话表中存在所述客户端的会话信息时,对所述页面请求携带的客户端请求时间进行时间验证;当所述客户端请求时间验证合格时,判断所述页面请求是否已被所述服务器处理过,若所述页面请求未被所述服务器处理过,确定所述页面请求有效,向所述客户端返回所述页面请求对应的请求内容。
进一步,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述页面请求中携带有所述客户端的会话缓存信息,所述判断所述服务器存储的会话表中是否存在所述客户端的会话信息的步骤,包括:判断所述会话表中是否存在与所述会话缓存信息中的会话ID相等的会话ID,若存在,确定所述会话表中存在所述客户端的会话信息,若不存在,确定所述会话表中不存在所述客户端的会话信息。
进一步,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述在所述会话表中增加所述客户端的新建会话信息,并向所述客户端发送时间重定向响应,以使所述客户端在完成与所述服务器的时间同步过程后重新向所述服务器发送页面请求的步骤,包括:基于所述服务器的当前本地时间及随机数生成所述客户端的会话ID,记为第一会话ID,将所述会话表中所述第一会话ID对应的会话参数均初始化为0;基于所述服务器向所述客户端发送指向时间同步页面的重定向响应;其中,所述重定向响应中携带有所述第一会话ID;当所述客户端接收到所述重定向响应时,基于所述客户端向所述服务器发起时间同步请求,并在所述时间同步请求有效时,再次向所述服务器发送所述页面请求。
进一步,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述当所述客户端接收到所述重定向响应时,基于所述客户端向所述服务器发起时间同步请求,并在所述时间同步请求有效时,再次向所述服务器发送所述页面请求的步骤,包括:当所述客户端接收到所述重定向响应时,将所述第一会话ID写入所述客户端的会话缓存信息中,记为第二会话ID,在所述会话缓存信息中增加所述第二会话ID对应的会话参数并初始化为0;其中,所述第二会话ID对应的会话参数包括:第二客户端请求时间、第二请求序号和第二校验码;基于所述客户端加载时间同步页面以将所述客户端当前的本地时间写入所述第二客户端请求时间中,向所述服务器发起时间同步请求;其中,所述时间同步请求中携带有所述客户端的会话缓存信息;基于所述服务器读取所述会话缓存信息以验证所述时间同步请求是否有效,若所述时间同步请求有效,更新所述会话表中的所述客户端的会话参数,并向所述客户端发送响应消息;当所述客户端接收到所述响应消息时,判断所述响应消息是否有效,若所述响应消息有效,更新所述客户端中的会话缓存信息,并再次向所述服务器发送所述页面请求。
进一步,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述会话表中所述第一会话ID对应的会话参数包括:第一客户端请求时间、第一请求序号、第一校验码、服务器接收时间、时间差队列、平均时间差和有效序号集合;所述基于所述服务器读取所述会话缓存信息以验证所述时间同步请求是否有效,若所述时间同步请求有效,更新所述会话表中的所述客户端的会话参数的步骤,包括:若所述第一校验码和所述第二校验码均为0,或者,若所述第二请求序号=所述第一请求序号+2,确定所述时间同步请求有效;令所述服务器接收时间等于所述服务器的当前本地时间,令所述第一客户端请求时间等于所述第二客户端请求时间,令所述第一请求序号等于所述第二请求序号,所述第一校验码=所述第一请求序号+1,将所述服务器接收时间-所述第一客户端请求时间插入所述时间差队列,令所述平均时间差等于所述时间差队列的当前平均值,将所述第一请求序号插入所述有效序号集合中。
进一步,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述响应消息中携带所述第一校验码;所述判断所述响应消息是否有效,若所述响应消息有效,更新所述客户端中的会话缓存信息,并再次向所述服务器发送所述页面请求的步骤,包括:若所述第一校验码=所述第二请求序号+1,确定所述响应消息有效,令所述第二客户端请求时间等于所述客户端的当前本地时间,令所述第二请求序号自增2,重新向所述服务器发起所述页面请求。
进一步,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述当所述服务器再次接收到所述客户端发送的所述页面请求时,或者,当所述会话表中存在所述客户端的会话信息时,对所述页面请求携带的请求发起时间进行时间验证的步骤,包括:若存在所述会话表中的第一会话ID等于所述页面请求中的第二会话ID,获取所述页面请求中所述第二会话ID对应的第二客户端请求时间;判断所述第二客户端请求时间是否满足Stimeserver-Ctimequest<Time_span+W,如果是,确定所述客户端请求时间验证合格,如果否,确定所述页面请求无效;其中,Ctimequest为所述第二客户端请求时间,Stimeserver为所述服务器接收到所述页面请求是的当前本地时间,Time_span为平均时间差,W为预设延时阈值。
进一步,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述判断所述页面请求是否已被所述服务器处理过,若所述页面请求未被所述服务器处理过,确定所述页面请求有效的步骤,包括:基于所述服务器判断所述页面请求中携带的第二请求序号,是否存在于所述第一会话ID对应的有效序号集合中,如果否,确定所述页面请求未被所述服务器处理过,确定所述页面请求有效。
进一步,本发明实施例提供了第一方面的第八种可能的实施方式,其中,所述重放攻击的防御方法还包括:当确定所述页面请求有效时,基于所述页面请求中携带的所述客户端的会话缓存信息更新所述会话表中所述第一会话ID对应的会话参数。
第二方面,本发明实施例还提供了一种重放攻击的防御系统,包括:服务器和客户端;所述服务器用于在接收到客户端发送的页面请求时,判断所述服务器存储的会话表中是否存在所述客户端的会话信息;所述服务器还用于当所述会话表中不存在所述客户端的会话信息时,在所述会话表中增加所述客户端的新建会话信息,并向所述客户端发送时间重定向响应,以使所述客户端在完成与所述服务器的时间同步过程后重新向所述服务器发送页面请求;所述服务器还用于当所述服务器再次接收到所述客户端发送的所述页面请求时,或者,当所述会话表中存在所述客户端的会话信息时,对所述页面请求携带的客户端请求时间进行时间验证;所述服务器还用于当所述客户端请求时间验证合格时,判断所述页面请求是否已被所述服务器处理过,若所述页面请求未被所述服务器处理过,确定所述页面请求有效,向所述客户端返回所述页面请求对应的请求内容。
本发明实施例提供了一种重放攻击的防御方法及系统,该方法包括:当服务器接收到客户端发送的页面请求时,判断服务器存储的会话表中是否存在客户端的会话信息;当会话表中不存在客户端的会话信息时,在会话表中增加客户端的新建会话信息,并向客户端发送时间重定向响应,以使客户端在完成与服务器的时间同步过程后重新向服务器发送页面请求;当服务器再次接收到客户端发送的页面请求时,或者,当会话表中存在客户端的会话信息时,对页面请求携带的客户端请求时间进行时间验证;当客户端请求时间验证合格时,判断页面请求是否已被服务器处理过,若页面请求未被服务器处理过,确定页面请求有效,向客户端返回页面请求对应的请求内容。
本发明通过在客户端与服务器建立首次会话时先控制客户端与服务器完成时间同步过程,以便能够在接收到客户端发送的页面请求时,使服务器对接收到的页面请求进行时间验证,能够在客户端与服务器时间不同步的局域网中实现对重放攻击的防御,通过在请求时间验证合格时进一步判断该页面请求是否已被处理过,能够有效筛选出重放攻击,提升了重放攻击的防御效果。
本发明实施例的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明实施例的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种重放攻击的防御方法流程图;
图2示出了本发明实施例所提供的一种会话表中的会话参数类型列举示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
目前,现有的重放攻击防御技术主要基于时间戳timestamp和唯一识别码nonce实现。每次HTTP请求,都需要加上timestamp参数,然后把timestamp和其他参数一起进行数字签名。因为一次正常的HTTP请求,从发出到达服务器一般都不会超过10s,所以服务器收到HTTP请求之后,首先判断时间戳参数与当前时间相比较,是否超过了10s,如果超过了则认为是非法的请求。但是,该方案依赖于客户端和服务器间的时间是同步的,而大多企事业单位的重要系统都是运行于内部局域网中,无法与互联网NTP服务器通信完成时间同步,局域网中往往也没有部署统一的NTP服务器。在这些网络中,客户端与服务器端的时间差距可达数分钟之久,这种情况下,基于timestamp的方案无法适用。
为改善上述问题,本发明实施例提供的一种重放攻击的防御方法及系统,以下对本发明实施例进行详细介绍。
本实施例提供了一种重放攻击的防御方法,参见图1所示的重放攻击的防御方法流程图,该方法包括以下步骤:
步骤S102,当服务器接收到客户端发送的页面请求时,判断服务器存储的会话表中是否存在客户端的会话信息。
客户端浏览器(后称客户端)向服务器发起页面请求后,服务器根据该页面请求中携带的客户端的会话缓存信息,判断存储的会话表(Session表)中是否已经存在该客户端的会话信息,该会话信息可以包括能够标识出该客户端的参数,诸如可以是会话ID(SessionID),即判断该客户端是否首次与服务器建立会话。
在一种具体的实施方式中,判断会话表中是否存在与会话缓存信息中的会话ID相等的会话ID,若存在,确定会话表中存在客户端的会话信息,若不存在,确定会话表中不存在客户端的会话信息。服务器接收到客户端发送的页面请求后,检查页面请求中携带的会话缓存信息中是否包括有效的会话ID(即会话表中也存在相等的会话ID号码),若存在执行步骤S106,若不存在,执行步骤S104。
上述会话缓存信息可以为客户端的Cookie缓存,该会话缓存信息包括会话ID、客户端请求时间Ctime、请求序号Ctag和校验码Stag。
服务器通常会在内存中维护一张名为Session的会话表,表中记录着近期与服务器通信过的客户端信息,该会话表中的会话参数包括:会话ID、客户端请求时间Ctime、请求序号Ctag和校验码Stag、服务器接收时间Stime、时间差队列Span、平均时间差Time_span和有效序号集合Nonce,参见如下表一所示的会话表中各参数含义表,各字段含义如下表一所示:
表一Session会话表中各参数含义表
步骤S104,当会话表中不存在客户端的会话信息时,在会话表中增加客户端的新建会话信息,并向客户端发送时间重定向响应,以使客户端在完成与服务器的时间同步过程后重新向服务器发送页面请求。
当服务器判断得到会话表中不存在客户端的会话信息时,表明该客户端与服务器近期首次会话,在会话表中增加该客户端的新建会话信息,并控制服务器向客户端中返回指向时间同步页面的重定向响应,使客户端完成与服务器的时间同步过程,进而使服务器的会话表中能够存储服务器本地时间与该客户端本地时间的时间关系,客户端在完成与服务器的时间同步过程后重新向服务器发送页面请求,以便于对该客户端的页面请求进行时间校验。
步骤S106,当服务器再次接收到客户端发送的页面请求时,或者,当会话表中存在客户端的会话信息时,对页面请求携带的客户端请求时间进行时间验证。
当服务器再次接收到客户端发送的页面请求时,服务器的会话表中已经新增了该客户的会话信息,当会话表中存在客户端的会话信息时,表明该客户端与服务器近期有会话记录,服务器的会话表中包括该客户端的会话信息,即会话表中包括该客户端的会话ID。
由于页面请求携带的客户端请求时间,基于服务器当前的本地时间以及该会话表中存储的服务器本地时间与该客户端本地时间的时间关系,判断页面请求中携带的客户端请求时间是否为超时请求,如果否,确定客户端请求时间验证合格。
步骤S108,当客户端请求时间验证合格时,判断页面请求是否已被服务器处理过,若页面请求未被服务器处理过,确定页面请求有效,向客户端返回页面请求对应的请求内容。
当客户端请求时间验证合格时,基于页面请求中携带的客户端的会话缓存信息判断该页面请求是否被服务器处理过,若页面请求未被服务器处理过,认为该页面请求为有效请求,服务器向客户端返回所请求的内容。
本实施例提供的上述重放攻击的防御方法,通过在客户端与服务器建立首次会话时先控制客户端与服务器完成时间同步过程,以便能够在接收到客户端发送的页面请求时,使服务器对接收到的页面请求进行时间验证,能够在客户端与服务器时间不同步的局域网中实现对重放攻击的防御,通过在请求时间验证合格时进一步判断该页面请求是否已被处理过,能够有效筛选出重放攻击,提升了重放攻击的防御效果。
在一个实施例中,由于客户端的会话缓存信息包括的会话参数类型与服务器会话表中的部分参数类型相同,为了便于区分某一客户端与服务器中的会话参数,可以将服务器中的该客户端的各会话参数分别记为:第一会话ID、第一客户端请求时间Ctime1、第一请求序号Ctag1和第一校验码Stag1、服务器接收时间Stime、时间差队列Span、平均时间差Time_span和有效序号集合Nonce;可以将该客户端的会话缓存信息(Cookie缓存)中的各会话参数分别记为:第二会话ID、第二客户端请求时间Ctime2、第二请求序号Ctag2和第二校验码Stag2。
在一个实施例中,本实施例提供了在所述会话表中增加客户端的新建会话信息,并向客户端发送时间重定向响应,以使客户端在完成与服务器的时间同步过程后重新向服务器发送页面请求的实施方式,具体可参照如下步骤(1)~步骤(3)执行:
步骤(1):基于服务器的当前本地时间及随机数生成客户端的会话ID,记为第一会话ID,将会话表中第一会话ID对应的会话参数均初始化为0。
服务器根据当前的本地时间和随机数生成该客户端的会话编号,即会话ID,并将该会话ID更新加入至服务器的会话表中,将会话表中的其他会话参数初始化为0,即将会话表中第一会话ID对应的第一客户端请求时间Ctime1、第一请求序号Ctag1和第一校验码Stag1、服务器接收时间Stime、时间差队列Span、平均时间差Time_span和有效序号集合Nonce均初始化为0。
步骤(2):基于服务器向客户端发送指向时间同步页面的重定向响应。
服务器向客户端返回指向时间同步页面的重定向响应,该重定向响应中携带有该客户端对应的第一会话ID。
步骤(3):当客户端接收到重定向响应时,基于客户端向服务器发起时间同步请求,并在时间同步请求有效时,再次向服务器发送页面请求。
客户端接收到服务器发送的重定向响应时,更新客户端的会话缓存信息,并根据该会话缓存信息向服务器发送时间同步请求,以便使服务器验证该时间同步请求的有效性,在该时间同步请求有效时,服务器存储客户端的本地时间与服务器的本地时间的时间差,客户端在完成时间同步过程后,重新向服务器发送页面请求,以便使服务器重新验证该页面请求的有效性。
在一种具体的实施方式中,本实施例提供了客户端与服务器完成时间同步过程,具体可参照如下步骤1)~步骤4)执行:
步骤1):当客户端接收到重定向响应时,将第一会话ID写入客户端的会话缓存信息中,记为第二会话ID,在会话缓存信息中增加第二会话ID对应的会话参数并初始化为0。
客户端接收到重定向响应时,重置本地的会话缓存信息(Cookie缓存信息),将服务器为该客户端新建的第一会话ID存入会话缓存信息中,记为第二会话ID,第一会话ID与第二会话ID实质上位相同编码,在会话缓存信息中增加第二会话ID对应的会话参数。其中,上述第二会话ID对应的会话参数包括:第二客户端请求时间Ctime2、第二请求序号Ctag2和第二校验码Stag2。将第二客户端请求时间Ctime2、第二请求序号Ctag2和第二校验码Stag2等字段的初始化为0。
步骤2):基于客户端加载时间同步页面以将客户端当前的本地时间写入第二客户端请求时间中,向服务器发起时间同步请求。
将上述第一会话ID写入浏览器Cookie中,并重定向到时间同步页面,时间同步页面加载后,页面javascript脚本将客户端的当前本地时间写入第二会话ID对应的第二客户端请求时间Ctime2中(Cookie中Ctime2字段),然后客户端向服务器发起时间同步请求,该时间同步请求中携带有客户端的会话缓存信息,即携带有第二会话ID对应的第二客户端请求时间Ctime2、第二请求序号Ctag2和第二校验码Stag2。
步骤3):基于服务器读取会话缓存信息以验证时间同步请求是否有效,若时间同步请求有效,更新会话表中的客户端的会话参数,并向客户端发送响应消息。
服务器的会话表中第一会话ID对应的会话参数包括:第一客户端请求时间Ctime1、第一请求序号Ctag1和第一校验码Stag1、服务器接收时间Stime、时间差队列Span、平均时间差Time_span和有效序号集合Nonce。
服务器收到客户端的时间同步请求后,读取其中携带的会话缓存信息(Cookie信息)进行判断:
若第一校验码和第二校验码均为0,或者,若第二请求序号=第一请求序号+2,确定时间同步请求有效。若第二校验码为0,而第一校验码不为0,则该时间同步请求无效,舍弃该时间同步请求。
若时间同步请求携带的第二校验码Stag2为0且服务器的会话表中的第一校验码Stag1也为0;或者,时间同步请求携带的第二校验码Stag2不为0,且时间同步请求携带的第二请求序号Ctag2等于服务器的会话表中的第一请求序号Ctag1+2,表明客户端发送的时间同步请求有效,可以根据该时间同步请求中携带的会话缓存信息更新服务器中会话表的会话参数值。
当时间同步请求有效时,更新会话表中的会话参数:令服务器接收时间等于服务器的当前本地时间,令第一客户端请求时间等于第二客户端请求时间,令第一请求序号等于第二请求序号,第一校验码=第一请求序号+1,将服务器接收时间-第一客户端请求时间插入时间差队列,令平均时间差等于时间差队列的当前平均值,将第一请求序号插入有效序号集合中。
令服务器接收时间Stime为服务器接收到时间同步请求时的本地时间,令服务器会话表中的第一客户端请求时间Ctime1等于会话缓存信息中的第二客户端请求时间Ctime2;令服务器会话表中的第一请求序号Ctag1等于会话缓存信息中的第二请求序号Ctag2;令服务器会话表中的第一校验码Stag1=更新后的第一请求序号Ctag1+1,将Stime-Ctime1插入插入时间差队列Span中,根据该时间差队列的当前平均值更新平均时间差Time_span,将第一请求序号Ctag1插入有效序号集合Nonce中。然后服务器向客户端发送响应消息,该响应消息包括会话表中的服务器接收时间Stime和第一校验码Stag1。
步骤4):当客户端接收到响应消息时,判断响应消息是否有效,若响应消息有效,更新客户端中的会话缓存信息,并再次向服务器发送页面请求。
若服务器的会话表中的第一校验码Stag1=第二请求序号Ctag2+1,确定响应消息有效,令第二客户端请求时间Ctime2等于客户端的当前本地时间,令第二请求序号Ctag2自增2,重新向服务器发起页面请求。
客户端同步页面收到服务器发送的响应数据包后,验证响应中包含的Stag1是否等于本地Cookie的Ctag2+1,如果不相等,说明该响应数据包无效,舍弃;如果相等,更新本地Cookie,令Ctime2为本地时间,令Ctag2自增2,然后向服务器发送页面请求。
在一个实施例中,本实施例提供了当服务器再次接收到客户端发送的页面请求时,或者,当会话表中存在客户端的会话信息时,对页面请求携带的请求发起时间进行时间验证的实施方式,具体可参照如下步骤a~步骤b执行:
步骤a,若存在会话表中的第一会话ID等于页面请求中的第二会话ID,获取页面请求中第二会话ID对应的第二客户端请求时间。
服务器接收到客户端发送的页面请求,或者接收到客户端再次发送的页面请求时,若会话表中存在等于页面请求中第二会话ID的第一会话ID,确定验证会话ID(SessionID)通过,服务器从客户端发送的页面请求中获取第二会话ID对应的第二客户端请求时间Ctime2,即获取客户端发送该页面请求时的本地时间,记为Ctimequest。
步骤b,判断第二客户端请求时间是否满足Stimeserver-Ctimequest<Time_span+W,如果是,确定客户端请求时间验证合格,如果否,确定页面请求无效。
其中,Ctimequest为第二客户端请求时间,Stimeserver为服务器接收到页面请求是的当前本地时间,Time_span为平均时间差,W为预设延时阈值。
判断客户端发送该页面请求的本地时间Ctimequest是否有效,通常情况下期望页面请求每次从客户端到达服务器所用时间是近似相等的,即满足:
Stimeserver--Ctimequest≈Time_span
考虑到网络波动可能导致的传输时延,添加时延阈值W,则上式等价于:
Stimeserver-Ctimequest<Time_span+W
时延阈值W可以为5~10s,优选值为10s。如果服务器接收到页面请求的时间不满足上式,则认为该页面请求为无效请求,该页面请求可能是重放攻击,舍弃该页面请求。
如果服务器接收到页面请求的时间满足上式,基于服务器判断页面请求中携带的第二请求序号Ctag2,是否存在于第一会话ID对应的有效序号集合Nonce中,如果否,确定页面请求未被服务器处理过,确定页面请求有效。
如果服务器接收到页面请求的时间满足上式,但是页面请求中携带的第二请求序号Ctag2已经存在于会话表中于第一会话ID对应的有效序号集合Nonce中,表明服务器已经响应过该页面请求,舍弃该页面请求。
如果服务器接收到页面请求的时间满足上式,且页面请求中携带的第二请求序号Ctag2不存在于会话表中于第一会话ID对应的有效序号集合Nonce中,表明该页面请求为有效请求,服务器返回客户端的页面请求所请求的内容,并更新服务器的会话表Session中的第一会话ID对应的会话信息。
在一个实施例中,本实施例提供的方法还包括:当确定页面请求有效时,基于页面请求中携带的客户端的会话缓存信息更新会话表中第一会话ID对应的会话参数。
令服务器接收时间Stime为服务器接收到页面请求时的本地时间,令服务器会话表中的第一客户端请求时间Ctime1等于会话缓存信息中的第二客户端请求时间Ctime2(即客户端发起该页面请求时的本地时间);令服务器会话表中的第一请求序号Ctag1等于会话缓存信息中的第二请求序号Ctag2;令服务器会话表中的第一校验码Stag1=更新后的第一请求序号Ctag1+1,将Stime-Ctime1插入插入时间差队列Span中,根据该时间差队列的当前平均值更新平均时间差Time_span,将第一请求序号Ctag1插入有效序号集合Nonce中。
本实施例提供的上述重放攻击的防御方法,通过基于会话机制进行重放攻击防御,可在时间不同步的局域网中实现对重放攻击的防御,能够有效拦截重复发送至服务器的页面请求,且能够适用于时间不同步的局域网中,适用性较广,提升了网络环境安全性。
在前述实施例的基础上,本实施例提供了一种应用前述重放攻击的防御方法的示例,具体可参照如下步骤执行:
步骤1,客户端浏览器(后称客户端)发起页面请求。
步骤2,服务器接收到页面请求后,检查服务器是否存在该客户端的会话信息。若不存在,执行步骤3;若存在,执行步骤5。
服务器会在内存中维护一张名为Session的会话表,表中记录着近期与服务器通信过的客户端的会话信息,参见如图2所示的会话表中的会话参数类型列举示意图,会话表中包括会话ID(SessionID)、客户端请求时间Ctime、请求序号Ctag和校验码Stag、服务器接收时间Stime、时间差队列Span、平均时间差Time_span和有效序号集合Nonce,时间差队列Span的容量为5,有效序号集合Nonce中存储有每次有效请求的请求序号Ctag,各字段含义如上表一所示,服务器接收到客户端的页面请求后,首先检查页面请求中携带的Cookie信息中是否包含有效的SessionID(即会话表中存在与该客户端SessionID相同的编号);若不存在,执行步骤3;若存在,执行步骤5。
步骤3,服务器在会话表中为该客户端新建会话,并向客户端返回指向时间同步页面的重定向响应。
服务器在会话表Session中为该客户端新建会话。包含以下步骤:
a.服务器根据当前时间和随机数生成该客户端的会话编号SessionID(即会话ID)并更新到Session表中,Session表中其他所有字段初始化为0。
b.服务器向客户端返回指向时间同步页面的重定向响应,响应中包含SessionID。
步骤4,客户端收到服务器返回的响应信息后,将重定向到时间同步页面,发起时间同步过程,完成时间同步过程后重新向服务器发起页面请求。
客户端收到服务器返回的响应信息后,将重定向到时间同步页面,发起时间同步过程。包含以下步骤:
a)重置浏览器中相关Cookie缓存(本地缓存信息),在Cookie缓存中新增SessionID、Ctime、Ctag、Stime、Stag等字段并赋初值0。
b)将响应信息中的SessionID写入浏览器Cookie中,并重定向到时间同步页面;
c)时间同步页面加载后,页面javascript脚本将客户端当前的本地时间写入Cookie中Ctime字段,然后客户端向服务器发起时间同步请求,请求携带客户端Cookie中的Ctime、Ctag和Stag。
d)服务器收到客户端的时间同步请求后,读取其中携带的Cookie信息进行判断:
若时间同步请求中的Stag为0,且服务器Session表中Stag也为0;或者,时间同步请求中的Stag不为0且时间同步请求中的Ctag等于Session表中的Ctag+2,则更新Session表中各字段。
令Session中Ctime和Ctag等于时间同步请求中的Ctime和Ctag值,Stime为服务器当前的本地时间,令Session中Stag=Ctag+1,将(Stime-Ctime)插入Span队列中,Time_span等于Span队列的元素平均值,将请求中Ctag插入Session中集合Nonce。之后服务器向客户端发送响应消息,响应消息包含有Seesion表中的Stime和Stag字段值。
若时间同步请求中Stag为0,而Session表中Stag不为0,则该时间同步请求无效,舍弃该时间同步请求。
e)客户端同步页面收到响应消息后,验证响应消息中包含的Stag是否等于本地Cookie的Ctag+1。如果不相等,说明该响应消息无效,舍弃;如果相等,更新本地Cookie,令Ctime为客户端的本地时间,令Ctag自增2,然后重新向服务器发起步骤1中的页面请求。
步骤5,服务器接收到客户端请求后,验证会话信息通过后,将继续验证请求发起时间是否有效。有效则继续校验请求之前是否已被处理过。若请求发起时间有效,且之前未被服务器处理过,则判定该请求有效。
服务器接收到客户端的页面请求后,验证SessionID通过后,将继续验证页面请求中的Ctime是否有效。一般期望页面请求每次从客户端到达服务器所用时间是近似的。记页面请求中Ctime为Ctimequest,设服务器接收到页面请求的时间为Stimeserver,服务器Session表中存储的客户端与服务器间的平均时间差为Time_span,则有:
timeserver--Ctimequest≈Time_span
考虑到网络波动可能导致的传输时延,添加时延阈值W,则上式等价于:
Stimeserver-Ctimequest<Time_span+W
若服务器接收到的页面请求中的Ctime不满足上式,则可认为该页面请求为无效请求,可能是重放攻击,应予舍弃。
若页面请求中的Ctime满足上式,但Ctag已存在于Session表的Nonce集合中,说明服务器已响应过该页面请求,应予舍弃。
若页面请求中的Ctime满足上式,且Ctag不存在于Session的Nonce集合中,则认为该页面请求为有效请求,服务器返回客户端所请求内容,并按以下步骤更新Session信息。
a)将Session表中Ctime、Ctag更新为页面请求中的Ctime和Ctag值;
b)将Session表中Stime更新为服务器本地时间,将Stag更新为Ctag+1;
c)计算Stime-Ctime,并将结果插入到Session的Span队列中;
d)计算队列中现有的元素值的均值,并将结果赋值给Session中的Time_span;
e)将请求中的Ctag插入Session中的集合Nonce。
步骤6,服务器定时检查Session表,清除过期Session信息。
一般而言,在一定时间内客户端的使用环境(包括使用人、网络状态、时间设置)是不变的,即使服务器未收到客户端新的请求,也应该保留该客户端的Session信息。但如果自上次收到客户端的请求到现在超出一定时间,就应该清理该客户端的Session信息。
考虑到Session表中Stime即代表上次接收到客户端请求的服务器本地时间,所以服务器应当定时检查Session表中的Stime字段值,计算其与当前时间的差值,大于设定阈值的客户端的Session信息(即会话ID及其对应的会话信息)应予以清除。
对应于上述实施例所提供的重放攻击的防御方法,本发明实施例提供了一种重放攻击的防御系统,该系统包括:服务器和客户端。
服务器用于在接收到客户端发送的页面请求时,判断服务器存储的会话表中是否存在客户端的会话信息;
服务器还用于当会话表中不存在客户端的会话信息时,在会话表中增加客户端的新建会话信息,并向客户端发送时间重定向响应,以使客户端在完成与服务器的时间同步过程后重新向服务器发送页面请求;
服务器还用于当服务器再次接收到客户端发送的页面请求时,或者,当会话表中存在客户端的会话信息时,对页面请求携带的客户端请求时间进行时间验证;
服务器还用于当客户端请求时间验证合格时,判断页面请求是否已被服务器处理过,若页面请求未被服务器处理过,确定页面请求有效,向客户端返回页面请求对应的请求内容。
本实施例提供的上述重放攻击的防御系统,通过在客户端与服务器建立首次会话时先控制客户端与服务器完成时间同步过程,以便能够在接收到客户端发送的页面请求时,使服务器对接收到的页面请求进行时间验证,能够在客户端与服务器时间不同步的局域网中实现对重放攻击的防御,通过在请求时间验证合格时进一步判断该页面请求是否已被处理过,能够有效筛选出重放攻击,提升了重放攻击的防御效果。
在一种实施方式中,页面请求中携带有客户端的会话缓存信息,上述服务器用于判断会话表中是否存在与会话缓存信息中的会话ID相等的会话ID,若存在,确定会话表中存在客户端的会话信息,若不存在,确定会话表中不存在客户端的会话信息。
在一种实施方式中,上述服务器用于基于当前本地时间及随机数生成客户端的会话ID,记为第一会话ID,将会话表中第一会话ID对应的会话参数均初始化为0;向客户端发送指向时间同步页面的重定向响应;其中,重定向响应中携带有第一会话ID;当客户端接收到重定向响应时,基于客户端向服务器发起时间同步请求,并在时间同步请求有效时,再次向服务器发送页面请求。
在一种实施方式中,上述客户端用于当接收到重定向响应时,将第一会话ID写入客户端的会话缓存信息中,记为第二会话ID,在会话缓存信息中增加第二会话ID对应的会话参数并初始化为0;其中,第二会话ID对应的会话参数包括:第二客户端请求时间、第二请求序号和第二校验码;加载时间同步页面以将客户端当前的本地时间写入第二客户端请求时间中,向服务器发起时间同步请求;其中,时间同步请求中携带有客户端的会话缓存信息。
在一种实施方式中,上述服务器用于读取会话缓存信息以验证时间同步请求是否有效,若时间同步请求有效,更新会话表中的客户端的会话参数,并向客户端发送响应消息。
在一种实施方式中,上述客户端用于接收到响应消息时,判断响应消息是否有效,若响应消息有效,更新客户端中的会话缓存信息,并再次向服务器发送页面请求。
在一种实施方式中,上述会话表中第一会话ID对应的会话参数包括:第一客户端请求时间、第一请求序号、第一校验码、服务器接收时间、时间差队列、平均时间差和有效序号集合;上述服务器用于若第一校验码和第二校验码均为0,或者,若第二请求序号=第一请求序号+2,确定时间同步请求有效;令服务器接收时间等于服务器的当前本地时间,令第一客户端请求时间等于第二客户端请求时间,令第一请求序号等于第二请求序号,第一校验码=第一请求序号+1,将服务器接收时间-第一客户端请求时间插入时间差队列,令平均时间差等于时间差队列的当前平均值,将第一请求序号插入有效序号集合中。
在一种实施方式中,响应消息中携带第一校验码;上述客户端用于若第一校验码=第二请求序号+1,确定响应消息有效,令第二客户端请求时间等于客户端的当前本地时间,令第二请求序号自增2,重新向服务器发起页面请求。
在一种实施方式中,上述服务器用于若存在会话表中的第一会话ID等于页面请求中的第二会话ID,获取页面请求中第二会话ID对应的第二客户端请求时间;判断第二客户端请求时间是否满足Stimeserver-Ctimequest<Time_span+W,如果是,确定客户端请求时间验证合格,如果否,确定页面请求无效;其中,Ctimequest为第二客户端请求时间,Stimeserver为服务器接收到页面请求是的当前本地时间,Time_span为平均时间差,W为预设延时阈值。
在一种实施方式中,上述服务器用于判断页面请求中携带的第二请求序号,是否存在于第一会话ID对应的有效序号集合中,如果否,确定页面请求未被服务器处理过,确定页面请求有效。
在一种实施方式中,上述服务器用于当确定页面请求有效时,基于页面请求中携带的客户端的会话缓存信息更新会话表中第一会话ID对应的会话参数。
本实施例所提供的系统,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种计算机可读介质,其中,所述计算机可读介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现上述实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统具体工作过程,可以参考前述实施例中的对应过程,在此不再赘述。
本发明实施例所提供的重放攻击的防御方法及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种重放攻击的防御方法,其特征在于,包括:
当服务器接收到客户端发送的页面请求时,判断所述服务器存储的会话表中是否存在所述客户端的会话信息;
当所述会话表中不存在所述客户端的会话信息时,在所述会话表中增加所述客户端的新建会话信息,并向所述客户端发送时间重定向响应,以使所述客户端在完成与所述服务器的时间同步过程后重新向所述服务器发送页面请求;
当所述服务器再次接收到所述客户端发送的所述页面请求时,或者,当所述会话表中存在所述客户端的会话信息时,对所述页面请求携带的客户端请求时间进行时间验证;
当所述客户端请求时间验证合格时,判断所述页面请求是否已被所述服务器处理过,若所述页面请求未被所述服务器处理过,确定所述页面请求有效,向所述客户端返回所述页面请求对应的请求内容。
2.根据权利要求1所述的方法,其特征在于,所述页面请求中携带有所述客户端的会话缓存信息,所述判断所述服务器存储的会话表中是否存在所述客户端的会话信息的步骤,包括:
判断所述会话表中是否存在与所述会话缓存信息中的会话ID相等的会话ID,若存在,确定所述会话表中存在所述客户端的会话信息,若不存在,确定所述会话表中不存在所述客户端的会话信息。
3.根据权利要求1所述的方法,其特征在于,所述在所述会话表中增加所述客户端的新建会话信息,并向所述客户端发送时间重定向响应,以使所述客户端在完成与所述服务器的时间同步过程后重新向所述服务器发送页面请求的步骤,包括:
基于所述服务器的当前本地时间及随机数生成所述客户端的会话ID,记为第一会话ID,将所述会话表中所述第一会话ID对应的会话参数均初始化为0;
基于所述服务器向所述客户端发送指向时间同步页面的重定向响应;其中,所述重定向响应中携带有所述第一会话ID;
当所述客户端接收到所述重定向响应时,基于所述客户端向所述服务器发起时间同步请求,并在所述时间同步请求有效时,再次向所述服务器发送所述页面请求。
4.根据权利要求3所述的方法,其特征在于,所述当所述客户端接收到所述重定向响应时,基于所述客户端向所述服务器发起时间同步请求,并在所述时间同步请求有效时,再次向所述服务器发送所述页面请求的步骤,包括:
当所述客户端接收到所述重定向响应时,将所述第一会话ID写入所述客户端的会话缓存信息中,记为第二会话ID,在所述会话缓存信息中增加所述第二会话ID对应的会话参数并初始化为0;其中,所述第二会话ID对应的会话参数包括:第二客户端请求时间、第二请求序号和第二校验码;
基于所述客户端加载时间同步页面以将所述客户端当前的本地时间写入所述第二客户端请求时间中,向所述服务器发起时间同步请求;其中,所述时间同步请求中携带有所述客户端的会话缓存信息;
基于所述服务器读取所述会话缓存信息以验证所述时间同步请求是否有效,若所述时间同步请求有效,更新所述会话表中的所述客户端的会话参数,并向所述客户端发送响应消息;
当所述客户端接收到所述响应消息时,判断所述响应消息是否有效,若所述响应消息有效,更新所述客户端中的会话缓存信息,并再次向所述服务器发送所述页面请求。
5.根据权利要求4所述的方法,其特征在于,所述会话表中所述第一会话ID对应的会话参数包括:第一客户端请求时间、第一请求序号、第一校验码、服务器接收时间、时间差队列、平均时间差和有效序号集合;
所述基于所述服务器读取所述会话缓存信息以验证所述时间同步请求是否有效,若所述时间同步请求有效,更新所述会话表中的所述客户端的会话参数的步骤,包括:
若所述第一校验码和所述第二校验码均为0,或者,若所述第二请求序号=所述第一请求序号+2,确定所述时间同步请求有效;
令所述服务器接收时间等于所述服务器的当前本地时间,令所述第一客户端请求时间等于所述第二客户端请求时间,令所述第一请求序号等于所述第二请求序号,所述第一校验码=所述第一请求序号+1,将所述服务器接收时间-所述第一客户端请求时间插入所述时间差队列,令所述平均时间差等于所述时间差队列的当前平均值,将所述第一请求序号插入所述有效序号集合中。
6.根据权利要求5所述的方法,其特征在于,所述响应消息中携带所述第一校验码;所述判断所述响应消息是否有效,若所述响应消息有效,更新所述客户端中的会话缓存信息,并再次向所述服务器发送所述页面请求的步骤,包括:
若所述第一校验码=所述第二请求序号+1,确定所述响应消息有效,令所述第二客户端请求时间等于所述客户端的当前本地时间,令所述第二请求序号自增2,重新向所述服务器发起所述页面请求。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述当所述服务器再次接收到所述客户端发送的所述页面请求时,或者,当所述会话表中存在所述客户端的会话信息时,对所述页面请求携带的请求发起时间进行时间验证的步骤,包括:
若存在所述会话表中的第一会话ID等于所述页面请求中的第二会话ID,获取所述页面请求中所述第二会话ID对应的第二客户端请求时间;
判断所述第二客户端请求时间是否满足Stimeserver-timequest<Time_+W,如果是,确定所述客户端请求时间验证合格,如果否,确定所述页面请求无效;其中,Ctimequest为所述第二客户端请求时间,Stimeserver为所述服务器接收到所述页面请求是的当前本地时间,Time_为平均时间差,W为预设延时阈值。
8.根据权利要求7所述的方法,其特征在于,所述判断所述页面请求是否已被所述服务器处理过,若所述页面请求未被所述服务器处理过,确定所述页面请求有效的步骤,包括:
基于所述服务器判断所述页面请求中携带的第二请求序号,是否存在于所述第一会话ID对应的有效序号集合中,如果否,确定所述页面请求未被所述服务器处理过,确定所述页面请求有效。
9.根据权利要求8所述的方法,其特征在于,还包括:
当确定所述页面请求有效时,基于所述页面请求中携带的所述客户端的会话缓存信息更新所述会话表中所述第一会话ID对应的会话参数。
10.一种重放攻击的防御系统,其特征在于,包括:服务器和客户端;
所述服务器用于在接收到客户端发送的页面请求时,判断所述服务器存储的会话表中是否存在所述客户端的会话信息;
所述服务器还用于当所述会话表中不存在所述客户端的会话信息时,在所述会话表中增加所述客户端的新建会话信息,并向所述客户端发送时间重定向响应,以使所述客户端在完成与所述服务器的时间同步过程后重新向所述服务器发送页面请求;
所述服务器还用于当所述服务器再次接收到所述客户端发送的所述页面请求时,或者,当所述会话表中存在所述客户端的会话信息时,对所述页面请求携带的客户端请求时间进行时间验证;
所述服务器还用于当所述客户端请求时间验证合格时,判断所述页面请求是否已被所述服务器处理过,若所述页面请求未被所述服务器处理过,确定所述页面请求有效,向所述客户端返回所述页面请求对应的请求内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310065929.1A CN116094810A (zh) | 2023-01-16 | 2023-01-16 | 一种重放攻击的防御方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310065929.1A CN116094810A (zh) | 2023-01-16 | 2023-01-16 | 一种重放攻击的防御方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116094810A true CN116094810A (zh) | 2023-05-09 |
Family
ID=86202201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310065929.1A Pending CN116094810A (zh) | 2023-01-16 | 2023-01-16 | 一种重放攻击的防御方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116094810A (zh) |
-
2023
- 2023-01-16 CN CN202310065929.1A patent/CN116094810A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11019383B2 (en) | Internet anti-attack method and authentication server | |
US11196767B2 (en) | Front-end protocol for server protection | |
US8392717B2 (en) | Authentication method, system, server, and client | |
US5958053A (en) | Communications protocol with improved security | |
WO2016188290A1 (zh) | Api调用的安全认证方法、装置、系统 | |
US7685299B2 (en) | Method for minimizing denial of service attacks on network servers | |
US8336087B2 (en) | Robust digest authentication method | |
US9860181B2 (en) | System and method for inferring traffic legitimacy through selective impairment | |
US20080244715A1 (en) | Method and apparatus for detecting and reporting phishing attempts | |
US20200082108A1 (en) | Determining the relative risk for using an originating ip address as an identifying factor | |
CN112711759A (zh) | 一种防重放攻击漏洞安全防护的方法及系统 | |
CN112968910B (zh) | 一种防重放攻击方法和装置 | |
CN116094810A (zh) | 一种重放攻击的防御方法及系统 | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
WO2019242053A1 (zh) | 一种针对HTTP Flood攻击的防护方法及系统 | |
CN111431942B (zh) | 一种cc攻击的检测方法、装置及网络设备 | |
CN115242551A (zh) | 慢速攻击的防御方法、装置、电子设备及存储介质 | |
CN113596147A (zh) | 消息推送方法、装置、设备与存储介质 | |
CN113498058A (zh) | 客户端隐私保护会话恢复 | |
Oliveira et al. | Investigation of amplification-based DDoS attacks on IoT devices | |
CN111064565A (zh) | 缓解DDoS攻击的方法 | |
CN113179247B (zh) | 拒绝服务攻击防护方法、电子装置和存储介质 | |
US20100162366A1 (en) | Apparatus and method of protecting private information in distributed network | |
KR102058888B1 (ko) | Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치 | |
CN114979237A (zh) | 一种长连接验证方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |