先举个例子,
用户A向网站B提交登录信息,黑客C在A和B之间,截获了A发给B的包,虽然A发送用户名和密码之前使用类似hash之类的算法,使截获包人无法解析其中的密码,但是C不需要这样做,因为C可以把这个包发给B,然后B就会任何C是一个合法的用户,这样C就可以干任何事情了,保护更改密码之类,移动资金之类的。
这就是重放攻击。
接下来我们说说防止重放攻击的策略:
- token
- 一次性密码
- 时间戳认证
token
就是每一次登录都分配一个token,上次C虽然截获A的包,但是C发包给B去登录,B认为是另外一个登录,因此认证失败。
一次性密码
这个大家可能用过,就是现在很多的在线电子银行所使用的方法,给你手机发一个一次性密码,使用一次就失效。
时间戳认证
就是包上打上时间戳,然后使用大概的时间间隔加上发送时间戳,然后跟接受包的时间做比较,看是否在一个允许的范围之类,在这个之外,表示被重放过的包。
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.