在BBC网站上的这篇文章中,他们提供了有关如何开发密码的建议。步骤如下。


步骤1:选择一个艺术家(我假设是唱片艺术家)


让我们选择一个案例研究青少年偶像和全能坏男孩贾斯汀·比伯。*


步骤2:选择一首歌。 (捕手更好)


接下来,我需要从Biebs众多经典曲目中选一首歌曲。我最喜欢他的地方是他对控制“男朋友”关系的黑暗世界的洞察力。


步骤3:选择一些歌词


现在,我需要“ Boyfriend”的一些歌词,我将与略有威胁的合唱团一起去。 “如果我是您的男朋友,我绝对不会放过您”


步骤4、5和6:密码歌词


现在我们需要接受Biebs散文并输入密码。为此,我们将歌词中的每个单词的首字母作为“如果我是你的男朋友,我永远不会让你走,我永远不会让你走”。
区分大小写:

iiwybinlyg


通过用符号和数字将其更改为“自言自语”:
iIwyBiNlYg


我的问题不是密码的数学强度,显然,密码的强度将取决于所选择的歌词以及如何对其进行密码处理,而更多地是关于密码总量的可预测性

我们都知道,人类可以说是非常可预测的生物,根据某些人口统计信息生成词典不需要花费大量精力,基于个人特征的音乐流派或针对性攻击。

我最初的想法是,这在企业中是一个糟糕的建议,因为它会导致许多用户使用相同的公式来开发他们的密码,而这只能通过使密码更可预测来加剧。在全国范围内,这可能是合理的建议,这使我想到了一个问题:

鉴于人类的可预测性,BBC关于如何选择一个合理的密码的建议是吗?如果是这样,那么在什么情况下才是明智的建议?

* Justin Bieber仅出于幽默原因使用。

评论

您是否看到您的密码包含字母“ i”的3倍(即使采用不同的形式)?我敢打赌,根据语言的不同,您最有可能在单词的开头找到字母,而不是其他字母,从而大大降低了最终的密码熵。

首先,您没有听从他们的建议-他们专门说了一位音乐人,比伯也不是。

底线和总而言之-非常糟糕的建议。

如果它使您的密码生成方案比现在更安全,则是一个很好的建议。如果这样做会使您的密码生成方案不那么安全,那么这是个坏建议。我很确定使用正确的马电池装订方法更安全,更容易记住,并且已经有很多站点可以帮助您生成随机的站点。

值得记住的是,本文是在人们使用诸如“密码”,“ 123456”和“ qwerty”之类的密码的上下文中编写的。对于那些经常访问security.stackexchange.com的人来说,这种方法远非如此。但是,如果它减少了使用“ 123456”的人数,我全力以赴。

#1 楼


我的问题不是密码的数学强度,显然,密码的强度将取决于所选择的歌词以及如何对其进行密码设置,而更多地是关于可能的密码总数的可预测性使用这种方法弹出。


这是一个好问题,我将离开这里的规范,戴上我的锡箔帽子,然后说:“不,这是这不是一个好主意。”为什么?让我们在斯诺登泄漏的情况下来看一下。即使您正在使用HTTPS,这也是一个坏主意。

“但是,马克·布法罗,你又是个疯人般的锡箔纸制毒者!”想一想。破解密码的时间突然减少了。


GCHQ获取您的在线搜索历史记录。他们可以借助XKeyscore知道您何时登录某个网站。搜索歌曲歌词。即使您使用的是HTTPS,事实上,您还是在这段时间内连接到google.com,然后访问了托管歌词的网站,这才是开始密码的第一步。


即使他们无法查看流量,他们仍然可以看到您已连接。即使您使用的是HTTPS,也不会阻止他们自己托管歌词网站。这也不会阻止公司记录您的搜索结果,也不会阻止公司将这些结果提供给任何人。如果他们知道您喜欢还是不喜欢哪种类型的歌曲,则可以轻松完成。


现在,他们可以编写一种算法来破解您的密码,这比暴力破解每种可能的组合要容易得多。甚至更好的是,使用现成的密码破解程序以及提供的这些结果的词典。


但马克·布法罗(Mark Buffalo),政府不在监视我!

很好,很花哨。除非您是罪犯,否则通常无需担心它们。或者您是注重隐私的。或者您是一名安全研究人员。 )和Ghostery(Ghostery出售您的信息)!”大多数人不使用那些。而且,许多使用智能手机的人也不会使用这些工具。

到处都有数据踪迹,尤其是如果您拥有智能手机(尤其是Android),并且有许多邪恶的营销公司会在第一时间获得您的数据。也许它们不是邪恶的公司,但它们遭到黑客的破坏。

