Diceware 作为在线帐户的密码

信息安全 密码 密码
2021-08-28 14:29:58

我正在阅读有关 Diceware 和一般密码学的信息,并且我知道 Diceware 的安全性。我在The Intercept about Diceware上偶然发现了这一部分,它说:

“你在登录网站或互联网上的其他东西时并不需要它们。在这种情况下,使用高熵密码短语的好处更少。攻击者将永远无法每秒猜测一万亿次,如果每次猜测都需要与互联网上的服务器进行通信。在某些情况下,攻击者将拥有或接管远程服务器——在这种情况下,他们可以在您登录后立即获取并发送密码,无论它有多强或多弱密码学。”

所以问题是,在 Facebook、Twitter 等帐户上使用 Diceware 是不是有点矫枉过正?我应该依靠密码管理器为这些帐户生成随机字符串并将我的 Diceware 密码保留为“主密码”还是秘密 PGP 密钥?

3个回答

在线服务需要强密码的原因是,以防他们的数据库遭到破坏,并且攻击者掌握了密码哈希值。那么攻击者确实可以每秒对你的哈希进行一万亿次尝试(如果散列算法很弱并且攻击者拥有良好的硬件)。数据库泄露不一定会让攻击者完全访问前端服务器和网络,以便能够在输入密码时捕获实际密码。

密码短语的目的是具有易于记忆的强大身份验证因素。如果您使用密码管理器,则无需记住密码,因此在大多数情况下,您根本不需要密码。

关于在线服务的要点是单独的,它适用于密码和密码短语。基本上,为了登录远程服务,您的密码通常不需要非常强大。原因很简单:在线蛮力攻击比离线攻击慢得多,再加上今天的一些服务还实施了其他安全控制(速率限制、2 因素身份验证、地理定位、警报等)。但是,如果您使用的是密码管理器,这一点就没有实际意义:密码管理器允许您在任何情况下都使用强密码,而根本不会使登录过程复杂化。

所有密码都应该由计算机生成,因为人类非常擅长引入削弱结果的模式 :-) 如果您没有可信赖的计算机,那么从字面上使用 dice 和 Diceware 方法来生成单词列表/密码是一个很好的选择...“计算机”不一定是电子的!

许多密码可以由一个值得信赖的密码管理器应用程序完全处理,因此人类永远不需要输入这些密码。为每个帐户选择尽可能长且尽可能复杂的密码,因为您没有理由不这样做。从大写、小写、数字、标点符号和目标帐户/站点将接受的任何其他字符中选择的 64 个字符在熵方面将是多余的,但这并不重要,因为它与任何其他密码一样容易使用。如果目标的最大长度较短,则只生成它们可以接受的最长。

有些密码最好由人记住,以便他们可以直接输入 - 例如密码管理器解锁密码,以及您可能经常使用的其他密码。这些应该以与 Diceware 相同的方式生成为单词列表/密码短语。但是您的密码管理器也应该能够以这种形式生成密码,所以您不妨使用它。

对于单词列表/密码短语,您仍然需要担心长度 - 但现在这是单词数量和使用的单词列表大小的组合。Diceware 建议长度为 6 个单词,更大的列表理论上可以用更少的单词为您提供等效的熵,但实际上我们现在正在与人类记忆竞争,这实际上是相当不错的,所以您应该再次使用最长的密码,这是实用的利用。

总而言之 - 在数学方面,密码短语与密码相比没有什么优越之处,但它们在让人类有效地记住和输入更长的字符序列方面更胜一筹,而且密码安全性基本上与长度有关。

但是,如果您已经拥有一台值得信赖的计算机和密码管理器,那么坐在那里掷骰子就有点过头了