交错单词作为密码

时间:2017-05-03 20:58:56

标签: passwords

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

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

所以

password = "qbvuriioxcwnknn"

它似乎强烈反对字典攻击和暴力强迫。有没有一种方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

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

如果你插入单词的字母,你会遇到一些优点和一些缺点:

赞成

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

缺点

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

当我发现密码中字母的概率是这个系统最有趣的负面影响时,我会进一步深入研究。

如果我知道你的密码使用了三个相互交错的5个字母的单词,那么我会先用英语中所有五个字母单词的字典开头,然后从以下列之一开头的单词开头:{ {1}}(英语单词中最常见的第一个字母)从该子列表中,我会选择以t o a w b c d s f m r h i y e g l n p u j k(英语单词中最常用的最后一个字母)结尾的单词,然后进行组合和交错。毕竟,对于每个3个单词的系列,只有3个可能的选项。

在最糟糕的情况下,我发现您使用了e t d szymeszamia。但是,即使您确实使用了最后一个可能的单词组合,我仍然会在相对较短的时间内找到您的密码,而使用甚至15个随机base64字符,因为只有323,727,260,476(323.7亿)组合5个字母的英文单词( 使用相当完整的12,478个单词的5个字母的英文单词)。另一方面,如果您只使用了15个随机的Base64字符,那么可能会有1.2个可能的组合( zooid )。

现在,所有这些都说,这是假设攻击,我知道你使用了三个5个字母的英文单词。如果我什么都不知道,我仍然会尝试一个字典,然后是15个base64字符的组合,那么密码就完全没问题,因为我永远无法强制它。但是,这里的关键弱点是,如果我知道您的密码模式,那么很多安全性会立即丢失,因为模式并不过分复杂。所以这个密码方案是一个通过默默无闻的安全案例。 (通常不鼓励。