本发明涉及通信网络技术领域,尤其涉及一种重放攻击检测方法、系统、设备及存储介质。
背景技术:
重放攻击(replayattacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。它是一种攻击类型,这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。
现有的重放攻击检测方法中,因为时间戳自身的优越性,使得当前主流的防重放攻击方法基本上都是基于服务器和客户端时间戳来完成的。目前检测重放攻击的方式有三种:第一种是基于时间戳timestamp方案的,该方案存在被攻击者修改timestamp而绕过防重放机制,使得重放攻击生效的风险;第二种是基于nonce的方案,该方案随着时间的推移会消耗越来越多的服务器内存空间,使得验证nonce是否存在于服务器上耗时会越来越长,严重影响服务器性能;第三种是基于timestamp和nonce相结合方案,可以有效规避上述两种方案的缺点,在规定时间内保存nonce,使得内存消耗降低的同时又能防范短时间内的重放攻击。
但是,上述三种方式必须依赖于服务器和客户端的时间戳来实施。对于没有时间戳的服务器而言,则不能准确检测重放攻击,从而无法保证服务器的网络安全。
技术实现要素:
本发明实施例的目的是提供一种重放攻击检测方法、系统、设备及存储介质,能有效解决无时间戳服务器无法检测重放攻击的问题,加强无时间戳服务器的网络安全。
为实现上述目的,本发明实施例提供了一种重放攻击检测方法,包括:
接收客户端发送的包括第一数字签名、客户端当前时间戳和客户端识别码的数据包;其中,所述第一数字签名由所述客户端识别码、所述客户端当前时间戳和客户端密码通过加密算法生成;
提取所述数据包中的所述客户端当前时间戳和所述客户端识别码;
将提取的所述客户端当前时间戳、所述客户端识别码和预存密码生成第二数字签名;其中,所述预存密码为预设的与所述客户端密码相同的密码;
当所述第一数字签名和所述第二数字签名不相同时,判定发生重放攻击。
与现有技术相比,本发明实施例公开的重放攻击检测方法,首先,通过接收包含第一数字签名、客户端当前时间戳和客户端识别码的数据包,并从数据包中提取客户端当前时间戳和客户端识别码;然后,将数据包中提取的客户端当前时间戳和客户端识别码与预存密码生成第二数字签名;最后,通过判断第一数字签名与第二数字签名是否相同来确定当前网络是否遭受重放攻击,当第一数字签名与第二数字签名不相同时,表明数据包中的数据被篡改过,此时可确认当前网络遭遇重放攻击,能有效解决无时间戳服务器无法检测重放攻击的问题,加强无时间戳服务器的网络安全。
作为上述方案的改进,所述方法还包括:
当所述第一数字签名和所述第二数字签名相同时,判断所述客户端当前时间戳是否大于预存在时间戳列表中的最新时间戳;
若是,则以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中;若否,则判定发生重放攻击或所述客户端请求超时。
作为上述方案的改进,所述以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中后,还包括:
判断所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值是否大于预设时间阈值;
若是,则在所述时间戳列表中删除与所述最新时间戳的差值大于所述预设时间阈值的客户端时间戳;若否,则保留与所述最新时间戳的差值小于或等于所述预设时间阈值的客户端时间戳。
作为上述方案的改进,所述时间戳列表包括若干个与所述客户端识别码对应的客户端时间戳,每一所述客户端时间戳按照预设顺序排序。
作为上述方案的改进,所述第二数字签名通过加密算法生成。
为实现上述目的,本发明实施例还提供一种重放攻击检测系统,包括:
数据包接收模块,用于接收客户端发送的包括第一数字签名、客户端当前时间戳和客户端识别码的数据包;其中,所述第一数字签名由所述客户端识别码、所述客户端当前时间戳和客户端密码通过加密算法生成;
数据提取模块,用于提取所述数据包中的所述客户端当前时间戳和所述客户端识别码;
数字签名生成模块,用于将提取的所述客户端当前时间戳、所述客户端识别码和预存密码生成第二数字签名;其中,所述预存密码为预设的与所述客户端密码相同的密码;
第一判断模块,用于判断所述第一数字签名和所述第二数字签名是否相同;
第一检测模块,用于当所述第一数字签名和所述第二数字签名不相同时,判定发生重放攻击。
与现有技术相比,本发明实施例公开的重放攻击检测系统,首先,数据包接收模块接收包含第一数字签名、客户端当前时间戳和客户端识别码的数据包,数据提取模块从数据包中提取客户端当前时间戳和客户端识别码;然后,数字签名生成模块将数据包中提取的客户端当前时间戳和客户端识别码与预存密码生成第二数字签名;最后,第一判断模块判断第一数字签名与第二数字签名是否相同,以使第一检测模块确定当前网络是否遭受重放攻击,当第一数字签名与第二数字签名不相同时,表明数据包中的数据被篡改过,此时可确认当前网络遭遇重放攻击,能有效解决无时间戳服务器无法检测重放攻击的问题,加强无时间戳服务器的网络安全。
作为上述方案的改进,所述重放攻击检测系统还包括:
第二判断模块,用于当所述第一数字签名和所述第二数字签名相同时,判断所述客户端当前时间戳是否大于预存在时间戳列表中的最新时间戳;
时间戳更新模块,用于当所述客户端当前时间戳大于所述最新时间戳时,以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中;
第二检测模块,用于当所述客户端当前时间戳小于或等于所述最新时间戳时,判定发生重放攻击或所述客户端请求超时。
作为上述方案的改进,所述重放攻击检测系统还包括:
第三判断模块,用于判断所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值是否大于预设时间阈值;
时间戳删除模块,用于当所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值大于预设时间阈值时,在所述时间戳列表中删除与所述最新时间戳的差值大于所述预设时间阈值的客户端时间戳。
为实现上述目的,本发明实施例还提供了一种重放攻击检测设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的重放攻击检测方法。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一实施例所述的重放攻击检测方法。
附图说明
图1是本发明实施例提供的一种重放攻击检测方法的流程图;
图2是本发明实施例提供的另一种重放攻击检测方法的流程图;
图3是本发明实施例提供的更新时间戳列表的流程图;
图4是本发明实施例提供的一种重放攻击检测系统的结构框图;
图5是本发明实施例提供的一种重放攻击检测设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的一种重放攻击检测方法的流程图;所述重放攻击检测方法包括:
s1、接收客户端发送的包括第一数字签名、客户端当前时间戳和客户端识别码的数据包;其中,所述第一数字签名由所述客户端识别码、所述客户端当前时间戳和客户端密码通过加密算法生成;
s2、提取所述数据包中的所述客户端当前时间戳和所述客户端识别码;
s3、将提取的所述客户端当前时间戳、所述客户端识别码和预存密码生成第二数字签名;其中,所述预存密码为预设的与所述客户端密码相同的密码;
s4、当所述第一数字签名和所述第二数字签名不相同时,判定发生重放攻击。
值得说明的是,本发明实施例中所述的重放攻击检测方法由服务器执行实现,所述服务器与若干个客户端进行网络通信。所述客户端以自身客户端识别码、客户端当前时间戳、客户端密码作为输入生成固定长度的第一数字签名。示例性的,所述客户端采用加密算法生成所述第一数字签名,比如所述加密算法为哈希散列算法、md5算法或其他加密算法,具体所述哈希散列算法和md5算法的计算过程可参考现有技术,在此不再赘述。当所述客户端向服务器发起验证请求时,将所述第一数字签名、所述客户端当前时间戳和所述客户端识别码封装成数据包,发送给服务器。
具体的,所述服务器在接收到所述客户端发送的数据包后,提取所述数据包中的所述客户端当前时间戳和所述客户端识别码,然后所述服务器将提取的所述客户端当前时间戳、所述客户端识别码和在数据库中的预存密码生成固定长度的第二数字签名,所述服务器采用加密算法(哈希散列算法、md5算法或其他加密算法)生成所述第二数字签名。最后,所述服务器通过判断所述第一数字签名与所述第二数字签名是否相同来确定当前网络是否遭受重放攻击。当所述第一数字签名和所述第二数字签名相同时,则认为客户端请求属于正常请求,当前网络并未遭受重放攻击,流程继续;当所述第一数字签名和所述第二数字签名不相同时,此时可确认所述客户端发送的数据包中的内容被篡改过,可判定当前网络发生重放攻击,此时所述服务器拒绝所述客户端的请求,客户端验证请求流程结束,同时采取相应措施应对重放攻击已发生的情况。
优选的,所述方法还包括:
s5、当所述第一数字签名和所述第二数字签名相同时,判断所述客户端当前时间戳是否大于预存在时间戳列表中的最新时间戳;
s6、若是,则以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中;若否,则判定发生重放攻击或所述客户端请求超时。
具体的,当所述服务器判定所述第一数字签名和所述第二数字签名相同时,进一步进行校验,此时所述服务器将所述客户端当前时间戳t1与预存在时间戳列表中的最新时间戳tnew做比对。当t1大于tnew时,则认为客户端请求属于正常请求,当前网络并未遭受重放攻击,流程继续;当t1小于或等于于tnew时,发生重放攻击或所述客户端请求超时,此时所述服务器拒绝客户端请求,客户端验证请求流程结束,为了防止用户信息泄露,采取相应措施应对发生重放攻击或所述客户端请求超时的情况。通过双重验证能够准确检测当前网络是否发生重放攻击,提高网络安全。
进一步的,上述步骤s1~s6的过程可参考图2。
优选的,所述时间戳列表包括若干个时间戳存储空间,所述时间戳存储空间为为每个客户端开辟的内存空间,专门用于存储该客户端验证请求通过时的客户端时间戳,与所述客户端识别码一一对应。优选的,每一所述客户端时间戳按照预设顺序排序,比如,按照更新时间进行排序,将所述最新时间戳排在所述时间戳列表中的最后面。
当客户端通过验证后,会比较tnew与t1,当t1小于或等于tnew时,可以认为当前发起验证的客户端请求已经超时(因为tnew是服务器记载中的最新时刻,而比tnew小的t1基本上可以认为是更老旧的时刻,该时刻明显超时),拒绝该请求;当t1大于tnew时,认为当前请求为新鲜请求,则通过所述时间戳存储空间来保存当前验证通过客户端发起验证的所述客户端当前时间戳。
值得说明的是,所述服务器因为自身没有时间戳,无法获取当前时间,更无法将自身时间与客户端时间进行对比。为解决该问题,本发明实施例中为服务器设计了时间戳列表动态老化机制,该机制使得所述服务器能获取所述客户端验证通过后的最新时刻tnew,又能通过动态老化机制防止时间戳占用服务器大量内存。
此时,所述以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中后,还包括:
s7、判断所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值是否大于预设时间阈值;
s8、若是,则在所述时间戳列表中删除与所述最新时间戳的差值大于所述预设时间阈值的客户端时间戳;若否,则保留与所述最新时间戳的差值小于或等于所述预设时间阈值的客户端时间戳。
进一步的,上述步骤s7~s8的过程可参考图3。
所述时间戳列表以客户端识别码为索引,以该客户端通过验证请求的客户端当前时间戳为值进行存储,且所述时间戳列表按照时间戳的时间先后顺序依次存储,时间戳越新排序越靠后,最新时刻对应的时间戳记为tnew,其中随着客户端验证请求的通过,tnew会被最新的通过验证的客户端时间戳不断刷新。
所述客户端在初次验证通过后,所述服务器会根据所述数据包中客户端识别码为每个客户端设备开辟一个时间戳存储空间用于存储该客户端验证通过的时间戳,并进行初始化,初始化初值为0,所述时间戳存储空间通过所述客户端识别码进行检索取值,也即每个客户端都对应有一个时间戳存储空间,用于存储验证通过的客户端当前时间戳。所述服务器会将每个验证通过的客户端当前时间戳的按照从前往后顺序依次进行存储,排在最后的时间戳记为tnew,其中随着越来越多的客户端验证请求的通过,tnew会被最新的通过验证的客户端时间戳不断刷新。
分别计算tnew与服务器内存中所保存的所有客户端时间戳的时间差值,假如差值大于预设时间阈值t0,则删除对应的较老的时间戳并释放该时间戳所占用内存空间。t0可根据具体使用需要人为设定,可以是一天,亦可以是一周,甚至是一个月。通过t0这个预先设定的阈值,可以实现服务器所保存的时间戳进行动态老化,所有与最新时刻时间差超过t0的时间戳都将被删除并释放所占用内存,通过这个动态老化机制能够及时的释放老化时间戳的内存空间,既节省了内存空间,又简化了时间戳列表排序过程的时间复杂度。
本发明实施例提供的重放攻击检测方法,存储验证通过的客户端时间戳进并实现更新同步,使得服务器维护了一张客户端验证通过的时间戳列表。先是通过验证数字签名的方式,再是通过对验证请求的时间戳与服务器存储的最新时刻的时间戳的对比的方式给整个系统增加了双重保险机制。通过这双重验证机制来判别是否属于重放攻击,提高了系统防范重放攻击的正确率和稳定性。另外,通过这个动态老化机制能够及时的释放老化时间戳所占用的内存空间,既大大降低了服务器系统的内存空间的消耗,又简化了时间戳列表,使得在按时间戳先后顺序排序过程中的时间复杂度也大大降低。
参见图4,图4是本发明实施例提供的一种重放攻击检测系统100的结构框图;所述重放攻击检测系统100包括:
数据包接收模块101,用于接收客户端发送的包括第一数字签名、客户端当前时间戳和客户端识别码的数据包;其中,所述第一数字签名由所述客户端识别码、所述客户端当前时间戳和客户端密码通过加密算法生成;
数据提取模块102,用于提取所述数据包中的所述客户端当前时间戳和所述客户端识别码;
数字签名生成模块103,用于将提取的所述客户端当前时间戳、所述客户端识别码和预存密码生成第二数字签名;其中,所述预存密码为预设的与所述客户端密码相同的密码;
第一判断模块104,用于判断所述第一数字签名和所述第二数字签名是否相同;
第一检测模块105,用于当所述第一数字签名和所述第二数字签名不相同时,判定发生重放攻击;
第二判断模块106,用于当所述第一数字签名和所述第二数字签名相同时,判断所述客户端当前时间戳是否大于预存在时间戳列表中的最新时间戳;
时间戳更新模块107,用于当所述客户端当前时间戳大于所述最新时间戳时,以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中;
第二检测模块108,用于当所述客户端当前时间戳小于或等于所述最新时间戳时,判定发生重放攻击或所述客户端请求超时;
第三判断模块109,用于判断所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值是否大于预设时间阈值;
时间戳删除模块110,用于当所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值大于预设时间阈值时,在所述时间戳列表中删除与所述最新时间戳的差值大于所述预设时间阈值的客户端时间戳。
优选的,所述时间戳列表包括若干个与所述客户端识别码对应的客户端时间戳,每一所述客户端时间戳按照预设顺序排序。所述第二数字签名通过加密算法生成。
值得说明的是,本发明实施例所述的重放攻击检测系统100可为服务器,所述服务器与若干个客户端进行网络通信。所述客户端以自身客户端识别码、客户端当前时间戳、客户端密码作为输入进行生成固定长度的第一数字签名。示例性的,所述客户端采用通过加密算法生成所述第一数字签名。当所述客户端向服务器发起验证请求时,将所述第一数字签名、所述客户端当前时间戳和所述客户端识别码封装成数据包,发送给服务器。
本发明实施例所述重放攻击检测系统100的工作过程可参考上述实施例所述的重放攻击检测方法的工作过程,在此不再赘述。
本发明实施例提供的重放攻击检测系统100,存储验证通过的客户端时间戳进并实现更新同步,使得服务器维护了一张客户端验证通过的时间戳列表。先是通过验证数字签名的方式,再是通过对验证请求的时间戳与服务器存储的最新时刻的时间戳的对比的方式给整个系统增加了双重保险机制。通过这双重验证机制来判别是否属于重放攻击,提高了系统防范重放攻击的正确率和稳定性。另外,通过这个动态老化机制能够及时的释放老化时间戳所占用的内存空间,既大大降低了服务器系统的内存空间的消耗,又简化了时间戳列表,使得在按时间戳先后顺序排序过程中的时间复杂度也大大降低。
参见图5,图5是本发明实施例提供的一种重放攻击检测设备200的结构框图;该实施例的重放攻击检测设备200包括:处理器201、存储器202以及存储在所述存储器202中并可在所述处理器201上运行的计算机程序。所述处理器201执行所述计算机程序时实现上述重放攻击检测方法实施例中的步骤,例如图1所示的步骤s1~s4。或者,所述处理器201执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如数据包接收模块101。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器202中,并由所述处理器201执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述重放攻击检测设备200中的执行过程。例如,所述计算机程序可以被分割成数据包接收模块101、数据提取模块102、数字签名生成模块103、第一判断模块104、第一检测模块105、第二判断模块106、时间戳更新模块107、第二检测模块108、第三判断模块109和时间戳删除模块110,各模块具体功能请参考上述实施例所述的重放攻击检测系统100的具体工作过程,在此不再赘述。
所述重放攻击检测设备200可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述重放攻击检测设备200可包括,但不仅限于,处理器201、存储器202。本领域技术人员可以理解,所述示意图仅仅是重放攻击检测设备200的示例,并不构成对重放攻击检测设备200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述重放攻击检测设备200还可以包括输入输出设备、网络接入设备、总线等。
所述处理器201可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器201也可以是任何常规的处理器等,所述处理器201是所述重放攻击检测设备200的控制中心,利用各种接口和线路连接整个重放攻击检测设备200的各个部分。
所述存储器202可用于存储所述计算机程序和/或模块,所述处理器201通过运行或执行存储在所述存储器202内的计算机程序和/或模块,以及调用存储在存储器202内的数据,实现所述重放攻击检测设备200的各种功能。所述存储器202可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述重放攻击检测设备200集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器201执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
1.一种重放攻击检测方法,其特征在于,包括:
接收客户端发送的包括第一数字签名、客户端当前时间戳和客户端识别码的数据包;其中,所述第一数字签名由所述客户端识别码、所述客户端当前时间戳和客户端密码通过加密算法生成;
提取所述数据包中的所述客户端当前时间戳和所述客户端识别码;
将提取的所述客户端当前时间戳、所述客户端识别码和预存密码生成第二数字签名;其中,所述预存密码为预设的与所述客户端密码相同的密码;
当所述第一数字签名和所述第二数字签名不相同时,判定发生重放攻击。
2.如权利要求1所述的重放攻击检测方法,其特征在于,所述方法还包括:
当所述第一数字签名和所述第二数字签名相同时,判断所述客户端当前时间戳是否大于预存在时间戳列表中的最新时间戳;
若是,则以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中;若否,则判定发生重放攻击或所述客户端请求超时。
3.如权利要求2所述的重放攻击检测方法,其特征在于,所述以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中后,还包括:
判断所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值是否大于预设时间阈值;
若是,则在所述时间戳列表中删除与所述最新时间戳的差值大于所述预设时间阈值的客户端时间戳;若否,则保留与所述最新时间戳的差值小于或等于所述预设时间阈值的客户端时间戳。
4.如权利要求2所述的重放攻击检测方法,其特征在于,所述时间戳列表包括若干个与所述客户端识别码对应的客户端时间戳,每一所述客户端时间戳按照预设顺序排序。
5.如权利要求1所述的重放攻击检测方法,其特征在于,所述第二数字签名通过加密算法生成。
6.一种重放攻击检测系统,其特征在于,包括:
数据包接收模块,用于接收客户端发送的包括第一数字签名、客户端当前时间戳和客户端识别码的数据包;其中,所述第一数字签名由所述客户端识别码、所述客户端当前时间戳和客户端密码通过加密算法生成;
数据提取模块,用于提取所述数据包中的所述客户端当前时间戳和所述客户端识别码;
数字签名生成模块,用于将提取的所述客户端当前时间戳、所述客户端识别码和预存密码生成第二数字签名;其中,所述预存密码为预设的与所述客户端密码相同的密码;
第一判断模块,用于判断所述第一数字签名和所述第二数字签名是否相同;
第一检测模块,用于当所述第一数字签名和所述第二数字签名不相同时,判定发生重放攻击。
7.如权利要求6所述的重放攻击检测系统,其特征在于,所述重放攻击检测系统还包括:
第二判断模块,用于当所述第一数字签名和所述第二数字签名相同时,判断所述客户端当前时间戳是否大于预存在时间戳列表中的最新时间戳;
时间戳更新模块,用于当所述客户端当前时间戳大于所述最新时间戳时,以所述客户端当前时间戳作为所述最新时间戳写入所述时间戳列表中;
第二检测模块,用于当所述客户端当前时间戳小于或等于所述最新时间戳时,判定发生重放攻击或所述客户端请求超时。
8.如权利要求7所述的重放攻击检测系统,其特征在于,所述重放攻击检测系统还包括:
第三判断模块,用于判断所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值是否大于预设时间阈值;
时间戳删除模块,用于当所述最新时间戳与所述时间戳列表中的任一客户端时间戳的差值大于预设时间阈值时,在所述时间戳列表中删除与所述最新时间戳的差值大于所述预设时间阈值的客户端时间戳。
9.一种重放攻击检测设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的重放攻击检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至5中任意一项所述的重放攻击检测方法。
技术总结