1
Layne 2014-12-25 14:52:43 +08:00
搜索一下花密
|
2
wy315700 2014-12-25 14:55:15 +08:00
现在的问题不在这里,你密码弱的话,salt也没用。
|
5
Layne 2014-12-25 15:02:20 +08:00
@wy315700 我记得在github上有源码,有兴趣的话可以研究一下。
我个别几个有可能需要在公共机器上登录的帐号的密码是通过花密生成的。 大多数不会在不是自己的机器上登录的帐号都是用1Password生成和存储密码。 |
6
wy315700 2014-12-25 15:09:11 +08:00
|
7
LukeXuan OP @wy315700
1. 我所说的pass, salt, hash是用户端自己计算的部分 而不是数据库中存储密码时进行的操作 2. 我所讨论问题的前提是该用户有足够的安全意识 亦即 如果 他不进行这个操作 数据库使用非对称加密后的密文存储密码 即使数据库被脱裤 也无法在可承受的时间代价内通过获得的密文密码 破解出他的明文密码 3. 而这种方法目的在于把脱裤的影响限制在被脱裤的服务内 而不导致其他服务的密码被获取 |
8
wy315700 2014-12-25 15:32:22 +08:00
@LukeXuan 你这个本质上和一个长密码效果是一样的,只不过这个长密码是你用hash计算出来的,
破解的时候,我不需要破解pass和salt,而只需要知道你本地hash的结果就可以登录到服务器了。 |
9
LukeXuan OP @wy315700
防止脱裤不是用户能控制的 但是我认为这种方法可以控制被脱裤后的对其他账户影响 同时尽量减少记忆密码的麻烦 |
12
nealfeng 2014-12-25 15:48:17 +08:00
可以用keepass,开源的。虽然不是特别好。
|
13
USCONAN 2014-12-25 15:51:54 +08:00
目前我是已經逐漸轉到 1Password,
在這之前我的密碼是人肉計算,因為以前沒有特別方便的密碼管理的方式,特別是智能手機以前,所以人肉算法可以在保證一定程度的密碼複雜度的同時還能保證不會忘記密碼。 計算過程大致是這樣 根據註冊的服務,然後用美國記電話號碼的習慣反轉成數字,隔字換符後加入定期修改的固定字元。 例如: 註冊 google.com,取 google,之後反轉為 466453,然後隔字 Shift 換符變成 4^6$5#, 最後頭尾加入固定的字元變成 ***4^6$5#*** 這種造型。(固定字元會定期修改). |
16
invite 2014-12-25 15:57:16 +08:00
直接上加密机,密码都在加密机里。
所有认证通过接口通讯,没有任何数据库操作。 |
18
imn1 2014-12-25 15:57:55 +08:00
你这个很多人想过,也包括我(我就自写了一个类似工具),最关键一点是每个人(每个客户端)的算法都要不同才行,否则知道算法的话,破主密码就所有站全破了
|
20
wy315700 2014-12-25 16:28:00 +08:00
@Earthman
因为hash不是加密,hash只是一个单向映射函数。 我说的其实是单纯多次hash不能增加安全性,很多密码学教材里都有写,但是没写原因,我想了一下 b = hash(a) c = hash(hash(a)) b和c的安全性是一样的 如果hash不可逆向,那么唯一的办法就是暴力搜索a,只不过一个要做一次运算,一个要做两次运算。 如果hash可逆,那么 a可以推出b,同理b也可以推出c 如果要用salt,建议采用安全标准里的hmac,而不是大部分系统采用的 hash(pass + salt)的方法 http://en.wikipedia.org/wiki/Hash-based_message_authentication_code |
22
huyuaning 2014-12-25 16:36:30 +08:00
我的密码策略是:基本密码@当前网站。
如v2ex网站密码:k4n8K2B1!@#@v2ex OSC密码:k4n8K2B1!@#@osc QQ邮箱独立密码:k4n8K2B1!@#@qqmail |
25
LukeXuan OP @huyuaning 那我不是知道了一个…尝试一下就知道其他的密码了么
不过应该可以逃脱大部分…毕竟脱裤出来那么多密码没有可能去枚举这样的组合 |
27
wy315700 2014-12-25 16:43:57 +08:00
@LukeXuan
比如使用 md5,sha1 比如没有salt, 比如使用 password + salt的简单方法 至于非对称加密,有一种挑战响应式认证标准 客户端产生私钥,服务器端存储公钥 认证的时候,服务器端发送一个随机字符串给客户端 客户端使用私钥签名后发回给服务器端。 服务器验证签名。 签名验证通过就算是通过认证了。 支付宝的数字签名系统就是这么工作的。 银行的u盾也都是这么工作的。 |
29
LukeXuan OP |
30
mcfog 2014-12-25 16:51:27 +08:00
|
31
wy315700 2014-12-25 16:53:10 +08:00
|
34
zomco 2014-12-25 18:57:43 +08:00 via iPhone
我的密码策略是:基础密码+附加密码
附加密码是自己在该网站做过印象最深刻的事情,比如QQ密码:abc123biaobai 密码可以被破解,但人心最难猜解 |
35
heiybb 2014-12-25 20:59:58 +08:00
@Layne 能否帮忙做个测试?
我用花密 记忆密码为:714154511 区分代号为:QQ 生成16位码为:Ke9209418beB7B13 不知道在不同的电脑上,记忆密码和区分代号相同时生成的码是否一样呢 |
38
luoweihua7sync 2014-12-25 22:37:49 +08:00
|