Security 如何强制使用强密码?

Security 如何强制使用强密码?,security,passwords,Security,Passwords,有许多技术可以在网站上强制使用强密码: 请求密码通过复杂程度不同的正则表达式 自动设置密码,以便临时用户拥有强大的密码 让密码过期 等等 另一方面也有缺点,因为所有这些都让用户的生活变得不那么轻松,这意味着注册量减少 那么,你使用什么技巧?与不便相比,哪一项提供了最佳的保护? 澄清一下,我指的不是银行网站或存储信用卡的网站。更多地考虑仍然需要注册的流行(或不太流行)站点。最好的方法实际上取决于您的站点和您使用的内容。但理想的方法是在客户端提交之前,尽可能多地在客户端执行操作。使用正则表达式是

有许多技术可以在网站上强制使用强密码:

  • 请求密码通过复杂程度不同的正则表达式
  • 自动设置密码,以便临时用户拥有强大的密码
  • 让密码过期
  • 等等
另一方面也有缺点,因为所有这些都让用户的生活变得不那么轻松,这意味着注册量减少

那么,你使用什么技巧?与不便相比,哪一项提供了最佳的保护?


澄清一下,我指的不是银行网站或存储信用卡的网站。更多地考虑仍然需要注册的流行(或不太流行)站点。

最好的方法实际上取决于您的站点和您使用的内容。但理想的方法是在客户端提交之前,尽可能多地在客户端执行操作。使用正则表达式是一种好方法。如果你能让他们不必再次提交表单,那就太理想了。

不要强制执行任何内容。。。如果您没有保护财务信息或其他同等重要的信息,请不要让用户选择强密码

我在一大堆需要注册论坛等的网站上都有同样的弱密码。我真的不在乎是否有人猜到了,是否可以像我一样发布消息(我也不认为有人这么做的动机)。我不能做的是记住十几个站点的不同强密码,我真的不想用另一个软件为我管理它们


最好的折衷办法是向用户显示密码强度的某种反馈(取决于它是否是字典单词、不同字符类型的数量、长度等)。

让密码过期时,这种做法有两个值得注意的问题:

  • 用户发现更难记住他们当前的密码,因此他们更可能做一些愚蠢的事情,比如把密码写在贴在显示器上的帖子上
  • 用户不会在每次尝试时生成新的、强的、不相关的密码。大多数情况下,他们使用某种方案生成与旧密码类似的密码。因此,如果攻击者得到一个旧密码,他们仍然很容易推断出一个新密码

编辑:这并不是说我反对整个想法,只是这需要与其他因素一起考虑。

我认为强制使用强密码是不可能的,但你可以做很多事情来尽可能地鼓励他们

  • 对每个密码进行评分,并以分数或图形栏等形式向用户提供反馈
  • 设置一个最低密码分数来清除那些糟糕的密码
  • 有一个常用词的列表,这些词要么被禁止,要么被输入密码分数
我喜欢使用的一个绝妙的技巧是将密码的过期日期与密码分数挂钩。因此,更强大的密码不需要经常更改。如果您可以直接向用户反馈他们选择的密码的有效期(并动态更新密码,以便他们能够看到添加字符对日期的影响),那么这种方法尤其有效

为什么要强制执行

我发现“密码强度表”(在键入时指示密码强度的条)通常是一个很好的非侵入性度量。它让那些关心安全的人对密码的弱点感到内疚,但不会让那些不太关心的人感到沮丧


此外,还有一篇有见地的文章。

根据我的经验,这实际上取决于网站的类型,正如你所说的

如果您正在创建银行或金融网站,则用户通常会了解您是否拥有更安全的密码,因为他们的个人数据可能存在风险

但是,对于通常不包含大量个人信息的网站,可以使用更简单的密码。他们可能不太容易被黑客攻击,也不会得到任何有价值的东西

我还发现,大多数人似乎也经常使用一些密码。一个是复杂的,另一个是简单的。因此,要求他们使用复杂的密码通常不会阻止人们注册


我从未发现过期密码可以成功工作。正如我之前所说的,很多人已经有了一套他们经常使用的密码,所以要求他们离开这个网站可能会让他们不想回来。

有一个Ajax工具PasswordStrength,它会让用户知道他们的密码是否好。我喜欢它,因为它不必禁止创建密码


我从未见过这样做,但它似乎工作得很好:密码创建页面可以有一个可扩展的列表,比如说,最多50个,迫使用户在输入密码之前向下滚动一点。这一点,再加上跳棋者的建议,将大大有助于防止粗心的选择


但是,解决防止密码重用的问题。。。毫无线索。

@Rob Walker:可悲的现实是,七分之一的用户选择用户名作为密码。一旦网站上有任何风险(甚至没有金钱价值的东西),如果他们的帐户被黑客攻击,人们就会抱怨。在一个10万用户的网站上发生过这种情况:-(当应用程序需要我提供密码时,我喜欢它,并通过一些条形/刻度和简短的文本表示(即弱、一般、强、仅可由特勤局破解等)显示它的强大程度。)。鼓励使用强密码,即使对于普通用户也是如此。Upvote。@Rob Walker如果您想使用强密码,但又不想记住一百万个密码或使用密码管理软件,请使用公式生成强密码。请参阅谢谢;)如果您根本不需要强制实施密码更改策略(这样您就可以合法地