注意:我不是在问这个密码方案是不是最好的(当然不是);我问的是它相对于基于身份验证和加密中常用算法的最佳密码方案的理论或实际安全性。正如我在我的问题中已经说过的那样,从数学上讲,这个方案(正如我在这里定义的那样)与人们被告知要做的事情一样安全(但很少这样做;虽然在这里无关紧要),但我不知道是否有奇怪的使仅基于熵的数学分析无效的身份验证或加密方面。
好吧,所以我有了这个有趣的想法。由于受密码保护的系统通常要求用户经常更改密码,因此许多人只是增加一个附加到某些前缀的计数器,例如:
awefjio;1
awefjio;2
...
我想知道使用这样的密码族是否与每次选择一个完全随机的新密码一样安全,只要前缀是统一随机选择的,并且只要每个随机新密码加上大约 10 位。我忽略了计数器中的额外位,因为考虑到用户需要更改密码的频率,这可能会在很小的误差范围内被猜到。从数学上讲,这种密码方案已经足够好了,因为与完全随机的密码相比,额外的 10 位让攻击者尝试破解密码的时间是 1024 倍,假设一个人更改密码的次数不超过 1024 次。(这里我假设攻击者以某种方式拥有密码的哈希值,包括所需的任何盐。)
现在我知道了一个明显的缺点,即以某种方式获取当前密码的攻击者将知道所有以前的密码,然而这在大多数实际情况中似乎完全无关紧要,一旦登录用户就可以完全访问他/她的帐户,从不需要旧密码。
因此我的问题;用户不应该使用这个方案来更改密码有什么具体的原因吗?我猜如果答案是肯定的,那将取决于所涉及的身份验证或加密算法,在这种情况下,我可以将问题限制在最常用的算法上。
需要明确的是,我只询问以下情况:
用户别无选择,只能以某个固定频率更改密码,并且无法选择使用密码管理器(例如在工作场所的计算机上)。因此,他们必须决定某种方案。这个问题是关于一个特定的方案是否比另一个更好。
选择一个固定常数 n。如果这很重要,我至少要考虑 n ≥ 64。
一个。第一种方案是每次需要更改密码时,选择一个新的具有 n 位熵的独立随机字符串。
湾。第二种方案是选择一个具有 (n+10) 位熵的固定随机字符串,并附加一个计数器,该计数器在每次需要更改密码时递增。
问题是对于常见类型的密码保护系统,(b)是否至少与(a)一样安全。