查看原文
其他

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

脚本之家 2022-10-02

The following article is from 51CTO技术栈 Author Canal

 关注脚本之家”,与百万开发者在一起


来源丨51CTO技术栈(ID:blog51cto)
译者 | 刘涛
策划 | 云昭
已获得原公众号的授权转载


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


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


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


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

 

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


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


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


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


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


  • 每秒不限次数。

  • 用户和管理员将不会被告知暴力破解行为。

  • 尽管密码散列是免费提供的,但它们所属的系统在某种程度上是同步的,并且没有人注意到这个漏洞。

  • 花5年时间破解密码是不安全的。

  • MFA(多因素身份验证)未使用

  • 比起51年,2300万年要好得多,因为人类可以活好几个世纪,而且重设密码可以消磨时间。

  • 有人闯入了系统,得到了所有的密码散列。



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


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


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


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


那该如何做


  • 理解自己的职责是帮助用户提高安全性,而不是帮助用户去遵守那些想象中的、毫无根据的规则

  • 检查您所保护的应用程序,对其进行配置以限制一段时间内失败的登录尝试次数,并在登录尝试次数过多时通知用户和管理员

  • 推广使用密码管理器和多重因素身份验证

  • 停止传播关于密码复杂度和重置的不良建议。


原文链接:

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

<END>

程序员专属卫衣

商品直购链接

👇👇

【☝🏼点击查看更多详情】

  推荐阅读:

专属定制,程序员秒懂的极客卫衣!

终于实现了一门属于自己的编程语言

接手了一座年收入 2000 万美元的代码“屎山”,我到底是该重写还是该跳槽?

程序员积累的编程知识十年后有多少变得没用?

密码就快要彻底消失了,没有人怀念它

Office 2019/2021专业增强版,正版终身授权!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存