创建无法破解的密码 - 密码的艺术是找到安全性和可用性的平衡

class="post_content" itemprop="articleBody">

一个优秀的密码的两个方面分别是安全性和可用性:一个是好记,一个是不好破解。该如何如何平衡呢?

每次互联网上发生了重大的安全漏洞的时候我都要考虑这个问题。Heartbleed 漏洞发生的时候,唯一行之有效的用户端应变措施,就是在你所有账号的服务方打了补丁之后立刻修改密码。好吧,时至今日,我还在各个网站更换我的密码,但这样肯定不是长久之计。

我在想,总有一天黑客会黑到我的头上,总有一天,我得花时间和精力把握所有最常用的密码全部都换掉。

我希望你也跟我有过同样的想法。

当然,如果你已经是一位「密码大师」,专门使用某种密码系统来生成和保管一些独特的、随机的无法破解的密码,那么我要向你致敬了——全世界大约有 8% 的用户了解和使用这种系统,他们从来不会重复使用某个密码。

而还有 92% 的用户找不到一个行之有效的解决方案,每个人都想打造一个独一无二的密码,但结果是你的密码或许早就存在与某些黑客的密码词典里。

究竟怎样才能够真的创建一个完全随机的密码,而且还要在需要记起的时候,有效唤醒记忆呢?我总结了一些经验,或许有你想要知道。

不可破解的密码

密码越长,破解越难。你应该考虑一个至少 12 位的密码;

需要排除的字段:名字、地点,一切有可能出现在词典中的单词;

混合起来:随机地改变大小写,打乱数字和拼写,改变单词的拼音。

遵守这三条原则,能够让你的密码在面对即便是最优秀的黑客时都能显著地提升破解的难度,即便他们的破解策略已经强大到你无法理解。

计算机安全专家 Bruce Schneier 给我们展示了目前的密码破解技术的发展程度:

破解者可以使用不同的词典,比如英语单词、名字、外文单词、拼音模式等等作为密码根;两位数、日期、符号等等作为附属。破解过程还可以加入各种常见的字母符号替换,比如$换 s、@ 换 a、1 换 l,等等。这种破解策略能够很快破解全世界大约 2/3 的密码。

Adobe 使用单一密钥加密了所有密码,导致整个密码数据库被暴力破解,大约泄露了 1.5 亿用户密码。让我们来看一下泄露的部分常用密码结果:

123456
123456789
password
admin
12345678
qwerty
1234567
111111
photoshop
123123
1234567890
000000
abc123
1234
adobe1
macromedia
azerty
iloveyou
aaaaaa
654321

如果你对于自己的密码的安全程度感兴趣,网上有不少在线的密码检测工具来检测安全性,比如 OnlineDomainTools 这个网站。这个网站能够为大家展示密码的安全性,通过各种破解方式大约需要的时间。

译者用自己常用的 16 位密码测试了一下,结果是这样的

可以看到,我的密码使用标准 PC 的运算能力暴力破解需要大约 310 亿年破解,而通过一个中等规模僵尸网络中所有的运算能力破解,大约需要 31 万年。

而文章作者举出的随机密码:bre7E$ret98:!aZ,最快的破解速度仍需要 20 亿年。

四种方法助你创建一个无法破解的密码

文章作者举出的随机密码尽管安全性极高,但使用中最大的问题在于——太难记了。如果你坐在电脑前,完全胡乱打出一排字符,的确破解者很难破解,但你也同样无法记住。

那么,相对可行一点的解决方案就是用一个看起来稍微有一点随机性的密码,或者使用一段对于你自己有特定意义的字符,但破解软件在词典中从未见过的。

Bruce Schineier 方法

Bruce Schneier 早在 2008 年就提出了一种密码思路,直到今天他仍然推荐这个思路:找一个句子,然后将它转变为一个密码。

这句话可以是任何一句话,可以对你个人来说好记,或者有特别的意义。从句子中把每一个单词找出来,然后将这些单词缩略为一个字母,然后通过独特的方式组合成为一段密码。我举个例子:

WOO!TPwontSB——Woohoo! The Packers won the Super Bowl!

PPupmoarT@O@tgs——Please pick up more Toasty O’s at the grocery store.

1tubuupshhh…imj——I tuck button-up shirts into my jeans

W?ow?imp::ohth3r——Where oh where is my pear? Oh, there

Electrum 钱包法

如果你知道比特币,玩过比特币,或许你知道钱包的「密码」——地址,是怎样形成的。Electrum 是一个比特币钱包服务,能够为用户的比特币钱包地址,通过哈希机制转换为一个 12 个单词组成的助记码。比如下图这样的:

这种助记码也叫做 Pass Phrase(密码短语),它为用户提供了一种在创建密码时的新思路:与其使用难记的随机字符串,不如用一堆没有组合意义的词拼出一个长句。

