单独的随机数不能避免重放攻击,随机数一般会和签名加密技术,后台验证技术混合以提高破解和重放难度。
重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。
从重放攻击的定义上我们可以看到,重放攻击提交给服务器的数据是曾经有效的,如何防止这种数据,对特定信息给与一个特定的随机数,并且这个随机数保存在服务器内,在验证了用户信息前,首先会对随机数进行验证,如果发现提交的随机数和服务器保存的不同则,该条信息无效通过这种方法来防止重放攻击。
常用的防御重放攻击,不会直接暴露随机数,一般随机数会用在MD5,HASH(数字签名)上,比如在对有效值进行MD5加密时添加随机数,如用户名为test,密码为test的MD5加密过程可能为MD5(“test”,”test”,随机数),这样在直接传输时不会暴露出随机值,黑客在提交重放攻击时系统发现MD5签名和系统签名计算后不同则,可被认定为重放攻击。
当然矛和盾是一种存在的,有可能该值刚好又一次的分配给了该用户,可能会重放攻击成功,但这个概率在科学计算上可以被视为0,而且随着随机数的位数的提高,概率会不断降低。