经验丰富的软件开发人员可以在几分钟内轻松破解平均密码。这是因为我们被教导创建密码的方式存在根本缺陷。例如,错误密码的一个例子是;“qWxc4&Gh”。从表面上看,这样的密码似乎无法破解,但实际上,有经验的黑客只需“猜测”即可在 39 分钟内轻松破解此类密码,使用一种称为蛮力的技术,计算机尝试所有组合一个接一个的字符。原因是因为我们在计算机编程和密码学中称为“熵” 。像上面这样的短密码中根本没有足够的可能组合是“通过一个接一个地尝试所有字符组合来防止计算机猜测它。以下是从Hive Systems中获取的列表,说明了该问题。
除了这些密码很容易被猜到之外,它们也极难记住,导致用户不得不在某个地方写下他们的密码才能记住它们。写下密码的唯一真正替代方法似乎是在多个站点上一遍又一遍地使用相同的密码。由于很少有网站和软件系统(正确)使用 BlowFish 和基于记录的盐实现密码散列,这导致如果恶意黑客设法入侵您注册的网站,他通常可以重复使用该网站的密码在您注册的所有网站上。这当然会导致如果您选择在“The Free Ponies and Barbies for your Daughter”使用密码注册网站,能够入侵“免费小马网站”的黑客最终可能会获得您在线网上银行的密码。如果您是阅读本文的软件开发人员并且您告诉我“但我正在对我的密码进行哈希处理”,那么我为您准备了三个词:
彩虹字典攻击
寻找它并哭泣!
解决方案
如果你创建一个由 8 个字符组成的密码,你最终得到的熵是 72 的 8 次方。这是因为你的基数是 72。这对人类来说是一个高得离谱的数字,但对于计算机来说,它实际上是相当高的使用蛮力轻松遍历。如果您选择将密码创建为句子,那么如果您只使用英语单词,那么您最终会得到 470,000 的基数。这是因为英语包含 470,000 个不同的单词。因此,一个有 8 个单词的句子变成了 470,000 的 8 次方,这当然是一个非常高的数字,如果你用地球上的每一台计算机来尝试猜测这样的密码,你仍然需要一万亿,万亿,万亿,万亿年(或什么)。然后通过意识到地球上存在数百种活跃使用的语言和数千种方言来添加上述熵,进一步增加密码的熵。下面是一个使用暴力破解几乎 100% 完全不可能猜到的密码示例。
这实际上是一个非常安全的密码老兄!
上述密码包含 8 个单词,意味着 470,000 的 8 种不同组合的幂来猜测它,同时密码也很容易记住。上述密码的唯一缺点是它需要更多的时间来编写,这可能有点不方便,尤其是在您使用手机登录的情况下。但是,一旦您第一次登录,通常您的手机会提示您记住您的密码,这意味着您只需输入一次。因此,即使上述密码对人类来说似乎是不安全的,它也可能比我们最初使用的 8 个字符密码安全一万亿、万亿、万亿倍。
事实是,我们被教导构建密码的方式非常违反直觉,是一种非常、非常、非常糟糕的密码策略。使用整个句子并添加一些方言和/或您母语中的单词要聪明得多。这使您的密码很容易记住并且很难猜到。为了获得额外的好处,您可以创建易于可视化的密码,在您的脑海中创建图像,例如以下内容,由于它创建的图像很容易记住,但仍然不是一个容易猜到的句子。
我喜欢星期天阳光的味道
像上面这样的诗意意象使上述密码非常容易记住,因为它创建了“图像”,让您更轻松地创建关联,增强您的记忆能力。同时使您的密码 100% 不可能使用任何已知的技术猜测到今天。这就是为什么我们在设置Magic时不需要任何特殊字符、大小写字符的组合和/或数字,它会要求您输入 root 密码,仅仅是因为我们希望鼓励用户使用句子作为密码以增加熵并增强其 Magic 服务器的安全性。是的,在你问之前,我们(显然)使用 BlowFish 和基于记录的盐,因为我们将你的密码存储到 Magic 的数据库中......
郑重声明,我从未试图恶意闯入地球上的任何计算机系统,既不是为了窃取您的密码,也不是出于任何其他(恶意)原因。因此,即使我可以破解您的密码,请放心,我个人永远不会... ;)
文章评论