打印
[菜农助学交流]

菜农认为网站数据库应该存储的注册信息

[复制链接]
1437|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2011-12-26 09:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hotpower 于 2011-12-26 10:36 编辑

正在研究HotWC3的碰撞问题,因为任何哈希函数存在着碰撞问题,例如王晓云教授研究MD5碰撞的成果。

但是论坛或邮箱都可以用验证码来阻止穷举散列数的频率,输入密码错误次数锁定并发送绑定邮箱或绑定手机通知用户。

这些都可以防范。

但是存储散列值应该说比存储密文密码要安全的多,但单向散列函数故有的碰撞特性任何人都无法回避。

为了在输入流中隐含更多的各方信息,例如散列数中同时隐含了用户和网站各自的信息例如:

用户持有:用户名和用户密码
网站持有:用户名和网站特定码和散列值。

其中:散列值=哈希函数(用户名,用户密码,网站特定码)

这样做后,用户或网站都必须同时知道对方的信息而且要知道算法。
这样将降低碰撞的概率,逼迫其在知道用户名和网站特定码及算法的前提下攻击用户密码。

由于论坛或邮箱登陆输入信息是以流的方式出现,故可以再附加用户密码的长度信息。
由于散列函数碰撞可以用短密码长度得到同样的散列值,故测试用户密码注册长度也是
一种安全机制。但同时又告诉了黑客重要的信息。

用户持有:用户名和用户密码
网站持有:用户名及用户密码注册长度和网站特定码和散列值。

其中:散列值=哈希函数(用户名,用户密码,用户密码注册长度,网站特定码)

为了解决密码找回问题,故网站数据库应该存储下列信息(字段):
1.用户名
2.用户密码注册长度
3.网站特定码
4.散列值
5.绑定邮箱
6.绑定手机
7.密码找回提问(是个漏洞,可以考虑废除)

HotPower@126.com 2011.12.26

HotWC3密码体系验证三个链接地址:
http://www.hotpage.net.cn/HotPower_HotAjax.html
http://www.hotpower.net/HotPower_HotAjax.html
http://www.hotpower.org/HotPower_HotAjax.html

即日起开通:
HotWC3密码交流群:203534415
新浪HotWC3密码交流微群:542867

群课记录(内含水妹妹学习密码为写情书):
CSDN密码被盗?看菜农讲解Hotpower之论坛加密
雁塔菜农HotWC3注册门以及UID应用
幼儿园玩具-第一篇
幼儿园玩具-第二篇

回应菜农在看雪论坛被“拷打的难题”

HotWC3网上单向散列函数验证:http://www.hotpage.net.cn/HotPower_HotAjax.html




用户hotpower手持:
用户名:hotpower,用户密码:250

网站www.21ic.com掌握:
网站特定码:www.21ic.com
用户名:hotpower
用户密码注册长度:3
散列数:8917DEF303D5B0E3

用户密码注册长度相当重要,虽然间接地告诉了黑客用户密码的长度,但是同时增大了碰撞的难度。
这样迫使黑客只能用同样长度的字符或数字来制造碰撞即伪造。

总之出了用户本人外,任何人包括网管及黑客等都休想知道用户持有的密码。
除非他穷举碰撞,而且必须知道密码串的长度,故密码串长度也应该用密文存储。

相关帖子

沙发
Swallow_0322| | 2011-12-26 09:47 | 只看该作者
坐沙发!顶!

使用特权

评论回复
板凳
plc_avr| | 2011-12-26 10:11 | 只看该作者
做板凳.....

使用特权

评论回复
地板
hotpower|  楼主 | 2011-12-26 10:23 | 只看该作者

关于散列数查表问题

实际存储方式有问题。
首先要明白一个概念性的问题:
加密只有解密(**)的问题,散列只有碰撞(伪造)的问题。


对于一个散列数,实际碰撞和很多的,且有一定规律可寻,正如王晓云教授找到MD5碰撞的规律。


我们可以用一个日常生活来举例,攻破巨型数据库查表问题:


某日必定对应一个星期,例如今天是周一。
星期的周期是7天,即每7天为某星期几。
但是星期几却不知是具体的某日。


假若用数据库来存储星期散列数0~6(周日周一~周六),那么要存储多少日期???
故无法实现,即使可行也不现实。


HotWC3单向散列函数就是基于碰撞实现的,某个散列值对应巨多的原文信息。
即多对一的问题,就是日期和星期的关系。无法查表。


而且原文信息变长,这是散列函数的特性。
任意长度的原文信息都会经过散列函数被散列为固定长度的散列值。
从一个方向运算很容易,而从另一个方向运算很难。

故只有知道了用户密码才很容易计算出散列值,反之从散列值还原出用户密码几乎不可能实现。因为碰撞很多,而只有一个是对的。


菜农的CRC安全密码就是基于碰撞实现的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:[url=http://www.21ic.com/tools/HotWC3_V1.23.html]

1460

主题

21619

帖子

506

粉丝