我刚刚收到供应商发来的一封电子邮件,通知我们他们将强迫我们每六个月更改一次密码,我很好奇人们使用什么样的密码过期策略以及他们为什么使用它们。
答案1
永不更改和频繁更改之间有一条微妙的界线。多年来使用相同的密码通常不是一个好的解决方案,特别是当密码公开时。但强制执行频繁更改的严格政策也会带来不良副作用。我工作过的一个地方强制所有内部网络用户每 6 周更改一次密码,并且密码不能与之前的六个密码相同。三次错误的密码会锁定工作站,IT 人员必须解锁它。这导致每个人都将密码写在挂在屏幕上或放在抽屉里的便签上。噩梦。
我认为每 6 个月更改一次密码就足够了。这样可以避免那些令人讨厌的便签。
答案2
我建议使用一些数学知识,考虑一下你的最低密码复杂度、攻击者猜测密码的速度、你拥有的未锁定帐户的数量以及一些有关你的风险的信息。
希望您有某种密码猜测速率限制。通常,这会通过在一定次数的错误密码后临时锁定帐户的方式实现。
希望您对密码复杂性有某种要求,以便不允许使用“A”和“密码”。
假设 10 分钟内密码输入失败 30 次后,您的帐户将被锁定 20 分钟。这实际上将密码猜测率限制为每小时 174 次,或每天 4176 次。但我们假设这是每个用户的情况。
假设您需要包含大写字母、小写字母和数字的 8 个以上字符的密码,并且您会进行一些字典检查以确保这些密码是随机的。最坏的情况是您的用户都将一个大写字母和一个数字放在同一个位置,而您的攻击者知道这一点,因此您有 10 * 26 ^ 7 (80G) 个可能的密码。最佳情况是 62^8 (218T)。
因此,攻击者尝试所有可能的密码,最坏情况下需要 5 万年,最好情况下需要近 6 亿年。或者换句话说,假设一年,他们猜测的概率在 50,000 分之一到 52,000,000,000 分之一之间。如果你的用户群为 50,000,那么几乎可以保证,最坏情况下他们每年只能登录一个帐户,每 6 个月获得一个帐户的概率约为 50%。
如果你没有速率限制,攻击者一天可以猜出十亿个密码,那怎么办呢?一年内破解一个账户的几率是六百分之一,或者说每年几乎可以保证破解你 50,000 名用户中的 80 名。
进行计算,找出您可接受的风险水平。请记住,您设置的越短,用户就越难记住,他们越有可能将其写在某个方便现场攻击者的地方。
还有一个额外的好处:如果有人每天针对您的系统尝试每个用户数千个密码,我真的希望您有某种监控可以发现这种情况。
编辑: 忘了提:我们的实际政策是 90 天,但这与误导的安全审计员的发现有关,与现实无关。
答案3
90 天似乎足以应对大多数情况。我最担心的是密码的复杂性。生成便签的时间框架问题比强制复杂性更重要。避免使用字典单词是一回事,使用特殊字符是另一回事,但是当您开始规定字符不能重复或按升序/降序排列时,您就让用户的生活变得困难了。再加上较短的密码寿命,您就会遇到更多问题。
答案4
如果您的设备需要“高到超高”的安全保障,那么最好使用生成一次性密码的硬件令牌,而不是依赖密码过期。
密码过期系统的主要“好处”在于,如果帐户持有人离开组织,您最终将禁用该帐户,这是对“帐户持有人离开时应禁用该帐户”的额外“制衡”。
强制密码过期在最好的情况下会导致写下来的高质量密码,在最坏的情况下会导致糟糕的密码(在以前的工作场所,一旦我们被迫使用密码过期,我最终使用(基本上)prefixJan2003,prefixFeb2003等等,因为我生成密码的首选方法(48位随机位,Base64编码)不能扩展到“每月新密码”)。