我听说过使用4个随机字典单词的方法,它可以给你很多字符,而且很容易记住。
但这似乎对字典攻击开放,特别是如果攻击者也听说过该方法,以及 4 个字典单词组合的暴力攻击。
4个字典单词的组合是否太多,所以它仍然是安全的?
我注意到 Veracrypt 特别声明不要使用字典单词,或者 2、3、4 个这样的单词的组合。
那么,如果那不安全,是否有一种安全的方法可以让我记住密码?8个字典单词的组合会起作用吗?
我听说过使用4个随机字典单词的方法,它可以给你很多字符,而且很容易记住。
但这似乎对字典攻击开放,特别是如果攻击者也听说过该方法,以及 4 个字典单词组合的暴力攻击。
4个字典单词的组合是否太多,所以它仍然是安全的?
我注意到 Veracrypt 特别声明不要使用字典单词,或者 2、3、4 个这样的单词的组合。
那么,如果那不安全,是否有一种安全的方法可以让我记住密码?8个字典单词的组合会起作用吗?
密码的主要问题不是密码复杂性,而是密码重用(强制 xkcd)。一项服务泄露了登录名和密码,突然间,许多提供商看到账户劫持激增。为什么?因为我们人类无法记住几十个不同的密码,所以我们为常用服务创建一个密码,为特殊服务创建一个密码。但我们大多数人只有一个密码。
不要创建自己的密码,使用密码管理器。他们可以创建非常复杂的密码,每个服务一个,为主要浏览器提供插件和扩展,具有强大的加密、云备份、多设备同步等等。不要相信你的大脑会为每项服务创建不同的随机密码。
使用密码管理器意味着您只需要知道一个密码 - 主密码。此密码可以写下来并保存在您的钱包中。所有其他的将由经理创建,可以包含 128 个字符、10 个数字、30 个特殊字符,包括ĥaŕd-tö-tỹpẽ
...
绝对认真对待钍的回答。但是,我想我也不妨尝试解决您的实际问题。
你会一直在这样的安全板上听到这个,但我还是会说:答案总是取决于你预期的威胁向量。我将专注于不是专门针对您的人的蛮力攻击(因为这听起来像是您的主要关注点),但如果有人专门针对您,情况就会大不相同。让我们保持简单。
非目标离线暴力攻击
使用高熵密码的一个重要原因是要击败离线暴力攻击。显然,如果被黑服务使用纯文本密码,离线暴力攻击非常容易(这是您永远不应该跨站点重复使用密码的一个非常重要的原因)。但是,如果您的密码最终出现在使用 MD5 作为密码的服务的转储中怎么办?有一些平台可以每秒针对 MD5 测试数千亿个密码。对此类攻击的最佳防御只是密码长度,并确保您的密码不在密码列表或人们使用的常见密码方案的简单变体中。
即使对 MD5 密码列表进行离线暴力破解,攻击者也不会仅仅详尽地搜索密码空间。他们将首先下载以前破解的密码列表并尝试所有这些。然后他们将列出最常用的密码生成方案并尝试这些方案。“字典单词组合”生成短语很常见,他们甚至可以尝试这样做。如果是这样,问题是你能坚持多久?取决于您有多少单词以及列表中有多少单词。diceware 列表中有 7776 个单词,所以让我们使用它。这意味着一个 4 字密码短语可以生成大约 3.66e15 种不同的密码组合。以每秒 2000 亿个密码的速度(顶级散列设备),搜索该密码空间需要 5 个小时。以下是搜索时间,具体取决于密码中的字数:
当然MD5很糟糕。如果您的密码是从使用更现代哈希方法的系统中泄露的,那么即使是 4 字密码也将无法破解。然而,最好假设最坏的情况,对于重要的服务,假设另一端的人正在使用最差的安全性并相应地选择(即假设纯文本密码或 MD5)。有很多系统仍在使用 MD5 作为密码。
未知数
但是有很多未知数,这使得这很难回答。我们假设攻击者试图暴力破解类似 diceware 的密码,并且使用的密码列表与您使用的完全相同。这些是很多假设,黑客可能不会打扰或可能没有您的单词列表。如果他们不这样做,而是尝试进行详尽的搜索怎么办?假设平均字长为 5 个字符,则 4 个字的 diceware 密码为 20 个字符。他们正在进行详尽的搜索,因此即使您只有小写字母,也必须检查所有字母和数字(我们会很好并忽略特殊字符)。现在有 7e35 种密码组合可供尝试(如果他们想搜索所有最多 20 个字符的密码),或者在彻底搜索必要的密码空间之前使用一流的散列设备进行 1e17 年的计算。换句话说,您的密码绝对不可能被破解。显然,没有人会费心去尝试。这就是它真正归结为的原因。大多数只是试图破解尽可能多的密码的人会首先尝试明显的答案。超过一定程度的复杂性后,您不再是唾手可得的果实这一简单事实是有一定安全性的。当然,如果有人专门针对您,那么所有赌注都没有(大多数只是试图破解尽可能多的密码的人会首先尝试明显的答案。超过一定程度的复杂性后,您不再是唾手可得的果实这一简单事实是有一定安全性的。当然,如果有人专门针对您,那么所有赌注都没有(大多数只是试图破解尽可能多的密码的人会首先尝试明显的答案。超过一定程度的复杂性后,您不再是唾手可得的果实这一简单事实是有一定安全性的。当然,如果有人专门针对您,那么所有赌注都没有(另一个强制性 xkcd)。
不过,我可能会选择 6 个或更多单词。另外,不要在任何地方重复使用它。
关于磁盘加密/密码管理器
在评论中,您提到您的兴趣可能主要是为密码管理器选择主密码,或为磁盘加密选择密码。这是一个稍微不同的用例。现代密码哈希算法的设计速度很慢,因此难以暴力破解。然而,加密算法的工作方式有点不同,“慢”对于加密来说并不像密码散列那么重要(在某种程度上,太慢甚至是一件坏事)。暴力破解加密密钥有多“难”取决于加密方法的确切细节(所以我无法真正猜测在实践中会是什么样子),但与 MD5 之类的东西进行比较可能不是一个不好的参考点。
一个重要的区别(h/t Michael Kjörling)是使用本地磁盘加密或密码管理器,您可以控制密钥生成过程的成本因素。在这种情况下,您可以提高“硬度”,减少密码长度,并在安全性、易记忆性和“我必须等多久才能打开这个东西”(即易用性)之间找到自己可接受的折衷方案。
即使您在大多数工作中使用密码管理器,从字典单词派生的一致格式仍然有价值。例如,您可以从 4000 个单词的字典中生成六个单词的密码,密码如下:
that-feats-peers-film-wash-propaganda
chrome-document-thirty-ignore-given-screen
studying-mark-approved-rods-heavy-mocking
ahhh-shock-input-movies-considering-trader
equipment-download-created-compile-cookie-oops
effective-saved-systems-garage-wrote-wondering
有什么好处?想象一下,您正在将其中一个密码转录到另一台计算机 - 在密码管理器中查看它,然后将其输入到完全不同的计算机中。或者电话。或类似的东西。例如,查看列表中的第三个密码;然后把目光移开,尽可能多地输入你能记住的内容,然后回来。您可能可以在两次尝试中完全准确地转录整个密码 - 甚至可能是一次。即使您使用十个单词的密码,您也应该能够在大约三步中转录一个。用 " heaps-comment-handle-emerald-capped-gain-write-details-grey-moment
"试试,看看这有多容易。
你可能认为这对你来说永远不会重要,但它不需要花费你任何东西(我在这里给出的密码分别有 71 位和 120 位熵),如果它真的很重要,你已经获得了巨大的收益.
这个问题为阅读不同可能性的广泛主题提供了一个起点。
请记住,有些答案已经有好几年了。无论如何,有很多关于一个好的密码的提示。此外,这篇文章还告诉您更多关于计算时间的信息(尽管您应该尝试在不依赖每个单词的情况下理解重点;))
有很多问题,但正如 ThormiumBR 所说,最常见的问题之一是重用或部分重用。a9wdu$$$db§c5829ae1
如果人们在某处使用例如密码并在某个时候记住它,那么很可能在a9wdu$$$db§c5829ae2
某处也会有或任何其他衍生物。更好的方法之一是从字典中随机(是的,这意味着骰子)4到6个随机单词(例如here)。这增加了您可以记住的长密码的机会,因此减少了重复使用或部分重复使用的机会。如果它们很容易记住,你为什么需要这样做?
但这似乎对字典攻击持开放态度,特别是如果攻击者也听说过该方法,并且暴力破解了 4 个字典词的组合。
几乎没有。原因之一是攻击者(如果您使用牛津词典)并且他决定也使用这本完整的英语词典进行破解,他可能会忙一段时间;)第二个更重要的是:攻击者通常会不是那种蛮力的。如果您是专门针对的并且动机很大,他可能会采用这种方法,但如果您是,则有 2FA 等等。在不同的场景中,最有可能的攻击者使用不同形式的词表,如果你的随机操作正确,那么你的句子出现在某人的词表中的可能性很小。
当然,这一切并不适用于在任何地方实际使用密码管理器的人(至少在某种程度上)。如果你这样做,你可以简单地要求它生成一个“随机”的 35 个字符长的密码,其中包含所有可能的奇怪和难以记住的字符,然后保存它。但是,既然你这样问,我假设你不想要或出于某种原因不能这样做。