阻止或降低分段攻击HotWC3网站注册散列数的方法
2011-12-26 23:56
323 查看
菜农在《分段攻击HotWC3网站注册散列数的方法》一文中介绍和演示了分段攻击HotWC3的方法。
此攻击手段避开了网站特定码和用户名的阻击,直接用散列数攻击用户密码。
它使本来认为对攻击者设置障碍的都形同虚设,关键就是可以分段攻击。
分段攻击利用了CRC的一个特性,即:
本次的密文作为下次的初值。
在那个2次攻击的例子中,攻击者借用第1次攻击得出的散列值做为第2次的初值,
导致了避开了网站特定码和用户名的阻击,直接用散列数攻击用户密码。
如何阻止或降低分段攻击呢???
CRC由初值,出值,权值和方向组成。权值即CRC多项式可认为是算法。
假若算法公开,那么就只剩下初值或出值了。
由于出值是简单的输出异或,可以放弃此想法,那么就是初值了。
再根据CRC的一个特性:
新原文=旧原文 XOR 旧初值。
新初值=0
由于HotWC3采用的是不可逆的CRC算法,故碰撞得出的分段原文可能不是真的原文。
故无法导出本次的初值即上次的密文即上个分段的散列值,这样就阻止了分段的攻击。
故第一个分段的初值必须不公开,这样才可以阻止分段攻击。
这样使攻击将需要全部的信息才能得出正确的散列值。
即逼迫用散列值碰撞得出真正的网站注册信息。
那么如何不公开初值呢???
这个初值必须由除用户和网站外的“第三方”来提供。
如安全U盘,提款机自身的密钥等“机器方”。
HotWC3网上单向散列函数验证:http://www.hotpage.net.cn/HotPower_HotAjax.html
用户hotpower手持:
用户名:hotpower,用户密码:250
机器手持初值:FFFFFFFFFFFFFFFF
网站www.21ic.com掌握:
网站特定码:www.21ic.com
用户名:hotpower
用户密码注册长度:3
散列数:8917DEF303D5B0E3 【上图中点击运算后的“结果”】
再例:
用户hotpower手持:
用户名:hotpower,用户密码:250
机器手持初值:0250250250250250
网站www.21ic.com掌握:
网站特定码:www.21ic.com
用户名:hotpower
用户密码注册长度:3
散列数:096D10296EA76B4F【上图中点击运算后的“结果”】
此方法由于采用三方认证,散列数由三方共同提供。其中机器方认为是不公开的,即初值不公开。
而网站方不知道用户密码和机器初值,攻击者必须同时碰撞两个参数,难度成级数发展。
最重要的是攻击者必须依靠机器穷举,例如将提款机拿回家里穷举~~~
否则攻击得到的散列数是无用的,因为HotWC3是流控制即顺序运算,没有初值将无法开始。
因为散列数必须严格按顺序计算,因为分段攻击已被阻止。
也许有人认为此方法只适用于软件和硬件结合的设备,由设备即机器来提供初值。
但是让人上网携带U盘肯定是不可取的。
那我们可以将用户密码发散分组为初值和密码。
例如用菜农的三角密码来呈现平方的发散,会是一个很大的数值,剪裁后作为初值和密码一样可以降低分段攻击的可能。
这样的发散初值可以得到保护,因为你必须知道用户密码才可以得到分解的初值和分解的密码。
你不知道初值,那么就归为了准三方认证,安全要提高不少。
菜农HotPower@126.com 2011.12.26 23:08 于雁塔菜地
此攻击手段避开了网站特定码和用户名的阻击,直接用散列数攻击用户密码。
它使本来认为对攻击者设置障碍的都形同虚设,关键就是可以分段攻击。
分段攻击利用了CRC的一个特性,即:
本次的密文作为下次的初值。
在那个2次攻击的例子中,攻击者借用第1次攻击得出的散列值做为第2次的初值,
导致了避开了网站特定码和用户名的阻击,直接用散列数攻击用户密码。
如何阻止或降低分段攻击呢???
CRC由初值,出值,权值和方向组成。权值即CRC多项式可认为是算法。
假若算法公开,那么就只剩下初值或出值了。
由于出值是简单的输出异或,可以放弃此想法,那么就是初值了。
再根据CRC的一个特性:
新原文=旧原文 XOR 旧初值。
新初值=0
由于HotWC3采用的是不可逆的CRC算法,故碰撞得出的分段原文可能不是真的原文。
故无法导出本次的初值即上次的密文即上个分段的散列值,这样就阻止了分段的攻击。
故第一个分段的初值必须不公开,这样才可以阻止分段攻击。
这样使攻击将需要全部的信息才能得出正确的散列值。
即逼迫用散列值碰撞得出真正的网站注册信息。
那么如何不公开初值呢???
这个初值必须由除用户和网站外的“第三方”来提供。
如安全U盘,提款机自身的密钥等“机器方”。
HotWC3网上单向散列函数验证:http://www.hotpage.net.cn/HotPower_HotAjax.html
用户hotpower手持:
用户名:hotpower,用户密码:250
机器手持初值:FFFFFFFFFFFFFFFF
网站www.21ic.com掌握:
网站特定码:www.21ic.com
用户名:hotpower
用户密码注册长度:3
散列数:8917DEF303D5B0E3 【上图中点击运算后的“结果”】
再例:
用户hotpower手持:
用户名:hotpower,用户密码:250
机器手持初值:0250250250250250
网站www.21ic.com掌握:
网站特定码:www.21ic.com
用户名:hotpower
用户密码注册长度:3
散列数:096D10296EA76B4F【上图中点击运算后的“结果”】
此方法由于采用三方认证,散列数由三方共同提供。其中机器方认为是不公开的,即初值不公开。
而网站方不知道用户密码和机器初值,攻击者必须同时碰撞两个参数,难度成级数发展。
最重要的是攻击者必须依靠机器穷举,例如将提款机拿回家里穷举~~~
否则攻击得到的散列数是无用的,因为HotWC3是流控制即顺序运算,没有初值将无法开始。
因为散列数必须严格按顺序计算,因为分段攻击已被阻止。
也许有人认为此方法只适用于软件和硬件结合的设备,由设备即机器来提供初值。
但是让人上网携带U盘肯定是不可取的。
那我们可以将用户密码发散分组为初值和密码。
例如用菜农的三角密码来呈现平方的发散,会是一个很大的数值,剪裁后作为初值和密码一样可以降低分段攻击的可能。
这样的发散初值可以得到保护,因为你必须知道用户密码才可以得到分解的初值和分解的密码。
你不知道初值,那么就归为了准三方认证,安全要提高不少。
菜农HotPower@126.com 2011.12.26 23:08 于雁塔菜地
相关文章推荐
- 阻止分段攻击HotWC3网站注册散列数的依据
- 分段攻击HotWC3网站注册散列数的方法
- 网站攻击的三种手段及预防方法
- 网站入侵的攻击方法和原理
- 网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法)
- 如何 阻止员工 访问 找工作网站 变态的方法 也适合禁用其它网站
- PHP防止被xss和sql语 cd6d 句注入攻击的方法(网站和app通用)
- WEB网站常见的攻击方法总结与原理分析
- 网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法
- 帝云网络网站被攻击了怎么办?各类攻击应对方法
- 如何防止网站注入攻击方法
- 简单高效防注入攻击的动态SQL语句拼接方法,提高网站的安全性
- 降低网站页面的相似度的方法
- 网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法)
- WEB网站常见的攻击方法总结与原理分析
- 常用网站攻击手段及防御方法
- 阻止同网段ARP欺骗攻击配置方法
- ASP.NET网站程序防SQL注入式攻击方法
- 网站注册时实现邮箱验证的一种方法
- 网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法)