1

你们都遇到过各种网站,这些网站强制您使用 6 个字符长的密码,必须有 1 个数字,并且必须与“烦人”押韵。

显然有一些遗留的原因,为什么有时这是必要的,但有时这都是为了安全。我发现这很烦人,因为我有一组标准密码,这些密码通常不符合这些特殊规则,所以我必须创建并记住一个新密码。

如果您担心用户密码的复杂程度,似乎在安全方面还有更重要的事情需要担心。如果有人真的可以掌握该密码,那么您显然需要担心更大的问题。在依靠用户担心您的安全之前,请尽自己的一份力量并锁定您的系统端。

我的实际问题是:这些复杂的密码规则有哪些替代方法来降低彩虹表或暴力哈希反向器的风险,而不依赖用户承担记住复杂事物的重任?

一些想法:盐渍,...

4

6 回答 6

8

无论您选择什么,几乎每个网站都会对您的密码进行加盐和加密。问题不在于遗留代码、服务器端的数据库安全或类似的东西,开发人员在大多数情况下都会涵盖这些内容。问题是愚蠢的用户提交的密码很容易被破解。规则的重点是强迫您不要选择太愚蠢的密码。

这是一个参考链接。http://www.codinghorror.com/blog/archives/001206.html

于 2009-01-09T17:53:17.520 回答
5

密码规则的原因是尝试并确保“更强”的密码,这实际上意味着平均需要更多的尝试才能通过暴力攻击找到密码。大多数人,即使在经历了许多例子之后,比如最近的 Twitter 混乱,也会使用 Joe 密码,或者容易受到可行的暴力攻击的字典单词。

最好的办法是询问密码背后的数据的价值是多少,然后破解密码的成本(努力)是多少。如果值很小,你不需要复杂的规则,也许你根本不需要密码。如果价值很高,那么你需要让它变得更加困难。

于 2009-01-09T17:55:22.070 回答
1

使用 KeePass

http://keepass.info/

它肯定会减少麻烦。

于 2009-01-09T17:49:41.147 回答
1

好的,这就是整个故事。

首先,让我们定义一个方案的“好”程度。使用密码等,衡量标准是暴力攻击获得访问权限的平均试验次数。

假设您的密码是从包含n 个字符的字母S中提取的,密码的长度是k。那么可能的密码总数是n k

那么,平均而言,蛮力攻击将在大约n k /2n k-1 次试验中找到成功的密码。

为方便起见,并且出于某些信息论的考虑,我不打算讨论,我们通常将其表示为位数,即lg n k其中lg表示以 2 为底的对数。因为我们习惯于思考比特作为离散的东西,我们实际上通常取那个数字的上限,即大于lg n k的最小整数,但实际上小数值是完全合法的。

对于可打印字符、8 个字符的密码以及没有其他规则,该数字在 100 8或大约 10 16附近;大约是 53 位。唯一的问题是那些随机密码几乎是不可能记住的;它们往往会出现在黄色便签上,并且容易受到这种攻击。不过,这是一个有限的情况。通过蛮力猜测需要大约 100 万亿次尝试。如果每次尝试花费一分钱,那么理论上,您的数据可能价值高达 1 万亿美元,然后才值得窃贼花费时间。

另一方面,常用的字典词只有大约 50,000 个。这大约是 16 位,或者通过蛮力尝试大约需要 25,000 次。假设每次尝试花费一美分:那么您的数据最好不要超过 250.00 美元。

这两个都是规则的应用

R = P×H

其中R是风险,P是坏想法发生的概率,H风险)是坏事发生的成本。

现在,一分钱的尝试太高了,但您现在拥有所需的工具。弄清楚数据的价值,您可以使用此方法来决定您需要多广泛的规则集。(但要小心,如果您将规则设置得太严格,那么可接受密码集的熵会变小,直到您陷入老笑话,经过深思熟虑后,安全性确定最佳密码是 '*8h% Jd!',因此所有用户现在都将开始使用该密码。)

于 2009-01-10T03:04:27.297 回答
0

任何未经培训的用户(大多数 Web 应用程序的正常类型)会发现自然且容易记住的任何内容都很容易破解。不管你做什么来存储它,因为破解软件可以通过未经培训的用户可能使用的所有密码。仅当用户具有良好的密码时,加盐和散列才有效。

解决方案是要求用户记住更复杂的内容(您正在拒绝),或者根据用户拥有的内容进行验证,而不是用户可以记住的内容。这可以是一个写下来的密码,其中一个安全密钥会产生不可预测的数字,每隔几秒钟就会改变一次,或者更深奥的东西。

网站可以做的是允许各种强密码。我讨厌我想使用具有“无特殊字符”等规则的强密码(通常是金融或医疗)的网站。(当然,我不喜欢重复使用强密码;我不希望任何破解我的 HMO 安全性的人从我的 Barnes & Noble 帐户中自由订购。)

这可能不是您想要的答案,但坏人的能力足以压倒大多数人都喜欢的那种随意的安全性。

于 2009-01-23T17:44:58.907 回答
-1

Keepass 的另一个优点是它可以在 Windows 的大多数情况下直接从 USB 闪存驱动器运行(例如,甚至不必安装它)。将 keepass 和您的数据库文件都放在 USB 密钥上,您就有了一个快速简便的便携式密码参考数据库。确保你用一个很好的强密码保护keepass,就像你松开你的USB驱动器一样,你不希望所有的东西都进入你的密码数据库。

于 2009-01-09T18:15:15.463 回答