(图片来源于网络)
互联网时代,信息安全问题无处不在,密码作为守护信息安全的第一道大门,经受着黑客攻击最猛烈的炮火。
本文首先简单介绍密码的意义,然后举一些密码实例及造密码的方法,最后给出我个人在使用的密码管理方式,读者可以选择感兴趣的部分进行阅读。
而登陆(Login)本质上就是一个验证身份的过程:你需要拿出凭据来证明“你就是你”。
能证明身份的凭据可以总结为三类:你的生物特征(指纹、长相等)、你拥有的东西(身份证、钥匙等)、你知道的信息(小秘密等),而密码就属于最后一类。
在《西游记》真假美猴王的故事里,孙悟空就遇上了怎么证明自己就是孙悟空的问题。
此时只能靠最后一点了,比如唱一段最近新编的 Rap《大唐 Gang》,没准这事儿就结了。
下面这些密码,你觉得哪个是好密码?
123456 qwerty il0veU
显然“123456”不会是一个好密码,事实上它已经蝉联好几年“最烂密码排行榜”首位了。
(感兴趣的朋友可以访问https://www.passwordrandom.com/most-popular-passwords,看看上面是不是有自己正在使用的密码)
之所以人们还在使用这个密码,最重要的原因就是简单——输入简单,记忆也简单。“qwerty”也是同样的原因,如果你还不知道为什么,你可以对照键盘看一下这几个字母的位置。
“il0veU”看起来是一个不错的密码,包含了大小写和数字,还用“0”替换了“o”。但是对于黑客来说,这种替换方式早就烂大街了。类似的还有把“S”替换成“$”,把“a”替换成“@”等等,这些对于密码破解器来说就是小菜一碟。
要知道,一台普通的电脑每秒可以测试超过一亿个密码,如果使用基于 GPU 的破解工具,这个数字可以达到数十亿。上面这些简单的密码,连一秒都不需要就能被破解。
究竟怎样的密码才算是好密码?从安全角度来说,一个不容易被破解的密码就是一个好密码。
要避免使用一个容易被破解的密码,你必须知道黑客破解密码的常用手段:
使用常见密码,并根据常用模式变形、组合进行破解 使用被攻击对象的相关信息(如出生日期、姓名拼音、身份证号等)组合成密码进行破解
针对第一点,我们需要避免使用常见的、常用词组成的密码(答应我,不要再把 abc、123 这些放在你的密码里了,好吗?)
针对第二点,则需避免使用自己或家人信息组成密码(爱一个人,不一定要用 TA 的生日做密码)
但 12 位仅字母密码的强度是 8 位字母数字混合密码的 179 万倍,因为:52^12 / 62^8 ≈ 1790220。
考虑到当前电脑的计算能力,建议密码长度不少于 16 位。
打开https://www.avast.com/zh-cn/random-password-generator,想要的长度、想要的字符,一键生成,非常安全!
但是随机密码最大的问题就是:难以记忆。
所以你可能会把这个密码记在便签纸上,然后便签纸丢了密码也丢了。如果你谨慎一点,也可以锁在保险箱里,但是保险箱的密码咋办呢?
一个可行的办法是,把随机的密码变成有意义的句子进行记忆,这其实是快速记忆法中的一个技巧。
比如我刚刚生成的一个随机密码:“ALGDGDNYJD”,我可以扩充成“A Logo Dog Deny JD",然后想象京东的 logo 狗拒绝做 logo,这样就记住了。
但是这种方法不适合语文水平不好的同学,因为十几个网站的密码弄下来,得写一篇小作文,然后还得把自己写的作文背下来。。。
原文:飞流直下三千尺,疑似银河下九天 密码:FLZX3000cY4yhx9day
原文:娉娉袅袅十三余,豆蔻梢头二月初
密码:ppnn13%dkstFeb.1st
原文:姑苏城外寒山寺
密码:hanshansi.location()!∈[gusucity]
原文:无边落木萧萧下,不尽长江滚滚来
密码:doWhile(1{LeavesFly();YangtzeRiverFlows();
原文:天青色等烟雨,而我在等你
密码:sky#0ff=Ayu2I@=U
当然你也可以用自己喜欢的名言警句,或者是台词、歌词进行改编,关键是改编要有创意,光用拼音首字母可就不保险了。
另外需要强调一点,已经暴露在网上的密码,没有一个是安全的,大家千万不要使用上面出现过的密码。
如果我编了一个密码,然后每个网站都用这个密码,安全吗?
要回答这个问题,必须了解什么是撞库:
撞库是黑客通过收集互联网已泄露的密码信息,尝试批量登陆其他网站,得到一系列可以登陆的用户。
这体现了安全领域的木桶效应:当你各个网站都用一样的账号和密码时,你的信息安全就被圈在了一个木桶里,而安全程度的高低是由防御最薄弱的这个网站决定的。
所以最好的办法还是每个网站使用独立的密码,但是这对我们记忆的负担实在是太大了,难道还是要写下来存进保险箱里?
当然不是,我们遇到的问题,很多人都遇到过并且给出了解决方案。这个问题的解决方案就是:密码管理器。
密码管理器的主要功能就是代替保险箱,存储各个网站的密码。辅助的功能包括:快速保存、填充密码,生成随机密码,记录隐私信息等。
使用随机密码生成器生成随机密码,用于注册新网站(或重置密码)
登陆网站,并在密码管理器的提示下保存密码,之后即可自动填充密码
在非自己的电脑上,打开 APP 对照着输入密码
在使用之前,你需要为你的密码管理器设置一个主密码(可以用前面讲过的方法),这是不可避免的,因为你需要证明这个账户是你的。之后的使用过程中,你不再需要记忆任何密码,密码管理器会负责填充的工作。
可能有人要问了,密码全都存在密码管理器里,如果密码管理器被黑客攻破了,那不是所有密码都泄露了吗?
这个问题数学家们早就帮我们解决了,有兴趣的朋友可以搜索“零知识证明”了解相关的理论基础,或者直接看李永乐老师的视频:https://www.ixigua.com/6961704171380834829
简单来说,使用零知识架构的密码管理器,连它们自己也不知道你存的是什么,只有你知道。如果密码管理器被黑客攻破了,黑客拿到的也只是加密后的信息,无法得到你真实的密码。
基于这个理论基础,你完全可以把密码管理器当成一个数字保险箱来使用,那些不放心存在网盘、iCloud 上的信息,都可以考虑移到密码管理器中。
目前市面上主流的密码管理器有:1Password,LastPass,BitWarden 等,我自己选择的是 BitWarden,因为它是开源的。
上面说过,密码管理器的理论基础是零知识证明,大家都说自己是基于零知识架构的,但是开源的 BitWarden 让我相信它确实也是这么做的。
不过 BitWarden 的界面稍显简陋,介意的朋友还是考虑 1Password 和 LastPass 吧。(不过 1Password 和 LastPass 都要收费,BitWarden 免费版对我来说够用了)
最后给大家上几张 BitWarden 的使用截图:
(密码列表)
(手机端添加密码)
(手机端自动填充密码)
(记录非网站密码等隐私信息)
- END -