中小学计算机知识科普:你的密码,在黑客眼里是“纸老虎”还是“钢铁侠”?
上回书说到,我们把自己的第一个网页挂到了网上,并且对常见的“撞库”、“钓鱼”和“DDoS”这三大简单常见的安全风险做了了解。
既然知道了黑客会偷我们的密码,那他们到底是用什么“超级计算机”来破解的?为什么有些密码几分钟就被攻破,而有些密码连超级计算机算几亿年都算不出来?
很多同学可能脑海里会浮现出电影里的画面:满屏滚动的代码,黑客敲下回车,不到三秒,一个带着进度条的全息盾牌被瞬间击碎……
醒醒吧同学们,现实可比电影枯燥得多,但也奇妙得多。今天,我们就来给计算机里的“密码”彻底祛魅。
首先要纠正大家一个误区:黑客绝大多数时候并不是在“破译”你的密码,而是在“猜”你的密码。对的,所谓的破译其实就是“猜”!
想象一下,你的QQ密码是一把锁,黑客手里有一大串钥匙,他们有两种经典的手段来开这把锁。
-
这就好比小偷带着一万个钥匙胚,从000000试到999999。
如果你的密码只有6位纯数字,总共也就100万种组合。别说什么超级计算机,现在随便一台像样的笔记本电脑,很快就能把这100万种组合全部试完。
所以短密码在算力面前,就像一张湿透的纸巾,一捅就破。
黑客发现暴力破解太费时间,于是他们换了个思路:人都是懒惰且充满习惯的。
他们会准备一个几千万条的“字典库”,里面全是人类爱用的弱密码:
-
纯数字:123456、888888、5201314
-
-
以及最容易中招的:姓名首字母 + 生日(比如张三2008年5月1日生,密码可能是zs20080501)
黑客拿着这个“户口本”去套你的账号,往往能“一枪爆头”。
可能有同学会问:“老韩,那我把密码设得超级复杂,网站后台的员工是不是就能看到我的密码了?”
这就不得不提互联网界的一条铁律:正规网站的后台,根本不知道你的真实密码是什么。所以,如果你忘了密码,你就只能重置密码,之前的密码一般都找不回来了。
魔法一:哈希函数(Hash)—— 单向的“榨汁机”
想象一下,你把一颗苹果(你的密码)放进了一台神奇的榨汁机里,出来了一杯没有任何果肉的苹果汁(一串乱码,比如a1b2c3d4e5f6)。
这台榨汁机就是哈希算法(比如MD5、SHA-256)。
-
不可逆:你把苹果汁倒回去,绝对变不回一颗完整的苹果。
-
唯一性:只要你的密码稍微改了一个字母,榨出来的“果汁”就会完全不同。
所以,当网站保存你的密码时,它们存的其实是这杯“果汁”。等你下次登录时,网站会把你的输入再丢进榨汁机,如果榨出来的果汁和数据库里的一模一样,就说明密码正确。
听起来很安全对吧?但黑客也有对策。他们可以把常见的密码提前榨好汁,做成一本“彩虹表”(相当于提前配好几千万把钥匙)。
所以,早期的网站用 MD5 存储密码的多,近些年已经几乎没有再直接用 MD5 的了。
为了对付这种作弊手段,网站的厨师们想出了一招:加盐(Salt)。
就是在榨汁之前,网站偷偷在你的密码里加一把随机生成的“盐”(比如一串乱码字符)。
-
-
网站加的盐是x7k9 (这个盐值对每个用户来说一般都是不同的)
-
这样一来,哪怕你和同桌设了一模一样的密码,因为“盐”不同,最终存在数据库里的“果汁”也完全不同。黑客的“彩虹表”瞬间就成了废纸。
三、 降维打击:如何设置“连超级计算机都绝望”的密码?
讲了这么多底层原理,作为中小学生的我们,到底该怎么设置密码呢?
忘掉那些要求你“必须包含一个大写字母、一个小写字母、一个数字和一个特殊符号”的古板规则吧!现代网络安全专家推荐的是:“密码短语(Passphrase)”法。
超级计算机破解密码的速度,取决于密码的长度和复杂度。
如果你用一句只有你自己懂的话,甚至夹杂错别字和空格,黑客的字典库立刻就会当场死机。
试试这样设:WoZuiAiChiDeShiHongShaoPaiGu!(我最爱吃的是红烧排骨!)
后者包含了十几个字符,有中文拼音、有英文、还有感叹号。对于黑客的暴力破解机器来说,这就像是一道几十亿年都算不完的数学题。而且,它非常好记!
千万(尽量)不要用任何能在你的社交媒体(朋友圈、QQ空间)上找到的信息做密码!比如你的宠物名字、你最喜欢的动漫主角、你的学号。在数字时代,你的公开信息,就是黑客的字典库。
-
-
正规网站用哈希算法和加盐(Salt)技术,确保连网站自己都无法还原你的原始密码。
-
对抗现代算力,最好的武器不是复杂的符号,而是足够长的密码短语。
写代码让我们创造了数字世界,而理解这些底层的运作逻辑,才算是真正拥有了在这个世界里自由行走的资本。
你曾经用过最奇葩、或者最容易被猜中的密码是什么?欢迎在评论区“自首”,给大家提个醒(放心,不用真的把密码发出来,说说你的取名思路就行😏)!
你以为设置了钢铁般的密码就万事大吉了?Too young too simple!
在技术防护之外,黑客还有一种堪称“核武器”级别的武器——“社会工程学”。简单来说,就是“骗人”。下期我们就来聊聊,为什么有时候你明明什么都没做错,只是回了一句微信,账号密码就乖乖送到了骗子手里……