问题描述
正在研究HotWC3的碰撞问题,因为任何哈希函数存在着碰撞问题,例如王晓云教授研究MD5碰撞的成果。但是论坛或邮箱都可以用验证码来阻止穷举散列数的频率,输入密码错误次数锁定并发送绑定邮箱或绑定手机通知用户。这些都可以防范。但是存储散列值应该说比存储密文密码要安全的多,但单向散列函数故有的碰撞特性任何人都无法回避。为了在输入流中隐含更多的各方信息,例如散列数中同时隐含了用户和网站各自的信息例如:用户持有:用户名和用户密码网站持有:用户名和网站特定码和散列值。其中:散列值=哈希函数(用户名,用户密码,网站特定码)这样做后,用户或网站都必须同时知道对方的信息而且要知道算法。这样将降低碰撞的概率,逼迫其在知道用户名和网站特定码及算法的前提下攻击用户密码。由于论坛或邮箱登陆输入信息是以流的方式出现,故可以再附加用户密码的长度信息。由于散列函数碰撞可以用短密码长度得到同样的散列值,故测试用户密码注册长度也是一种安全机制。但同时又告诉了黑客重要的信息。用户持有:用户名和用户密码网站持有:用户名及用户密码注册长度和网站特定码和散列值。其中:散列值=哈希函数(用户名,用户密码,用户密码注册长度,网站特定码)为了解决密码找回问题,故网站数据库应该存储下列信息(字段):引用
1.用户名2.用户密码注册长度3.网站特定码4.散列值5.绑定邮箱6.绑定手机7.密码找回提问(是个漏洞,可以考虑废除)
[email=HotPower@126.com]HotPower@126.com[/email]2011.12.26菜农在忽略安全的发源地开战【已被CSDN咔嚓】:HotWC3密码体系验证三个链接地址:即日起开通:群课记录(内含水妹妹学习密码为写情书):HotWC3网上单向散列函数验证:[attachimg]90853[/attachimg].用户手持:用户名:,用户密码:250网站掌握:网站特定码:用户名:用户名注册长度:3散列数:8917DEF303D5B0E3用户名注册长度相当重要,虽然间接地告诉了黑客用户密码的长度,但是同时增大了碰撞的难度。这样迫使黑客只能用同样长度的字符或数字来制造碰撞即伪造。
解决方案
本帖最后由 HotWC3 于 2011-12-26 09:19:24 编辑
解决方案二:
.
解决方案三:
晕,俺在CSDN权限不够,贴图不了。详见: