重放攻击(Replay Attacks )
1 .什么是重放攻击
专注的天空,重复的对话要求是重播攻击。
可能是因为用户重复发起了请求,也可能是因为请求被攻击者获取并重新发送到服务器。
2 .重放攻击的危害
通过向攻击者请求获取,并重新发送到认证服务器,达到认证通过的目的。
我们可以通过加密和签名防止信息泄露,防止会话的劫持和修改。 但是,这种方法无法防止重放攻击。
3 .防御重放攻击
1 )时间戳验证
请求时添加客户端当前的时间戳,同时签名。 签名是为了防止会话被劫持,时间戳被修改。 服务端判断请求时间戳,超过5分钟以上时认定为重放攻击,请求无效。
时间戳无法完全防止重放攻击。
2 )序列号
的空集中客户端和服务器端通信时,首先定义初始序列号,每次递增。 这样,服务器就可以知道是否是重复发送的请求。
3 )挑战和回应的方式
我们一般用这种方式防御重播攻击。
当客户端请求服务器时,服务器首先生成随机数并将其返回给客户端。 客户端使用此随机数访问服务器,服务器将对照客户端的此参数进行匹配。 如果是一样的,就会是正确的,不是重放攻击。
在这种方式下,每次客户端请求时,服务器端都会生成挑战代码,客户端携带应答代码进行访问,服务器端进行比对,如果挑战代码和应答代码不对应,则视为重播攻击。
4 )防止Https重放攻击
对于https,每个套接字连接验证证书并交换密钥。 攻击者拦截请求并重新发送。 每个套接字的密钥都不一样,在后台解密时是乱码堆,所以https本身只要不能复制套接字或进行中间人攻击,就可以防止重放攻击。