不要强迫用户使用复杂密码

译者 | 刘涛

策划 | 云昭

在计算机出现的早期,如果不是坐在终端前,计算机之间和用户之间都是彼此隔离的,存储非常昂贵。

因为只要这两个原则都成立,把熵塞进短密码的唯一方法就是让它更复杂。密码复杂度规则就是这样诞生的。此外,为了使密码更难破解,还需要定期修改它,使其成为一个移动靶子,这样破解起来就更加困难。

但是我们不再生活在那个世界里了。

现在计算机是连接的,我们几乎永久地连接到我们的系统。存储也越来越便宜。

因此,现在有一个更好的方法来提高密码的熵值:让密码变长。这样做更好的原因是人们不能很好地处理复杂的密码。这使得它们更难记忆和输入。没有一种熵的级别是通过增加密码长度而无法达到的,这意味着没有理由使用复杂度规则。如果不喜欢10个字符密码的熵,没关系,我们可以让它变成12个,但不要让它变得复杂。同样的,13个,14个等等都可以。此外,熵随密码长度增加的速度比随密码复杂度增加的速度要快。

另外,使用长密码还有一个好处,那就是大多数常用单词都很短。因此,如果要填写一个长密码,就得把单词合并起来(至少在英语中),这样密码就能抵抗字典攻击了。这甚至不需要用户自己去做,因为用户创建密码更容易。

与定期重置密码相比,有一种更好的方法可以防止暴力破解:当一段时间内登陆失败次数过多时通知用户和管理员。也可以在一定时间内限制登录失败的次数。也就是说,不需定期重设密码,因为我们已经不是早期离线计算的时代了。

密码管理器和多因素身份验证技术更有意义。密码管理器可以方便用户管理密码和选择随机密码。实施这些操作的同时,应同时提供给用户使用所需要的培训。

下面的表格及其设置的变量假定:

  • 每秒不限次数。
  • 用户和管理员将不会被告知暴力破解行为。
  • 尽管密码散列是免费提供的,但它们所属的系统在某种程度上是同步的,并且没有人注意到这个漏洞。
  • 花5年时间破解密码是不安全的。
  • MFA(多因素身份验证)未使用。
  • 比起51年,2300万年要好得多,因为人类可以活好几个世纪,而且重设密码可以消磨时间。
  • 有人闯入了系统,得到了所有的密码散列。

不要强迫用户使用复杂密码

密码复杂度和重新设置不会导致选择预期的随机口令,它会导致用户重复使用有限数量的不同密码,仅改变可预测的数字和日期之类的字符串,这样用户就可以在需要的时候登录和工作。它使密码更易于预测,而且经常离线使用。这会使系统的安全性变得更差!

很多专业人士在2017年出版《NIST800–63》(数字身份指南)之前就明白了这一点,他们在该新技术标准发布后再也找不到任何借口。

遗憾的是,像PCI-DSS之类的一些合规机制仍然要求定期重置密码,我希望以后它们会被更新并要求管理员多因素身份验证。传统是很难改变的!(注:Reddit用户表示,使用“补偿控制”MFA可以获得PCI-DSS认证而无需复杂度规则和密码重置)

全世界的企业浪费了数千小时的用户时间和服务台时间,并且由于他们仍然使用密码复杂度规则和定期密码重置,使得安全变得更加糟糕。是时候停止这种疯狂了。

那该如何做

  • 理解自己的职责是帮助用户提高安全性,而不是帮助用户去遵守那些想象中的、毫无根据的规则
  • 检查您所保护的应用程序,对其进行配置以限制一段时间内失败的登录尝试次数,并在登录尝试次数过多时通知用户和管理员
  • 推广使用密码管理器和多重因素身份验证
  • 停止传播关于密码复杂度和重置的不良建议。

译者介绍

刘涛,51CTO社区编辑,某大型央企系统上线检测管控负责人,主要职责为严格审核系统上线验收所做的漏扫、渗透测试以及基线检查等多项检测工作,拥有多年网络安全管理经验,多年PHP及Web开发和防御经验,Linux使用及管理经验,拥有丰富的代码审计、网络安全测试和威胁挖掘经验。精通Kali下SQL审计、SQLMAP自动化探测、XSS审计、Metasploit审计、CSRF审计、webshell审计、maltego审计等技术。

原文链接:

https://medium.com/the-ciso-den/when-will-cybersecurity-professionals-stop-hurting-both-their-users-and-security-d9931e6a1150

作者 网路游侠

游侠安全网,前身为网路游侠的信息与网络安全博客,站长张百川。专注:网络安全、系统安全、应用安全、数据库安全、运维安全,及网络安全、信息安全前沿技术研究与发展趋势分析。对关键信息基础设施安全防护管理平台、网络安全态势感知平台、网络安全协调指挥平台有一定关注。

陕ICP备11003551号-2