朱皮特的博客 自由的飞翔

我们真的需要复杂的密码吗?

2018-08-26
朱皮特
阅读量:

现状

想写这篇文章很久了,不过作为一个安全行业的从业者,总觉得说出来有些汗颜,我们这个行业的安全人员总是引导甚至强制灌输人们设置复杂密码的做法,让我一直觉得写这篇文章是在对我们的自我否定、自我打脸,所以也就一直没有写。

直到我的想法发生了变化,我决定还是要说点什么,一味地隐藏自己和自己的想法并不是一件明智的事情,虽然行业告诉我要学会保护和隐藏自己,但我觉得完全没有必要。而且我身边的人正面临着这种痛苦,他们同我一样苦恼,我想是时候传播一些想法了。

前阵子,老婆发来信息,抱怨现在很多网站的密码都强制要求必须设置得很复杂,原来她正在注册一教育平台,而平台对她设置密码的要求如下:

密码必须由数据、小写字母、大写字母、特殊符号组成!

图片也有,但是我就不上传了,markdown写作还是尽量使用文字方便一点。

这种事情想必大家都遇到过,注册的网站一旦多起来,这种复杂的密码如何记忆?而这种变态的要求正是我安全行业的人士提出,并不断给世人灌输和强制推广开来的,以前觉得倒是挺有道理,但是现在看来并不完全是,甚至是弊大于利。

比如“Wohao5huA!”、“P@55w0rd”、“Uj3k?u90”……,这种密码你怎么记忆?

安全人员一定会告诉你,不同的网站账号密码不要雷同,而且要设置的足够复杂,例如按上面的密码规则一样,但是我们真的能记住这些复杂的密码吗?对我而言,记住一个复杂密码就已经够头疼的了,还要那么多的账号密码都不相同,打死我也记不住。最后再补一刀,密码还要定期更换,每次更换的时候要跟上次密码不能雷同,简直吐血啊。那么接下来会导致什么现象出现呢?

  • 干脆所有账号的密码都一样
  • 把密码写下来,贴在电脑上、桌子上、墙上……
  • 把密码存放在文本文件里
  • 使用三方密码管理软件
  • 不断的忘记密码,不断的找回密码,不断的设置密码,不断的忘记密码……

有人因为头疼繁琐密码的记忆,居然把WiFi密码设置得和支付宝密码一样,真是让人捏把汗。

本人的切身体会,恒生银行,因为总是让我设置过于复杂的密码,导致的问题是自从办过卡后我就再也没有使用过,直到最后打算把剩余的钱取完没办法才去重置密码,而重置密码又必须携带身份证到比较远的地方办理,重置的密码又必须是一个复杂的密码,这样最后我就干脆不再使用这张银行卡了,真是头疼。

那么推而广之,如果你是在运营一个互联网的产品,如果密码设置的很复杂,用户势必会因为每次登录忘记密码而减少使用频次,甚至是拒绝使用,就像上面的恒生银行一样。 安全和便利是一对矛盾。当然幸运的是现在有了手机验证(其实以前也有,但是估计是资费问题使用的很少,不如现在常见),省去了用密码登录的麻烦。但是目前仍然有很多产品仍然需要使用密码登录,这一环节自始至终都会有。

这一点上微信做的就比较好,首先微信减少了用户登录的次数,它对设备进行关联绑定,让用户不用每次都登录密码(那些同样是做社交类APP的公司值得学习的);其次,即使要设置密码,你会发现它也没有强制你设置复杂的密码,因为它在服务端设置了对设备的关联绑定,即使他人猜到了你的密码在试探登录时,服务端因为检测到设备环境发生变化会要求进行二次验证,这在很大程度上保证了安全。总之,微信的安全措施由微信团队来做了,而不是把复杂的事情让用户去承担,就在这一点的认知上就值得学习。

记不清是哪本书里有提过这么一段,作者在过安检的时候遇到点麻烦,需要工作人员登录出入境的内部系统查询信息,但是该系统要求密码必须为复杂密码,但是工作人员根本记不住,就索性写下来贴在了桌子上,而作者在等待的过程中就很容易地窥探到了密码。

而使用密码管理软件,一是这些管理软件的可信度和安全性值得怀疑,二是这些管理软件一旦有突破的可能,则可能导致用户的账号密码被一窝端。

原因

