原计划写一个长文,是关于密码的几个常见误区,以及软件或互联网产品设计中如何保障密码安全。写着写着发现太长了,因此拆开几个独立的小文,这些小文就是【老郝说密码系列】,方便大家阅读。
很多机构都建议用户要定期修改密码,理由是防止被黑客破解。这个给出的理由本身是错误的,密码是不是容易被破解与密码强度有关,与定期改不改密码无关。
密码是否要定期改与使用场景有关,常改密码是为了防止你的信息被长期监听。老郝十分不赞同不分场景就让用户经常改密码的做法,这样看似更安全,实际上多数人会选择改成更简单更好记的密码,客观上让密码更不安全。
实际上,美国国家标准与技术研究所(NIST)发布的SP800-63B 数字身份指南里,也已经淘汰了“定期修改密码”等过时的要求:
停止密码到期。这是我们以前使用计算机的一个老的想法。如今不要让人改变密码,除非有泄密的迹象。
NIST在SP800-63B中同时还对密码提出另外一个建议,就是建议用“密码短语”取代传统密码,关于这点老郝在昨天的文章里已经谈到了,怎么设好记又安全的密码,说的就是密码短语。
那么,什么场景下从需要定期修改密码,我们分别举几个例子看一下:
1、单位办公:你登录单位办公系统的密码长期不变,也没有双因素验证手段,而竞争对手公司获取了你的密码,可以长期用你的账户进入你们内部办公系统窃取敏感信息。这种场景下最好的解决办法,是采用双因素身份验证,如果条件暂时不具备,为了降低这种风险才有必要定期修改密码。
2、系统管理:你是一个系统管理员,有单位各个系统的管理权限,但是没有用双因素身份验证,如果某个系统的密码被黑客掌握,黑客通过这个系统可以在内部网络中长期渗透控制更多系统。同样的,这种场景下最好也用双因素身份验证,如果条件暂时不具备,才有必要定期修改密码。
3、银行账户:黑客盗取银行账户密码的目的是得到账户里的钱,那么他得到密码后就会第一时间把钱转走,这种场景下定期修改密码没有意义。当然,如果你怀疑密码泄露,就需要立刻改掉密码。
通过上面的例子,我们总结一下:
定期修改密码是过时的要求,对保护用户账户安全没有什么帮助,往往还会让密码更不安全。
应该用双因素身份验证来取代定期修改密码,除非条件不具备时无法使用双因素身份验证。
知乎专栏:https://zhuanlan.zhihu.com/allinsec
微信公众号:信息安全茶馆