假设我创建了 100 个单独的密码,由大约 8 个随机字符组成,后跟两个对所有密码都相同的常量:
Generated password = 8 random characters + `.p`
如果我为所有 100 个密码执行此操作,是否.p
为每个密码添加相同的密码会使它们或多或少安全?如果所有这些密码中有两个被泄露,会有多大的影响?
假设我创建了 100 个单独的密码,由大约 8 个随机字符组成,后跟两个对所有密码都相同的常量:
Generated password = 8 random characters + `.p`
如果我为所有 100 个密码执行此操作,是否.p
为每个密码添加相同的密码会使它们或多或少安全?如果所有这些密码中有两个被泄露,会有多大的影响?
这取决于您要防范的攻击类型:
因此,您的系统有时会有所帮助,但并非总是如此。或者换句话说:您的“有效”密码长度将在 8 到 10 之间,具体取决于您的威胁模型。但是,除非您有特定的理由不这样做,否则我会忘记所有关于智能系统的内容,而只是安装密码管理器。
到目前为止,答案是“如果我作为用户在各个站点上添加'.p'作为我所有密码的结尾”。
所以我想解决原始问题可能意味着的另一种可能性:“如果我作为系统程序员将'.p'添加到我所有用户密码的末尾”
您所描述的内容称为“Pepper” - 它是一个特定于应用程序的片段,在散列之前附加到密码上。
那么这对你有什么好处?
它没有得到什么?
那么,当一切都说完了呢?绝对 - 将“.p”(或更长的秘密字符串)添加到用户密码的末尾。它使密码比单独的原始 8 个字符更安全 - 最坏的情况是,攻击者设法破坏应用程序并获得胡椒,在这种情况下,你只会像你没有使用胡椒一样糟糕第一名。但请确保同时添加 Salt,这样您就不会让攻击者通过一次密码破解来破坏多个帐户。
没有更多,也没有更少的安全性。攻击者即使泄露了您的一个密码也毫无头绪(如果您不使用 2 位数字作为后缀,这对于攻击者来说是其攻击规则的常用设置)。
但是,如果攻击者泄露了您的两个或更多密码并试图破解其中的其他密码,他肯定会看到该模式并使用它。