CN112711759A - 一种防重放攻击漏洞安全防护的方法及系统 - Google Patents
一种防重放攻击漏洞安全防护的方法及系统 Download PDFInfo
- Publication number
- CN112711759A CN112711759A CN202011575866.7A CN202011575866A CN112711759A CN 112711759 A CN112711759 A CN 112711759A CN 202011575866 A CN202011575866 A CN 202011575866A CN 112711759 A CN112711759 A CN 112711759A
- Authority
- CN
- China
- Prior art keywords
- client
- information
- signature
- server
- data request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000012795 verification Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 description 9
- 230000002265 prevention Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 239000003999 initiator Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种防重放攻击漏洞安全防护的方法及系统,其方法包括:客户端根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息;所述客户端向所述服务器端发送包含所述客户端签名信息、客户端时间戳信息及客户端随机数信息的数据请求;所述服务器端接收到所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理。
Description
技术领域
本发明涉及应用软件安全防护领域,特别涉及一种防重放攻击漏洞安全防护的方法及系统。
背景技术
重放攻击(ReplayAttacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的。其主要原理如图3所示,主机A给主机B发送数据请求,重放攻击可由发起者A或攻击者C发起。若由发起者A发起,A会恶意重复发送数据请求;若由攻击者C发起,攻击者可利用网络监听或者其他方式盗取用户数据请求,再重发该请求给服务器。
目前防重放攻击的解决方案一般有两种:
一种是验证码机制,通过设置验证码,确保验证码一次有效,每次请求时更新新的验证码。该方式适用于登录过程。优点是简单易实现,缺点是影响用户使用。
另一种是随机数机制(挑战与应答的机制),客户端请求服务器时,服务器生成一个随机数返回给客户端,客户端带上这个随机数访问服务器,服务器比对客户端的这个参数,若相同则说明请求正常,不是重放攻击。但是该方案可通过如下方式进行重放攻击:客户端将获取随机数的请求和正常数据请求放到请求集合中,并设置全局变量。客户端将响应返回的随机数赋值给全局变量,然后再将全局变量的值赋值给正常数据请求从而可保证每个请求均带入有效的随机数。通过重放该请求集合,从而达到重放攻击的目的。因此该方案的缺点是不能有效防止重放攻击。
发明内容
为解决目前防重放攻击解决方案中出现的影响用户使用、不能有效防止重放攻击的问题,本申请提出了一种通过时间戳+随机数+基于用户会话签名标识的签名验证机制进行防重放攻击的安全防护的方法及系统。
根据本发明实施例提供的一种防重放攻击漏洞安全防护的方法,包括:
客户端根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息;
所述客户端向所述服务器端发送包含所述客户端签名信息、客户端时间戳信息及客户端随机数信息的数据请求;
所述服务器端接收到所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理。
优选地,还包括客户端获取客户端时间戳信息,其具体包括:
所述客户端通过向所述服务器端发送获取服务器端系统时间请求,接收所述服务器返回的服务器端当前系统时间;
所述客户端根据其当前时间和所述服务器端当前系统时间,计算所述客户端与所述服务器端之间的传输时间;
当所述客户端需要向服务器端发送数据请求时,根据所述客户端的当前时间和所述传输时间之和,得到所述客户端时间戳信息。
优选地,还包括客户端接收并保存所述服务器端发送的用户会话签名标识信息,其具体包括:
所述客户端在登录所述服务器端成功后,建立与所述服务器端之间的用户会话;
所述服务器端根据所述用户会话,生成与所述用户会话相关的用户会话签名标识信息,并将所述用户会话签名标识信息发送给所述客户端。
优选地,所述客户端根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息包括:
所述客户端利用MD5算法对所述用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息。
优选地,所述服务器端接收到所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理包括:
所述服务器端接收到所述数据请求后,通过分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证,判断所述数据请求是否为重放攻击;
当判断所述数据请求不为重放攻击时,将所述数据请求作为有效数据请求;
当判断所述数据请求为重放攻击时,则丢弃所述数据请求。
优选地,所述服务器端通过分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证,判断所述数据请求是否为重放攻击包括:
当所述客户端签名信息、客户端时间戳信息及客户端随机数信息的有效性均验证通过时,所述服务器端判断所述数据请求不为重放攻击;
当所述客户端签名信息和/或所述客户端时间戳信息和/或所述客户端随机数信息的有效性未验证通过时,所述服务器端判断所述数据请求为重放攻击。
优选地,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端时间戳信息进行有效性验证时,获取所述服务器端的当前时间,并计算所述服务器端的当前时间与所述客户端时间戳之间差值;
当所述差值小于预设阈值时,则确定所述客户端时间戳信息的有效性验证通过;
当所述差值不小于预设阈值时,则确定所述客户端时间戳信息的有效性验证未通过;
其中,所述预设阈值为数据请求从客户端到服务器端的传输时间值。
优选地,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端随机数信息进行有效性验证时,判断所述客户端随机数信息是否存在;
当判断所述客户端随机数信息不存在时,则确定所述客户端随机数信息的有效性验证通过;
当判断所述客户端随机数信息已存在时,则确定所述客户端随机数信息的有效性验证未通过;
其中,所述客户端随机数的有效时间为60秒。
优选地,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端签名信息进行有效性验证时,读取与所述客户端对应的用户会话签名标识信息;
所述服务器端利用MD5算法对所读取的用户会话签名标识信息、所述客户端签名信息及客户端时间戳信息进行数字签名处理,得到签名信息;
当所述签名信息与所述客户端签名信息相同时,则确定所述客户端签名信息的有效性验证通过;
当所述签名信息与所述客户端签名信息不同时,则确定所述客户端签名信息的有效性验证未通过。
根据本发明实施例提供的一种防重放攻击漏洞安全防护的系统,包括:
客户端,用于根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息,并向服务器端发送包含所述客户端签名信息、客户端时间戳信息及客户端随机数信息的数据请求;
服务器端,用于接收到所述客户端发送的所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理。
根据本发明实施例提供的方案,可有效解决重放攻击漏洞,提高编码安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于理解本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例提供的一种防重放攻击漏洞安全防护的方法流程图;
图2是本发明实施例提供的一种防重放攻击漏洞安全防护的系统示意图;
图3是现有技术提供的重放攻击原理图;
图4是本发明实施例提供的业务系统和安全组件关系图;
图5是本发明实施例提供的客户端安全组件详细解决方案流程图;
图6是本发明实施例提供的服务器端安全组件详细解决方案流程图;
图7是本发明实施例提供的用户会话签名标识u id生成和访问流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的一种防重放攻击漏洞安全防护的方法流程图,如图1所示,包括:
步骤S101:客户端根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息;
步骤S102:所述客户端向所述服务器端发送包含所述客户端签名信息、客户端时间戳信息及客户端随机数信息的数据请求;
步骤S103:所述服务器端接收到所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理。
优选地,还包括客户端获取客户端时间戳信息,其具体包括:
所述客户端通过向所述服务器端发送获取服务器端系统时间请求,接收所述服务器返回的服务器端当前系统时间;
所述客户端根据其当前时间和所述服务器端当前系统时间,计算所述客户端与所述服务器端之间的传输时间;
当所述客户端需要向服务器端发送数据请求时,根据所述客户端的当前时间和所述传输时间之和,得到所述客户端时间戳信息。
优选地,还包括客户端接收并保存所述服务器端发送的用户会话签名标识信息,其具体包括:
所述客户端在登录所述服务器端成功后,建立与所述服务器端之间的用户会话;
所述服务器端根据所述用户会话,生成与所述用户会话相关的用户会话签名标识信息,并将所述用户会话签名标识信息发送给所述客户端。
优选地,所述客户端根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息包括:
所述客户端利用MD5算法对所述用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息。
优选地,所述服务器端接收到所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理包括:
所述服务器端接收到所述数据请求后,通过分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证,判断所述数据请求是否为重放攻击;
当判断所述数据请求不为重放攻击时,将所述数据请求作为有效数据请求;
当判断所述数据请求为重放攻击时,则丢弃所述数据请求。
优选地,所述服务器端通过分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证,判断所述数据请求是否为重放攻击包括:
当所述客户端签名信息、客户端时间戳信息及客户端随机数信息的有效性均验证通过时,所述服务器端判断所述数据请求不为重放攻击;
当所述客户端签名信息和/或所述客户端时间戳信息和/或所述客户端随机数信息的有效性未验证通过时,所述服务器端判断所述数据请求为重放攻击。
优选地,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端时间戳信息进行有效性验证时,获取所述服务器端的当前时间,并计算所述服务器端的当前时间与所述客户端时间戳之间差值;
当所述差值小于预设阈值时,则确定所述客户端时间戳信息的有效性验证通过;
当所述差值不小于预设阈值时,则确定所述客户端时间戳信息的有效性验证未通过;
其中,所述预设阈值为数据请求从客户端到服务器端的传输时间值。
优选地,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端随机数信息进行有效性验证时,判断所述客户端随机数信息是否存在;
当判断所述客户端随机数信息不存在时,则确定所述客户端随机数信息的有效性验证通过;
当判断所述客户端随机数信息已存在时,则确定所述客户端随机数信息的有效性验证未通过;
其中,所述客户端随机数的有效时间为60秒。
优选地,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端签名信息进行有效性验证时,读取与所述客户端对应的用户会话签名标识信息;
所述服务器端利用MD5算法对所读取的用户会话签名标识信息、所述客户端签名信息及客户端时间戳信息进行数字签名处理,得到签名信息;
当所述签名信息与所述客户端签名信息相同时,则确定所述客户端签名信息的有效性验证通过;
当所述签名信息与所述客户端签名信息不同时,则确定所述客户端签名信息的有效性验证未通过。
图2是本发明实施例提供的一种防重放攻击漏洞安全防护的系统示意图,如图2所示,包括:客户端201,用于根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息,并向服务器端发送包含所述客户端签名信息、客户端时间戳信息及客户端随机数信息的数据请求;服务器端202,用于接收到所述客户端发送的所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理。
下面结合附图对本发明的技术方案进行详细说明
本发明技术方案主要包括防重放攻击安全组件客户端、防重放攻击安全组件服务器端两部分内容。如图4所示,防重放攻击安全组件工具通过对时间戳+随机数+基于会话签名标识的签名验证机制,客户端发送请求时带上客户端时间戳,并生成一次有效的随机的随机数,同时签名(签名是为了防止会话被劫持,时间戳和随机数参数被篡改),服务器端对请求时间戳、随机数及签名进行验证,一致则为有效请求,否则视为无效请求。其中会话签名标识uid作为防重放攻击解决方案中计算签名的盐值,是有效解决防重放攻击的关键,因此uid的生成和访问机制尤为重要。
业务系统引入防重放攻击安全组件(业务系统客户端引入防重放攻击安全组件客户端,业务系统服务器端引入防重放攻击安全组件服务器端),开启防重放功能后,服务器端在收到重放攻击请求时,会给客户端反馈相关错误信息(错误码:470,错误提示:非法请求)。在开发过程中使用时,具体包括业务系统客户端和业务系统服务器端2个步骤:
第一步骤,业务系统客户端在开发时的使用步骤
A、引入安全组件js包
B、开启防重放攻击配置
在客户端的全局配置文件中通过防重放攻击配置项来开启防重放功能,即可与安全组件服务器端对接,具备防重放攻击的功能。客户端开启防重放攻击的配置文件为:utils/request/settings.js,开启防重放攻击的配置项为isOpenAntiReply,true表示开启配置,false表示关闭配置。
第二步骤,业务系统服务器端在开发时的使用步骤
(1)集成安全组件
1)引入安全组件jar包
2)将安全组件加入到扫描路径
3)将SpringContext赋值给SecurityAPI
4)将安全组件配置文件ESAPI.properties放到resource目录下。
(2)开启会话组件
1)启用安全组件服务器端提供的SessionToolFilter
2)根据业务微服务选择的是session还是token认证机制,在ESAPI.properties中配置ESAPI.sessionToolHelper所使用的安全组件提供的具体的会话组件帮助类。
(3)开启防重放功能
启用安全组件服务器端提供的ReplayAttackFilter。
安全组件客户端和安全组件服务器端涉及的参数说明参见下表1所示:
表1:安全组件客户端和安全组件服务器端的参数表
图5是本发明实施例提供的客户端安全组件详细解决方案流程图,包括:
(51)用户访问客户端页面,客户端会向服务器端请求获取服务器端当前系统时间;
(52)客户端接收服务器端返回的当前系统时间timestamp_server,并计算出当前系统时间与当前客户端时间的差值,后续客户端时间戳timestamp=客户端当前时间+该差值;
(53)客户端生成仅一次有效的随机字符串nonce_client;
(54)客户端读取用户会话签名标识uid;
(55)客户端调用签名算法计算签名,sign_client=md5(timestamp+nonce_client+uid),对客户端时间戳timestamp、客户端随机数nonce_client、用户会话签名标识uid通过md5进行数字签名,(做签名计算是为了防止nonce和timestamp被篡改,uid字段不随请求发送防止中间人劫持);
(56)并将客户端签名sign_client、客户端时间戳timestamp、客户端随机数nonce_client值放到http头部随请求发送到服务器端。
图6是本发明实施例提供的服务器端安全组件详细解决方案流程图,包括:
(61)服务器端收到请求后,读取参数值timestamp、nonce_client、sign_client
(62)验证客户端timestamp参数,服务器端获取当前时间timestamp_now,计算和客户端timestamp时间戳的差值,判断是否小于60秒并且大于0(默认一次HTTP请求从发出到到达服务器的时间,是不会超过60秒的,并且传输请求一定会消耗时间)。若差值小于60秒并且大于0,则继续执行;否则请求无效。
(63)验证随机字符串nonce_client参数,判断nonce_client在服务器端是否存在,如果存在则请求无效,视为重放攻击;若不存在则进行下一步,并将nonce_client记录在用户session中,失效时间一般设置为60秒
(64)验证签名sign_client参数,服务器端读取该用户的uid参数,并记录前端传回的timestamp、nonce_client参数,调用签名生成算法,得到sign_server=md5(timestamp+nonce_client+uid),验证sign_server是否等于sign_client,若一致,说明参数未被篡改,请求有效;若不一致,说明参数被篡改,将请求丢弃。
图7是本发明实施例提供的用户会话签名标识uid生成和访问流程图,包括:
(71)用户首次访问系统建立第一用户会话后,客户端请求服务器端获取公钥;
(72)服务器端生成与第一用户会话相关的公私钥(会话周期内有效),将公钥publickey_server发送给客户端;
(73)用户登录认证通过以后,建立第二用户会话,服务器端替换原有会话id(第一用户会话)并在服务器端存储;
(74)客户端生成公私钥对,用服务器端公钥对客户端公钥进行加密encryptpublickey_client=RSA.encrypt(publickey_client,publickey_server),并将加密后的客户端公钥发送到服务器端;
(75)服务器端接收请求后使用服务器端私钥对其解密,获取客户端公钥publickey_client=RSA.decrypt(encryptpublickey_client,privatekey_server);
(76)服务器端生成与第二用户会话相关的用户会话签名标识uid(uid在会话周期内有效,可以依据开发方便和业务需求选择存储方案,如系统使用了session机制可存储在session中,或者选择存储在缓存中或数据库中),并使用客户端公钥对uid进行加密后发送到客户端,encryptuid=RSA.encrypt(uid,publickey_client);
(77)客户端得到响应数据后,用客户端私钥对其进行解密得到明文uid,uid=RSA.decrypt(encryptuid,privatekey_client),并将uid本地保存后待后续使用(uid在会话周期内有效,存储在客户端的localstorage中,用户注销登录或者重新跳转至登录页面时,客户端程序会手动清除localstorage中的内容,且uid存储时参数名进行序列化混淆)。
根据本发明实施例提供的方案,综合考虑了uid的传输和存储安全、防止中间人劫持,可保证每个用户每个会话周期内的uid均不同,且无法伪造和篡改(uid由服务器端生成)。并通过uid的生成和访问机制,结合时间戳、随机数,可有效解决重放攻击漏洞。同时通过封装为防重放攻击安全组件客户端、防重放攻击安全组件服务器端,业务系统引入该安全组件后,可降低开发难度和开发工作量。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种防重放攻击漏洞安全防护的方法,其特征在于,包括:
客户端根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息;
所述客户端向所述服务器端发送包含所述客户端签名信息、客户端时间戳信息及客户端随机数信息的数据请求;
所述服务器端接收到所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理。
2.根据权利要求1所述的方法,其特征在于,还包括客户端获取客户端时间戳信息,其具体包括:
所述客户端通过向所述服务器端发送获取服务器端系统时间请求,接收所述服务器返回的服务器端当前系统时间;
所述客户端根据其当前时间和所述服务器端当前系统时间,计算所述客户端与所述服务器端之间的传输时间;
当所述客户端需要向服务器端发送数据请求时,根据所述客户端的当前时间和所述传输时间之和,得到所述客户端时间戳信息。
3.根据权利要求1所述的方法,其特征在于,还包括客户端接收并保存所述服务器端发送的用户会话签名标识信息,其具体包括:
所述客户端在登录所述服务器端成功后,建立与所述服务器端之间的用户会话;
所述服务器端根据所述用户会话,生成与所述用户会话相关的用户会话签名标识信息,并将所述用户会话签名标识信息发送给所述客户端。
4.根据权利要求1所述的方法,其特征在于,所述客户端根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息包括:
所述客户端利用MD5算法对所述用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息。
5.根据权利要求4所述的方法,其特征在于,所述服务器端接收到所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理包括:
所述服务器端接收到所述数据请求后,通过分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证,判断所述数据请求是否为重放攻击;
当判断所述数据请求不为重放攻击时,将所述数据请求作为有效数据请求;
当判断所述数据请求为重放攻击时,则丢弃所述数据请求。
6.根据权利要求5所述的方法,其特征在于,所述服务器端通过分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证,判断所述数据请求是否为重放攻击包括:
当所述客户端签名信息、客户端时间戳信息及客户端随机数信息的有效性均验证通过时,所述服务器端判断所述数据请求不为重放攻击;
当所述客户端签名信息和/或所述客户端时间戳信息和/或所述客户端随机数信息的有效性未验证通过时,所述服务器端判断所述数据请求为重放攻击。
7.根据权利要求5所述的方法,其特征在于,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端时间戳信息进行有效性验证时,获取所述服务器端的当前时间,并计算所述服务器端的当前时间与所述客户端时间戳之间差值;
当所述差值小于预设阈值时,所述服务器端确定所述客户端时间戳信息的有效性验证通过;
当所述差值不小于预设阈值时,所述服务器端确定所述客户端时间戳信息的有效性验证未通过;
其中,所述预设阈值为数据请求从客户端到服务器端的传输时间值。
8.根据权利要求5所述的方法,其特征在于,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端随机数信息进行有效性验证时,判断所述客户端随机数信息是否存在;
当判断所述客户端随机数信息不存在时,所述服务器端确定所述客户端随机数信息的有效性验证通过;
当判断所述客户端随机数信息已存在时,所述服务器端确定所述客户端随机数信息的有效性验证未通过;
其中,所述客户端随机数的有效时间为60秒。
9.根据权利要求5所述的方法,其特征在于,所述服务器端分别对所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行有效性验证包括:
当所述服务器端对所述客户端签名信息进行有效性验证时,读取与所述客户端对应的用户会话签名标识信息;
所述服务器端利用MD5算法对所读取的用户会话签名标识信息、所述客户端签名信息及客户端时间戳信息进行数字签名处理,得到签名信息;
当所述签名信息与所述客户端签名信息相同时,所述服务器端确定所述客户端签名信息的有效性验证通过;
当所述签名信息与所述客户端签名信息不同时,所述服务器端确定所述客户端签名信息的有效性验证未通过。
10.一种防重放攻击漏洞安全防护的系统,其特征在于,包括:
客户端,用于根据用户会话签名标识信息、客户端时间戳信息及客户端随机数信息进行数字签名处理,得到所述客户端的签名信息,并向服务器端发送包含所述客户端签名信息、客户端时间戳信息及客户端随机数信息的数据请求;
服务器端,用于接收到所述客户端发送的所述数据请求后,利用所述数据请求中的所述客户端签名信息、客户端时间戳信息及客户端随机数信息进行防重放攻击漏洞安全防护处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011575866.7A CN112711759A (zh) | 2020-12-28 | 2020-12-28 | 一种防重放攻击漏洞安全防护的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011575866.7A CN112711759A (zh) | 2020-12-28 | 2020-12-28 | 一种防重放攻击漏洞安全防护的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112711759A true CN112711759A (zh) | 2021-04-27 |
Family
ID=75545697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011575866.7A Pending CN112711759A (zh) | 2020-12-28 | 2020-12-28 | 一种防重放攻击漏洞安全防护的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711759A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225348A (zh) * | 2021-05-19 | 2021-08-06 | 中国建设银行股份有限公司 | 请求防重放校验方法和装置 |
CN113382011A (zh) * | 2021-06-18 | 2021-09-10 | 金陵科技学院 | 一种api接口防止重放攻击的方法 |
CN113806810A (zh) * | 2021-07-12 | 2021-12-17 | 统信软件技术有限公司 | 认证方法、认证系统、计算设备以及存储介质 |
CN114124374A (zh) * | 2021-11-10 | 2022-03-01 | 郭胜群 | 一种通讯防重放方法及系统 |
CN114338114A (zh) * | 2021-12-21 | 2022-04-12 | 中国农业银行股份有限公司 | 一种入侵检测方法、装置、设备及存储介质 |
CN114640524A (zh) * | 2022-03-18 | 2022-06-17 | 中国建设银行股份有限公司 | 用于处理交易重放攻击的方法、装置、设备及介质 |
CN114745202A (zh) * | 2022-05-10 | 2022-07-12 | 山东鲁软数字科技有限公司 | 一种主动防御web攻击的方法及基于主动防御的web安全网关 |
CN114884736A (zh) * | 2022-05-11 | 2022-08-09 | 山东鲁软数字科技有限公司 | 一种防爆破攻击的安全防护方法及装置 |
CN115065503A (zh) * | 2022-05-11 | 2022-09-16 | 浪潮云信息技术股份公司 | 一种api网关防重放攻击的方法 |
CN115460598A (zh) * | 2021-06-07 | 2022-12-09 | 中移物联网有限公司 | 一种离线密码的鉴权方法、生成方法、设备端及服务端 |
CN115065503B (zh) * | 2022-05-11 | 2024-05-31 | 浪潮云信息技术股份公司 | 一种api网关防重放攻击的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739659A (zh) * | 2012-06-16 | 2012-10-17 | 华南师范大学 | 一种防重放攻击的认证方法 |
CN109450649A (zh) * | 2018-12-28 | 2019-03-08 | 北京金山安全软件有限公司 | 一种基于应用程序接口的网关验证方法、装置及电子设备 |
CN110611564A (zh) * | 2019-07-30 | 2019-12-24 | 云南昆钢电子信息科技有限公司 | 一种基于时间戳的api重放攻击的防御系统及方法 |
CN111262701A (zh) * | 2020-01-10 | 2020-06-09 | 普联国际有限公司 | 一种重放攻击检测方法、系统、设备及存储介质 |
-
2020
- 2020-12-28 CN CN202011575866.7A patent/CN112711759A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739659A (zh) * | 2012-06-16 | 2012-10-17 | 华南师范大学 | 一种防重放攻击的认证方法 |
CN109450649A (zh) * | 2018-12-28 | 2019-03-08 | 北京金山安全软件有限公司 | 一种基于应用程序接口的网关验证方法、装置及电子设备 |
CN110611564A (zh) * | 2019-07-30 | 2019-12-24 | 云南昆钢电子信息科技有限公司 | 一种基于时间戳的api重放攻击的防御系统及方法 |
CN111262701A (zh) * | 2020-01-10 | 2020-06-09 | 普联国际有限公司 | 一种重放攻击检测方法、系统、设备及存储介质 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225348A (zh) * | 2021-05-19 | 2021-08-06 | 中国建设银行股份有限公司 | 请求防重放校验方法和装置 |
CN113225348B (zh) * | 2021-05-19 | 2023-04-07 | 中国建设银行股份有限公司 | 请求防重放校验方法和装置 |
CN115460598A (zh) * | 2021-06-07 | 2022-12-09 | 中移物联网有限公司 | 一种离线密码的鉴权方法、生成方法、设备端及服务端 |
CN113382011A (zh) * | 2021-06-18 | 2021-09-10 | 金陵科技学院 | 一种api接口防止重放攻击的方法 |
CN113382011B (zh) * | 2021-06-18 | 2023-03-24 | 金陵科技学院 | 一种api接口防止重放攻击的方法 |
CN113806810A (zh) * | 2021-07-12 | 2021-12-17 | 统信软件技术有限公司 | 认证方法、认证系统、计算设备以及存储介质 |
CN113806810B (zh) * | 2021-07-12 | 2024-05-14 | 统信软件技术有限公司 | 认证方法、认证系统、计算设备以及存储介质 |
CN114124374A (zh) * | 2021-11-10 | 2022-03-01 | 郭胜群 | 一种通讯防重放方法及系统 |
CN114338114A (zh) * | 2021-12-21 | 2022-04-12 | 中国农业银行股份有限公司 | 一种入侵检测方法、装置、设备及存储介质 |
CN114640524B (zh) * | 2022-03-18 | 2024-04-30 | 中国建设银行股份有限公司 | 用于处理交易重放攻击的方法、装置、设备及介质 |
CN114640524A (zh) * | 2022-03-18 | 2022-06-17 | 中国建设银行股份有限公司 | 用于处理交易重放攻击的方法、装置、设备及介质 |
CN114745202A (zh) * | 2022-05-10 | 2022-07-12 | 山东鲁软数字科技有限公司 | 一种主动防御web攻击的方法及基于主动防御的web安全网关 |
CN115065503A (zh) * | 2022-05-11 | 2022-09-16 | 浪潮云信息技术股份公司 | 一种api网关防重放攻击的方法 |
CN114884736B (zh) * | 2022-05-11 | 2024-04-09 | 山东鲁软数字科技有限公司 | 一种防爆破攻击的安全防护方法及装置 |
CN114884736A (zh) * | 2022-05-11 | 2022-08-09 | 山东鲁软数字科技有限公司 | 一种防爆破攻击的安全防护方法及装置 |
CN115065503B (zh) * | 2022-05-11 | 2024-05-31 | 浪潮云信息技术股份公司 | 一种api网关防重放攻击的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711759A (zh) | 一种防重放攻击漏洞安全防护的方法及系统 | |
US8478998B2 (en) | Authenticated communication using a shared unpredictable secret | |
WO2016180202A1 (zh) | 一种安全通讯的方法和装置 | |
US8024488B2 (en) | Methods and apparatus to validate configuration of computerized devices | |
US8813181B2 (en) | Electronic verification systems | |
US8839397B2 (en) | End point context and trust level determination | |
US9853964B2 (en) | System and method for authenticating the legitimacy of a request for a resource by a user | |
EP3913854A1 (en) | Methods and systems for pki-based authentication | |
WO2016184216A1 (zh) | 一种防止盗链的方法、防止盗链的服务器及客户端 | |
CN109361668A (zh) | 一种数据可信传输方法 | |
CN106453352B (zh) | 一种单系统多平台身份验证方法 | |
US20160381001A1 (en) | Method and apparatus for identity authentication between systems | |
US10348701B2 (en) | Protecting clients from open redirect security vulnerabilities in web applications | |
CN111371725A (zh) | 一种提升会话机制安全性的方法、终端设备和存储介质 | |
JP2007508765A (ja) | セキュリティモジュールを有するユーザ装置により実行できる処理に対するプライバシの維持 | |
CN112699374A (zh) | 一种完整性校验漏洞安全防护的方法及系统 | |
KR101407373B1 (ko) | 서버와 클라이언트 시스템 간의 통신 세션에서 상태 추적메커니즘을 수행하는 방법 | |
CN111901124B (zh) | 一种通信安全防护方法、装置及电子设备 | |
CN114553480B (zh) | 跨域单点登录方法、装置、电子设备及可读存储介质 | |
CN112968910B (zh) | 一种防重放攻击方法和装置 | |
CN112380501B (zh) | 设备运行方法、装置、设备和存储介质 | |
CN117155716B (zh) | 访问校验方法和装置、存储介质及电子设备 | |
CN111614458A (zh) | 网关jwt的生成方法、系统及存储介质 | |
US20230179433A1 (en) | Systems and Methods for Distributed, Stateless, and Dynamic Browser Challenge Generation and Verification | |
US20240064006A1 (en) | Identity authentication method and apparatus, storage medium, program, and program product |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210427 |
|
RJ01 | Rejection of invention patent application after publication |