好的,这就是整个故事。
首先,让我们定义一个方案的“好”程度。使用密码等,衡量标准是暴力攻击获得访问权限的平均试验次数。
假设您的密码是从包含n 个字符的字母S中提取的,密码的长度是k。那么可能的密码总数是n k。
那么,平均而言,蛮力攻击将在大约n k /2或n 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!',因此所有用户现在都将开始使用该密码。)