最近因为在做 页端产品中接触到密码强度设置问题,找了不少解决方案。发现大多基于google提出的以密码长度,英文大小写以及符 组合计分来进行密码强度评估。
什么是密码强度?
指一个密码对抗猜测或是暴力破解的有效程度。
一般来说,指一个未授权的访问者得到正确密码的平均尝试次数。
密码的强度和其长度、复杂度及不可预测度有关。
强密码可以降低安全漏洞的整体风险,但并不能降低采取其他安全措施的需要。
攻击者可以提交猜测到的密码的速率是衡量一个系统安全性的重要因素。
有的系统在多次尝试失败后会暂停登入一段时间,在没有其他安全缺陷时,这种系统可以用相对简单的密码保护。
但是系统必须以某种形式存储用户密码,而当这些数据被盗时,就有极大的危险(via.百度百科)。
根据NordPass 2020年的研究,五个最常见的密码是123456、123456789、picture1、密码和12345678。
我们先来看看破解这些密码需要多少时间。
经过搜集整理了以下5种进行密码强度评估方法,你可以根据产品的数据风控程度选择匹配版本投产使用。
一、简易版
1. 规则
2. 验证
3. 示例
二、常规版
1. 规则
–
2. 分数区间
3. 验证
4. 示例
Guofu1024?→ 25+20+20+10+5=80分→安全。
三、专业版
1. 符
2. 规则
3. 计算方式
4. 分数区间
5. 验证
允许得分为60分以上的密码进行账 注册。
6. 示例
四、HACK版
在彩虹表之前,已经出现了对哈希函数的破解算法,被称为“预计算的哈希链集”(Precomputed hash chains)。
密码彩虹表——示例有关防御彩虹表攻击,开发者在编码时请勿在密码散列函数中使用MD5或SHA1,在密码散列例程中使用密码盐来帮助应用程序“防虹”的编码。
另外,不在彩虹表中的密码强度较高。它是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合。
不一定是针对MD5算法的,各种算法的都有,可以快速破解各类密码。在彩虹表中的密码给予提示。
比如,A12345 →此密码安全性低,请修改。
五、Fuzzy版
汪定教授团队对中国 民进行了密码习惯调查和比对先行密码强度模式后,提出了一种更为准确的评估模式。
Google 密码强度反馈选取了10个领域共50个流量排名靠前的 站,借助 站曾经泄露的密码数据库,先利用离线漫步攻击分析得到密码最常用的结构和使用频次的字典表。
测量核心公式:Nmin*log2Cmin,具体解释可参照论文解释。
- 长度要求密码不小于8位;
- 强制执行强制最小字符类型要求;
- 允许使用符 ,带符 的密码通常比不带符 的密码安全得多;
- 使用常用弱密码的黑名单表(彩虹表),禁止使用;
- 禁用账户名或个人名;
- 向用户提供明确的密码建议和指导。
彩虹表需要集成“中式密码”,比如,“woaini”、“5201314”、“zhangsan2022”和“longguofu123”之类的密码。
六、总结
在真实的世界,对于普通用户来说有没有办法可以设置真正意义上高强度的密码呢?
参照专家们给出的建议,你可以试试这样做。
1) 不要在密码中包含用户名、真实姓名、生日或公司名称,也不要包含任何与登录信息相关的信息。
例如,地址或电话 码。最好也不要包含任何可以在 交媒体上访问的信息,例如孩子或宠物的名字。
还有,比如在银行 站让你设置3个安全登录问题的时候,不要如实回答。
2) 研究发现45%的人使用8个字符或更少字符的密码。如果可能的话,密码的长度至少应为16个字符。
相较于在密码中加入非字母字符而言,增加长度可以更简单地使密码变强。
例如,12个字母的密码比12个数字的密码的破解难度仅大8倍。
但由16个仅字母字符组成的密码比由12个各类字符组成的密码的破解难度大800万倍。
3) 密码应包括字母、数字和字符的组合,不应包含任何连续的字母或数字,不应是“密码”一词或重复的相同字母或数字。
例如,guofu8888、mima777、password111。
4) 密码不应是在键盘上经常连续敲击的字符串。例如,asdfghjkl。
5) 密码不应与任何其他帐户共享。可以使用专业的密码管理器和定期修改密码(虽然很难),可以用密码强度工具帮忙生成密码。
密码的存在笔者一直认为是反人性的设计,但是它的存在对鉴权、保护隐私又有其必要性。
选择哪种密码强度取决于设计者对于“便捷”与“安全”的平衡,对于金融级别的产品,毫无疑问需要高强度或多重验证。
而对于轻应用,更多可把方便为主要考虑。
此外,笔者一直有种感觉,或者没有密码,使用生物生命特征才是更人性化的设计。
次之,用 交账 授权、手机动态验证码进行验证,对于安全性较低的产品也是不错的解决方案。
最后,没有一个密码是“最安全的”,如果有的话,把它写出来就会变得不安全,因为有成千上万的人会在他们的账户上使用它。
题图来Unsplash,基于CC0协议。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!