首先,先写出 12 个随机的单词,或者哪怕写出一个稍微有意义的句子,只要这句话用搜索引擎搜不到即可,比如:

Pantry duck cotton ballcap tissue airplane snore oar Christmas puddle log charisma。

所以如果你把这 12 个词扔到测试机里,即便使用僵尸网络,也要花费大约 238378158171207 * 10 的 123 次方年才能够破解。

PAO 法

卡耐基梅隆大学的计算机科学家建议使用一种名为「人-动作-物品」(Person-Action-Object,PAO)的密码助记方法来创建和记忆高强度的密码。这个方法因为在 Joshua Foer 的著作《与爱因斯坦月球漫步》中被提到而获得了关注。

PAO 法大概是这样的,我举个例子:

找一个有趣的地方的一张照片(中关村)

找一个你熟悉的人或名人的照片(刘强东)

想象这个人在这个地方做的一件事。(刘强东在中关村卖电脑。Liu Qiangdong sells computers in ZhongGuanCun)

卖电脑——sells computer——selcom

完成了,现在你已经有了一个随机的 6 位密码,视你的密码要求决定,你可以再多设计 2-3 个场景,创建不同长度的密码。

PAO 法的意义同样是创建随机密码,但方式新颖且好用的一点在于:人们对于图像的记忆比文字的记忆要深刻。

发音和肌肉记忆法

我已经自己研究出了一套生成随机密码的方法,个人也是非常喜欢这个方法。这个方法和发音以及肌肉记忆有关:

随便找一个密码生成器

生成至少 20 个至少 10 位长的密码,要至少包括数字和字母

反复浏览这些生成的密码,找到一些和单词类似的发音结构,找到那些勉强能够发音出来的密码,而且能够大概写成短句的,比如

drEnaba5Et(doctor enaba 5 E.T.)

BragUtheB5(brag you the V5)

将当中你认为你能够法印出来的密码敲到一个文本文档里。反复地敲,大概记下每个密码用键盘打出来的速度和容易程度。你需要找到最容易打出来的那个,因为这个最容易被你的手部肌肉熟悉,这个就是你的发音&肌肉记忆密码。

最终,不论你使用哪种方法,你都要一个又一个地把你所有注册了的网站和服务的密码都换成这个。这是你逃避不掉的过程,但在这个过程中,你会逐渐熟悉这个密码,它既随机,又能够被你通过反复敲打键盘而记住。

还没完!接下来你需要做的事情

我接下来要说的事情,可能会抵消掉大部分已经看到这里的朋友去更换密码的热情:没错,永远不要重复使用一个密码。

我能理解你们,创建和记住一个随机密码已经够辛苦了,每一个网站都要重新创建一个密码?大部分人都注册了至少 10 种在线服务,不论是社交网站、邮箱、即时通讯软件。

对于我自己来说,由于工作原因我几乎每天都要在一个新的网站或服务上注册,也就是每个月我都要创建并且记住 30 个新的密码?总有一天我的大脑会爆掉……

摆在我面前的任务:记住每一个独特密码,并且每一个网站都使用一个密码,登陆的时候能够快速输入,不用点忘记密码……

这就是安全性和可用性的冲突矛盾所在。还好,总是有一些简单的方法可以采取的。

注册一个密码管理工具

最简单的方法就是找一个密码管理工具来管理密码,比如 LastPass 或者 1Password。密码管理工具的功能无非储存密码,不过也有一些能够帮你产生随机密码。

也就是说你唯一需要记住的密码。其实就是这个密码管理工具的密码……而且很多优秀的密码管理工具能够和浏览器甚至是移动设备进行很好地融合,同时工具中存储的数据也是经过最高级的加密处理的。

因此,在任何情况下我都会推荐你使用密码管理工具,无论你按照我刚才所说的密码产生方法做了,还是依然按照你自己的习惯使用密码,密码管理工具都是最方便的小伙伴——除了当你用了一台陌生的设备试图登陆的时候。

专密专用,不要太过浪费记忆

你可以在重要的网站服务上使用随机密码,比如微博、微信、Facebook、Twitter、Gmail、支付工具;其他一些不太重要的,比如不常登陆的网购服务、订餐软件什么的,用你常用的简单密码就好。

当然,有人破解了你的简单密码,然后在百度上发你购买的情趣娃娃的记录就不太好了……所以,因地制宜吧。

因地制宜

所以,你可以仍然对于每个注册的网站服务都使用高随机性的独特密码,然后记住那些常用的网站的密码,把其他的密码留给密码管理工具。

时间: 2024-10-27 19:42:26

创建无法破解的密码 - 密码的艺术是找到安全性和可用性的平衡的相关文章

破解口碑营销密码(二)

