如何使用随机密码生成器
已发表: 2022-01-29几乎您访问的每个网站都希望您创建一个帐户,无论是用于高安全性金融交易还是用于愚蠢的动物游戏。 您不能只为所有这些都使用相同的密码,因为这样任何一个站点的违规都会给他们带来风险。 而且您不能轻松地为每个站点记住不同的密码。 唯一明智的解决方案是安装密码管理器并使用它来存储和改进您的密码。 每次你用一个长而强的随机密码替换一个过于简单的密码,你都会提高你的整体安全性。 但是你从哪里得到那些长而强的随机密码呢?
几乎每个密码管理器都包含一个密码生成器组件,因此您不必自己想出那些随机密码。 (但如果您想要一个自己动手的解决方案,我们将向您展示如何构建您自己的随机密码生成器)。 但是,并非所有密码生成器都是一样的。 当您了解它们的工作原理时,您可以选择最适合您的一种,并明智地使用您拥有的一种。
密码生成器——随机还是非随机?
当你掷一对骰子时,你会得到一个真正随机的结果。 没有人能预测你会得到蛇眼、棚车还是幸运七。 但在计算机领域,像骰子这样的物理随机发生器是不可用的。 是的,有一些基于放射性衰变的随机数源,但您不会在普通的消费者端密码管理器中找到这些。
密码管理器和其他计算机程序使用所谓的伪随机算法。 该算法从一个称为种子的数字开始。 该算法处理种子并获得一个与旧号码没有可追踪联系的新号码,新号码成为下一个种子。 直到所有其他数字都出现之前,原始种子永远不会再次出现。 如果种子是一个 32 位整数,这意味着该算法将在重复之前运行 4,294,967,295 个其他数字。
这适用于日常使用,也适用于大多数人的密码生成需求。 但是,理论上熟练的黑客可以确定使用的伪随机算法。 鉴于这些信息和种子,黑客可以想象复制随机数序列(尽管这很困难)。
除了专门的民族国家攻击或企业间谍活动外,这种定向黑客攻击极不可能发生。 如果您是此类攻击的对象,您的安全套件可能无法保护您。 幸运的是,您几乎可以肯定不是这种网络间谍活动的目标。
即便如此,一些密码管理器仍在积极努力消除这种集中攻击的远程可能性。 通过将您自己的鼠标移动或随机字符合并到随机算法中,它们可以获得真正随机的结果。 提供这种真实世界随机化的公司包括 AceBIT Password Depot、KeePass 和 Steganos Password Manager。 上面的截图显示了 Password Depot 的矩阵式随机化器; 是的,当您移动鼠标时,字符会下降。
你真的需要添加真实世界的随机化吗? 可能不是。 但如果它让你快乐,那就去吧!
密码管理器减少随机性
当然,密码生成器不会真正返回随机数。 相反,它们返回一串字符,使用随机数从可用字符集中进行选择。 您应该始终启用所有可用的字符集,除非您为网站生成密码,例如,不允许使用特殊字符。
可用字符池包括 26 个大写字母、26 个小写字母和 10 个数字。 它还包括一组特殊字符,这些字符可能因产品而异。 为简单起见,假设有 18 个特殊字符可用。 这使得总共有 80 个字符可供选择。 在完全随机的密码中,每个字符有 80 种可能性。 如果您选择 8 个字符的密码,则可能性的数量是 80 的 8 次方,即 1,677,721,600,000,000 — 超过千万亿。 对于蛮力破解攻击来说,这是一个艰难的过程,而蛮力猜测确实是破解真正随机密码的唯一方法。
我们的顶级密码管理器精选
查看全部(4 项)当然,完全随机的生成器最终会产生“aaaaaaaa”和“Covfefe!” 和“12345678”,因为它们与任何其他八个字符的序列一样可能。 一些密码生成器会主动过滤其输出以避免此类密码。 这很好,但是如果黑客知道这些过滤器,它实际上会减少可能性的数量并使暴力破解更容易。
这是一个极端的例子。 有 40,960,000 个可能的四字符密码,来自 80 个字符的集合。 但是一些密码生成器会强制从每种类型的字符中选择至少一个,这大大降低了可能性。 第一个字符仍有 80 种可能性。 假设它是一个大写字母; 第二个字符的池是 54(80 减去 26 个大写字符)。 进一步假设第二个字符是小写字母。 对于第三个字符,仅保留数字和特殊字符,共有 28 个选项。 而如果第三个字符是标点符号,最后一个必须是数字,10个选项。 我们的 4000 万种可能性减少到 1,209,600 种。
使用所有字符集是许多网站的必要条件。 为避免该要求缩小您的密码池,请将密码长度设置得较高。 当密码足够长时,强制所有字符类型的效果变得可以忽略不计。
密码管理器应用的其他限制不必要地减少了可能的密码池。 例如,RememBear Premium 指定了四个字符集中每个字符的精确字符数,这大大减少了池。 默认情况下,它需要两个大写字母,两个数字,14 个小写字母,并且没有符号,总共 18 个字符。 这导致密码池比仅需要每种字符类型中的一个或多个时小数亿倍。 同样,您可以通过设置更高的密码长度来解决此问题。
LastPass 和其他几个默认避免使用不明确的字符对,如数字 0 和字母 O。当您不必记住密码时,这不是必需的; 关闭此选项。 同样,不要选择生成像“bogafewazepa”这样的可发音密码的选项。 只有当它是您必须记住的密码时,该选项才重要。 应用此选项不仅将您限制为小写字符,它还拒绝了密码生成器认为无法发音的大量可能性。
我们的编辑推荐
生成长密码
正如我们所见,密码生成器不一定要从与您选择的长度和字符集匹配的所有可能密码池中进行选择。 在使用所有字符集的四字符密码的极端示例中,大约 97% 的可能的四字符密码从未出现。 解决方法很简单; 走多远! 您不必记住这些密码,因此它们可能很大。 至少,与相关网站所接受的一样大; 有些确实施加了限制。
搜索空间越大(我一直称之为可用密码池),对您的密码进行暴力攻击所需的时间就越长。 您可以在 Gibson Research 网站上使用 Password Haystack Calculator(如大海捞针)来感受长度的价值。
只需输入密码即可查看破解需要多长时间。 (该网站承诺“您在这里所做的任何事情都不会离开您的浏览器。这里发生的事情,请留在这里。”但谨慎建议您避免使用您的实际密码)。 如果黑客必须在线发送猜测,那么像 9kM$ 这样的四字符密码将花费不到一天的时间来破解。 但在离线场景中,黑客可以尝试高速猜测,破解时间只有几分之一秒。
在我关于创建令人难忘的强密码(例如密码管理器的主密码)的文章中,我提出了一种助记技术,可以将诗行或游戏中的一行转换成一个看起来随机的密码。 例如,《罗密欧与朱丽叶》第 2 幕第 2 场中的一句台词变成了“bS,wLtYdWdB?A2S2”。 这不是一个随机密码,但破解者不知道这一点。 将其放入 Gibson 的计算器中,我们了解到即使使用一个巨大的破解数组,也需要 1.41 亿个世纪才能暴力破解这个数组。
做出明智的密码管理器选择
所以现在你知道了——生成强随机密码的最重要因素是让它们变长。 一些密码生成器拒绝不包含所有字符集的密码,一些拒绝包含嵌入字典单词的密码,一些丢弃包含诸如小 l 和数字 1 等不明确字符的密码。所有这些限制都限制了可能的密码池,但是当长度足够高,这个限制无关紧要。
当然,理论上(如果不是实际上的话)有可能某些不法分子可能会破解您最喜欢的密码管理器的密码生成方案,从而获得预测它将为您提供的伪随机密码的能力。 一个阴暗的密码管理程序可以将您的随机密码发送回公司总部。 这确实是锡箔帽偏执狂的关注程度。 但是,如果您真的不想依赖其他人来获取您的随机密码,您可以在 Excel 中创建自己的随机密码生成器。