分享

密码泄露事件频发,一篇文章把密码管理说清楚

 取反加一 2019-05-14

最近,京东公司的发展可谓不太平,公司频发各类新闻事件,近日又有传言“京东泄露5千万用户数据”一事,京东方面对此进行了紧急辟谣,确认这些数据并非京东数据。

固然,泄露的数据并非是京东的,但数据泄漏的事情实实在在发生了

自'CSDN密码外泄门'事件发生后,国内就不断发生数据泄露的事件,涉及的网站也越来越大,我们用户的数据安全频频受到威胁。

奶酪就此打算谈谈如何做好密码管理

你的密码是如何被盗的?

一般来说,要破解密码,最笨的方法是使用“暴力破解”,通过穷举一定长度的字符组合来破解密码。

为了提高成功率,黑客们还会使用“字典破解”,也就是将已破解了的密码编辑成一本“密码字典”,使用这份密码字典进行暴力破解,几率就会大大提高。

可尽管如此,成功率还是不高,于是黑客就会在下面三个阶段进行做文章,盗取你的密码。

一是用户输入密码时,比如监听键盘记录的盗号木马。二是密码传送到服务器时,比如仿造的钓鱼网站,比如公共WIFI抓包。

第三是破解网站的密码数据库,比如“CSDN密码外泄门”就是密码数据库的泄露。

(钓鱼网站 ↑)

对于第一种情况,我们只需要使用安全软件就能避免,当年的盗号木马猖獗现象也已经不复存在。第二种情况也只要提高防范意识,注意甄别网站的真实链接,不使用公共WIFI也能避免。

如果说前面两种情况,用户还是有主动权的,第三种情况则完全被动,你把账号密码交给了网站,如果网站保管不当就会被黑客攻击,你的密码就会泄漏出去。

业界通常把黑客窃取网站密码数据库的行为称为“拖库”。

(窃取网站密码数据库 ↑)

密码数据库一旦被攻陷,如果该网站的密码数据库未经加密,那你的密码就等同于裸露在黑客面前,之前爆出的“CSDN密码外泄门”就是明文储存密码的。

可即使网站做了加密处理,也同样有被破解的风险。

通常来说,大多数网站的密码数据库都会使用 MD5加密,MD5加密是将用户密码散列成32位字符的方法进行加密,比如「123456」会被加散列为E10ADC3949BA59ABBE56E057F20F883E

这个过程是单向不可逆的,理论上无法通过密文倒推出明文来。但 MD5 只是一种哈希算法,严格来说算不上是一种加密算法。

破解 MD5 难不倒黑客,一些经常被人们所使用的密码,比如 123456,黑客就会对这些密码进行穷举破解,并把得到密文做成一个索引表,由此来反推原始密码来,这个索引表也被称之为“彩虹表”。

业界通常把破解密码数据库的行为称为“洗库”。

在很多 MD5 解密查询的网站上(比如 www.cmd5.com),如果你的密码很简单,加密后的 MD5 密文都能反查出明文密码来。

(MD5解密 ↑)

你可能会问了,这是不是意味着所有网站的密码数据库都不安全了呢?

并不是的,有社会责任担当的网站都会使用 MD5+Salt (俗称加盐)的方法来进行双重加密,其过程为:MD5( MD5 ( 你的密码 ) + Salt )

原理是将你的密码算出一个MD5值,然后再加上一个 Salt 随机数,再得出一个新的MD5值,这样处理可以增加额外的安全性。

一些网站还会使用 SHA-256、SHA-512、bcrypt 等安全性更高的加密方式,对于大部分中小网站来说,MD5+Salt 已经足够安全,除非你犯了下面两个错误。

你的密码被盗的原因是什么?

你的密码之所以被盗,简单来说是:密码太简单 + 多个网站使用同样的密码。

密码太简单的安全隐患是显而易见的,黑客非常容易就能破解你的密码,从而“洗库”成功。