接上文:破解口碑营销密码(一) 二.营销模型 2.1 传播渠道 营销模型决定着传播渠道,传播渠道的选择主要由产品目标用户群特征决定,除了传统媒体和网络媒体(指门户网站),最具有影响力和最适合口碑营销的渠道是博客.论坛和人际交互. 1. 博客 博客凭借其自媒体的特殊属性,已经成为最具有网络影响力的互联网应用. 博客的最大特点是能够制造.发现.发掘网络热点,并对网络热点进行放大和跟踪,从而形成一定规模的网络舆论,并影响传统媒体和网络媒体,最终对事件产生实质性的影响,甚至改变游戏规则.万科捐款门就是一

刚创建了一个EC2实例,默认登录不是root,请问怎么切换到root啊,创建的时候没告诉密码啊。

问题描述 刚创建了一个EC2实例,默认登录不是root,请问怎么切换到root啊,创建的时候没告诉密码啊. 解决方案 解决方案二:root是不能登录的,需要root操作的时候,直接sudo就行了解决方案三:可以直接设置root密码sudopasswdroot解决方案四:用pem文件登录后,运行:sudosu-这样就切换到了root下,如果以后想直接用root登录,可以参看这篇文章:http://www.mindg.cn/?p=269

C#破解access数据库密码方法

原文:C#破解access数据库密码方法 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; namespace Demo { class Program { [STAThread] static void Main(string[] args) { OpenFileDialog f =

破解mysql root密码的几种方法

   几种破解MySQL root密码的几种方法: 方法一 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数. 方法二 使用mysqladmin,这是前面声明的一个特例. mysqladmin -u root -p password mypasswd 输入. 方法一  使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数. 方法二  使用mysqladmin,这是前面声明的一个特例. 

openstack-Openstack 使用API创建用户时如何指定密码,如何修改密码

问题描述 Openstack 使用API创建用户时如何指定密码,如何修改密码 Openstack 使用API创建用户时如何指定密码,如何修改密码 解决方案 看看http://developer.openstack.org/api-ref-identity-admin-v2.html,是否有帮助

如何用VC编写代码来破解ftp服务器密码

问题描述 如何用VC编写代码来破解ftp服务器密码 我是一名在校的网络工程的学生,在实验课里在做如何用VC编写代码来破解ftp服务器密码的课题,目前有点迷茫,忘有好心人能帮助我解答,谢谢. 解决方案 看我用VC打造Ftp暴力破解器 http://blog.csdn.net/chinafe/article/details/8636686 解决方案二: 你在知道密码的情况下会连接ftp服务器吧.你知道密码错了ftp服务器返回什么错吧.如果这个都难不倒你,那么你要做的就是穷举.穷举的内容有两个,一个是

破解口碑营销密码(三)

接上文:破解口碑营销密码(二) 三.口碑模型 口碑模型以产品模型为基础,营销模型为渠道,让传播者通过传播渠道把传播因子传播给潜在传播者.口碑模型是传播者不断传播的过程,这个过程不是一成不变的,传播因子和传播渠道会不断的进行修正和调整,而当产品处于不同的生命周期阶段,其营销方法和传播者是不同的. 3.1 产品导入期 在新产品刚刚上市的时候,只有两种用户来源渠道,一是创业者的社交圈和创业者在其他项目中掌握的用户资源,二是初期营销带来的新用户:这两类用户构成了导入期的主要用户群,称为初期用户. 初期用

几种破解D_Link路由器密码的方法集锦

对于破解问题,大家都很感兴趣.在向大家详细介绍如何破解D_Link路由器密码之前,首先让大家了解下一般密码破解的基本流程, 然后比较下面几种方法的优劣.一.路由器的安全扫描路由器端口为了路由器的安全,网管通常都会将路由器的默认端口(80)给更改掉, 所以我们破解D_Link路由器密码的第一步就是必须要找到路由器的wEB管理端口.如果路由器上的UPnP(通用即插即用,是一组协议的统称)功能是开启的(通常路由器默认情况下UPnP都是开启的), 那么路由器一定会开放一个l 900端口.我们以D_Lin

怎么破解空间的密码呢,我想研究一下,有没有知道的

问题描述 嘿嘿我想看看怎么破解空间的密码,希望高手指点一下 解决方案 解决方案二:找黑客解决方案三:滲透,或注入木馬給空間作者,溢出,枚舉解决方案四:引用1楼的回复: 找黑客 且付款后应该可以了解决方案五:自己去黑客网找点资料,但是很难学啊.一般的大型网站都有自己的安全团队.解决方案六:我想破解是的相册密码,忘说清楚了,嘿嘿解决方案七:引用5楼的回复: 我想破解是的相册密码,忘说清楚了,嘿嘿 都一样的TX安全团队不是吃白饭的解决方案八:把腾讯服务器拿下,然后下载数据库.解决方案九:找到TX维护空