


















当我们在创建或更改密码时,一般需要满足复杂性要求。但是随机密码难以记忆,因此大多数人都使用类似的、可预测的方式创建密码,这使得攻击者更容易破解密码。那么,如何创建高强度密码,并强化账户安全性呢?本文作者对此进行了分析,一起来看一下吧。

通常当我们在创建或更改密码时,密码必须满足密码复杂性要求。例如密码需要包含大小写字母、数字和符号。
如下表所示,假定密码长度8位,使用更大的字符集的确能够产生出更多种组合,理论上攻击者必须尝试所有可能的组合才能破解密码。

然而,人为创建的密码并不是随机的,因为随机密码难以记忆。米勒对短期记忆能力进行了定量研究,年轻人的记忆广度大约为7个数字、6个字母、5个单词。密码复杂性要求使记忆变得更加困难,其迫使大多数人使用类似的、可预测的方式创建密码,反而导致密码有规可循。主要有以下几种方式:
掌握这些规律攻击者更容易破解密码。攻击者不一定会逐一尝试所有可能的组合,而是选择一种更合乎逻辑的方式,从更可能的组合开始尝试。攻击者通过最常见的替换来运行字典攻击,例如,如果单词“password”在字典列表中,攻击者可以尝试使用“P@ssw0rd”、“P@55word”或“P@55w0rd”等变体来破解密码。除了这些常见的替换之外,攻击者还可能尝试使用常见的单词或短语,在末尾附加数字。字典攻击很大程度上缩小了密码组合的范围,缩短了破解的时间。
即使密码是随机生成的,以目前的技术,运行在专用硬件(例如高端GPU集群)上的高度优化的密码破解软件可以每秒测试数十亿个密码组合,攻击者使用如此强大的密码破解软件,破解密码可能也只需要几分钟到几小时。另一方面,用户难以记住随机生成的密码,可能会以不安全的方式存储他们的密码,例如写在一张便条纸上,放在计算机附近。
总体而言,从安全和好记的角度来看,密码复杂性要求弊大于利。
在密码中使用混合字符类型的建议最初是Bill Burr于2003年在美国国家标准技术研究所(NIST)工作时撰写的一份文件《NIST SP800-63》中提出的,2017年他在接受华尔街日报采访时公开道歉,称当时他并没有得到可靠的数据作严谨研究,只依靠来自八十年代、不合时宜的旧文件作为参考,而他的建议也没有考虑到一般人的生活习惯及思考模式。
2017年6月,NIST发布了新版《NIST SP800-63》,其中包含对其密码建议的更新,不再强调在密码中使用混合字符类型,而是鼓励用户在合理范围内使用更长的密码或密码短语作为增强安全性的更有效方法。
创建一个长且易于记忆的密码可能具有挑战性,以下一些方法可以提供帮助:
以下是创建密码时需要避免的一些额外事项:
如何记住密码?
建议使用来自可信来源且受信任的密码管理器存储密码,你只需记住一个主密码即可访问所有已保存的密码。这降低了使用弱密码、重复使用密码或忘记复杂密码的风险。此外,许多密码管理器可以自动填写平台上的登录信息,这可以节省时间并降低手动输入密码时出现拼写错误或其他错误的风险。
作为身份验证者,在处理密码创建和更改请求时,以下一些方法可以提供帮助:
不要仅依赖密码。
即使是最强的密码也可能被泄露,减轻这种风险的一种方法是使用双因素身份验证(2FA)。2FA通过要求用户提供两种类型的身份验证因素来访问其帐户,从而为身份验证过程增加了额外的安全层。一些常见的2FA类型包括短信验证码、身份验证器应用程序、硬件令牌和生物识别身份验证。
感谢阅读,以上就是本次分享的全部内容,希望你能从这篇文章中有所收获,记得点赞/收藏/分享/关注,后续将会持续更新。
本文由@张楚 原创发布于人人都是产品经理,未经许可,禁止转载。
题图来自 Unsplash,基于 CC0 协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。