国外有一家叫 SplashData 的网站,每年都会从已遭泄漏的密码数据中取样分析出一个“最差密码”的排行榜。

不出意外,「123456」和「password」继续蝉联了榜单的第一二名,其他的密码也主要是单词和数字序列,属于易记但烂大街的密码。

(2018最差密码排行榜 ↑)

密码被盗的另外一个重要原因,是在多个网站上使用同样的密码。

这就好比一把钥匙可以开很多扇门。如果某个网站的密码数据库泄漏了,又或者黑客先找一些容易攻破的网站下手,在破解了这些网站的密码数据库后,黑客会拿着你在这些网站上的账号密码去其他的网站上测试登录。

业界把这个行为被称为“撞库”。

(多个网站使用同样的密码 ↑)

黑客还会将破解的密码数据库出售或者互换,久而久之形成的“社工库”会非常庞大,撞库成功的几率会非常高,你的密码被盗也就不奇怪了。

(黑客活动环节 ↑)

如何让你的密码安全?

想要保障密码的安全,不被黑客攻击,我们需要使用复杂密码来防止洗库对密码分级,在不同网站使用不同的密码可以防止撞库

1,使用复杂密码。

密码的强度与密码长度、字符范围、随机性相关。

密码自然是越长强度越高,8位是基本要求字符范围是指是否包涵大小写字母、数字和特殊字符,每增加一种字符,密码的强度就会成几何倍数增加。随机性指的是密码不要有明显的特征,比如 123456,password,iloveyou 等。

在网站 HowSecureIsMyPassword 中测试 123456asd 、123456asdF、123456asdF! 的破解难度分别为 42秒、8个月、400年。

(42秒破解密码 123456asd ↑)

2,密码分级,在不同网站使用不同的密码。

对密码进行分级,在不同网站使用不同的密码最大的好处是,即使 A 网站发生了密码泄漏,我们在 B 网站上的密码也不受影响。

根据密码的使用场景,我们将把密码分为三个级别:财产级密码、重要级密码、一般性密码。

财产级密码:

与财产相关的密码。通常只能用数字做为密码,比如银行卡密码、支付密码、手机PIN码、保险箱密码等。

重要级密码

与重要隐私相关的密码。比如邮箱、门户网站、社交网站、购物网站、密码管理工具主密码、加密文件密码等。

一般性密码:

财产级和重要级密码之外的密码都可以归为这类。包括小众网站、小众论坛,临时账号、共享账号、宽带WIFI等。

(密码分级 ↑)


如何让你的密码安全又好记?

为了保障密码的安全,人们通常会使用更长更复杂的密码,在经历多次忘记密码的痛苦后,人们又会转向于使用简单的密码,又会在多个网站上使用同样的密码,密码的安全性和易记性往往很难兼得。

所以,密码管理首先是策略的选择问题。

财产级密码,通常只有 6-8 位数字密码,简单不容易遗忘,我们完全可以用大脑去记 ,即使忘记了也可以用身份证找回。

只要别使用生日/电话做为密码就行,而且这类密码都有很强的防范机制,输入错误几次后就会锁定,还有短信提醒之类的。

一般性密码,通常都不怎么重要,即使丢失被盗也没啥大不了的,这类密码的网站通常防范措施较弱,如果你把重要密码用在这此网站上的话,黑客是能轻易破解的。

这也解释了为什么“最差密码排行榜”第13名里是'welcome',就像是在和黑客们隔空喊话一样,因为这类密码没什么重要的。

对于这类一般性密码,我们完全可以使用一个通用的密码,比如 123456asdF

(密码管理 ↑)

我们真正需要管理的密码是重要级密码。

重要级密码通常是那些可以信任的大公司,这类网站都会有较强的密码保护机制,比如验证码登录,异地IP登录提醒,手机短信验证等。

我们要做的就是确保在这些网站上使用的是复杂密码,而且每个网站都不一样。

