Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 密码必需的特殊字符与密码可选的特殊字符_Security_Passwords_Password Protection - Fatal编程技术网

Security 密码必需的特殊字符与密码可选的特殊字符

Security 密码必需的特殊字符与密码可选的特殊字符,security,passwords,password-protection,Security,Passwords,Password Protection,当密码需要有特殊字符、大写字母和小写字母以及数字时,为什么会认为它更安全? 允许而不是要求这些字符不是更安全吗 假设有人想要破解密码,如果他们已经知道该密码至少包含1个特殊字符、1个大小写字母和1个数字,这对他们来说不是更容易,因为这是必需的。如果密码是允许的而不是必需的,那么它就不可能包含这些字符了?它被认为是安全的,不会受到一些攻击,比如字典攻击。因为字典攻击来自具有常用词的单词列表。如果密码符合标准,最好在前端和后端使用这些规则进行验证 在开发中,您可以使用位于以下位置的OWASP ASV

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


假设有人想要破解密码,如果他们已经知道该密码至少包含1个特殊字符、1个大小写字母和1个数字,这对他们来说不是更容易,因为这是必需的。如果密码是允许的而不是必需的,那么它就不可能包含这些字符了?

它被认为是安全的,不会受到一些攻击,比如字典攻击。因为字典攻击来自具有常用词的单词列表。如果密码符合标准,最好在前端和后端使用这些规则进行验证

在开发中,您可以使用位于以下位置的OWASP ASV:

有一个清单,如:

  • 验证用户设置的密码长度至少为12个字符
  • 验证是否提供了密码强度表,以帮助用户设置更强的密码

  • 如果您遵循一些标准,如OWASP,那么保护您的身份验证将是一件好事。

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

    是和否

    否:正如弗朗西斯·阿尔·维多利亚诺(Francis Al-Victoriano)所说,它有助于反击字典攻击

    是:在一个完美的世界里,除了密码不是空的以外,你不需要任何东西。这样,正如您所说,攻击者就不会知道密码可能包含什么,甚至不知道应该在多长时间内启动暴力

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

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

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

    有人说我们不应该(喜欢),因为:

    • 您对密码策略添加的限制越多,用户就越会对此感到恼火(他已经对必须使用密码的事实感到恼火),并且他会越试图绕过它,并且在这个过程中很可能会削弱他的密码(例如,您的超级复杂密码将以post结束,因为用户无法记住它)

    • 说到旁路,典型的密码策略是最少8个字符,至少有一个大写、一个小写、一个数字和一个特殊字符P@ssw0rd,扰流板警报:否

    • 它阻止用户选择密码短语

    我对此事的看法是遵循NIST指南:

  • 最小长度为12个字符
  • 密码强度计基于泄漏密码的最新列表(like)和离线强度估计器(like),以帮助用户避免弱密码
  • (可选)服务器端密码强度验证(基于步骤2的两个组件),前提是要确保用户选择的是强密码,并且您不希望或不允许用户忽略密码强度计反馈

  • 如果你投反对票,我将非常感谢你的评论,这样我可以改进我的答案。