定期更改密码策略是否有安全优势?

我发现在几种情况下,强制用户定期更改密码变得更加紧张,而不是安全上的帮助。 另外,我已经看到用户写下他们的新密码,因为他们没有足够的时间来记住他们的密码,也不能再重新学习密码。

在强制更改密码方面有什么安全优势?

这是从SANS日记不同的采取:
密码规则:每25年更换一次

有一个实际的好处。 如果有人拥有了你的密码,而他们只想阅读你的电子邮件而不被发现,他们可以永远这样做,除非你最终改变你的login密码。 因此,定期更改密码并不会有太大的帮助,可以让您有机会摆脱任何可能访问您帐户的潜在用户或窥探者。 是的,这是好的。 但是,单是这个好处是否值得麻烦,并提到强制用户每90天更换密码的弊端,我有我的怀疑。

当您猜测时强制更改密码(通过在所有用户上始终运行密码猜测程序)。

当“为什么”的答案时,很难与“你必须更改密码”争辩。 是“因为我们能够猜测它是盲目的”。 它会自动奖励那些select难以猜测密码的人,并教导你的用户什么密码薄弱。 如果他们select“密码1”,它将在他们可以login一次之前到期。 如果用户select16个字符,随机,混合大小写的字母数字密码,那么您将永远无法猜测它 – 而其他任何人都不会。 让我们保持很长一段时间,他们甚至能够记住它。

这是一个折衷。 要求频繁更改密码会导致质量较低的密码。 甚至有研究这个效果。

话虽如此,我发现阻止用户共享密码的唯一可靠方法是要求定期更改密码。 我的经验表明,90天似乎是可用性和安全性之间的一个体面的妥协。 如果你走得更久,人们就开始依靠共享密码 – 而且最终会以“November09”,“December09”结束。

关于强制更改密码的最糟糕的事情并不是您实际上正在导致人们更改密码。 这通常是很less或没有警告,他们立即就遇到了一个他们需要立即处理的问题,所以不是给人一个时间想出一个好的密码,而更可能是一个不太安全的密码但更容易记住,或更安全,但它只是被写下来,从而否定了安全优势。

如果密码足够复杂以至于难以猜测,而且它们不是在系统之间共享的,并且不太可能被破坏,那么更改密码可能并不是那么重要。

但是,如果出现任何一种情况,前两种情况可能比较常见,强制人们定期更改密码意味着至less不会共享密码。

也就是说,我会select教育你的用户一个好的密码是什么意思,为什么分享它们是非常糟糕的。 无论你做什么,把它们写下来都是很常见的。

我build议人们从他们知道的书中select一个密码,记住一些不太熟悉的引用,或者写一个短语。 使用每个单词的第一个字母,并在那里添加两个数字。 大多数人可以记住,他们键入了几次后。

我觉得这种做法没有任何好处。

强密码更重要。 强我的意思是要么9 +字母数字+特殊符号,或15 + [az] – 一般非字典密码/短语(这是基于最近的研究使用亚马逊的EC2 bruteforcing密码的成本)。

远程访问的系统必须在所有暴露的服务上都有暴力检测和预防软件(例如fail2ban)。 海事组织比密码更改政策更重要。

基本的问题是,密码作为一种安全机制,太臭了。

如果你要求人们经常改变他们,他们就把它们写下来。 如果您要求他们使用至less有3个数字,4个大写字母和一个控制字符的30个字母的密码,他们会忘记他们或写下来或做其他愚蠢的事情。 如果他们很简单,用户将使用像bunny7或Bunny7这样的愚蠢的密码。 他们将使用相同的密码,包括他们的色情帐户和他们的Hotmail帐户。

我喜欢Mobile OTP等工具,它允许用户使用他们的手机作为双因素authentication工具。

从长远来看,我们很可能以某种方式登陆一个encryption证书的世界作为用户身份识别机制。 像OpenID和CAS这样的事情简化了用户authentication,并允许方便的单点login。