任何有“需要”的人都可以购买该数据,而那些过于复杂的人则可以窃取该数据。对于大多数人来说,这似乎是一件令人担忧的小事情,但当您深入研究联邦合同领域时,情况变得更加糟糕。这是开始违反安全性的方法之一。

前面列出的所有步骤都可以在没有XKeyscore的情况下完成。使用庞大的营销数据库可以很容易地做到这一点。


停止锡箔纸,马克。如果我现在戴锡箔纸帽子,相信本文是作为有意削弱标准的计划的一部分而制定的。我个人认为,弱化标准是一种国家安全风险,尤其是当联邦承包商采用那些弱化的标准时。

就个人而言,我比政府更担心邪恶的营销公司和黑客。尤其是在故意削弱标准的情况下,那些有潜在敌意的国家获得了对关键基础结构和知识产权的未经授权的访问。 >现在让我们讨论数字和社会工程学。

使用此密码通常是蛮力的,根据此密码策略,您可能需要以下字符:
  abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=


这是76个可能的字符。使用这种密码方法,假设大多数人将使用6-7个单词生成密码,并且可能添加1个符号-!@#$%^&*()是最常见的-加一个数字,则需要测试-8个字符的密码-1,127,875,251,287,708组合以耗尽密码空间。根据哈希算法和硬件的不同,这可能花费很长的时间。

以md5为例(这很糟糕,但是它的计算成本很低。请不要使用md5;我只使用它举个例子)。要耗尽8个字符的密码的字符空间,需要4年的时间才能用便宜的工作站破解它。大约4年25天7小时46分钟54秒。如果您将密码长度设置为9,则将需要309年的时间。请记住,处理能力正在迅速增长。

了解有关用户密码的其他参数可以简化此过程。假设您选择以下歌曲:宝贝再打一次我。这是您最喜欢的歌曲,我知道这是因为我通过社交目的告诉您。让我们选择一个可预测的歌词短语来创建密码,方法是:再打一次我的宝贝。这将成为HmBomT。现在让我们添加一些数字。现在我们有H@BomT3。现在我们知道您喜欢的歌曲和您喜欢的短语,这就是您的密码字母空间变成的内容:

hHmMbBoOmMtT1234567890!@#$%^&*()-_+=


如您所见,该字母空间大大减少了。如果您知道密码以什么字符开头,则速度要快得多,但是假设您不知道。让我们进一步假设它是随机的。现在,您已经减少了将密码空间耗尽到2,901,713,047,668组合所需的时间,用廉价的工作站破解密码需要3天。让我们将其升级到9个字符。现在需要137天15小时47分钟。

您可以自己计算(字符集:自定义)。此外,所有这些都假设您没有专用的GPU群集。

编辑:

引起我注意的是,现在有证据证明专用于破解bcrypt的定制硬件解决方案,其中一种比25-GPU便宜得多阵列,功耗更低,并且在各个方面都具有极大的优势。如果您想了解更多信息,请阅读这篇精彩的文章。


但是我们不应该简单地增加密码长度吗?

是的,您可以。确实,当您增加密码长度时,它极大地增加了熵。

但是,输入变得很烦人-特别是对于每次离开计算机都要求注销的公司环境。最重要的是,很难记住该密码。

输入不同的密码并被迫每隔几个月更改一次,您最终可能会忘记它。更糟糕的是,您可能会立即忘记它,而被迫访问IT服务台以重设密码。这会导致业务成本增加,并导致生产力下降。您可以在某个地方使用大写字母,在其他地方使用数字,或者在增加熵的同时使其变得更加容易:类似correct horse battery staple。这很容易记住,很容易键入,并且计算机很难损坏。还要记住,这应该是从2048个单词列表中随机生成的。

对于网站,我建议使用密码管理器,例如KeePass。我不会使用LastPass,因为它容易受到网络钓鱼攻击。网站可以知道您已启用LastPass,因为如果需要,您的浏览器会将此信息发送到网站!这是浏览器指纹工作原理的一部分。

对于您无法使用密码管理器的公司和其他登录名,我建议您使用带有额外单词的correct horse battery staple gasoline变体。也许correct horse battery staple?更容易记住。

评论


这是否会使您的密码更弱,完全取决于谁在阅读文章。如果您是那种会阅读此建议,然后选择您喜欢的歌曲的合唱作为密码的人,那么您的类型却没有此建议的密码就是“密码”或他们的生日。在这种情况下,hmbomt要强大得多。

– Shane
16年1月21日在16:46



@Shane-我不同意这个说法。值得一提的是,您信任的安全措施不足,甚至没有安全措施。

