密码泄路很疯狂,很多密码加密都使用了salt,如何安全的保存salt呢?

2011-12-29 16:46:11 +08:00
 etre
如何安全的保存salt?存在其他地方,程序中等等?
17350 次点击
所在节点    程序员
66 条回复
bhuztez
2011-12-29 20:48:11 +08:00
@yyfearth hash消耗计算能力过多,你就等着被DDoS吧
yyfearth
2011-12-29 20:50:06 +08:00
@dongbeta 对于用户而言,如果每个账号,密码都不一样,就算明文保存也不怕泄露。大不了从新生成一个。
我还用过用get明文发送用户名密码的系统呢~!(当然是玩玩)
9hills
2011-12-29 20:51:45 +08:00
@bhuztez 限制登录就好了,连续五次密码错误封ip 30min。

discuz都有这功能
9hills
2011-12-29 20:51:57 +08:00
@bhuztez 限制登录就好了,连续五次密码错误禁止ip登录 30min。

discuz都有这功能
yyfearth
2011-12-29 20:58:32 +08:00
@bhuztez @9hills 所以就要权衡。比如hash计算消耗的时间比原来直接用md5的慢上个几倍,效率并不会减低太多。但是对于破解者而言就效率就降低很多很多了。
限制次数也无法阻止大规模分布式的DDoS,不过相比没有来说会好很多。
bhuztez
2011-12-29 21:00:55 +08:00
@yyfearth 所以负责任的态度是只能选择不存,因为快的要被暴破,慢的要被DDoS
9hills
2011-12-29 21:04:41 +08:00
@bhuztez 不存密码?

世界上的事情都是权衡出来的,什么叫快的被暴破,慢的被DDOS

用上我上面说的那些方法,一般的黑客就已经无可奈何了。

你非要说假如大规模DDOS如何如何,假如别人用集群计算如何如何。。。当自己是Google啊,那么招人恨?
yyfearth
2011-12-29 21:05:10 +08:00
@bhuztez 如果啥时候可以发明不需要密码,而且又不麻烦的的authentication的方法,绝对是一次技术革命啊。
目前来说有指纹、面部、瞳孔。但是都不是很靠谱,而且都不如密码效果好。
我相信,如果读脑技术出现,可以解决这个问题。
bhuztez
2011-12-29 21:06:18 +08:00
@yyfearth 不能,因为设备可以伪造,哈哈哈
yyfearth
2011-12-29 21:06:45 +08:00
@9hills 别说,还真有不需要密码的网站,用cert数字证书,绝对比密码靠谱。不过相比之下使用更加麻烦。
9hills
2011-12-29 21:09:54 +08:00
@yyfearth 还有成本问题呢,数字证书怎么保证安全性,和银行一样搞USB key么?
USBkey的成本谁掏,做一个简单的网站,比如v2ex,然后上个USBkey,搞笑~

世上没有绝对的安全,只有相对的安全。假如都像@bhuztez这样抬杠,人类回到原始社会算了。
bhuztez
2011-12-29 21:10:42 +08:00
@9hills 因为很难权衡,随着时间推移安全的长度会逐渐变长,你得选择一个合适的策略,在合适的时候让用户换密码。
dndx
2011-12-29 21:11:28 +08:00
@yyfearth 对,农行的网银就是这样,插上USBKEY就有个Personal证书,拔掉就没了。
登录时选择证书就可以直接登录。
yyfearth
2011-12-29 21:12:52 +08:00
@bhuztez 如果把特定脑电波的pattern作为密码,由于数据量极大,而且可能很难模仿,相当于用非常非常长的密码,这样爆破几乎不可能了。(当然,那时候的计算机估计也可以到把我们目前所有密码爆破的能力)
用设备伪造前提是窃取了传输的信息或者在本地窃取(相当于keylogger),那是客户端和传输的问题了,那个对于服务器端就完全没辙。
ofan
2011-12-29 21:13:54 +08:00
脑波都出来了... 我来发动动波 ============>------
bhuztez
2011-12-29 21:14:55 +08:00
@9hills 安全策略本来就只能在确定你需要的安全等级后,相互challenge,排除了所有疑问之后才可以指定的。看看选个AES,到后面剩下几个选项在当时都没有哪怕不太明显的漏洞了,不还得继续相互challenge。
yyfearth
2011-12-29 21:16:14 +08:00
@dndx 但是就算是有证书,也往往还是要个密码,因为如果证书被盗,还有一层保障。除非2者一起被盗。
其实,现在大多增加安全性的方法,就是多种方法一起用。虽然麻烦了些,但是也更加要保障。比如手机的验证码,usbkey,数字证书,数字令牌,再加上传统的密码。
唉,扯太远了,睡觉去。
yyfearth
2011-12-29 21:18:48 +08:00
@9hills 弱密码验证库 可以直接用这次泄密的统计数据啊
yyfearth
2011-12-29 21:20:12 +08:00
@yyfearth 但是这样,有时候用户仅仅是想注册个号进去一下的话,就搞得用户很麻烦了。其实csdn那么多123456就是因为这个原因。
clowwindy
2011-12-29 21:22:24 +08:00
用户设置和修改密码时产生一个纯随机salt,明文保存。这样所有用户的密码hash就都不一样了,无法生成反查表。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/24607

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX