交错单词作为密码[关闭]

问题描述 投票:0回答:1

我只是在考虑密码,交错几个单词的字母是创建强密码的好方法吗? IE

word1 = "quick"
word2 = "brown"
word3 = "vixen"

所以

password = "qbvuriioxcwnknn"

看起来它对于字典攻击和暴力破解的抵抗能力很强。有没有一种方法是这个方法的弱点?

passwords
1个回答
1
投票

这绝对是信息安全堆栈交换的问题(正如 Thriggle 在评论中指出的那样),但无论如何,我都会提出一些想法。

如果你交错单词的字母,你会面临一些优点和缺点:

优点

  • 不易受到标准字典攻击
  • 更容易记住
  • 只需记住几个包含多个字母的单词即可创建更长的密码

缺点

  • 如果有人知道这是您的密码方案,那么您就会变得容易受到攻击,因为可以通过自定义编辑再次应用字典攻击来针对这种性质的密码。
  • 虽然您不太容易受到标准字典攻击,并且可以创建更长的密码,但根据字母的可能出现次数,这些密码可能会被破解。 (我在这个提案中看到的更有趣的弱点之一。)
  • 数字和标点符号怎么样? (对于防止普通字典攻击非常重要,显然英语单词本身没有数字和特殊符号。)
  • 如果您将此设置为您的个人密码技术,您将必须决定一些标准来规定您将如何处理不同长度的单词。 (每个密码只有三个 5 字母单词? 5 字母单词的数量是有限的。)
  • 无大写字母。 (这是一个可以纠正的问题,但同样,您必须决定更多标准。)

由于我发现密码中字母的概率是该系统最有趣的负面影响,因此我将进一步深入探讨这一点。

如果我知道您的密码使用三个相互交错的 5 个字母单词,那么我会从一本包含英语中所有 5 个字母单词的字典开始,并以以下之一开头的单词开头:

t o a w b c d s f m r h i y e g l n p u j k
(英语单词中最常见的第一个字母)从该子列表中,我会选择以:
e t d s
(英语单词中最常见的最后一个字母)结尾的单词,然后组合和交错。毕竟,对于每组 3 个单词,只有 6 种可能的选项排列。

在最坏的情况下,我发现你使用了

zymes
zamia
zooid
。然而,即使您确实使用了最后一个可能的单词组合,与使用 15 个随机 Base64 字符相比,我仍然会在相对较短的时间内找到您的密码,因为 5 个字母的英语单词的组合只有 323,727,260,476(3237 亿)个( 使用相当完整的 12,478 个 5 字母英语单词列表)。另一方面,如果您只使用 15 个随机 Base64 字符,则会有 1.2 十亿种可能的组合 (
1.2x10^28
)。

现在,所有这些都是假设的,我知道您正在使用三个 5 个字母的英语单词。如果我什么都不知道,并且仍然尝试字典后跟 15 个 base64 字符的组合,那么密码就完全没问题,因为我永远无法暴力破解它。然而,这里的关键弱点是,如果我知道你的密码模式,那么就会立即失去大量的安全性,因为该模式并不太复杂。所以这个密码方案是一个通过隐匿性实现安全的案例。 (这通常是不鼓励的。

© www.soinside.com 2019 - 2024. All rights reserved.