– Mike Vonn
16年1月21日在18:03

@Mauser没有安全性与弱点但值得信赖的安全性并不是这里的二分法。您是否认为人们使用了他们知道的密码错误?否。如果他们将生日作为密码,他们会信任它作为一个好密码。这里的二分法是极其弱的可信安全性与弱可信的安全性。

– Shane
16年1月21日在18:13

@ToddWilcox,如果您认为“我喜欢Stack Exchange!”是XKCD方法的示例,那么您根本不了解XCKD方法。应该是4个或更多随机选择的单词。

–本
16年1月22日在4:57

另一方面,@ Fax如果有人因为“创建安全密码太困难”而不在乎,则在查看新闻时偶然发现了这篇文章,并认为“好,我可以做到”,那么一些密码就很少更好。即使不如C9Tds = mTrB&VL $ SbRwW2gd!FKhW7q!JpMkCQ,jb4uiwhd4eva也比123456好得多。 “不要让完美成为善良的敌人”。

–丹打击
16 Jan 22 '14:18



#2 楼

太糟糕了:)提供一些数字来支持其他答案:

这提供了一些每年流行歌曲的数量。在过去十年中,它每年的热门歌曲排名低至300-400!一首歌的平均单词数为300-600,具体取决于样式,它们每个句子只能输入7-10个单词(我想这是当今密码的舒适长度)。最多-每年听流行音乐的人的密码库总数约为40,000,其中不包括重复(而且众所周知,流行歌曲没有重复行!)。

因此,只需选择一个随机的常用单词并将其最喜欢的数字添加到末尾就可以保证密码的安全(假设您最喜欢的歌曲还不到一岁,对很多人来说都是真的!)如果您询问任何IT或安全人员,那根本就不安全。实际上,由于语料库更小,平均单词长度更短,因此它比XKCD著名的tr0ub4dor&3更加糟糕,这已在网上进行了讨论。

增加侮辱性伤害-建议中的任何步骤都不是真正的好方法。


大多数人倾向于听相同的音乐。只是去参加一个男乐队的音乐会,看看人群的庞大规模(相对于歌手要喃喃地说的字数)。
我衷心地怀疑大多数人会喜欢这首诗的中间。我发现将要选择上口的合唱似乎更加合理(毕竟,您必须记住逐字逐句的行,而不仅仅是通用含义或节奏!)
取词的首字母太可怕了7个字母覆盖了该语言的65%。当然,这并没有专门分析歌词,但我怀疑在那里会更好。
区分大小写是可以的,但前提是您必须使大写字母的位置真正随机。你不会的。如果第一个是资本,那太容易了。而且您不会将它们混在一起,nonono。而且必须有一个不错的数字,但不要太多,对吧?
输入密码基本上没有意义。在最常见的字母中,只能替换一对,并且替换是事先已知的。而且,您不会正确地随机分配要替换的字符和不替换的字符。


1为了提出一个论点,我实际上从上面的文章中计算了香农熵。原来它是4.075,而随机字母分布是4.7。这并不像我预期的那样糟糕,尽管它的确意味着10个字符的密码比用随机字母而不是随机字母更容易猜测70倍。

评论


老鼠,基本上,您用更好的数据打败了我。 :-)我还要指出,这不仅是理论上的攻击,而且实际上是通过从“新闻网站,多语言论坛,公共IRC日志,Wikipedia,Pastebin,电子书,电影脚本和歌曲歌词”:arstechnica.com/security/2013/10/…。它并没有特别提到每个单词的第一个字母,但是我敢肯定,这是他们如果没有的话会尽快尝试的处理规则。

–本
16年1月21日在4:22

如果我使用晦涩,不受欢迎的歌曲怎么办?

– Zenadix
16年1月21日在14:46

@Zenadix这是对公众建议的评估。如果流行音乐不流行,就不会“流行”。因此,这适用于很大一部分人。如果您使用只有您和您的朋友知道的晦涩的歌曲,那么项目符号点(1)不适用,但是所有其他歌曲都适用。但是在那一点上,这是从一首歌开始的吗?

– Ordous
16年1月21日在15:55

@Casey Nope。这里的问题是,它创建的外观看上去实际上并不强壮。如果攻击者知道这是一种策略(是的,现在已经很广为人知),他们可以只抓取一个歌词网站并尝试所有这些网站。正如Ben在上文中指出的那样,人们为此目的使用了整个Wikipedia,使用歌词数据库并不是不可想象的。我之所以使用流行音乐,是因为它易于评估并且适用于大多数人(并给出令人恐惧的结果),但是使用晦涩的音乐可能会使您处于“绝对不好”和“不确定”之间的界限

– Ordous
16年1月26日在15:05

@Casey您高估了自然语言语料库。所有语言的所有维基百科都包含约230亿个单词。因此,句子更少。即使您将其大量增加并说会有230亿个不同的句子(即〜2.3e + 10),您也可以通过随机的10个字符的密码搜索空间(70 ^ 10〜2.8e)轻松查看区别+18)。这少了1亿倍,更接近5-6个字符的密码。这是一个严重的低估。通常将熵降低2倍称为“关键安全漏洞”,而不是“易受蛮力攻击”

– Ordous
16 Jan 26 '15:17



#3 楼

它比大多数人正在使用的词典单词更安全。英国广播公司的方法以一两个句子开始,而不只是一个单词。但是,它不像以前那样安全。

首先,如果使用知名的合唱,则会增加其他人输入与您相似密码的机会。

其次,我个人认为,输入整个单词比断开连接的字母更容易,即使这样会增加您需要按的键数。仅使用句子中的前几个字母会丢掉熵。

如果需要一个需要记住的密码(即不能保存在密码管理器中),我的建议是随机生成一个短语使用类似diceware的工具。

另一种替代方法是从生成随机的n字母密码开始。但是,然后尝试为其找到助记符。顺序上的差异至关重要。如果您先从助记符开始,然后为密码进行密码输入,则随机性可能会比首先生成密码时随机性要小。

评论


先随机获取+1并学习记忆,找出熵要容易得多,而且实际上并不难。与选择其他方案并对其进行(过度)分析相比,其难度和风险可能更低。

–尼尔·斯莱特(Neil Slater)
16年1月20日在23:00

它比“没有本应的安全性还差”更糟,“在英国广播公司出版后立即变差了,因为它将立即成为标准饼干字典的一部分”

–simbo1905
16年1月22日在8:07



#4 楼

是的,这不是坏建议,尽管它取决于人们对它的关注程度,与您的自我不同,我不会猛烈抨击我最喜欢的艺术家(我们都知道您喜欢JB。)许多人选择了他们喜欢的艺术家和他们喜欢的歌曲,最有可能选择了合唱或非常知名的台词(您跟着他们唱歌但不喃喃自语),从而很容易算出普通用户的密码,但是正因为如此方法将使它很难猜测,但也很难记住。创建良好的密码并记住它们是某些人没有的礼物。

我的反建议是随机生成您的所有密码,并将其存储在钥匙串中,仅将主电子邮件密码和钥匙串的密码存储在您的头部。再次让我看起来不太消极,这是比ilovejb2016更好的选择...对于非技术人员来说,这是不错的建议。

我想再说一遍,更新我的答案。

我并不是说对本站点上像我们这样的知道安全性并且有安全意识的人遵循此建议的人有好处,这很可能会削弱采用此方法的密码。但是但此建议将帮助像我的父母,我的南,孩子一样的人。那些可能(很可能)使用密码后,在标准的一个大写字母后面加上一个小写字母和一个数字(最有可能是他们的年龄,出生年月,1、11、123、321)作为可怕的单词,并且密码本身是一个与他们的日常生活有关的正常词汇。例如他们的宠物河马的名字。例如,Chubby123!

这对那些人是个好建议。但不是我们,您必须记住人们,人们对计算机不是很好,或者没有安全感,我可以通过写一些普通的单词来砍掉您所有的祖母。

评论


-1表示其不错的建议,但+1指出了一组有限的可能的收藏夹所导致的共性,并且更喜欢使用密码管理器...

–AVID♦
16年1月20日在17:30

我同意@AviD。对不起,但我不同意。我认为这是个坏建议,因为它可以更轻松地破解密码。

–马克·布法罗(Mark Buffalo)
16年1月20日在17:51



我同意人们非常经常使用比这更糟糕的策略来选择密码的观点。但是我不同意这使该策略成为“好”策略。

–大多数情况下
16年1月20日在18:28

我将违反共识,不同意它使破解密码更容易。 “更轻松”是一个相对术语,表示当前用户正在选择好的密码,并且如果他们遵循此方案,情况将会更糟。从客观上讲,这不是真的,大多数用户选择的密码比此方案生成的密码更具可预测性。此方案不提供“好的”密码,但是它可以提供比当前大多数用户选择的“更好的”密码。

–罗里·麦库恩(Rory McCune)
16年1月21日,9:10

我要说的不是它的好建议,而是比人们已经拥有的建议更好的建议。比输入明显的密码要好.....比l33tsp34k更容易猜测...如果您理解我的意思,那不是坏建议,尽管不是好建议。

–隐藏
16年1月21日在9:25

#5 楼

像大多数安全方面的事情一样,这取决于您要保护的内容以及您要保护的对象。

简短的答案是:对于大多数网站的登录,对于攻击者尝试通过尝试多次登录来猜测密码。

对于攻击者可以执行脱机攻击的任何情况,这都不是防止确定的攻击者的好方法,因为脱机攻击每秒可以进行数百万次,有时甚至数十亿次尝试。对于wifi密码,加密密码短语,或者如果攻击者从网站获得哈希值,这将是正确的。

评论


不管您选择哪种密码,黑客都可能做出数十亿的猜测……我认为,问题是,如果使用这种方法创建密码而不是使用其他密码,它们是否更有可能成功。

–卡西
16年1月26日在15:00

@Casey脱机攻击中每秒的猜测次数取决于哈希密码的难度。

– Steve Sether
16年1月26日在15:16

#6 楼

在这个世界上,人们经常在社交媒体上披露有关他们最喜欢的音乐艺术家,歌曲,流派甚至特定的最喜欢的歌词的信息,这是一个很好的密码策略吗?

嗯...否。

使用500个非常常用的密码是否可以经受一次简单的猜测攻击?当然。 (我猜除非字典的创建者对此策略很明智,并且您选择了一个非常非常非常常用的歌词。)但是,如果您有兴趣阻止愿意进行非常基本的目标侦察/信息的攻击者,收集关于您的信息-或已经在某种程度上了解您(例如,同事)-这将是一个糟糕的密码选择策略。

#7 楼

在安全性方面,密码长度比复杂度更重要。因此,在尝试增加密码/口令的强度时,我的建议是考虑长度,而不是考虑复杂度。将您的管理员密码和root密码/口令的长度设置为18个或更多,而忘记了18个字符以上的复杂性,它们几乎是不可破解的。

请在此处检查强度:

https://howsecureismypassword.net/

此密码1Iw&iNLy3可以在275天内破解,而该密码I_Like_Sausages_and_Eggs_For_Dinner则需要64 quattuordecillion十年的时间来破解。

所以回答您的问题,这是一个非常糟糕的建议。 .com / password-security-why-secure-passwords-need-length-over-complexity /
https://stormpath.com/blog/5-myths-password-security/

评论


“这是相当低的,可以在一段时间内破解。”一切都是时间的问题。 :P

–马克·布法罗(Mark Buffalo)
16 Jan 20 '17:54



您可以信任使用howsecureismypassword.net这样的网站吗?他们不能只是收集密码吗?

– Almo
16年1月20日在18:18

“就安全性而言,密码长度比复杂度更为重要。”不必要。尽管前者的字符串比后者更长,但iwillnevergohungryagain密码比6J更有可能掉落; snQv8e!fKn2a的密码更容易被破解。因为任何体面的猜测者或破解者都将尝试每个单词/短语/报价/等词典。他们可以考虑使用简单的暴力字符猜测。 (至少在攻击者知道有某种最小长度策略的地方,无论如何禁止最愚蠢的短密码。)

–大多数情况下
16年1月20日在19:10

@PyRulez您应该编辑答案以指定您当时只在谈论蛮力。

– PwdRsch
16年1月20日在21:24

@Almo但是他们说不。他们不敢躺在互联网上,对吗?

–哈根·冯·埃岑
16年1月21日在22:19



#8 楼

为了扮演魔鬼的拥护者,如果您输入的密码足够长(可以为此使用两行),则可以使用此技术。如果您的旧密码是harry1990qwerty123,那绝对是一个改进。但是,该技术过于复杂,并且所产生的密码不够理想。我相信这位著名的XKCD漫画最好地解释了定义您的密码的复杂卷积规则的问题:


评论


不幸的是,这种技术与BBC一样天真。如果攻击者尝试使用字符的所有可能组合,那么实际上只有44位熵,而在现实世界中,他们正在使用字典攻击。 arstechnica.com/security/2013/03/…

–贾斯汀
16 Jan 22 '23:28



@JustinLardinois 44位数字是正确的。有关一种计算,请参见Diceware。有关更多信息,请参见xkcd论坛上的长论点。在xkcd的情况下,他假设使用约2000个常用词的词典,因此它是以2048为基数的四位数字,即44个总位。

– RBerteig
16年1月23日在1:37

没关系。那就是我不先检查数学而得到的。

–贾斯汀
16年1月23日在1:38

我有点厌倦了看到这部漫画,但我确实喜欢每一次密码泄漏,您都会看到数十人使用正确的密码和正确的密码。

–卡西
16年1月26日在15:01

#9 楼

考虑到大多数人可能会选择一首流行歌曲的合唱(特别是因为您想要“更好的捕捉者”)并且仅将E和A之类的字母分别更改为3和4,所以生成单词列表不会超出合理范围以这种方式从流行歌曲中获得相对成功。

#10 楼

人类确实非常可预测,比我们通常认为的要多得多,例如参见这里。因此,永远不要使用涉及到有意义信息的方案来选择密码。

评论


当然那更好,但是那样的话你就不记得了。

–卡西
16年1月26日在15:02

#11 楼

最简洁的答案是不”。杰夫·阿特伍德(Jeff Atwood)的这篇文章很好地证明了少于12个字符的密码不安全。

摘要:上面的方法适用于“有人尝试输入密码”的情况(每秒约1000次猜测),但是只需使用“如果我是你的男朋友,我绝对不会让你go”作为密码。大多数人有这么多密码,在某些时候,他们使用的某些服务会丢弃所有密码哈希。这是哈希方案的“脱机”检查。如果服务使用的是不安全的哈希,则密码无关紧要。如果他们使用安全的密码,但是有人认为破解密码是有钱的,那么在配备GPU的“云”计算机上进行快速哈希计算的时间就很便宜。在这种情况下,此页面会将时间花在不到2个小时的时间内暴力破解您的示例密码。

#12 楼

否。这不是创建密码的好建议。我根本看不出密码方法有什么特别的优势。数据库,而不是一个特定的数据库。是的,您可能使用晦涩的词组,但我敢打赌,大多数人会使用流行歌曲中的合唱歌词。暴力攻击也是如此。它生成的密码的长度很短,因此您可以相对快速地对其进行暴力破解。

它也不太安全,因为很难要记住。如果您可以轻松记住自己的密码,则不要将其写在办公桌下的便签纸上或桌面上的passwords.txt文件中。抵抗字典攻击,因为它不包含字典单词。

正如其他人所提到的那样,“正确的马电池装订”方法是创建难忘的密码的最佳方法,该密码可以抵抗几乎所有攻击。当前有1,025,109个英语单词可供选择。 4个单词给出1.1 ^ 24的可能性,而7个单词给出的组合比可能的MD5哈希数更多。如果您甚至选择一个4字的密码并将一个随机字符替换为一个随机的ascii字符/符号,则实际上使字典攻击成为不可能,并且仅适用于蛮力。假设平均单词长度为5个字符,则组合的总数约为20 ^ 254,即使使用Google的计算器也无法计算。

但是,如果您能记住4个单词和一个替换后,密码非常容易记住。

因此,基本上,BBC的方法不如随机生成密码安全。不要使用它。

#13 楼

使用密码管理器。

技术专家中最流行的密码管理器是KeePass。

我的IT管理员说“ LastPass for the baby babies”(这是最简单的)。 br />

编辑:由于对文章信誉的反对而删除了链接。根据要求添加直接答案。

对于这个问题,我会说这是很好的(但不是很好)的建议。肯定有比1Iw&iNLy3更糟糕的密码,并且它比算法更有价值:在使用Justin Beiber时,我可以使用I Ching,Yogi Barra或Rocky IV的引号,而我的“密码”可以更多或比您复杂。因此,对于拒绝使用密码管理器的人们来说,他们的建议是一个很好的起点。

评论


该文章得出了正确的结论(使用非密码身份验证,或使用密码管理器和随机密码),但它会使其他所有内容出错。首先,用户不会选择通过XKCD方法创建的密码。他们是随机的。为什么每个人都总是认为漫画在说“从头顶摘下四个字”?推荐使用骰子。其次,bcrypt,scrypt等之所以普及,主要是因为它们减慢了字典攻击的速度,与蛮力攻击的速度一样快,因此,这种方法对于好的密码也变得站不住脚。

–本
16年1月21日在16:21

最后,大公司(Linkedin,Ashley Madison,patreon,Walgreens / CVS /等,LastPass(具有讽刺意味的))经常丢失密码哈希,以至于我不认为手动消除泄漏的密码哈希的威胁是不公平的。特别是对于重用密码的人,这与在线攻击一样,至少具有威胁。尽管威胁可能比网络钓鱼要少。

–本
16年1月21日在16:23



@本好点。但是,关于“首先,用户未选择XKCD方法创建的密码”,在许多地方,您不能使用密码管理器。我认为,在选择密码时,xkcd文章仍然是不错的建议。

–马克·布法罗(Mark Buffalo)
16年1月21日在16:39



是的,我同意这种方法是好的,这就是我的观点。文章声称XKCD方法不好,因为用户“不是很有创造力”,并且可能会选择“ letmeinfacebook”之类的密码。

