主要说两点一,是重播攻击吗?
二,如何防止重播攻击?
一,重播攻击: HitachiDSB,重量:重新定位的意思。
主机a向主机b发送消息时,中间再生攻击的主机可以是a或攻击者c
: a的情况下,a表示重复向b发送相同的消息,
: c的情况下,表示c监听到了a发送给b的信息,然后伪装成a向b发送了监听到的信息
重播攻击的含义:主机a发送给主机b的消息被攻击者c监听,然后,c伪装成a向b发送了监听到的消息,b误认为c是a而将应答消息发送给c。
a被加密了,但c不需要解密。
实例分析:登录验证
登录验证的基本流程:(步骤4 ) )。
1、前端:
输入用户名、密码,登录
2 )在用户发送登录请求之前,web方对首先明文密码进行md5加密(加密后的密码存储在后端数据库中)。
3、提交账号和md5加密密码
4、后端收到请求,将从数据库中提取的帐户和密码与当前提交的帐户和密码进行比较,如果相同,则登录成功。
那么,在此期间会发生什么问题呢?
思考:这个过程安全吗?
在这个过程中转发的是用md5加密的密码,知道即使被接收者监听,md5也是不可逆的,明文密码不会泄露。
否则,监听者无需解开密码明文就可以登录——。 这是因为,监听者只需播放监听到的URL(uniform ),就可以冒充你的身份登录系统。
让我来说明一下安全一点的登录。
重要的是进行了两次加密,攻击者的session随机代码与数据库随机代码的概率相同,可以被忽略。
1 )进入前端用户登录界面时生成随机代码(盐值) (该随机代码存储在客户端和后端的session上各一个) ) )。
2 )用户在发送登录请求之前,与web侧首先会对明文密码进行md5加密,存于数据库中、以及加密后的密码连接并进行md5加密
最后的密码=md5{[md5明文密码] }
3、当后端收到请求时,对从数据库中提取的md5加密后的密码后端session的盐进行md5加密,与发送过来的密文进行比较,如果相同则成功。
更安全的登录过程:
1、系统随机查询固定盐值,uerooejioeueo%@*?*6hgk,ikuolm足够复杂
2 )用户注册更改密码时,明文密码按先于固定盐连接,进行md5加密,然后与随机码连接再次进行md5加密
最后的密码=md5{【md5 (明文密码固定盐值)随机码}
最后,更完美的方法:
1、设置登录认证码、
2、错误达到一定次数,锁定账号几分钟
3、3,http://www.Sina.com/
存数据库前再加一次盐,然后再md5一次,防止拖库被猜密码,防御方案:
1、加随机数:双方只需记住各自使用的随机数,不能有重复数。 如果消息中存在以前使用的随机数,则会将其视为重放攻击
优点:双方不需要保持时间同步,
缺点:二已用随机数需要保存和查询开销
2、加时间戳:时间戳——表示当前时刻的数量
播放时间戳相对远离当前时间
优点:不需要内存开销
坏处:需要额外保存
3、自助餐)双方在信息中添加阶段性增加的整数时,认为只要收到不连续的自助餐信息(过大或过小)就会有播放的威胁
优点:同步耗时短,存储的信息量少
缺点:攻击者成功解密消息后,获取流号码并伪造数据
转载于:https://www.cn blogs.com/sharp hui 2018727-wyh/p/10068383.html