为什么一定要输入复杂密码?产生这种现象的原因是什么?一些人肯定会用这句话来解释:存在即合理! 我想说的是存在的不一定合理,可以从以下几个层面去解释:

  • 安全事故
  • 安全行业人员的误导
  • 错误的政策要求
  • 账号密码系统的负责团队的担责

首先说说安全事故,记得CSDN出现过一例被拖库的事件,640万密码泄露:

网传知名程序员社区CSDN遭遇黑客攻击,共涉及640多万个账户信息泄漏的消息,得到CSDN官方确认。接着天涯社区4000万用户资料泄密,令人震惊。 继CSDN被攻击后,今天又有消息传出称,多玩游戏也有800万用户资料被泄露,甚至传言称,包括人人网、开心网、天涯社区、世纪佳缘、百合网等大批社交网站会成为下一批目标。

我想说的是,这种密码泄露是这些产品团队的安全维护做得不到位,而且密码居然在服务端明文存储!即使用户的密码再复杂,也经不起这样折腾,也是一样会被泄露的呀。黑客拿到这些明文的密码之后,就会去其他的网站平台去撞库。

撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。

如果你其他重要平台的密码跟出现安全事故平台的密码雷同,就存在风险了,首先要做的就是赶紧去更改与之雷同或相似的密码。鉴于此,对于非重要平台账号和重要平台账号,平时应予以区分开来,设置不同的账号和密码规则,举个例子: 你仅仅是想下载一个资料,但是这个网站以后可能不会再登录,甚至很少再登录了,那么我强烈你使用垃圾密码,这里说的垃圾密码是区别于重要账号密码的。 你家的WiFi密码也不至于设置和银行卡支付宝密码一样吧? 减少重要密码在网络其他平台上的曝光次数,也就是说你的财务密码没必要拿去设置为一般性网站的密码。

再说说安全行业人员的误导,设置复杂密码的建议是谁提出的呢?

2003年,Bill Burr为美国政府工作的时候提出了密码安全领域的这一“圣经”:使用大写字母、数字和非字母符号,原因是复杂的密码难以被猜到,同时他建议经常更换密码。

如果是对于一流级安全从业者也许适用,然而这项建议却被一层层传达开来,逐渐被普通平台也视为铁律,有点过头了。

但是现在,Burr终于承认,他的建议是错的!他表示,这些办法其实不能提高密码的安全性,反而会更容易受到攻击,因为用户设置了复杂密码后,可能会重复使用,或者为了避免忘掉,往往会写下来甚至贴在电脑旁边。

再说说错误的政策要求。有些企业和单位也知道没必要设置这复杂的密码,但是政府一旦掺和进来监管,就一棍子打死了,没有给你可选择的机会。我听到过另一个说法,就拖库事件而言,酒店行业也常有发生,据说把很多官员的开房记录都给泄露了,我不知道政府的出发点上有没有一点这个缘故,总之听听就好。即使有,当然也不会是主要因素,但是强制监管无非是多了一个寻租的手段而已,各行各业都要监管的,这是国内惯例。

最后说说账号密码系统的负责团队的担责,假设你是一家互联网公司里用户账号密码体系的负责人,你会怎么要求你的用户设置密码?如果你不加以限制,你的老板会不会觉得你没有尽到责任?你的同行会不会觉得你很水?

想象以下,一家互联网平台的密码可以设置的很简单,那么如果这家公司运营的好体现出了价值,就一定会出现用户密码被盗的情况,这种安全事故势必会成为该公司前进成长的绊脚石,一定会加强,结果就是复杂密码的出现。

既然行业里大家都这么做,你也只好这么做,于是乎,大环境就形成了。

建议

分析了以上几个原因后,我失望地发现设置复杂密码已经是现实,必须遵从的现实,但是我们仍然可以通过以下几个方面来降低我们记忆复杂账号密码的负担,提高我们账号的安全性。

1、分级

区别对待重要账号密码与普通账号密码,可以分个三类:

  • 重要账号密码
  • 一般性账号密码
  • 垃圾账号密码

对于家里的WiFi管理,我完全赞同你把账号密码写下来,也完全可以贴在墙上或者桌子上。毕竟家里不是公共场所,来家里的无非是亲戚朋友熟人,或者偶尔有维修师傅快递人员等,他们对你家的WiFi账号并不感兴趣,最多是问一下WiFi密码,当然大家也都会相告,所以刻意隐藏WiFi密码也没意义。但是一定要跟其他账号密码不存在关联,否则密码泄露就是泄露一连串,因为你的手机号这些人是很清楚的,有好奇或者心怀恶意的人用你的手机号和WiFi密码来去试探你其他的账号密码就容易造成安全事故。