–本
16年1月21日在16:55

我喜欢密码管理器,但是对于您希望经常从自己的个人计算机登录而无法登录的东西,它们并不是很实用。

–卡西
16年1月26日在15:03

#14 楼

一言以蔽之。这是非常愚蠢的。减少攻击者搜索空间的任何措施都是不安全的。不要这样有人应该让BBC对此负责。

#15 楼

我同意普遍的共识,这确实是一个糟糕的建议。但是,此建议的目标受众是使用password123或il0vecarr0ts之类的密码的人,因此尽管密码有问题,但仍可以改进其密码。 ..但瑕疵少。这是一件好事。

还必须考虑您所保护的风险,例如,如果一个14岁的女孩正在使用JB歌曲为Facebook植入她的密码,那么这可能是合理的风险。

但是,如果像奥巴马总统这样的人正在使用碧昂丝的所有单身女士播种保护美国核武库上众所周知的大红色按钮的密码,那么那也将有点有风险。

评论


红色大按钮上没有密码。太冒险了。核武库不是失败安全的,它们会致命地失败。

–timuzhti
16年1月24日,1:12

这将超过几十年来使用的000000000的改进。

–卡西
16年1月26日在15:07

#16 楼

这个密码是否比其他生成密码的幼稚方案更好,例如Texas89,ddddd,zxczxc,Judges12:6,purple1或65432?是的,更好。我会推荐给朋友吗?可能不会。

一个好的密码生成方案可以平衡数万亿甚至更多的独特密码(而不是数千)的优先级,并且易于记忆和键入。这种密码方案(特别是BBC所描述的)使创建不安全的密码变得很容易,以至于难以记住密码。

我们的威胁模型是什么?


黑客是否正在使用其他地方泄漏的密码来查看您是否重用了?与其他方案(例如在
随机单词中添加0)相比,建议的方案使生成许多
难忘的独特密码更容易,因此只要您记住
您正在创建数百个密码。
是朋友,同事还是社会工程师试图根据他们对您的了解来猜测您的密码?在这种情况下,即使他们正确猜出了密码,他们也可能永远猜不到密码
它是基于您最喜欢的歌曲之一。
黑客是在试图破解密码吗?脱机(例如数据库泄漏后)?这是最危险的威胁,也是具有最复杂密码的威胁
策略。我们将更详细地讨论。在所有这些威胁中,
并不会影响密码的复杂程度;

但是,值得指出的是,有效使用密码管理器是对上述所有威胁的更好解决方案,尽管它确实带来了使密码管理器的数据库泄漏的较小威胁。 。

仅使用首字母有什么优势?

英语有成千上万个单词,但只有26个字母。即使是自然的英语非随机短语,也比起首字母的集合为您提供更多的熵(请参阅下文)。 “ ijamwnsasth”可以代表“我只是一个需要在某个地方藏身的人”,“这是一件最奇妙的新衬衫和裙子,”或“想象任何人都可以在西雅图附近工作并在这里展示给他们看”, “以某种令她满意并似乎使她满意的方式”,或其他数百种短语。试图绕过基于此类数据库的攻击。问题在于,它们极大地降低了流程的复杂性。您可以通过删除字母来增强密码的强度(例如,letein比极端常见的密码letmein更好),但是此建议的方案似乎剥夺了太多的随机性以使密码更牢固。

我看到使用此方案而不使用完整单词的唯一现实原因是所使用的服务是否具有最大密码长度。由于许多密码是通过脱机破解以外的方法来破坏的,因此有时公司会认为较高的最大密码长度是不必要的。尽管OWASP对此提出了建议,但许多公司仍然具有16个字符或更少的最大密码长度。

密码熵

人们很难通过查看密码来判断密码的复杂程度,因此不要只相信您的判断。我们可以用熵的位数来衡量密码的复杂性,并且有几种方法可以做到这一点。最幼稚的方法是假设攻击者试图使用允许的字符集中的所有字符来强行破解密码,在这种情况下,唯一的标准就是允许的密码长度和字符集。另一方面,全知识熵假设最坏的情况是攻击者完全了解您的密码生成方案。在实践中,您的密码的真正困难通常介于两者之间,由于现代饼干的复杂性,通常更接近全知识熵。使用密码。但是,英国广播公司(BBC)的文章并未提出任何有关密码长度的建议,我认为这是一个主要疏忽。由于密码破解难度成倍增加,尤其是在强行强制使用大字符集时,因此在密码中仅添加两个随机字符会使密码破解难度提高1000倍。这里和BBC网站上建议的密码都至少十个字符长,提供了很大的熵。

