【发布时间】:2017-04-04 19:56:00
【问题描述】:
我正在学习盐和散列密码。我有一个与 SQL 数据库集成的节点应用程序。我正在使用 bcrypt 节点中间件创建散列和加盐密码以存储在我的数据库中。我已经读过除了安全威胁之外,它不一定会使密码过期......但是密码的哈希值呢?
在我看来,每周左右随机更新每个用户的散列密码不是更安全吗?密码将保持不变,但服务器将生成并存储一个新的哈希值。
如果有人试图攻击我的网站或数据库,随机散列会改变安全性吗?
【问题讨论】:
我正在学习盐和散列密码。我有一个与 SQL 数据库集成的节点应用程序。我正在使用 bcrypt 节点中间件创建散列和加盐密码以存储在我的数据库中。我已经读过除了安全威胁之外,它不一定会使密码过期......但是密码的哈希值呢?
在我看来,每周左右随机更新每个用户的散列密码不是更安全吗?密码将保持不变,但服务器将生成并存储一个新的哈希值。
如果有人试图攻击我的网站或数据库,随机散列会改变安全性吗?
【问题讨论】:
不,它根本没有帮助。哈希值是否改变并不重要——密码仍然相同,因此攻击者仍然可以对他发现的数据库发起密码搜索攻击,无论它是否是当前数据库。
感谢您使用 bcrypt 并了解如何使用 password expiry policies are virtually useless。供您参考,NIST 正在提供有关密码安全的new guidance,好消息是许多令人讨厌的旧事物(例如密码过期和需要特殊字符组合)正在被删除。谢天谢地,逻辑开始胜过过去十年强加给太多人的一堆垃圾密码政策建议。
【讨论】:
这无济于事,因为底层算法保持不变。在黑客收到散列密码列表的情况下,她可以使用已知算法和猜测的盐对纯文本单词列表进行暴力破解。当算法和猜测的盐等于纯文本时,无论生成的哈希如何,密码都会被破解。
【讨论】: