密码要包含大小写字母+数字+符号,提这个建议的人刚刚承认他错了
来源:互联网 发布:linux计数统计命令 编辑:程序博客网 时间:2024/05/16 15:57
Bill Burr在2003年为美国政府工作时,写下了密码安全领域的“圣经“:使用大写字母、数字和非字母符号,原因是,复杂的密码难以被猜到;另外,Burr也建议经常更换密码。
所以,Burr是下列事情的始作俑者:迫使我们想出“Wohao5huA!”或者“P@55w0rd”这样折磨打字人的密码;迫使我们记住像“Uj3k@u90”这样的系统分配密码;根据公司IT部门的要求,90天,更换一次密码。
现在,Burr承认,他的建议是错的,这些办法实际上不能提高密码的安全性。相反,这些密码组合会让电脑系统更容易受到攻击,因为用户在创造了一个复杂密码之后,会重复使用这些密码,或者为了防止遗忘,会写下来贴到电脑旁边。而且,数字和符号的加入并没有让电脑更加免疫于黑客尝试所有组合可能性的“强力(brute force)”攻击。
定期更换密码的建议也是错误的。因为密码复杂,所以用户只会更换其中一个字母或数字,例如把“Wohao5huA!”改成“Wohao5huA?”。这种更改对阻止黑客来说毫无意义。而且,定期更改密码引起的不便比有限的密码安全更糟糕。
现在,美国国家科学技术研究所的线上密码指南已经更新,并提醒用户避免传统误区:
不要重复使用密码
结合大小写字母设置的密码没有你想象的安全,没有太大意义
更好的选择是那些长但是易记的密码,或者密码短语:“yinglianxunguimo(营练训鬼魔)”比“Wohao5huA!”这个密码难破解的多。
另外,更安全的办法是,使用双重验证,在登陆的时候最好得到短信的确认。
数亿人在过去10多年间遵循了这个看似有道理的密码原则,但是却没有考虑到行为因素的叠加。我从没意识到密码安全包括了密码本身的安全,还有我们对待密码的态度和使用方式。对于产品经理来说,这个经验很重要:如果产品不够简单,那么用户可能根本不会按照预想的方式使用这个产品。
复杂的密码本身有助于提高密码安全性,但是复杂密码导致的用户习惯可能会让账户变得更加不安全。Burr承认自己的建议错了,并不是技术上认为复杂密码不对,而更多是在用户使用层面上的反思。
只是,对于普通用户来说,我会想生活中还有多少我们完全不懂为什么但是还依然遵照的原则。
转自:http://36kr.com/coop/toutiao/5087394.html
- 密码要包含大小写字母+数字+符号,提这个建议的人刚刚承认他错了
- 批处理实现复杂密码(包含大小写字母数字符号)
- 获取随机数,包含数字、大小写字母的密码
- Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- Java指定长度随机生成的字符串,且这个字符串必须包含大小写字母和数字
- Java指定长度随机生成的字符串,且这个字符串必须包含大小写字母和数字
- 密码等级:至少包含字母、大小写数字、特殊字符 JS
- Java生成随机密码(包含大小写字母和数字)
- 密码同时包含8~20位数字和大小写字母,不包含特殊字符的判断方法(正则表达式)
- 密码同时包含6~18位数字和大小写字母,不包含特殊字符的判断方法(正则表达式)
- Java随机密码生成器,Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
- 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
- 密码8到64位大小写字母+数字+字符 不能包含空格
- 实现密码需要同时包含数字和字母的需求
- java生成密码,包含大小写和数字
- Javascript验证密码包含字母和数字
- 正则密码验证,包含数字、字母、特殊符号
- java 基础知识点汇总
- 做技术的「五比一」原则
- js实现二分搜索的两种方法
- 剑指offer_1 二维数组中的查找
- fzu-2264
- 密码要包含大小写字母+数字+符号,提这个建议的人刚刚承认他错了
- ajax文件上传
- centOS7 安装ActiveMQ
- 排序算法(4)----快速排序
- DNS简要介绍
- memcache与redis区别
- linux系统644、755、777权限详解
- MD5
- 记录学习 Java 设计模式(二)