第一个字母真的比整个单词好吗?

我们从克劳德·香农(Claude Shannon)和更现代的结果知道,英语的每个非空格字符至少具有1.1位熵,可能高达1.75位(另请参见此处)。其他研究表明,可以估计每个单词会增加5.97位的熵。

相比之下,英语字母表中随机字母的熵为4.7位,而首字母的熵约为每个字母4.1位。这意味着随机选择的6词短语中的前几个字母与同一短语中的前四个完整单词大致一样随机,或者甚至是一个随机字母也仅与普通短语的四个字母一样复杂。 (请注意,当像xkcd方案那样随机选择单个单词时,这些数字不适用。)只要歌词是随机选择的,没有比其他英语短语更可预测的了。仔细分析MusixMatch数据集与其他英语语料库的频率分布,可以发现差异并不大,其中一些差异可能归因于计数方法的差异。请参见下表。但是,所有这些都假设我们从每个来源完全随机地选择了短语。如果您从任何一个中选择一个常用短语,您可能会被淘汰。



因此,总而言之,即使攻击者知道您正在选择10个相当随机的字母,而您的邻居也从歌词中选择了10个完整单词,也就是邻居的密码假设歌词是随机选择的,则更为复杂。更改大小写或使用公共字符替换只能掩盖此问题。

为什么用字符替换数字并更改大小写?

您可能会对自己说:“ 26个字符的英语字符集太小了。我只用@代替a,攻击者将被迫在字符集中使用许多符号”。实际上,黑客知道您会进行类似的替换,因此p @ ssw0rd仍然是一个可怕的密码。因此,可以,随机更改大小写并替换字符将使您的密码更加随机,但是不要期望使用这两种方法时每个字符的密码难于猜测2-4倍以上。

话虽如此,现在大多数服务都强制您使用字母数字密码,这可以确保您满足这些限制。但是,我对使用符号作为强制执行密码复杂性的主要方法保持警惕,因为它们使记住密码变得更加困难,黑客知道您将要进行这些替换,并且一些研究表明,长度的增加而不是密码的增加。字符复杂性通常是生成安全密码的更好方法。 (请参阅本研究或本研究)。

实际密码破解

使用普通暴力破解您的BBC方案密码可能会被破解。通常,通过在其被盗数据库中的每个哈希密码上运行一组组成规则的每种组合来破解密码。密码组成规则包括常用单词,数字和字符替换的字典。您可以在此处了解更多信息。

例如,如果您使用了几个完整的单词并且密码足够短,则攻击者可能会使用字典攻击来破解它。在《金融密码学和数据安全》一书中,研究人员进行了一项实验,其中37%的破解密码与歌词匹配,但使用基于字典的攻击或其他密码数据库找不到这些歌词密码的5%。

但是,由于您的角色是相当随机的,因此我认为任何常用的规则都不会有所帮助。最好的方法是对字母数字字符和常见的替换符号(如@)的字符集进行暴力破解。我并不是估计破解时间的专家,但是基于类似这样的结果,任何这样的密码(少于6个字符)都是非常不安全的,但是对于普通用户而言,这种密码中包含11个或更多字符的方案中的任何密码都可以。这样的密码很难被暴力破解,以至于攻击者必须运行自定义硬件,拥有大量的时间/金钱和/或破解不安全的哈希(如md5)。

因此,总而言之:是的,如果您尽可能随机地选择歌曲歌词并确保其足够长,那么BBC建议的此方案将生成一个安全(但很难记住)的密码。它比一般人用于密码的大多数幼稚方案要好。但是,它基于一些不稳定的原则,例如假设第一个字母比整个单词更好,而BBC的文章忽略了一些最重要的观点,例如长度的重要性。有更好的方法来提出和管理密码。我不会推荐给朋友。

#17 楼

如果算术时间长一些而不复杂,那么它会变得更安全(熵更高)。理想情况下,它是漫长而复杂的,但谁能记住这一点。因此,总是在可用性和安全性之间进行权衡。

这里有两个很好的博客文章,详细讨论了这些问题: 2011/03/07 / strong-passwords-need-entropy /

http://crambler.com/password-security-why-secure-passwords-need-length-over-complexity/

评论


对于StackExchange而言,指向博客文章而不是汇总信息不是很好的做法,因为博客往往会消失。除了这些细节之外,大多数人还无法理解这样一个事实,即信息熵取决于野外存在的特定信息与其他信息的相对可能性。并非所有密码都相同。并非所有字母,符号或其他字符都增加相同量的熵。而且您指向的这些博客文章包含错误的数学。

– Steve Dodier-Lazaro
16年1月21日在16:56