为了能容易地记住密码,我们可以设计一套密码规则:「基础密码 + 变化规则

1、选定一个基础密码。

选择一句对自己有意义又能容易记住的话,它可以是一句古诗,一段歌词,一句名人名言,又或者是你生编硬造的话,只要你能记住就行,然后取这句话的拼音或者英文单词首字母做为基本密码。

比如“Nothing Gonna Change My Love For You”缩短为'ngcmlfy',又比如“人帅也要多读书”缩短为“rsyydds”。

我们以“高效方法论2019”转换为基础密码“gxffl2019”来举例。

2、变形这个基础密码。

密码的复杂度对于安全很重要,密码是否包含有大小写字母、数字、特殊符号的差别是巨大的。特殊符号因为没有意义,加入到密码中来会提高记忆难度。

一个好的应对方法是对原有密码里的字母进行变形,使用相似的特殊字符来替代部分字母

比如把 a 变成 @,c 变成 (,h 变成 #,s 变成 $,l 变成 !,x 变成 * 等,原来是 password 的密码就变形为了 P@$$w0rd

基础密码转换过程:

高效方法论2019 --> gxffl2019 --> g*ff!2019

3、基础密码加入网站标识。

取网站域名的第1、2位字母和第3、4位字母,分别加入到基础密码的开头和结尾。

比如 baidu.com 就是 bag*ff!2019id,google.com 就是 gog*ff!2019og。

接着使用驼峰式大小写也就是把密码的第 2 位字母和倒数第 2 位字母变成大写字母,也就是 bAg*ff!2019Id 和 gOg*ff!2019Og。

到目前为止,我们就得到了一份看似乱码,但极为安全且容易记的密码清单了。

基础密码转换过程:

高效方法论2019 --> gxffl2019 --> g*ff!2019 --> bag*ff!2019id --> bAg*ff!2019Id

(基础密码转换过程 ↑)

密码管理工具可以取代人工管理吗?

近几年开始流行使用工具来做密码管理的方法。思路是将所有密码交由工具管理,我们只需要记住一个主密码,而生成密码、记忆密码和填写密码都由工具来自动完成。

比如知名的 Lastpass、KeePass 和 1PassWord

就安全性而言,这些密码管理工具鼓励使用随机密码,也有多个网站使用同样密码的测试提醒,配合 AES-256 的加密算法,完全没有破解的可能。

LastPass 是一款将密码保存在云端的密码管理工具,KeePass 则是将密码保存在本地,开源免费,但上手难度较高,1PassWord 可以说是前两者的结合体,综合了两者的优点,但价格较贵,使用大约需要20元一个月。

总的来说,免费且易用的密码管理工具,LastPass 是目前更好的选择。

(LastPass ↑)

那把密码放在 LastPass 的服务器上安全吗?

答案是安全的。LastPass 的加密方法是把账号和主密码通过算法得到一个值,然后再用个值去加密用户的各个密码,然后储存在服务器上。

不用担心,黑客即使攻破了 LastPass 的服务器(有过被攻破的记录),因为无法破解你的数据库,黑客除了把你的密码数据库删除外,其他什么都做不了,况且 LastPass 加密解密的过程都是在本地进行。

那密码管理工具能完全取代人工管理密码吗?

答案是不能的。首先,密码管理工具都是要收费的,它们目前还不是一种基础性的工具。

1PassWord 需要大约 20元一个月,KeePass 虽然开源免费,但上手难度高。LastPass 虽然是免费的,但要在多个设备上同步就需要付费了,LastPass 的这种免费策略可以理解为一种变相的收费策略。

另外一个问题是,在一些安全性要求高的网站,密码工具的自动填写功能会失效,也无法直接复制粘贴,这时你需要手动输入一长串随机的复杂字符,想必你一定会抓狂吧。

所以,使用基础密码变形为主,密码管理工具为辅的密码管理方法更为明智。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多