从长远来看,最好的办法是减less用户需要发放凭证的次数 – 去除“HR”密码和“时间表”密码以及“CRM”密码。 将它们统一成一个通用的身份validation基础结构,要求用户一次性发放凭据。 然后让他们使用像MobileOTP或使用双因素身份validation的RSA SecurID 。

在短期内,密码政策将成为宗教战争的话题。 只要你的老板要求你做什么,如果你是老板,根据你的用户基础和预期的安全configuration文件使用你的判断。

祝你好运!

这种不完全无用的做法在很久以前变得更为重要。 辩论这个政策实际上是适得其反的,因为它将注意力转移到当前更为严重的威胁上。

考虑:

  • 如果您使用Windows / AD,并且帐户没有选中“帐户敏感且无法委托”checkbox,则可以通过模拟使用该帐户,并且不需要密码。 这样做的代码是微不足道的。

  • 如果某个人的Windows工作站受到安全漏洞的威胁,则其内存中的Windows安全令牌可用于访问其他计算机。 再次,不需要密码。

顺便说一句,第二个问题就是为什么你只能使用一个不同于你的日常常规用户帐户的帐户访问服务器。 还要注意,两种情况都完全失败,即使是最强健的双因素身份validation机制。

在密码安全方面可能发生的最好的事情就是停止辩论,专注于更现代化和严重的威胁。

更多信息:

看看卢克·詹宁斯(Luke Jennings)的演讲,“一个统治他们的标志”:

http://eusecwest.com/esw08/esw08-jennings.pdf

Insomnia Shell – 在ASP.Net服务器上危害令牌所需的代码示例:

http://www.insomniasec.com/releases/tools

如何:在ASP.NET 2.0中使用协议转换和约束委派

http://msdn.microsoft.com/en-us/library/ms998355.aspx

search“无密码”。

密码越长,密码就越容易受到攻击,这只是因为在可能发生危险的情况下(有可能有无限的时间),将会有更多的机会。 由于用户已经习惯了旧版本,这也使得将来难以改变。 进一步的风险是,如果它被破坏,并且用户不知道这个事实,则可能会发生一些严重的持续滥用用户帐户的情况。 定期更改将至less减轻,因为下一个强制的密码更改将导致妥协的密码无用。

根据我的经验,最有可能导致用户写下密码的情况是您的安全基础设施缺乏联合思维,例如拥有多个不同的系统,所有这些系统都需要自己的用户名和密码组合。 把5个人扔在一个用户身上,你会得到一个复仇的黄色粘滞综合征。

一个合理的密码策略,允许用户select易于记忆但难以破解的密码,加上一些良好的用户教育,一些可靠的集成身份validation,以及所有由明确禁止密码共享的AUP备份的正常的locking和过期策略,是最好的办法。

如果你正在caching证书(大多数人都是为了可用性而做的),那么这是必须的。 如果一台计算机被偷窃并启用了证书cachingfunction,那么这个小偷可能会将机器强行closures,而不必担心激活帐户locking策略。 然后,他们拥有有效的networking资源凭据。 定期更改这些密码可以帮助减less这种损害。

这就是您永远不会使用特权帐户login的确切原因,您始终以有限的用户身份login并提升个别提示,从而防止特权凭证在盗窃/中断时被强行强制。

我在从不要求更改密码的阵营。 或者正如文章所说 – 每隔25年 – 是的,那么我会死的。 好。 这是为什么…我有12个密码记在我的工作。 他们中的大多数改变和改变的是完全不同的时间表。 他们都有不同的强度要求。 一个软弱的人怎能应付这个呢? 我见过的几种方法:把它们写在白板上。 把它们写在纸上,放在一个未锁的抽屉里。 或我的首选方法:将它们存储在相当不安全的Google Doc电子表格中。 没有任何办法可以让我相信,任何这些方法(很常见)都不能完全抵消需要修改所带来的任何微小的安全利益。

我有时间写这篇文章,因为我正在等待IT支持人员解锁我的一个帐户。 显然,我上次没有正确更新电子表格。 是否有一项研究计算了这个废话的百万美元?