Password security: how to set the phone password security
上节说到了和Wi-Fi相关的密码问题。
这节要说的是一系列跟手机上的密码有关的问题。比如微信和支付宝支付时安全吗?
这都是关乎信息和财产安全的,最好认真了解一下。
手机上的密码大都很短,只有4-6位。而另一方面,我们在电脑上注册用户时,经常在设置密码的环节看到提示说“请设置密码长度超过8位”,甚至有时候让你包含数字、字母和字符。
两个信息摆在一起看,人们自然就会担心自己手机密码不安全。因为很短,只有4位或6位,进而也会担心起银行卡密码,因为它也很短。
其实,安全性不是这样评估的。
具体来说,银行有一套自己的加密系统。
比如说,我的网银密码是123456,这串密码在传送给银行做核对的时候,信息并不是以123456这样的原文到达的,而是先经过安装在手机或者电脑里的网银软件,做一次RSA加密。加密后,就是标准格式的一长串字符了。银行那边收到密文后,也是通过一些算法对密文做核对,然后判断密码是不是正确。
整个过程,根本就没有原文出现。对于只截获了密文的黑客来说,你的网银支付或者银行卡支付,到底是6位密码还是12位密码,是没关系的,它们没有安全性的强弱之分。
可是有人会问:那为什么规定这些密码一定是6位呢?
其实这更多是出于使用方便的角度考虑的。
有一系列科学研究结论显示,人在无压力的时候,轻松记住的一串数字的长度,大约就是5-7位,所以就取这中间值6位,当作密码的长度。
那你说,毕竟只有6位,可能性只有10万种,远远不及这门课之前说的那些几万亿亿种的可能性安全,所以暴力破解不是一下就能把它攻破呢?
是的。但银行早就想到了这一点,所以又增加了一些物理上的限制。
比如说,*连续5次*密码输入错误,银行卡就会被锁住,只能用主人的身份证去柜台解锁。所以你看,虽然可能性少得可怜,但暴力破解是不可能的。
现在我们用的一切带有支付功能的软件,比如支付宝、微信,它在支付环节也都是做加密的,而且移动端一般用的都是我们讲的RSA加密,安全性非常高。
即便在不安全的、免费的Wi-Fi环境下,哪怕有黑客获取了我们支付密码的这段信息,他也没办法。因为这段信息,是被支付软件自带的RSA加密技术保护着的,想破解依然是难上加难。
当然,如果真的用手机支付的时候,最好还是在有密码的Wi-Fi下进行,或者切换到4G、5G的电信网里再支付更安全。
在手机上输入数字或者图形密码时,理论上是安全的。原因我们刚才说了,和解锁相关的动作、跟密码有关的数据,全都被RSA加密了。
但是,漏洞还是出在*人的操作*上。要确保足够安全,你得保证输入密码时没被任何人看到。而这一点不是每个人都能做到的,毕竟这样的操作太*频繁*了。
像9个点位的图形解锁,虽然能提供40万种的图案可能性,但有经验的贼离很远就能通过你的动作趋势,判断出你划屏的动作。
甚至在2015年,还有黑客做出了一套划屏动作识别系统。可以在隔2.5米,角度很偏的情况下,5次之内猜对图形解锁的图案。
就算黑客没能掌握这些识别技能,他们只是试一试那些划屏常用的动作,像口字型、Z字型、C字型等,多试一试,也至少有1/3的手机的图形解锁是可以被破解的。
同理,数字按键解锁也一样存在这个问题。要不就是容易被人看到密码,要不就是设置得太简单,容易被人试出来。
所以一切这些,都属于人们操作中出现的漏洞。
怎么解决呢?可以改用指纹、声纹、面部识别来解锁或者支付。
现在的手机中,用来比对*生物特征*的这部分数据,是单独存储在一个区域的。
首先,这个区域是不能被轻易读到的;
其次,存储到里面以后,也是加密的;
再次,存储的加密后的这些生物特征,并不是完整的特征数据。
以指纹识别来说,那个特殊存储块里存储的指纹信息,不是全部指纹的样子,而只是全部指纹信息的一部分,比如说10%。那到底是存了这跟手指指纹的哪10%呢?它其实是随机的。
这10%的特征,只用来核对跟当前按过来的指纹是否吻合。所以即便有超级牛的黑客,把这部分生物特征的数据想办法读到了,也解密了,也依然不能还原一个人的指纹。
声纹和面部识别,也都是基于同一种原理。这样,安全性就更高了。
但对于手机密码,还有一个矛盾的地方:
既然4-6位都安全,为什么网站注册时却让我们设置更长的密码,有的时候还要求有数字、字母,甚至是大小写的组合呢?
因为并不是所有用户名、密码的信息,都像手机支付密码那样用RSA加密。也有不少网站为了节省成本,使用的是简单的加密法。
黑客拿到了这些包含用户名和密码的信息后,会用设计得比较好的字典暴力破解。也就是凭借计算机的算力,尝试每种可能性,碰巧破解了就是运气。这个动作在黑客口中,叫“撞库”。
*字典*,这是黑客必备的,它里面按优先级记录着可能的密码组合。它的编写质量,关乎撞库的成功率,所以高级黑客的字典都是精心设计过的。凡是高频密码,都会首先撞。
网上有一些从黑客历年破解的结果中,统计出来的最常被破解的密码。它们最大的特征就是简单的数字组合,或者是键盘上相邻的字母挨着敲出来的。
这些密码,也一定会在暴力破解的前几秒里,最先被破解出来。
可能你这会儿要问:数字加大小写的字母,再加一些特殊符号,会不会更安全呢?
答案可能会出乎你意料,那就是——不会。
因为对密码安全起最大作用的,其实是密码的长度。
比如说,一个16位长度,只由数字和字母组成的密码,安全性就远比一个只有8位长度,由字母、数字、符号组成的密码更高。
有些人用的符号就是常用的代替法,比如说用@代替a,用5代替s,用!代替i,他们以为用这种方式,就会安全很多。
但其实在黑客的字典里,这些常用符号有规律的替换思路,早就是典型案例,反而会被首先破解。
在网站使用的加密方法比较弱的时候,保存用户ID和密码的文件一旦被截获,这些密文迟早会被破译,就看黑客愿意花多少时间、多少成本来破解了。
举一个实例:
在2013年的时候,科技网站Ars Technica邀请了3名黑客,当场破解了已经做了*哈希算法*(hash)加密的用户数据。这些数据一共包含1.65万组用户名和密码。网站的副主编也会破解,一起参与挑战。
结果副主编破解了其中47%的密码。另外3名黑客里硬件算力最差、字典最小的那个,中间还接受了一次采访,在1个小时里破解了62%用户的密码。当时演示中水准最好的那个,用的工具主要是一块3000块钱的显卡,1小时破解了其中82%的密码。如果时间如果给得足够充足,第三位黑客在20小时里,破解了其中90%的密码。
从中你就能总结出,有多少人在设置密码时是缺少高级技巧的。
那什么是高级技巧呢?我们就需要关注那剩下10%没有被破解的密码是什么样的。这些才是在网站加密强度不高时,最扛破解,最安全的。
结果就发现,它们有一个共有特征,那就是——长。
这也提醒了我们,最好把密码改成网站允许的*最大长度*
在这个例子中,黑客也不是攻陷了加密法,而是充分利用了人们设置密码时的松懈。
按说密码应该足够长、足够无规律,但那会让人记不住。
所以,绝大部分密码都会和生日、电话、门牌号、姓名、年份挂钩。黑客编制字典去撞库时,也就先用这些规律去试,就会成功一大片。
而且人们的松懈还不止于此,他在淘宝上用的那一套用户名和密码,很可能也用作微博、京东。一个人常常只有3-4套用户名和密码,简单拼凑一下,就把它用在十多个App或网页里。因为这样好记嘛。
但一旦其中一个失守,黑客就会把可能的组合在各个网站都试试的,所以你在其他网站的账户也难以幸免。
说到底,这还是我们的操作上的漏洞,给黑客大大减少了破解工作量。 但现实情况是,我们每个人都有很多的网站和App要登陆。
虽然最稳妥的方式,就是每一个都用独立的用户名和密码,而且它们不但长,还都毫无规则,此外最好每半年全部更新一次。这就极为安全了。但这要求太高,怎么办?其实有两种方法。
第一种,是可以利用工具。
这种工具在网上可以下载,就是一些密码管理类的软件。软件可以保存所有密码,而且软件本身加密等级很高,也能按个人需求自动生成新密码。这样定期统一更换高质量密码的需求,就不难解决了。
想使用免费的:KeePass是不错的选择,密码软件加密存储本地,代码开源扩展应用多; 但是需要手动设置的时候较多,比较麻烦且界面比较粗糙、不够美观。 想最简单好用:Dashlane是最好的选择,多端云同步,加强大的代填功能; 想做到极致安全:极密盾K2是不错的选择,数据通过加密芯片加密存在极密盾设备中。从录入到使用,密码数据全部脱离客户端,永不出盾。 想使用付费又好用:1password是不错的选择,用户口碑好,数据存本地,可自定义云同步,加强大的代填功能。但是本地化一直做的不好,再就是价格较高(升级版+68元能自定义字段、更高版+213元可以本地存储)
last pass主要适用于对网页端登录需求较高的人,且价格也不便宜,高级版一年是158元,并且其安全性受到一些质疑。
enpass口碑也还不错,单主要用于电脑端、适合对移动端没有强需求的用户,并且图标十分单调简陋不便于查找记录。
不过我想,即便有这种软件,也依然是极少数人愿意使用。因为这就相当于让你培养出一个全新的*习惯*。
但是,我们还有第二种折中的方案——你可以保持当前的密码和用户名不大变,把它们作为新密码的主体部分,然后加一些前缀和后缀。
具体做法是这样做,比如京东在你脑中是个什么印象呢?比如说“快”,那就在你从前的京东用户名和密码前面,加上“快”的拼音。长度增加了,也是京东独有的,而且还不容易忘。
其他软件也可以这么操作。这样多套完全不同的用户名和密码,就修改出来了。
总结一下,这节我们说了手机中的各种密码。
原则还是不变,加密法是安全可靠的,而操作漏洞会让密码失守。
下节,最近几年大火的比特币,看看加密法在比特币中是怎么应用的。
网友评论