你那些登录频次很低,甚至是垃圾网站平台的密码,就没必要设置得和银行卡支付宝密码一样了吧?!

垃圾平台的账号密码,登录频次非常低,一年登录不了一次,索性不要去记忆,用的时候找回即可,但是你要记住找回的路径,用什么方式可以找回。这个跟知识的检索一个道理,你不用记住完整的一套东西,但是只要你想用的时候能知道怎么找到这套东西即可。

2、断联

如果你仍然嫌多,那就索性分为两类:

  • 重要性的账号密码
  • 不重要的账号密码

重要的账号系统跟不重要的账号系统就要走不同的,例如我会专门申请一个邮箱用来接收垃圾平台的邮件和找回密码,我这个邮箱我称为垃圾邮箱。而重要平台和银行类的找回密码邮箱我用的是另一个邮箱,称之为重要邮箱。 垃圾邮箱随便用,即使在网上随便发出去都没关系,即使被盗我也漠不关心,因为它不关联我的其他账号体系。而重要的邮箱我会减少曝光,所以至今这个邮箱都很少受到垃圾和广告邮件。当那些垃圾平台或网站因为运营不善导致的安全事故也不会波及到我啦。

3、手机验证

可增加用手机验证登录的频次,减少对密码的设置和使用

4、联想密码

如果你的重要平台的账号密码仍然很多,可以根据使用该平台的相关功能进行关联记忆。

5、不上不正规网站不用不正规应用

现在是移动互联网时代,我说一个Android手机上的安全事情,我遇到过的:在下载了恶意软件(事先是不知道是不是恶意软件的)后,该应用有读取密码的权限,由于在安装的时候一堆权限夹杂在一起很难逐个去判别,结果在运行该软件后它自动去进行手机验证码的认证,因为手机发来的验证短信它会自动去读取,并会根据验证短信里的关键字匹配到自己需要的那条验证码,然后悄悄地做一些事情。我当时是被恶意开通了移动的增值服务费,虽然事后打移动客服电话投诉撤销了资费,但是你就不怀疑一下:这些增值服务商,移动在合作的时候不知道它们是恶意的?无非是一个明火执仗,一个事后分赃罢了。

6、安全事故应急措施

例如最近的“华住旗下酒店1.3亿用户数据泄露”事件,出现这类事件后应立即更改与该平台相关的邮件密码,严重的可更换手机号等。现在是数据分析时代,黑客把这些数据卖给黑产,通过数据分析来有效地进行人物画像,进而可大大提高诈骗的成功率。

8月28日,暗网中文论坛上出现一则出售华住酒店数据的帖子,涉及1.3亿人身份及开房信息的数据被标价为8比特币或520门罗币(约等于37万人民币)出售。对此,华住酒店集团向新京报记者表示,华住已经报警,目前,兜售的信息是否来源于华住正在内部核实,事件正在调查,调查结果会进一步公布。

发帖人发布的内容显示,被出售的数据包含汉庭、美爵、禧玥、漫心、诺富特、美居、CitiGo、桔子、全季、星程、宜必思、怡莱、海友等酒店。被售卖的数据共为三部分,分别为华住官网注册资料信息,共53G,约1.23亿条记录;酒店入住登记身份信息资料,共22.3G,约1.3亿人身份证信息;酒店开房记录信息资料,共66.2G,约2.4亿条记录。

而这次事件疑似华住公司程序员以数据库连接方式于20天前上传至github(一个面向开源及私有软件项目的托管平台)导致泄露。

早在2013年,汉庭等酒店就出现过数据泄露,当时是因为酒店所使用的Wi-Fi管理和认证管理系统存在漏洞,数据传输过程并未加密,导致数据泄漏。此次数据被拖库的原因尚不清楚,华住官方暂无回应。

有趣的是,以上几个安全事故均不是因为用户的密码设置不当导致,即使是用户密码设置的很复杂一样会被牵连,这些事故的造成均是公司的安全运维做的不够到位。而对于用户来说,出现安全事故后第一时间修改其他账号密码,泄露的邮箱可以废弃,与该邮箱关联的账号可以解绑并重新绑定一个新的邮箱了,也即实现断联。


Comments

Content