密码要求特殊字符vs密码可选特殊字符

为什么要求密码具有特殊字符,大写和小写字母以及数字时,为什么认为它更安全? 允许而不是要求这些字符不是更安全吗?

假设某人想要破解密码,如果他们已经知道该密码包含至少1个特殊字符,1个大写和小写字母以及1个数字(因为这是必需的),对他们来说会不会更容易。

如果允许而不是密码,那么密码是否不能包含这些字符?
azhenzhen 回答:密码要求特殊字符vs密码可选特殊字符

它被认为是安全的,可免受字典攻击等多种攻击。由于字典攻击来自具有常用词的词表。如果密码符合标准,最好在前端和后端要求这些规则并进行验证。

在开发中,您可以使用位于以下位置的OWASP ASVS:https://github.com/OWASP/ASVS/blob/master/4.0/en/0x11-V2-Authentication.md

有一个清单,如:

  1. 验证用户设置的密码长度至少为12个字符。
  2. 验证是否提供了密码强度计以帮助用户设置更强的密码。

如果您遵循OWASP之类的标准,则确保身份验证的安全就可以了。

,

允许而不是要求使用这些字符会更安全吗?

是,不是。

否:正如弗朗西斯·阿尔·维多诺(Francis Al Victoriano)所说,它对打击字典攻击非常有用。

:在理想环境中,除了密码不是空白之外,您不需要任何其他要求。如您所说,这样一来,攻击者就无法知道密码可能包含什么,甚至不知道应该以多长的时间开始暴力破解。

但是在这个完美的世界中,您的用户知道他们在做什么,他们知道什么是强密码,并为每个应用程序使用一个。可悲的是,在现实世界中,您永远不应信任用户,因此必须确保他们选择的密码不是“太弱”。

那么,我们是否应该强制用户在密码中包含多个字符集?

有人说我们应该这样做,因为如果不这样做,用户会选择像字典单词这样的弱密码。

有人说我们不应该(例如NIST),因为:

  • 您在密码策略中添加的限制越多,用户对它的烦恼就越多(他已经因必须使用密码而烦恼),并且他越会尝试绕过它并且很可能会在此过程中削弱他的密码(例如,您的超级大型复杂密码将在便利贴上结束,因为用户无法记住该密码)。

  • 说到旁路,典型的密码策略是最少8个字符,至少一个大写字母,一个小写字母,一位数字和一个特殊字符。您可以在这里进行:P@ssw0rdLet's check if Have I Been Pwned thinks it is a good password,扰流板警报:否。

  • 它可以防止用户选择密码。

我对此事的看法是遵守NIST准则:

  1. 最小长度为12个字符
  2. 基于最新的泄漏密码列表(例如HIBP)和离线强度估算器(例如zxcvbn)的密码强度计,以帮助用户避免使用弱密码
  3. (可选)服务器端密码强度验证(基于步骤2的两个组成部分),如果您想确保用户选择的是强密码,并且您不希望他或不允许他忽略密码强度仪表反馈。
本文链接:https://www.f2er.com/3152853.html

大家都在问