在不同的帐户上使用相似的密码是否安全?

信息安全 密码
2021-09-08 10:46:11

我有一个强密码,它是一个很长的、不熟悉的词组。我想让其他帐户使用具有相似复杂程度的密码,但我不喜欢在不同的登录名中记住这么多密码(重要电子邮件 x 3,银行登录 x 1)。

我可以替换上述密码的一些单词并使用它吗?例如:aaLongDifficultPhrase、bbLongDifficultPhrase?

我不会费心尝试密码管理软件,因为只有 1 个主密码可以显示您拥有的所有密码。我永远不会写下我的密码。

4个回答

这是个有趣的问题。密码学的一般规则是,在密钥或密码中创建任何模式都是一个坏主意,因为模式会削弱系统。例如,在您的情况下,假设您使用基本密码 myb@s5PW 登录 10 个网站,并在末尾添加密码后缀。也许对于堆栈交换,您使用 myb@s5PWstEX,对于博客站点 a,您使用 mhb@s5PWblSI 等。或者您可能使用 aamyb@s5PW 和 bbmyb@s5PW。要么有一个可辨别的模式,即使只有一个密码已知。

假设 Stack Exchange 被黑客入侵(未知的零日漏洞,他们对此无能为力),并且获得了所有用户密码,包括您的密码。我确定某个地方有人将此信息放入数据库中,这样数据库就会在您的用户名旁边有密码。假设博客网站以相同的方式被黑客入侵,那么将有两个密码链接到您的用户名,并且具有易于理解的模式。如果有人想破解您的其他帐户之一,他们所要做的就是根据该模式做出有根据的猜测。您可以通过使您的模式更复杂来使这变得更加困难,但是暴力破解 myb@s5PW 的所有组合是如此容易,以至于再多的复杂性也不会变得如此强大。如果事实上它不会

因此,从纯粹的代码破坏角度来看,这是一个坏主意,但就像安全领域的许多其他事情一样,这并不是唯一的因素。事实是,大多数人对多个站点使用相同的密码,根本没有变化,因此获得一个站点密码的黑客在许多情况下将可以访问大量其他站点。当黑客可能拥有数百万个用户帐户而无需任何工作都可以利用时,他们为什么还要费力寻找模式呢?只有当他们专门针对您时,您才需要担心这一点。

再加上记住多个复杂密码的问题。除非您是 Rain Man,否则您将永远无法记住 40 个强密码,因此拥有一个对您有意义但需要一些工作才能弄清楚的基本密码系统是解决当今身份验证问题的可行解决方案。

至于让它们保持笔直,把它们写下来,然后把它们放在工作时上锁的办公桌或家里上锁的抽屉里。说真的,绝大多数试图获取您的密码的人可能与您相隔半个地球,他们会闯入您的家或努力获取您的堆栈交换帐户的密码!

这是一种基于具有平均风险水平的人的方法。如果您确实知道有人可能会闯入您的家以获取您的密码,那么在您的密码中使用任何类型的模式都是一个坏主意。

如果一个熟练的攻击者只专注于你,如果他设法破解你拥有的一个帐户的密码,是的,他可能会通过尝试他破解的密码的变体来破坏你拥有的所有其他帐户。

但是,除非您的密码解锁数百万美元或有价值的绝密文件,否则这种情况的可能性有多大?

使用当前破解密码的技术——数据库转储,使用字典攻击破解数据库中 80% 的密码——我会说它是安全的。

如果密码足够长且复杂,即使是被泄露的密码哈希也可能不容易被破解。

如果攻击者以明文形式访问您的密码,例如通过将 密码存储文本 网站 ,或通过破坏哈希(在 GPU 上很容易),他可能会推断出任何涉及网站名称的方案,例如“stackRealPassword”、“ gmailRealPassword”、“bankRealPassword”。

我认为您误解了密码管理器的安全模型。如果您选择一个唯一的强密码并记住它,那么只要密码管理器是安全的并且您选择的密码是秘密且唯一的,那么您就是安全的。其中使用的密钥派生函数足够慢,可以完全防止暴力破解。我个人建议KeePass,因为可以调整密钥派生函数(即更改迭代次数)以适应您自己的个人安全要求。

无论您的密码强度如何,我建议为您的所有帐户保留相同的密码并不那么安全,因为尽管您的密码可能很强大,但如果您注册的网站发生任何违规行为,那么它根本不是密码强度问题。因此,请为您的密码保持细微的差异,除了您之外没有人能猜到这些差异。同样,您提到的短语也足够安全且好记。